summaryrefslogtreecommitdiff
path: root/edit_stgrp_item.php
blob: 406d192fc07f3b1657523f8161f1cff309913e31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
/**
 * Edit the data (description) field of a stgrp liberty_xref_item entry.
 * @package stock
 */

namespace Bitweaver\Stock;

use Bitweaver\KernelTools;

require_once '../kernel/includes/setup_inc.php';

$gBitSystem->verifyPackage( 'stock' );
$gBitSystem->verifyPermission( 'p_stock_admin' );

global $gBitSystem, $gBitSmarty, $gBitDb;

$item = trim( $_REQUEST['item'] ?? '' );
if( !preg_match( '/^[A-Z0-9]{2,8}$/', $item ) ) {
	$gBitSystem->fatalError( KernelTools::tra( 'Invalid item code.' ) );
}

$X = BIT_DB_PREFIX;

$row = $gBitDb->getRow(
	"SELECT `item`, `cross_ref_title`, `data`
	 FROM `{$X}liberty_xref_item`
	 WHERE `item` = ? AND `x_group` = 'stgrp' AND `content_type_guid` = 'stock'",
	[ $item ]
);
if( !$row ) {
	$gBitSystem->fatalError( KernelTools::tra( 'Stock group not found.' ) );
}

$errors = [];

if( !empty( $_POST['fSave'] ) ) {
	$data = trim( $_POST['edit'] ?? '' ) ?: null;
	$gBitDb->query(
		"UPDATE `{$X}liberty_xref_item` SET `data` = ?
		 WHERE `item` = ? AND `x_group` = 'stgrp' AND `content_type_guid` = 'stock'",
		[ $data, $item ]
	);
	header( 'Location: '.STOCK_PKG_URL.'view_kitlocker.php' );
	die;
}

if( !empty( $_POST['fCancel'] ) ) {
	header( 'Location: '.STOCK_PKG_URL.'view_kitlocker.php' );
	die;
}

$gBitSmarty->assign( 'stgrpItem', $row );
$gBitSmarty->assign( 'errors',    $errors );

$gBitSystem->setBrowserTitle( KernelTools::tra( 'Edit' ).': '.$row['cross_ref_title'] );
$gBitSystem->display( 'bitpackage:stock/edit_stgrp_item.tpl', null, [ 'display_mode' => 'edit' ] );