diff --git a/Stocks.php b/Stocks.php index c136a2c8e..459e15a20 100644 --- a/Stocks.php +++ b/Stocks.php @@ -1,127 +1,123 @@ '" . $StockID . "' ORDER BY stockid ASC LIMIT 1"); // Only change the StockID if we find a row. // If not, the StockID is 'clobbered' with null and causes form havoc. - if ( DB_num_rows( $Result ) > 0 ) { - $NextItemRow = DB_fetch_row($Result); - $StockID = $NextItemRow[0]; - } - else { + if (DB_num_rows($Result) > 0) { + $NextItemRow = DB_fetch_row($Result); + $StockID = $NextItemRow[0]; + } else { $hasNext = false; } foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - unset($_POST['Description_' . str_replace('.','_',$LanguageId)]); + unset($_POST['Description_' . str_replace('.', '_', $LanguageId) ]); } } -if (isset($_POST['PreviousItem'])){ +if (isset($_POST['PreviousItem'])) { $Result = DB_query("SELECT stockid FROM stockmaster WHERE stockid<'" . $StockID . "' ORDER BY stockid DESC LIMIT 1"); // Only change the StockID if we find a row. // If not, the StockID is 'clobbered' with null and causes form havoc. - if ( DB_num_rows( $Result ) > 0 ) { - $PreviousItemRow = DB_fetch_row($Result); - $StockID = $PreviousItemRow[0]; - } - else { + if (DB_num_rows($Result) > 0) { + $PreviousItemRow = DB_fetch_row($Result); + $StockID = $PreviousItemRow[0]; + } else { $hasPrev = false; } foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - unset($_POST['Description_' . str_replace('.','_',$LanguageId)]); + unset($_POST['Description_' . str_replace('.', '_', $LanguageId) ]); } } -if (isset($StockID) AND !isset($_POST['UpdateCategories'])) { - $sql = "SELECT COUNT(stockid) +if (isset($StockID) and !isset($_POST['UpdateCategories'])) { + $SQL = "SELECT COUNT(stockid) FROM stockmaster - WHERE stockid='".$StockID."' + WHERE stockid='" . $StockID . "' GROUP BY stockid"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]==0) { - $New=1; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] == 0) { + $New = 1; } else { - $New=0; + $New = 0; } } if (isset($_POST['New'])) { - $New=$_POST['New']; + $New = $_POST['New']; } echo '' . _('Back to Items') . ' -
', - '

', // Icon title. - $Title, '

';// Page title. +
', '

', // Icon title. +$Title, '

'; // Page title. +$SupportedImgExt = array('png', 'jpg', 'jpeg'); -$SupportedImgExt = array('png','jpg','jpeg'); - -if (isset($_FILES['ItemPicture']) AND $_FILES['ItemPicture']['name'] !='') { +if (isset($_FILES['ItemPicture']) and $_FILES['ItemPicture']['name'] != '') { $ImgExt = pathinfo($_FILES['ItemPicture']['name'], PATHINFO_EXTENSION); - $result = $_FILES['ItemPicture']['error']; - $UploadTheFile = 'Yes'; //Assume all is well to start off with + $Result = $_FILES['ItemPicture']['error']; + $UploadTheFile = 'Yes'; //Assume all is well to start off with $filename = $_SESSION['part_pics_dir'] . '/' . $StockID . '.' . $ImgExt; - //But check for the worst - if (!in_array ($ImgExt, $SupportedImgExt)) { - prnMsg(_('Only ' . implode(", ", $SupportedImgExt) . ' files are supported - a file extension of ' . implode(", ", $SupportedImgExt) . ' is expected'),'warn'); - $UploadTheFile ='No'; - } elseif ( $_FILES['ItemPicture']['size'] > ($_SESSION['MaxImageSize']*1024)) { //File Size Check - prnMsg(_('The file size is over the maximum allowed. The maximum size allowed in KB is') . ' ' . $_SESSION['MaxImageSize'],'warn'); - $UploadTheFile ='No'; - } elseif ( $_FILES['ItemPicture']['type'] == 'text/plain' ) { //File Type Check - prnMsg( _('Only graphics files can be uploaded'),'warn'); - $UploadTheFile ='No'; - } elseif ( $_FILES['ItemPicture']['error'] == 6 ) { //upload temp directory check - prnMsg( _('No tmp directory set. You must have a tmp directory set in your PHP for upload of files. '),'warn'); - $UploadTheFile ='No'; + //But check for the worst + if (!in_array($ImgExt, $SupportedImgExt)) { + prnMsg(_('Only ' . implode(", ", $SupportedImgExt) . ' files are supported - a file extension of ' . implode(", ", $SupportedImgExt) . ' is expected'), 'warn'); + $UploadTheFile = 'No'; + } elseif ($_FILES['ItemPicture']['size'] > ($_SESSION['MaxImageSize'] * 1024)) { //File Size Check + prnMsg(_('The file size is over the maximum allowed. The maximum size allowed in KB is') . ' ' . $_SESSION['MaxImageSize'], 'warn'); + $UploadTheFile = 'No'; + } elseif ($_FILES['ItemPicture']['type'] == 'text/plain') { //File Type Check + prnMsg(_('Only graphics files can be uploaded'), 'warn'); + $UploadTheFile = 'No'; + } elseif ($_FILES['ItemPicture']['error'] == 6) { //upload temp directory check + prnMsg(_('No tmp directory set. You must have a tmp directory set in your PHP for upload of files. '), 'warn'); + $UploadTheFile = 'No'; + } elseif (!is_writable($_SESSION['part_pics_dir'])) { + prnMsg(_('The web server user does not have permission to upload files. Please speak to your system administrator'), 'warn'); + $UploadTheFile = 'No'; } foreach ($SupportedImgExt as $ext) { $file = $_SESSION['part_pics_dir'] . '/' . $StockID . '.' . $ext; - if (file_exists ($file) ) { - $result = unlink($file); - if (!$result){ - prnMsg(_('The existing image could not be removed'),'error'); - $UploadTheFile ='No'; + if (file_exists($file)) { + $Result = unlink($file); + if (!$Result) { + prnMsg(_('The existing image could not be removed'), 'error'); + $UploadTheFile = 'No'; } } } - if ($UploadTheFile=='Yes'){ - $result = move_uploaded_file($_FILES['ItemPicture']['tmp_name'], $filename); - $message = ($result)?_('File url') . '' . $filename . '' : _('Something is wrong with uploading a file'); + if ($UploadTheFile == 'Yes') { + $Result = move_uploaded_file($_FILES['ItemPicture']['tmp_name'], $filename); + $message = ($Result) ? _('File url') . '' . $filename . '' : _('Something is wrong with uploading a file'); } } @@ -134,157 +130,151 @@ if (isset($_POST['submit'])) { //initialise no input errors assumed initially before we test - /* actions to take once the user has clicked the submit button - ie the page has called itself with some user input */ + ie the page has called itself with some user input */ //first off validate inputs sensible - $i=1; - + $i = 1; - if (!isset($_POST['Description']) OR mb_strlen($_POST['Description']) > 50 OR mb_strlen($_POST['Description'])==0) { + if (!isset($_POST['Description']) or mb_strlen($_POST['Description']) > 50 or mb_strlen($_POST['Description']) == 0) { $InputError = 1; - prnMsg (_('The stock item description must be entered and be fifty characters or less long') . '. ' . _('It cannot be a zero length string either') . ' - ' . _('a description is required'),'error'); + prnMsg(_('The stock item description must be entered and be fifty characters or less long') . '. ' . _('It cannot be a zero length string either') . ' - ' . _('a description is required'), 'error'); $Errors[$i] = 'Description'; $i++; } - if (mb_strlen($_POST['LongDescription'])==0) { + if (mb_strlen($_POST['LongDescription']) == 0) { $InputError = 1; - prnMsg (_('The stock item description cannot be a zero length string') . ' - ' . _('a long description is required'),'error'); + prnMsg(_('The stock item description cannot be a zero length string') . ' - ' . _('a long description is required'), 'error'); $Errors[$i] = 'LongDescription'; $i++; } - if (mb_strlen($StockID) ==0) { + if (mb_strlen($StockID) == 0) { $InputError = 1; - prnMsg (_('The Stock Item code cannot be empty'),'error'); + prnMsg(_('The Stock Item code cannot be empty'), 'error'); $Errors[$i] = 'StockID'; $i++; } - if (ContainsIllegalCharacters($StockID) OR mb_strpos($StockID,' ')) { + if (ContainsIllegalCharacters($StockID) or mb_strpos($StockID, ' ')) { $InputError = 1; - prnMsg(_('The stock item code cannot contain any of the following characters') . " - ' & + \" \\ ." . _('or a space'),'error'); + prnMsg(_('The stock item code cannot contain any of the following characters') . " - ' & + \" \\ ." . _('or a space'), 'error'); $Errors[$i] = 'StockID'; $i++; - $StockID=''; + $StockID = ''; } - if (mb_strlen($_POST['Units']) >20) { + if (mb_strlen($_POST['Units']) > 20) { $InputError = 1; - prnMsg(_('The unit of measure must be 20 characters or less long'),'error'); + prnMsg(_('The unit of measure must be 20 characters or less long'), 'error'); $Errors[$i] = 'Units'; $i++; } - if (mb_strlen($_POST['BarCode']) >20) { + if (mb_strlen($_POST['BarCode']) > 20) { $InputError = 1; - prnMsg(_('The barcode must be 20 characters or less long'),'error'); + prnMsg(_('The barcode must be 20 characters or less long'), 'error'); $Errors[$i] = 'BarCode'; $i++; } if (!is_numeric(filter_number_format($_POST['Volume']))) { $InputError = 1; - prnMsg (_('The volume of the packaged item in cubic metres must be numeric') ,'error'); + prnMsg(_('The volume of the packaged item in cubic metres must be numeric'), 'error'); $Errors[$i] = 'Volume'; $i++; } - if (filter_number_format($_POST['Volume']) <0) { + if (filter_number_format($_POST['Volume']) < 0) { $InputError = 1; - prnMsg(_('The volume of the packaged item must be a positive number'),'error'); + prnMsg(_('The volume of the packaged item must be a positive number'), 'error'); $Errors[$i] = 'Volume'; $i++; } if (!is_numeric(filter_number_format($_POST['GrossWeight']))) { $InputError = 1; - prnMsg(_('The weight of the packaged item in Gross Weight must be numeric'),'error'); + prnMsg(_('The weight of the packaged item in Gross Weight must be numeric'), 'error'); $Errors[$i] = 'GrossWeight'; $i++; } - if (filter_number_format($_POST['GrossWeight'])<0) { + if (filter_number_format($_POST['GrossWeight']) < 0) { $InputError = 1; - prnMsg(_('The weight of the packaged item must be a positive number'),'error'); + prnMsg(_('The weight of the packaged item must be a positive number'), 'error'); $Errors[$i] = 'GrossWeight'; $i++; } if (!is_numeric(filter_number_format($_POST['NetWeight']))) { $InputError = 1; - prnMsg(_('The net weight of the item in Net Weight must be numeric'),'error'); + prnMsg(_('The net weight of the item in Net Weight must be numeric'), 'error'); $Errors[$i] = 'NetWeight'; $i++; } - if (filter_number_format($_POST['NetWeight'])<0) { + if (filter_number_format($_POST['NetWeight']) < 0) { $InputError = 1; - prnMsg(_('The net weight of the item must be a positive number'),'error'); + prnMsg(_('The net weight of the item must be a positive number'), 'error'); $Errors[$i] = 'NetWeight'; $i++; } if (!is_numeric(filter_number_format($_POST['EOQ']))) { $InputError = 1; - prnMsg(_('The economic order quantity must be numeric'),'error'); + prnMsg(_('The economic order quantity must be numeric'), 'error'); $Errors[$i] = 'EOQ'; $i++; } - if (filter_number_format($_POST['EOQ']) <0) { + if (filter_number_format($_POST['EOQ']) < 0) { $InputError = 1; - prnMsg (_('The economic order quantity must be a positive number'),'error'); + prnMsg(_('The economic order quantity must be a positive number'), 'error'); $Errors[$i] = 'EOQ'; $i++; } - if ($_POST['Controlled']==0 AND $_POST['Serialised']==1){ + if ($_POST['Controlled'] == 0 and $_POST['Serialised'] == 1) { $InputError = 1; - prnMsg(_('The item can only be serialised if there is lot control enabled already') . '. ' . _('Batch control') . ' - ' . _('with any number of items in a lot/bundle/roll is enabled when controlled is enabled') . '. ' . _('Serialised control requires that only one item is in the batch') . '. ' . _('For serialised control') . ', ' . _('both controlled and serialised must be enabled'),'error'); + prnMsg(_('The item can only be serialised if there is lot control enabled already') . '. ' . _('Batch control') . ' - ' . _('with any number of items in a lot/bundle/roll is enabled when controlled is enabled') . '. ' . _('Serialised control requires that only one item is in the batch') . '. ' . _('For serialised control') . ', ' . _('both controlled and serialised must be enabled'), 'error'); $Errors[$i] = 'Serialised'; $i++; } - if ($_POST['NextSerialNo']!=0 AND $_POST['Serialised']==0){ + if ($_POST['NextSerialNo'] != 0 and $_POST['Serialised'] == 0) { $InputError = 1; - prnMsg(_('The item can only have automatically generated serial numbers if it is a serialised item'),'error'); + prnMsg(_('The item can only have automatically generated serial numbers if it is a serialised item'), 'error'); $Errors[$i] = 'NextSerialNo'; $i++; } - if ($_POST['NextSerialNo']!=0 AND $_POST['MBFlag']!='M'){ + if ($_POST['NextSerialNo'] != 0 and $_POST['MBFlag'] != 'M') { $InputError = 1; - prnMsg(_('The item can only have automatically generated serial numbers if it is a manufactured item'),'error'); + prnMsg(_('The item can only have automatically generated serial numbers if it is a manufactured item'), 'error'); $Errors[$i] = 'NextSerialNo'; $i++; } - if (($_POST['MBFlag']=='A' - OR $_POST['MBFlag']=='K' - OR $_POST['MBFlag']=='D' - OR $_POST['MBFlag']=='G') - AND $_POST['Controlled']==1){ + if (($_POST['MBFlag'] == 'A' or $_POST['MBFlag'] == 'K' or $_POST['MBFlag'] == 'D' or $_POST['MBFlag'] == 'G') and $_POST['Controlled'] == 1) { $InputError = 1; - prnMsg(_('Assembly/Kitset/Phantom/Service/Labour items cannot also be controlled items') . '. ' . _('Assemblies/Dummies/Phantom and Kitsets are not physical items and batch/serial control is therefore not appropriate'),'error'); + prnMsg(_('Assembly/Kitset/Phantom/Service/Labour items cannot also be controlled items') . '. ' . _('Assemblies/Dummies/Phantom and Kitsets are not physical items and batch/serial control is therefore not appropriate'), 'error'); $Errors[$i] = 'Controlled'; $i++; } - if (trim($_POST['CategoryID'])==''){ + if (trim($_POST['CategoryID']) == '') { $InputError = 1; - prnMsg(_('There are no inventory categories defined. All inventory items must belong to a valid inventory category,'),'error'); + prnMsg(_('There are no inventory categories defined. All inventory items must belong to a valid inventory category,'), 'error'); $Errors[$i] = 'CategoryID'; $i++; } if (!is_numeric(filter_number_format($_POST['Pansize']))) { $InputError = 1; - prnMsg(_('Pansize quantity must be numeric'),'error'); + prnMsg(_('Pansize quantity must be numeric'), 'error'); $Errors[$i] = 'Pansize'; $i++; } if (!is_numeric(filter_number_format($_POST['ShrinkFactor']))) { $InputError = 1; - prnMsg(_('Shrinkage factor quantity must be numeric'),'error'); + prnMsg(_('Shrinkage factor quantity must be numeric'), 'error'); $Errors[$i] = 'ShrinkFactor'; $i++; } - if ($InputError !=1){ - if ($_POST['Serialised']==1){ /*Not appropriate to have several dp on serial items */ - $_POST['DecimalPlaces']=0; + if ($InputError != 1) { + if ($_POST['Serialised'] == 1) { /*Not appropriate to have several dp on serial items */ + $_POST['DecimalPlaces'] = 0; } - if ($New==0) { /*so its an existing one */ + if ($New == 0) { /*so its an existing one */ /*first check on the changes being made we must disallow: - changes from manufactured or purchased to Service, Assembly or Kitset if there is stock - changes from manufactured, kitset or assembly where a BOM exists */ - $sql = "SELECT mbflag, + $SQL = "SELECT mbflag, controlled, serialised, materialcost+labourcost+overheadcost AS itemcost, @@ -295,144 +285,143 @@ FROM stockmaster INNER JOIN stockcategory ON stockmaster.categoryid=stockcategory.categoryid - WHERE stockid = '".$StockID."'"; - $MBFlagResult = DB_query($sql); - $myrow = DB_fetch_row($MBFlagResult); - $OldMBFlag = $myrow[0]; - $OldControlled = $myrow[1]; - $OldSerialised = $myrow[2]; - $UnitCost = $myrow[3]; - $OldStockAccount = $myrow[4]; - $OldWIPAccount = $myrow[5]; - $OldDescription = $myrow[6]; - $OldLongDescription = $myrow[7]; - - - $sql = "SELECT SUM(locstock.quantity) + WHERE stockid = '" . $StockID . "'"; + $MBFlagResult = DB_query($SQL); + $MyRow = DB_fetch_row($MBFlagResult); + $OldMBFlag = $MyRow[0]; + $OldControlled = $MyRow[1]; + $OldSerialised = $MyRow[2]; + $UnitCost = $MyRow[3]; + $OldStockAccount = $MyRow[4]; + $OldWIPAccount = $MyRow[5]; + $OldDescription = $MyRow[6]; + $OldLongDescription = $MyRow[7]; + + $SQL = "SELECT SUM(locstock.quantity) FROM locstock - WHERE stockid='".$StockID."' + WHERE stockid='" . $StockID . "' GROUP BY stockid"; - $result = DB_query($sql); - $StockQtyRow = DB_fetch_row($result); + $Result = DB_query($SQL); + $StockQtyRow = DB_fetch_row($Result); /*Now check the GL account of the new category to see if it is different to the old stock gl account */ - $result = DB_query("SELECT stockact, + $Result = DB_query("SELECT stockact, wipact FROM stockcategory WHERE categoryid='" . $_POST['CategoryID'] . "'"); - $NewStockActRow = DB_fetch_array($result); + $NewStockActRow = DB_fetch_array($Result); $NewStockAct = $NewStockActRow['stockact']; $NewWIPAct = $NewStockActRow['wipact']; - if ($OldMBFlag != $_POST['MBFlag']){ - if (($OldMBFlag == 'M' OR $OldMBFlag=='B') AND ($_POST['MBFlag']=='A' OR $_POST['MBFlag']=='K' OR $_POST['MBFlag']=='D' OR $_POST['MBFlag']=='G')){ /*then need to check that there is no stock holding first */ + if ($OldMBFlag != $_POST['MBFlag']) { + if (($OldMBFlag == 'M' or $OldMBFlag == 'B') and ($_POST['MBFlag'] == 'A' or $_POST['MBFlag'] == 'K' or $_POST['MBFlag'] == 'D' or $_POST['MBFlag'] == 'G')) { /*then need to check that there is no stock holding first */ /* stock holding OK for phantom (ghost) items */ - if ($StockQtyRow[0]!=0 AND $OldMBFlag!='G'){ - $InputError=1; - prnMsg( _('The make or buy flag cannot be changed from') . ' ' . $OldMBFlag . ' ' . _('to') . ' ' . $_POST['MBFlag'] . ' ' . _('where there is a quantity of stock on hand at any location') . '. ' . _('Currently there are') . ' ' . $StockQtyRow[0] . ' ' . _('on hand') , 'errror'); + if ($StockQtyRow[0] != 0 and $OldMBFlag != 'G') { + $InputError = 1; + prnMsg(_('The make or buy flag cannot be changed from') . ' ' . $OldMBFlag . ' ' . _('to') . ' ' . $_POST['MBFlag'] . ' ' . _('where there is a quantity of stock on hand at any location') . '. ' . _('Currently there are') . ' ' . $StockQtyRow[0] . ' ' . _('on hand'), 'errror'); } /* don't allow controlled/serialized */ - if ($_POST['Controlled']==1){ - $InputError=1; - prnMsg( _('The make or buy flag cannot be changed from') . ' ' . $OldMBFlag . ' ' . _('to') . ' ' . $_POST['MBFlag'] . ' ' . _('where the item is to be lot controlled') . '. ' . _('Kitset, phantom, dummy and assembly items cannot be lot controlled'), 'error'); + if ($_POST['Controlled'] == 1) { + $InputError = 1; + prnMsg(_('The make or buy flag cannot be changed from') . ' ' . $OldMBFlag . ' ' . _('to') . ' ' . $_POST['MBFlag'] . ' ' . _('where the item is to be lot controlled') . '. ' . _('Kitset, phantom, dummy and assembly items cannot be lot controlled'), 'error'); } } /*now check that if the item is being changed to a kitset, there are no items on sales orders or purchase orders*/ - if ($_POST['MBFlag']=='K') { - $sql = "SELECT quantity-qtyinvoiced + if ($_POST['MBFlag'] == 'K') { + $SQL = "SELECT quantity-qtyinvoiced FROM salesorderdetails - WHERE stkcode = '".$StockID."' + WHERE stkcode = '" . $StockID . "' AND completed=0"; - $result = DB_query($sql); - $ChkSalesOrds = DB_fetch_row($result); - if ($ChkSalesOrds[0]!=0){ + $Result = DB_query($SQL); + $ChkSalesOrds = DB_fetch_row($Result); + if ($ChkSalesOrds[0] != 0) { $InputError = 1; - prnMsg( _('The make or buy flag cannot be changed to a kitset where there is a quantity outstanding to be delivered on sales orders') . '. ' . _('Currently there are') .' ' . $ChkSalesOrds[0] . ' '. _('outstanding'), 'error'); + prnMsg(_('The make or buy flag cannot be changed to a kitset where there is a quantity outstanding to be delivered on sales orders') . '. ' . _('Currently there are') . ' ' . $ChkSalesOrds[0] . ' ' . _('outstanding'), 'error'); } } /*now check that if it is to be a kitset or assembly or dummy there is no quantity on purchase orders outstanding*/ - if ($_POST['MBFlag']=='K' OR $_POST['MBFlag']=='A' OR $_POST['MBFlag']=='D') { + if ($_POST['MBFlag'] == 'K' or $_POST['MBFlag'] == 'A' or $_POST['MBFlag'] == 'D') { - $sql = "SELECT quantityord-quantityrecd + $SQL = "SELECT quantityord-quantityrecd FROM purchorderdetails INNER JOIN purchorders ON purchorders.orderno=purchorderdetails.orderno - WHERE itemcode = '".$StockID."' + WHERE itemcode = '" . $StockID . "' AND purchorderdetails.completed=0 AND purchorders.status<>'Cancelled' AND purchorders.status<>'Completed' AND purchorders.status<>'Rejected'"; - $result = DB_query($sql); - $ChkPurchOrds = DB_fetch_row($result); - if ($ChkPurchOrds[0]!=0){ + $Result = DB_query($SQL); + $ChkPurchOrds = DB_fetch_row($Result); + if ($ChkPurchOrds[0] != 0) { $InputError = 1; - prnMsg( _('The make or buy flag cannot be changed to'). ' ' . $_POST['MBFlag'] . ' '. _('where there is a quantity outstanding to be received on purchase orders') . '. ' . _('Currently there are'). ' ' . $ChkPurchOrds[0] . ' '. _('yet to be received'). 'error'); + prnMsg(_('The make or buy flag cannot be changed to') . ' ' . $_POST['MBFlag'] . ' ' . _('where there is a quantity outstanding to be received on purchase orders') . '. ' . _('Currently there are') . ' ' . $ChkPurchOrds[0] . ' ' . _('yet to be received') . 'error'); } } /*now check that if it was a Manufactured, Kitset, Phantom or Assembly and is being changed to a purchased or dummy - that no BOM exists */ - if (($OldMBFlag=='M' OR $OldMBFlag =='K' OR $OldMBFlag=='A' OR $OldMBFlag=='G') AND ($_POST['MBFlag']=='B' OR $_POST['MBFlag']=='D')) { - $sql = "SELECT COUNT(*) + if (($OldMBFlag == 'M' or $OldMBFlag == 'K' or $OldMBFlag == 'A' or $OldMBFlag == 'G') and ($_POST['MBFlag'] == 'B' or $_POST['MBFlag'] == 'D')) { + $SQL = "SELECT COUNT(*) FROM bom - WHERE parent = '".$StockID."' + WHERE parent = '" . $StockID . "' GROUP BY parent"; - $result = DB_query($sql); - $ChkBOM = DB_fetch_row($result); - if ($ChkBOM[0]!=0){ + $Result = DB_query($SQL); + $ChkBOM = DB_fetch_row($Result); + if ($ChkBOM[0] != 0) { $InputError = 1; - prnMsg( _('The make or buy flag cannot be changed from manufactured, kitset or assembly to'). ' ' . $_POST['MBFlag'] . ' '. _('where there is a bill of material set up for the item') . '. ' . _('Bills of material are not appropriate for purchased or dummy items'), 'error'); + prnMsg(_('The make or buy flag cannot be changed from manufactured, kitset or assembly to') . ' ' . $_POST['MBFlag'] . ' ' . _('where there is a bill of material set up for the item') . '. ' . _('Bills of material are not appropriate for purchased or dummy items'), 'error'); } } /*now check that if it was Manufac, Phantom or Purchased and is being changed to assembly or kitset, it is not a component on an existing BOM */ - if (($OldMBFlag=='M' OR $OldMBFlag =='B' OR $OldMBFlag=='D' OR $OldMBFlag=='G') AND ($_POST['MBFlag']=='A' OR $_POST['MBFlag']=='K')) { - $sql = "SELECT COUNT(*) + if (($OldMBFlag == 'M' or $OldMBFlag == 'B' or $OldMBFlag == 'D' or $OldMBFlag == 'G') and ($_POST['MBFlag'] == 'A' or $_POST['MBFlag'] == 'K')) { + $SQL = "SELECT COUNT(*) FROM bom - WHERE component = '".$StockID."' + WHERE component = '" . $StockID . "' GROUP BY component"; - $result = DB_query($sql); - $ChkBOM = DB_fetch_row($result); - if ($ChkBOM[0]!=0){ + $Result = DB_query($SQL); + $ChkBOM = DB_fetch_row($Result); + if ($ChkBOM[0] != 0) { $InputError = 1; - prnMsg( _('The make or buy flag cannot be changed from manufactured, purchased or dummy to a kitset or assembly where the item is a component in a bill of material') . '. ' . _('Assembly and kitset items are not appropriate as components in a bill of materials'), 'error'); + prnMsg(_('The make or buy flag cannot be changed from manufactured, purchased or dummy to a kitset or assembly where the item is a component in a bill of material') . '. ' . _('Assembly and kitset items are not appropriate as components in a bill of materials'), 'error'); } } } /* Do some checks for changes in the Serial & Controlled setups */ - if ($OldControlled != $_POST['Controlled'] AND $StockQtyRow[0]!=0){ - $InputError=1; - prnMsg( _('You can not change a Non-Controlled Item to Controlled (or back from Controlled to non-controlled when there is currently stock on hand for the item') , 'error'); + if ($OldControlled != $_POST['Controlled'] and $StockQtyRow[0] != 0) { + $InputError = 1; + prnMsg(_('You can not change a Non-Controlled Item to Controlled (or back from Controlled to non-controlled when there is currently stock on hand for the item'), 'error'); } - if ($OldSerialised != $_POST['Serialised'] AND $StockQtyRow[0]!=0){ - $InputError=1; - prnMsg( _('You can not change a Serialised Item to Non-Serialised (or vice-versa) when there is a quantity on hand for the item') , 'error'); + if ($OldSerialised != $_POST['Serialised'] and $StockQtyRow[0] != 0) { + $InputError = 1; + prnMsg(_('You can not change a Serialised Item to Non-Serialised (or vice-versa) when there is a quantity on hand for the item'), 'error'); } /* Do some check for property input */ - for ($i=0;$i<$_POST['PropertyCounter'];$i++){ - if ($_POST['PropNumeric' .$i]==1){ - if ( filter_number_format($_POST['PropValue' . $i]) < $_POST['PropMin' . $i] OR filter_number_format($_POST['PropValue' . $i]) > $_POST['PropMax' . $i]){ - $InputError = 1; - prnMsg(_('The property value should between') . ' '.$_POST['PropMin' . $i] . ' ' . _('and') . $_POST['PropMax' . $i],'error'); + for ($i = 0;$i < $_POST['PropertyCounter'];$i++) { + if ($_POST['PropNumeric' . $i] == 1) { + if (filter_number_format($_POST['PropValue' . $i]) < $_POST['PropMin' . $i] or filter_number_format($_POST['PropValue' . $i]) > $_POST['PropMax' . $i]) { + $InputError = 1; + prnMsg(_('The property value should between') . ' ' . $_POST['PropMin' . $i] . ' ' . _('and') . $_POST['PropMax' . $i], 'error'); } } } - if ($InputError == 0){ + if ($InputError == 0) { DB_Txn_Begin(); - $sql = "UPDATE stockmaster + $SQL = "UPDATE stockmaster SET longdescription='" . $_POST['LongDescription'] . "', description='" . $_POST['Description'] . "', discontinued='" . $_POST['Discontinued'] . "', controlled='" . $_POST['Controlled'] . "', - serialised='" . $_POST['Serialised']."', - perishable='" . $_POST['Perishable']."', + serialised='" . $_POST['Serialised'] . "', + perishable='" . $_POST['Perishable'] . "', categoryid='" . $_POST['CategoryID'] . "', units='" . $_POST['Units'] . "', mbflag='" . $_POST['MBFlag'] . "', @@ -447,83 +436,76 @@ shrinkfactor='" . filter_number_format($_POST['ShrinkFactor']) . "', pansize='" . filter_number_format($_POST['Pansize']) . "', nextserialno='" . $_POST['NextSerialNo'] . "' - WHERE stockid='".$StockID."'"; + WHERE stockid='" . $StockID . "'"; $ErrMsg = _('The stock item could not be updated because'); $DbgMsg = _('The SQL that was used to update the stock item and failed was'); - $result = DB_query($sql,$ErrMsg,$DbgMsg,true); + $Result = DB_query($SQL, $ErrMsg, $DbgMsg, true); $ErrMsg = _('Could not update the language description because'); $DbgMsg = _('The SQL that was used to update the language description and failed was'); - if (count($ItemDescriptionLanguagesArray)>0){ + if (count($ItemDescriptionLanguagesArray) > 0) { foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - if ($LanguageId != ''){ - $result = DB_query("DELETE FROM stockdescriptiontranslations WHERE stockid='" . $StockID . "' AND language_id='" . $LanguageId . "'", $ErrMsg, $DbgMsg, true); - $result = DB_query("INSERT INTO stockdescriptiontranslations (stockid, + if ($LanguageId != '') { + $Result = DB_query("DELETE FROM stockdescriptiontranslations WHERE stockid='" . $StockID . "' AND language_id='" . $LanguageId . "'", $ErrMsg, $DbgMsg, true); + $Result = DB_query("INSERT INTO stockdescriptiontranslations (stockid, language_id, descriptiontranslation, longdescriptiontranslation) - VALUES('" . $StockID . "','" . - $LanguageId . "', '" . - $_POST['Description_' . str_replace('.','_',$LanguageId)] . "', '" . - $_POST['LongDescription_' . str_replace('.','_',$LanguageId)]. - "')",$ErrMsg,$DbgMsg,true); + VALUES('" . $StockID . "','" . $LanguageId . "', '" . $_POST['Description_' . str_replace('.', '_', $LanguageId) ] . "', '" . $_POST['LongDescription_' . str_replace('.', '_', $LanguageId) ] . "')", $ErrMsg, $DbgMsg, true); } } /* foreach ($ItemDescriptionLanguagesArray as $LanguageId) { $DescriptionTranslation = $_POST['Description_' . str_replace('.', '_', $LanguageId)]; //WARNING: It DOES NOT update if database row DOES NOT exist. - $sql = "UPDATE stockdescriptiontranslations " . + $SQL = "UPDATE stockdescriptiontranslations " . "SET descriptiontranslation='" . $DescriptionTranslation . "' " . "WHERE stockid='" . $StockID . "' AND (language_id='" . $LanguageId. "')"; - $result = DB_query($sql, $ErrMsg, $DbgMsg, true); + $Result = DB_query($SQL, $ErrMsg, $DbgMsg, true); } */ } /* Activate the needs revision flag for translations for modified descriptions */ - if ($OldDescription != $_POST['Description'] OR $OldLongDescription != $_POST['LongDescription']){ - $sql = "UPDATE stockdescriptiontranslations + if ($OldDescription != $_POST['Description'] or $OldLongDescription != $_POST['LongDescription']) { + $SQL = "UPDATE stockdescriptiontranslations SET needsrevision = '0' - WHERE stockid='".$StockID."'"; + WHERE stockid='" . $StockID . "'"; $ErrMsg = _('The stock description translations could not be updated because'); $DbgMsg = _('The SQL that was used to set the flag for translation revision failed was'); - $result = DB_query($sql,$ErrMsg,$DbgMsg,true); + $Result = DB_query($SQL, $ErrMsg, $DbgMsg, true); } - //delete any properties for the item no longer relevant with the change of category - $result = DB_query("DELETE FROM stockitemproperties WHERE stockid ='" . $StockID . "'",$ErrMsg, $DbgMsg, true); + $Result = DB_query("DELETE FROM stockitemproperties WHERE stockid ='" . $StockID . "'", $ErrMsg, $DbgMsg, true); //now insert any item properties - for ($i=0;$i<$_POST['PropertyCounter'];$i++){ + for ($i = 0;$i < $_POST['PropertyCounter'];$i++) { - if ($_POST['PropType' . $i] ==2){ - if ($_POST['PropValue' . $i]=='on'){ - $_POST['PropValue' . $i]=1; + if ($_POST['PropType' . $i] == 2) { + if ($_POST['PropValue' . $i] == 'on') { + $_POST['PropValue' . $i] = 1; } else { - $_POST['PropValue' . $i]=0; + $_POST['PropValue' . $i] = 0; } } - if ($_POST['PropNumeric' .$i]==1){ - $_POST['PropValue' . $i]=filter_number_format($_POST['PropValue' . $i]); + if ($_POST['PropNumeric' . $i] == 1) { + $_POST['PropValue' . $i] = filter_number_format($_POST['PropValue' . $i]); } else { - $_POST['PropValue' . $i]=$_POST['PropValue' . $i]; + $_POST['PropValue' . $i] = $_POST['PropValue' . $i]; } - $result = DB_query("INSERT INTO stockitemproperties (stockid, + $Result = DB_query("INSERT INTO stockitemproperties (stockid, stkcatpropid, value) VALUES ('" . $StockID . "', '" . $_POST['PropID' . $i] . "', - '" . $_POST['PropValue' . $i] . "')", - $ErrMsg,$DbgMsg,true); + '" . $_POST['PropValue' . $i] . "')", $ErrMsg, $DbgMsg, true); } //end of loop around properties defined for the category - - if ($OldStockAccount != $NewStockAct AND $_SESSION['CompanyRecord']['gllink_stock']==1) { - /*Then we need to make a journal to transfer the cost to the new stock account */ + if ($OldStockAccount != $NewStockAct and $_SESSION['CompanyRecord']['gllink_stock'] == 1) { + /*Then we need to make a journal to transfer the cost to the new stock account */ $JournalNo = GetNextTransNo(0); //enter as a journal $SQL = "INSERT INTO gltrans (type, typeno, @@ -538,10 +520,10 @@ '" . GetPeriod(Date($_SESSION['DefaultDateFormat'])) . "', '" . $NewStockAct . "', '" . $StockID . ' ' . _('Change stock category') . "', - '" . ($UnitCost* $StockQtyRow[0]) . "')"; - $ErrMsg = _('The stock cost journal could not be inserted because'); + '" . ($UnitCost * $StockQtyRow[0]) . "')"; + $ErrMsg = _('The stock cost journal could not be inserted because'); $DbgMsg = _('The SQL that was used to create the stock cost journal and failed was'); - $result = DB_query($SQL, $ErrMsg, $DbgMsg,true); + $Result = DB_query($SQL, $ErrMsg, $DbgMsg, true); $SQL = "INSERT INTO gltrans (type, typeno, trandate, @@ -555,13 +537,13 @@ '" . GetPeriod(Date($_SESSION['DefaultDateFormat'])) . "', '" . $OldStockAccount . "', '" . $StockID . ' ' . _('Change stock category') . "', - '" . (-$UnitCost* $StockQtyRow[0]) . "')"; - $result = DB_query($SQL, $ErrMsg, $DbgMsg,true); + '" . (-$UnitCost * $StockQtyRow[0]) . "')"; + $Result = DB_query($SQL, $ErrMsg, $DbgMsg, true); } /* end if the stock category changed and forced a change in stock cost account */ - if ($OldWIPAccount != $NewWIPAct AND $_SESSION['CompanyRecord']['gllink_stock']==1) { - /*Then we need to make a journal to transfer the cost of WIP to the new WIP account */ - /*First get the total cost of WIP for this category */ + if ($OldWIPAccount != $NewWIPAct and $_SESSION['CompanyRecord']['gllink_stock'] == 1) { + /*Then we need to make a journal to transfer the cost of WIP to the new WIP account */ + /*First get the total cost of WIP for this category */ $WOCostsResult = DB_query("SELECT workorders.costissued, SUM(woitems.qtyreqd * woitems.stdcost) AS costrecd @@ -569,15 +551,14 @@ ON woitems.wo = workorders.wo INNER JOIN stockmaster ON woitems.stockid=stockmaster.stockid - WHERE stockmaster.stockid='". $StockID . "' + WHERE stockmaster.stockid='" . $StockID . "' AND workorders.closed=0 - GROUP BY workorders.costissued", - _('Error retrieving value of finished goods received and cost issued against work orders for this item')); + GROUP BY workorders.costissued", _('Error retrieving value of finished goods received and cost issued against work orders for this item')); $WIPValue = 0; - while ($WIPRow=DB_fetch_array($WOCostsResult)){ - $WIPValue += ($WIPRow['costissued']-$WIPRow['costrecd']); + while ($WIPRow = DB_fetch_array($WOCostsResult)) { + $WIPValue+= ($WIPRow['costissued'] - $WIPRow['costrecd']); } - if ($WIPValue !=0){ + if ($WIPValue != 0) { $JournalNo = GetNextTransNo(0); //enter as a journal $SQL = "INSERT INTO gltrans (type, typeno, @@ -593,9 +574,9 @@ '" . $NewWIPAct . "', '" . $StockID . ' ' . _('Change stock category') . "', '" . $WIPValue . "')"; - $ErrMsg = _('The WIP cost journal could not be inserted because'); + $ErrMsg = _('The WIP cost journal could not be inserted because'); $DbgMsg = _('The SQL that was used to create the WIP cost journal and failed was'); - $result = DB_query($SQL, $ErrMsg, $DbgMsg,true); + $Result = DB_query($SQL, $ErrMsg, $DbgMsg, true); $SQL = "INSERT INTO gltrans (type, typeno, trandate, @@ -610,28 +591,28 @@ '" . $OldWIPAccount . "', '" . $StockID . ' ' . _('Change stock category') . "', '" . (-$WIPValue) . "')"; - $result = DB_query($SQL, $ErrMsg, $DbgMsg,true); + $Result = DB_query($SQL, $ErrMsg, $DbgMsg, true); } } /* end if the stock category changed and forced a change in WIP account */ DB_Txn_Commit(); - prnMsg( _('Stock Item') . ' ' . $StockID . ' ' . _('has been updated'), 'success'); + prnMsg(_('Stock Item') . ' ' . $StockID . ' ' . _('has been updated'), 'success'); echo '
'; } } else { //it is a NEW part //but lets be really sure here - $result = DB_query("SELECT stockid + $Result = DB_query("SELECT stockid FROM stockmaster - WHERE stockid='" . $StockID ."'"); + WHERE stockid='" . $StockID . "'"); - if (DB_num_rows($result)==1){ - prnMsg(_('The stock code entered is actually already in the database - duplicate stock codes are prohibited by the system. Try choosing an alternative stock code'),'error'); + if (DB_num_rows($Result) == 1) { + prnMsg(_('The stock code entered is actually already in the database - duplicate stock codes are prohibited by the system. Try choosing an alternative stock code'), 'error'); $InputError = 1; $Errors[$i] = 'StockID'; $i++; } else { DB_Txn_Begin(); - $sql = "INSERT INTO stockmaster (stockid, + $SQL = "INSERT INTO stockmaster (stockid, description, longdescription, categoryid, @@ -651,7 +632,7 @@ decimalplaces, shrinkfactor, pansize) - VALUES ('".$StockID."', + VALUES ('" . $StockID . "', '" . $_POST['Description'] . "', '" . $_POST['LongDescription'] . "', '" . $_POST['CategoryID'] . "', @@ -660,89 +641,80 @@ '" . filter_number_format($_POST['EOQ']) . "', '" . $_POST['Discontinued'] . "', '" . $_POST['Controlled'] . "', - '" . $_POST['Serialised']. "', - '" . $_POST['Perishable']. "', + '" . $_POST['Serialised'] . "', + '" . $_POST['Perishable'] . "', '" . filter_number_format($_POST['Volume']) . "', '" . filter_number_format($_POST['GrossWeight']) . "', '" . filter_number_format($_POST['NetWeight']) . "', '" . $_POST['BarCode'] . "', '" . $_POST['DiscountCategory'] . "', '" . $_POST['TaxCat'] . "', - '" . $_POST['DecimalPlaces']. "', + '" . $_POST['DecimalPlaces'] . "', '" . filter_number_format($_POST['ShrinkFactor']) . "', '" . filter_number_format($_POST['Pansize']) . "')"; - $ErrMsg = _('The item could not be added because'); + $ErrMsg = _('The item could not be added because'); $DbgMsg = _('The SQL that was used to add the item failed was'); - $result = DB_query($sql, $ErrMsg, $DbgMsg,'',true); - if (DB_error_no() ==0) { + $Result = DB_query($SQL, $ErrMsg, $DbgMsg, '', true); + if (DB_error_no() == 0) { //now insert the language descriptions $ErrMsg = _('Could not update the language description because'); $DbgMsg = _('The SQL that was used to update the language description and failed was'); - if (count($ItemDescriptionLanguages)>0){ + if (count($ItemDescriptionLanguages) > 0) { foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - if ($LanguageId != '' AND $_POST['Description_' . str_replace('.','_',$LanguageId)] != ''){ - $result = DB_query("INSERT INTO stockdescriptiontranslations (stockid, + if ($LanguageId != '' and $_POST['Description_' . str_replace('.', '_', $LanguageId) ] != '') { + $Result = DB_query("INSERT INTO stockdescriptiontranslations (stockid, language_id, descriptiontranslation, longdescriptiontranslation) - VALUES('" . $StockID . "','" . - $LanguageId . "', '" . - $_POST['Description_' . str_replace('.','_',$LanguageId)] . "', '" . - $_POST['longDescription_' . str_replace('.','_',$LanguageId)]. - "')",$ErrMsg,$DbgMsg,true); + VALUES('" . $StockID . "','" . $LanguageId . "', '" . $_POST['Description_' . str_replace('.', '_', $LanguageId) ] . "', '" . $_POST['longDescription_' . str_replace('.', '_', $LanguageId) ] . "')", $ErrMsg, $DbgMsg, true); } } } //now insert any item properties - for ($i=0;$i<$_POST['PropertyCounter'];$i++){ + for ($i = 0;$i < $_POST['PropertyCounter'];$i++) { - if ($_POST['PropType' . $i] ==2){ - if ($_POST['PropValue' . $i]=='on'){ - $_POST['PropValue' . $i]=1; + if ($_POST['PropType' . $i] == 2) { + if ($_POST['PropValue' . $i] == 'on') { + $_POST['PropValue' . $i] = 1; } else { - $_POST['PropValue' . $i]=0; + $_POST['PropValue' . $i] = 0; } - } + } - if ($_POST['PropNumeric' .$i]==1){ - $_POST['PropValue' . $i]=filter_number_format($_POST['PropValue' . $i]); + if ($_POST['PropNumeric' . $i] == 1) { + $_POST['PropValue' . $i] = filter_number_format($_POST['PropValue' . $i]); } else { - $_POST['PropValue' . $i]=$_POST['PropValue' . $i]; + $_POST['PropValue' . $i] = $_POST['PropValue' . $i]; } - $result = DB_query("INSERT INTO stockitemproperties (stockid, + $Result = DB_query("INSERT INTO stockitemproperties (stockid, stkcatpropid, value) VALUES ('" . $StockID . "', '" . $_POST['PropID' . $i] . "', - '" . $_POST['PropValue' . $i] . "')", - $ErrMsg,$DbgMsg,true); + '" . $_POST['PropValue' . $i] . "')", $ErrMsg, $DbgMsg, true); } //end of loop around properties defined for the category - //Add data to locstock - - $sql = "INSERT INTO locstock (loccode, + $SQL = "INSERT INTO locstock (loccode, stockid) SELECT locations.loccode, '" . $StockID . "' FROM locations"; - $ErrMsg = _('The locations for the item') . ' ' . $StockID . ' ' . _('could not be added because'); + $ErrMsg = _('The locations for the item') . ' ' . $StockID . ' ' . _('could not be added because'); $DbgMsg = _('NB Locations records can be added by opening the utility page') . ' Z_MakeStockLocns.php ' . _('The SQL that was used to add the location records that failed was'); - $InsResult = DB_query($sql,$ErrMsg,$DbgMsg,true); + $InsResult = DB_query($SQL, $ErrMsg, $DbgMsg, true); DB_Txn_Commit(); - if (DB_error_no() ==0) { - prnMsg( _('New Item') .' ' . '' . $StockID . ' '. _('has been added to the database') . - '
' . _('NB: The item cost and pricing must also be setup') . - '
' . '' . _('Enter Item Cost') . ' -
' . '' . _('Enter Item Prices') . ' ','success'); + if (DB_error_no() == 0) { + prnMsg(_('New Item') . ' ' . '' . $StockID . ' ' . _('has been added to the database') . '
' . _('NB: The item cost and pricing must also be setup') . '
' . '' . _('Enter Item Cost') . ' +
' . '' . _('Enter Item Prices') . ' ', 'success'); echo '
'; unset($_POST['Description']); unset($_POST['LongDescription']); unset($_POST['EOQ']); -// Leave Category ID set for ease of batch entry -// unset($_POST['CategoryID']); + // Leave Category ID set for ease of batch entry + // unset($_POST['CategoryID']); unset($_POST['Units']); unset($_POST['MBFlag']); unset($_POST['Discontinued']); @@ -760,91 +732,91 @@ unset($_POST['Pansize']); unset($StockID); foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - unset($_POST['Description_' . str_replace('.','_',$LanguageId)]); + unset($_POST['Description_' . str_replace('.', '_', $LanguageId) ]); } - $New=1; - }//ALL WORKED SO RESET THE FORM VARIABLES - }//THE INSERT OF THE NEW CODE WORKED SO BANG IN THE STOCK LOCATION RECORDS TOO - }//END CHECK FOR ALREADY EXISTING ITEM OF THE SAME CODE + $New = 1; + } //ALL WORKED SO RESET THE FORM VARIABLES + + } //THE INSERT OF THE NEW CODE WORKED SO BANG IN THE STOCK LOCATION RECORDS TOO + + } //END CHECK FOR ALREADY EXISTING ITEM OF THE SAME CODE + } - } else { - echo '
' . "\n"; - prnMsg( _('Validation failed, no updates or deletes took place'), 'error'); + echo '
' . "\n"; + prnMsg(_('Validation failed, no updates or deletes took place'), 'error'); } -} elseif (isset($_POST['delete']) AND mb_strlen($_POST['delete']) >1 ) { -//the button to delete a selected record was clicked instead of the submit button - +} elseif (isset($_POST['delete']) and mb_strlen($_POST['delete']) > 1) { + //the button to delete a selected record was clicked instead of the submit button $CancelDelete = 0; -// PREVENT DELETES IF DEPENDENT RECORDS IN 'StockMoves' - - $sql= "SELECT COUNT(*) FROM stockmoves WHERE stockid='".$StockID."' GROUP BY stockid"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]>0) { + // PREVENT DELETES IF DEPENDENT RECORDS IN 'StockMoves' + $SQL = "SELECT COUNT(*) FROM stockmoves WHERE stockid='" . $StockID . "' GROUP BY stockid"; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] > 0) { $CancelDelete = 1; - prnMsg( _('Cannot delete this stock item because there are stock movements that refer to this item'),'warn'); - echo '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('stock movements that refer to this item'); + prnMsg(_('Cannot delete this stock item because there are stock movements that refer to this item'), 'warn'); + echo '
' . _('There are') . ' ' . $MyRow[0] . ' ' . _('stock movements that refer to this item'); } else { - $sql= "SELECT COUNT(*) FROM bom WHERE component='".$StockID."' GROUP BY component"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]>0) { + $SQL = "SELECT COUNT(*) FROM bom WHERE component='" . $StockID . "' GROUP BY component"; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] > 0) { $CancelDelete = 1; - prnMsg( _('Cannot delete this item record because there are bills of material that require this part as a component'),'warn'); - echo '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('bills of material that require this part as a component'); + prnMsg(_('Cannot delete this item record because there are bills of material that require this part as a component'), 'warn'); + echo '
' . _('There are') . ' ' . $MyRow[0] . ' ' . _('bills of material that require this part as a component'); } else { - $sql= "SELECT COUNT(*) FROM salesorderdetails WHERE stkcode='".$StockID."' GROUP BY stkcode"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]>0) { + $SQL = "SELECT COUNT(*) FROM salesorderdetails WHERE stkcode='" . $StockID . "' GROUP BY stkcode"; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] > 0) { $CancelDelete = 1; - prnMsg( _('Cannot delete this item record because there are existing sales orders for this part'),'warn'); - echo '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('sales order items against this part'); + prnMsg(_('Cannot delete this item record because there are existing sales orders for this part'), 'warn'); + echo '
' . _('There are') . ' ' . $MyRow[0] . ' ' . _('sales order items against this part'); } else { - $sql= "SELECT COUNT(*) FROM salesanalysis WHERE stockid='".$StockID."' GROUP BY stockid"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]>0) { + $SQL = "SELECT COUNT(*) FROM salesanalysis WHERE stockid='" . $StockID . "' GROUP BY stockid"; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] > 0) { $CancelDelete = 1; - prnMsg(_('Cannot delete this item because sales analysis records exist for it'),'warn'); - echo '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('sales analysis records against this part'); + prnMsg(_('Cannot delete this item because sales analysis records exist for it'), 'warn'); + echo '
' . _('There are') . ' ' . $MyRow[0] . ' ' . _('sales analysis records against this part'); } else { - $sql= "SELECT COUNT(*) FROM purchorderdetails WHERE itemcode='".$StockID."' GROUP BY itemcode"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]>0) { + $SQL = "SELECT COUNT(*) FROM purchorderdetails WHERE itemcode='" . $StockID . "' GROUP BY itemcode"; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] > 0) { $CancelDelete = 1; - prnMsg(_('Cannot delete this item because there are existing purchase order items for it'),'warn'); - echo '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('purchase order item record relating to this part'); + prnMsg(_('Cannot delete this item because there are existing purchase order items for it'), 'warn'); + echo '
' . _('There are') . ' ' . $MyRow[0] . ' ' . _('purchase order item record relating to this part'); } else { - $sql = "SELECT SUM(quantity) AS qoh FROM locstock WHERE stockid='".$StockID."' GROUP BY stockid"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]!=0) { + $SQL = "SELECT SUM(quantity) AS qoh FROM locstock WHERE stockid='" . $StockID . "' GROUP BY stockid"; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] != 0) { $CancelDelete = 1; - prnMsg( _('Cannot delete this item because there is currently some stock on hand'),'warn'); - echo '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('on hand for this part'); + prnMsg(_('Cannot delete this item because there is currently some stock on hand'), 'warn'); + echo '
' . _('There are') . ' ' . $MyRow[0] . ' ' . _('on hand for this part'); } else { - $sql = "SELECT COUNT(*) FROM offers WHERE stockid='".$StockID."' GROUP BY stockid"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]!=0) { + $SQL = "SELECT COUNT(*) FROM offers WHERE stockid='" . $StockID . "' GROUP BY stockid"; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] != 0) { $CancelDelete = 1; - prnMsg( _('Cannot delete this item because there are offers for this item'),'warn'); - echo '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('offers from suppliers for this part'); + prnMsg(_('Cannot delete this item because there are offers for this item'), 'warn'); + echo '
' . _('There are') . ' ' . $MyRow[0] . ' ' . _('offers from suppliers for this part'); } else { - $sql = "SELECT COUNT(*) FROM tenderitems WHERE stockid='".$StockID."' GROUP BY stockid"; - $result = DB_query($sql); - $myrow = DB_fetch_row($result); - if ($myrow[0]!=0) { + $SQL = "SELECT COUNT(*) FROM tenderitems WHERE stockid='" . $StockID . "' GROUP BY stockid"; + $Result = DB_query($SQL); + $MyRow = DB_fetch_row($Result); + if ($MyRow[0] != 0) { $CancelDelete = 1; - prnMsg( _('Cannot delete this item because there are tenders for this item'),'warn'); - echo '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('tenders from suppliers for this part'); + prnMsg(_('Cannot delete this item because there are tenders for this item'), 'warn'); + echo '
' . _('There are') . ' ' . $MyRow[0] . ' ' . _('tenders from suppliers for this part'); } } } @@ -854,37 +826,33 @@ } } - if ($CancelDelete==0) { - $result = DB_Txn_Begin(); - - /*Deletes LocStock records*/ - $sql ="DELETE FROM locstock WHERE stockid='".$StockID."'"; - $result=DB_query($sql,_('Could not delete the location stock records because'),'',true); - /*Deletes Price records*/ - $sql ="DELETE FROM prices WHERE stockid='".$StockID."'"; - $result=DB_query($sql,_('Could not delete the prices for this stock record because'),'',true); - /*and cascade deletes in PurchData */ - $sql ="DELETE FROM purchdata WHERE stockid='".$StockID."'"; - $result=DB_query($sql,_('Could not delete the purchasing data because'),'',true); - /*and cascade delete the bill of material if any */ - $sql = "DELETE FROM bom WHERE parent='".$StockID."'"; - $result=DB_query($sql,_('Could not delete the bill of material because'),'',true); - //and cascade delete the item properties - $sql="DELETE FROM stockitemproperties WHERE stockid='".$StockID."'"; - $result=DB_query($sql, _('Could not delete the item properties'),'',true); - //and cascade delete the item descriptions in other languages - $sql = "DELETE FROM stockdescriptiontranslations WHERE stockid='" . $StockID . "'"; - $result=DB_query($sql,_('Could not delete the item language descriptions'),'',true); - $sql="DELETE FROM stockmaster WHERE stockid='".$StockID."'"; - $result=DB_query($sql, _('Could not delete the item record'),'',true); - - $result = DB_Txn_Commit(); - - prnMsg(_('Deleted the stock master record for') . ' ' . $StockID . '....' . - '
. . ' . _('and all the location stock records set up for the part') . - '
. . .' . _('and any bill of material that may have been set up for the part') . - '
. . . .' . _('and any purchasing data that may have been set up for the part') . - '
. . . . .' . _('and any prices that may have been set up for the part'),'success'); + if ($CancelDelete == 0) { + $Result = DB_Txn_Begin(); + + /*Deletes LocStock records*/ + $SQL = "DELETE FROM locstock WHERE stockid='" . $StockID . "'"; + $Result = DB_query($SQL, _('Could not delete the location stock records because'), '', true); + /*Deletes Price records*/ + $SQL = "DELETE FROM prices WHERE stockid='" . $StockID . "'"; + $Result = DB_query($SQL, _('Could not delete the prices for this stock record because'), '', true); + /*and cascade deletes in PurchData */ + $SQL = "DELETE FROM purchdata WHERE stockid='" . $StockID . "'"; + $Result = DB_query($SQL, _('Could not delete the purchasing data because'), '', true); + /*and cascade delete the bill of material if any */ + $SQL = "DELETE FROM bom WHERE parent='" . $StockID . "'"; + $Result = DB_query($SQL, _('Could not delete the bill of material because'), '', true); + //and cascade delete the item properties + $SQL = "DELETE FROM stockitemproperties WHERE stockid='" . $StockID . "'"; + $Result = DB_query($SQL, _('Could not delete the item properties'), '', true); + //and cascade delete the item descriptions in other languages + $SQL = "DELETE FROM stockdescriptiontranslations WHERE stockid='" . $StockID . "'"; + $Result = DB_query($SQL, _('Could not delete the item language descriptions'), '', true); + $SQL = "DELETE FROM stockmaster WHERE stockid='" . $StockID . "'"; + $Result = DB_query($SQL, _('Could not delete the item record'), '', true); + + $Result = DB_Txn_Commit(); + + prnMsg(_('Deleted the stock master record for') . ' ' . $StockID . '....' . '
. . ' . _('and all the location stock records set up for the part') . '
. . .' . _('and any bill of material that may have been set up for the part') . '
. . . .' . _('and any purchasing data that may have been set up for the part') . '
. . . . .' . _('and any prices that may have been set up for the part'), 'success'); echo '
'; unset($_POST['LongDescription']); unset($_POST['Description']); @@ -906,63 +874,56 @@ unset($_POST['DecimalPlaces']); unset($_SESSION['SelectedStockItem']); foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - unset($_POST['Description_' . str_replace('.','_',$LanguageId)]); + unset($_POST['Description_' . str_replace('.', '_', $LanguageId) ]); } unset($StockID); - $New=1; + $New = 1; } //end if Delete Part + } - -echo '
'; +echo ''; echo '
- '; + '; -if (isset($StockID) && $StockID != '' && $InputError == 0){ +if (isset($StockID) && $StockID != '' && $InputError == 0) { echo ' - ', - '', - ' + ', '', '
', - '', // "Previous" button. - ' ', - '', // "Next" button. - '', '', // "Previous" button. + ' ', '', // "Next" button. + '
'; } echo ''; -if (!isset($StockID) OR $StockID=='' or isset($_POST['UpdateCategories'])) { +if (!isset($StockID) or $StockID == '' or isset($_POST['UpdateCategories'])) { -/*If the page was called without $StockID passed to page then assume a new stock item is to be entered show a form with a part Code field other wise the form showing the fields with the existing entries against the part will show for editing with only a hidden StockID field. New is set to flag that the page may have called itself and still be entering a new part, in which case the page needs to know not to go looking up details for an existing part*/ + /*If the page was called without $StockID passed to page then assume a new stock item is to be entered show a form with a part Code field other wise the form showing the fields with the existing entries against the part will show for editing with only a hidden StockID field. New is set to flag that the page may have called itself and still be entering a new part, in which case the page needs to know not to go looking up details for an existing part*/ if (!isset($StockID)) { - $StockID=''; + $StockID = ''; } - if ($New==1) { + if ($New == 1) { echo ' - - + + '; } else { echo ' - + '; } -} elseif (!isset($_POST['UpdateCategories']) AND $InputError!=1) { // Must be modifying an existing item and no changes made yet - - $sql = "SELECT stockid, +} elseif (!isset($_POST['UpdateCategories']) and $InputError != 1) { // Must be modifying an existing item and no changes made yet + $SQL = "SELECT stockid, description, longdescription, categoryid, @@ -984,42 +945,41 @@ pansize, shrinkfactor FROM stockmaster - WHERE stockid = '".$StockID."'"; - - $result = DB_query($sql); - $myrow = DB_fetch_array($result); - - $_POST['LongDescription'] = $myrow['longdescription']; - $_POST['Description'] = $myrow['description']; - $_POST['EOQ'] = $myrow['eoq']; - $_POST['CategoryID'] = $myrow['categoryid']; - $_POST['Units'] = $myrow['units']; - $_POST['MBFlag'] = $myrow['mbflag']; - $_POST['Discontinued'] = $myrow['discontinued']; - $_POST['Controlled'] = $myrow['controlled']; - $_POST['Serialised'] = $myrow['serialised']; - $_POST['Perishable'] = $myrow['perishable']; - $_POST['Volume'] = $myrow['volume']; - $_POST['GrossWeight'] = $myrow['grossweight']; - $_POST['NetWeight'] = $myrow['netweight']; - $_POST['BarCode'] = $myrow['barcode']; - $_POST['DiscountCategory'] = $myrow['discountcategory']; - $_POST['TaxCat'] = $myrow['taxcatid']; - $_POST['DecimalPlaces'] = $myrow['decimalplaces']; - $_POST['NextSerialNo'] = $myrow['nextserialno']; - $_POST['Pansize'] = $myrow['pansize']; - $_POST['ShrinkFactor'] = $myrow['shrinkfactor']; - - - $sql = "SELECT descriptiontranslation, longdescriptiontranslation, language_id FROM stockdescriptiontranslations WHERE stockid='" . $StockID . "' AND ("; + WHERE stockid = '" . $StockID . "'"; + + $Result = DB_query($SQL); + $MyRow = DB_fetch_array($Result); + + $_POST['LongDescription'] = $MyRow['longdescription']; + $_POST['Description'] = $MyRow['description']; + $_POST['EOQ'] = $MyRow['eoq']; + $_POST['CategoryID'] = $MyRow['categoryid']; + $_POST['Units'] = $MyRow['units']; + $_POST['MBFlag'] = $MyRow['mbflag']; + $_POST['Discontinued'] = $MyRow['discontinued']; + $_POST['Controlled'] = $MyRow['controlled']; + $_POST['Serialised'] = $MyRow['serialised']; + $_POST['Perishable'] = $MyRow['perishable']; + $_POST['Volume'] = $MyRow['volume']; + $_POST['GrossWeight'] = $MyRow['grossweight']; + $_POST['NetWeight'] = $MyRow['netweight']; + $_POST['BarCode'] = $MyRow['barcode']; + $_POST['DiscountCategory'] = $MyRow['discountcategory']; + $_POST['TaxCat'] = $MyRow['taxcatid']; + $_POST['DecimalPlaces'] = $MyRow['decimalplaces']; + $_POST['NextSerialNo'] = $MyRow['nextserialno']; + $_POST['Pansize'] = $MyRow['pansize']; + $_POST['ShrinkFactor'] = $MyRow['shrinkfactor']; + + $SQL = "SELECT descriptiontranslation, longdescriptiontranslation, language_id FROM stockdescriptiontranslations WHERE stockid='" . $StockID . "' AND ("; foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - $sql .= "language_id='" . $LanguageId ."' OR "; + $SQL.= "language_id='" . $LanguageId . "' OR "; } - $sql = mb_substr($sql,0,mb_strlen($sql)-3) . ')'; - $result = DB_query($sql); - while ($myrow = DB_fetch_array($result)){ - $_POST['Description_' . str_replace('.','_',$myrow['language_id'])] = $myrow['descriptiontranslation']; - $_POST['LongDescription_' . str_replace('.','_',$myrow['language_id'])] = $myrow['longdescriptiontranslation']; + $SQL = mb_substr($SQL, 0, mb_strlen($SQL) - 3) . ')'; + $Result = DB_query($SQL); + while ($MyRow = DB_fetch_array($Result)) { + $_POST['Description_' . str_replace('.', '_', $MyRow['language_id']) ] = $MyRow['descriptiontranslation']; + $_POST['LongDescription_' . str_replace('.', '_', $MyRow['language_id']) ] = $MyRow['longdescriptiontranslation']; } echo ' @@ -1036,23 +996,23 @@ if (isset($_POST['Description'])) { $Description = $_POST['Description']; } else { - $Description =''; + $Description = ''; } echo ' - + '; foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - if ($LanguageId!=''){ + if ($LanguageId != '') { //unfortunately cannot have points in POST variables so have to mess with the language id - $PostVariableName = 'Description_' . str_replace('.','_',$LanguageId); - if (!isset($_POST[$PostVariableName])){ - $_POST[$PostVariableName] =''; + $PostVariableName = 'Description_' . str_replace('.', '_', $LanguageId); + if (!isset($_POST[$PostVariableName])) { + $_POST[$PostVariableName] = ''; } echo ' - + '; } } @@ -1060,59 +1020,54 @@ if (isset($_POST['LongDescription'])) { $LongDescription = AddCarriageReturns($_POST['LongDescription']); } else { - $LongDescription =''; + $LongDescription = ''; } echo ' - + '; foreach ($ItemDescriptionLanguagesArray as $LanguageId) { - if ($LanguageId!=''){ + if ($LanguageId != '') { //unfortunately cannot have points in POST variables so have to mess with the language id - $PostVariableName = 'LongDescription_' . str_replace('.','_',$LanguageId); - if (!isset($_POST[$PostVariableName])){ - $_POST[$PostVariableName] =''; + $PostVariableName = 'LongDescription_' . str_replace('.', '_', $LanguageId); + if (!isset($_POST[$PostVariableName])) { + $_POST[$PostVariableName] = ''; } echo ' - + '; } } echo ' - + '; $imagefile = reset((glob($_SESSION['part_pics_dir'] . '/' . $StockID . '.{' . implode(",", $SupportedImgExt) . '}', GLOB_BRACE))); -if (extension_loaded('gd') && function_exists('gd_info') && isset($StockID) && !empty($StockID)){ - $StockImgLink = ''; -} else if (file_exists ($imagefile)) { +if (extension_loaded('gd') && function_exists('gd_info') && isset($StockID) && !empty($StockID)) { + $StockImgLink = ''; +} else if (file_exists($imagefile)) { $StockImgLink = ''; } else { $StockImgLink = _('No Image'); } -if ($StockImgLink!=_('No Image')) { +if ($StockImgLink != _('No Image')) { echo ''; } -if (isset($_POST['ClearImage']) ) { +if (isset($_POST['ClearImage'])) { foreach ($SupportedImgExt as $ext) { $file = $_SESSION['part_pics_dir'] . '/' . $StockID . '.' . $ext; - if (file_exists ($file) ) { + if (file_exists($file)) { //workaround for many variations of permission issues that could cause unlink fail @unlink($file); - if(is_file($imagefile)) { - prnMsg(_('You do not have access to delete this item image file.'),'error'); + if (is_file($imagefile)) { + prnMsg(_('You do not have access to delete this item image file.'), 'error'); } else { $StockImgLink = _('No Image'); } @@ -1125,96 +1080,95 @@ +echo '' . _('Add or Modify Stock Categories') . ''; -if (!isset($_POST['EOQ']) OR $_POST['EOQ']==''){ - $_POST['EOQ']=0; +if (!isset($_POST['EOQ']) or $_POST['EOQ'] == '') { + $_POST['EOQ'] = 0; } -if (!isset($_POST['Volume']) OR $_POST['Volume']==''){ - $_POST['Volume']=0; +if (!isset($_POST['Volume']) or $_POST['Volume'] == '') { + $_POST['Volume'] = 0; } -if (!isset($_POST['GrossWeight']) OR $_POST['GrossWeight']==''){ - $_POST['GrossWeight']=0; +if (!isset($_POST['GrossWeight']) or $_POST['GrossWeight'] == '') { + $_POST['GrossWeight'] = 0; } -if (!isset($_POST['NetWeight']) OR $_POST['NetWeight']==''){ - $_POST['NetWeight']=0; +if (!isset($_POST['NetWeight']) or $_POST['NetWeight'] == '') { + $_POST['NetWeight'] = 0; } -if (!isset($_POST['Controlled']) OR $_POST['Controlled']==''){ - $_POST['Controlled']=0; +if (!isset($_POST['Controlled']) or $_POST['Controlled'] == '') { + $_POST['Controlled'] = 0; } -if (!isset($_POST['Serialised']) OR $_POST['Serialised']=='' || $_POST['Controlled']==0){ - $_POST['Serialised']=0; +if (!isset($_POST['Serialised']) or $_POST['Serialised'] == '' || $_POST['Controlled'] == 0) { + $_POST['Serialised'] = 0; } -if (!isset($_POST['DecimalPlaces']) OR $_POST['DecimalPlaces']==''){ - $_POST['DecimalPlaces']=0; +if (!isset($_POST['DecimalPlaces']) or $_POST['DecimalPlaces'] == '') { + $_POST['DecimalPlaces'] = 0; } -if (!isset($_POST['Discontinued']) OR $_POST['Discontinued']==''){ - $_POST['Discontinued']=0; +if (!isset($_POST['Discontinued']) or $_POST['Discontinued'] == '') { + $_POST['Discontinued'] = 0; } if (!isset($_POST['Pansize'])) { - $_POST['Pansize']=0; + $_POST['Pansize'] = 0; } if (!isset($_POST['ShrinkFactor'])) { - $_POST['ShrinkFactor']=0; + $_POST['ShrinkFactor'] = 0; } if (!isset($_POST['NextSerialNo'])) { - $_POST['NextSerialNo']=0; + $_POST['NextSerialNo'] = 0; } - echo ' - '; + '; echo ' - + '; echo ' - + '; echo ' - + '; - echo ' +echo ' - @@ -1223,33 +1177,33 @@ echo ''; -echo ''; -if ($_POST['Serialised']==1 AND $_POST['MBFlag']=='M'){ +if ($_POST['Serialised'] == 1 and $_POST['MBFlag'] == 'M') { echo ' - '; + '; } else { echo ''; } @@ -1318,15 +1272,15 @@ '; @@ -1338,17 +1292,17 @@ if (isset($_POST['BarCode'])) { $BarCode = $_POST['BarCode']; } else { - $BarCode=''; + $BarCode = ''; } echo ' - + '; if (isset($_POST['DiscountCategory'])) { $DiscountCategory = $_POST['DiscountCategory']; } else { - $DiscountCategory=''; + $DiscountCategory = ''; } echo ' @@ -1358,31 +1312,30 @@ echo ''; echo ' - + - + '; echo '
' . _('Item Code'). ':' . _('Item Code') . ':
' . _('Item Code'). ':' . _('Item Code') . ': ' . $StockID . '
' . _('Item Code') . ':
' . _('Part Description') . ' (' . _('short') . '):
' . $LanguagesArray[$LanguageId]['LanguageName'] . ' ' . _('Description') . ':
' . _('Part Description') . ' (' . _('long') . '):
' . $LanguagesArray[$LanguageId]['LanguageName'] . ' ' . _('Long Description') . ':
' . _('Image File (' . implode(", ", $SupportedImgExt) . ')') . ':' . _('Image File (' . implode(", ", $SupportedImgExt) . ')') . ': -
'._('Clear Image').' +
' . _('Clear Image') . '
' . _('Image') . '
' . $StockImgLink . '
' . _('Category') . ': ' . _('Add or Modify Stock Categories') . '
' . _('Economic Order Quantity') . ':
' . _('Packaged Volume (metres cubed)') . ':
' . _('Packaged Gross Weight (KGs)') . ':' . _('Packaged Gross Weight (KGs)') . ':
' . _('Net Weight (KGs)') . ':' . _('Net Weight (KGs)') . ':
' . _('Units of Measure') . ':
' . _('Assembly, Kit, Manufactured or Service/Labour') . ': ' . _('Current or Obsolete') . ': ' . _('Batch, Serial or Lot Control') . ':
' . _('Serialised') . ':
' . _('Serialised') . ':' . _('Note') . ', ' . _('this has no effect if the item is not Controlled') . '
' . _('Next Serial No (>0 for auto numbering)') . ':
' . _('Perishable') . ':
' . _('Bar Code') . ':
' . _('Discount Category') . ':
' . _('Tax Category') . ':
@@ -1392,7 +1345,7 @@ $_POST['CategoryID'] = ''; } -$sql = "SELECT stkcatpropid, +$SQL = "SELECT stkcatpropid, label, controltype, defaultvalue, @@ -1404,71 +1357,71 @@ AND reqatsalesorder =0 ORDER BY stkcatpropid"; -$PropertiesResult = DB_query($sql); +$PropertiesResult = DB_query($SQL); $PropertyCounter = 0; $PropertyWidth = array(); -if (DB_num_rows($PropertiesResult)>0) { -echo '
+if (DB_num_rows($PropertiesResult) > 0) { + echo '
'; echo ''; -while ($PropertyRow=DB_fetch_array($PropertiesResult)){ + while ($PropertyRow = DB_fetch_array($PropertiesResult)) { - if (isset($StockID)) { - $PropValResult = DB_query("SELECT value FROM + if (isset($StockID)) { + $PropValResult = DB_query("SELECT value FROM stockitemproperties WHERE stockid='" . $StockID . "' - AND stkcatpropid ='" . $PropertyRow['stkcatpropid']."'"); - $PropValRow = DB_fetch_row($PropValResult); - $PropertyValue = $PropValRow[0]; - } else { - $PropertyValue = ''; - } - echo ' + AND stkcatpropid ='" . $PropertyRow['stkcatpropid'] . "'"); + $PropValRow = DB_fetch_row($PropValResult); + $PropertyValue = $PropValRow[0]; + } else { + $PropertyValue = ''; + } + echo ' + echo ''; + echo ''; + echo $PropertyRow['label'] . ''; - $PropertyCounter++; + } + echo ''; + break; + case 2; //checkbox + echo ''; +break; +} //end switch +echo ''; +echo ''; +$PropertyCounter++; } //end loop round properties for the item category unset($StockID); @@ -1477,18 +1430,17 @@ echo ''; echo '
'; -if ($New==1) { +if ($New == 1) { echo ''; echo ''; } else { // Now the form to enter the item properties - echo ''; echo ''; echo '

'; - prnMsg( _('Only click the Delete button if you are sure you wish to delete the item!') . '
' . _('Checks will be made to ensure that there are no stock movements, sales analysis records, sales order items or purchase order items for the item') . '. ' . _('No deletions will be allowed if they exist') . '.', 'warn', _('WARNING')); + prnMsg(_('Only click the Delete button if you are sure you wish to delete the item!') . '
' . _('Checks will be made to ensure that there are no stock movements, sales analysis records, sales order items or purchase order items for the item') . '. ' . _('No deletions will be allowed if they exist') . '.', 'warn', _('WARNING')); echo '
'; } @@ -1496,5 +1448,5 @@ echo ''; -include('includes/footer.php'); +include ('includes/footer.php'); ?>
' . _('Item Category Properties') . '
'; - echo ''; - echo ''; - echo $PropertyRow['label'] . ' '; - switch ($PropertyRow['controltype']) { - case 0; //textbox - if ($PropertyRow['numericvalue']==1) { + switch ($PropertyRow['controltype']) { + case 0; //textbox + if ($PropertyRow['numericvalue'] == 1) { echo ''; echo ''; - echo ''; - echo _('A number between') . ' ' . locale_number_format($PropertyRow['minimumvalue'],'Variable') . ' ' . _('and') . ' ' . locale_number_format($PropertyRow['maximumvalue'],'Variable') . ' ' . _('is expected'); + echo ''; + echo _('A number between') . ' ' . locale_number_format($PropertyRow['minimumvalue'], 'Variable') . ' ' . _('and') . ' ' . locale_number_format($PropertyRow['maximumvalue'], 'Variable') . ' ' . _('is expected'); } else { echo ''; } - break; - case 1; //select box - $OptionValues = explode(',',$PropertyRow['defaultvalue']); - echo ''; - break; - case 2; //checkbox - echo ''; + foreach ($OptionValues as $PropertyOptionValue) { + if ($PropertyOptionValue == $PropertyValue) { + echo ''; + } else { + echo ''; } - echo ' />'; - break; - } //end switch - echo ''; - echo '