[Weberp-svn] SF.net SVN: weberp:[9452] trunk
Brought to you by:
sotandeka,
tim_schofield
From: <tim...@us...> - 2012-07-28 18:11:21
|
Revision: 9452 http://weberp.svn.sourceforge.net/weberp/?rev=9452&view=rev Author: tim_schofield Date: 2012-07-28 18:11:13 +0000 (Sat, 28 Jul 2012) Log Message: ----------- New product search facility Modified Paths: -------------- trunk/SelectProduct.php trunk/css/silverwolf/images/maintenance.png trunk/css/silverwolf/images/supplier.png trunk/css/silverwolf/images/transactions.png trunk/css/silverwolf/sub.css Added Paths: ----------- trunk/css/silverwolf/images/inquiry.png trunk/includes/ProductSearch.php Modified: trunk/SelectProduct.php =================================================================== --- trunk/SelectProduct.php 2012-07-27 07:33:08 UTC (rev 9451) +++ trunk/SelectProduct.php 2012-07-28 18:11:13 UTC (rev 9452) @@ -16,21 +16,9 @@ $_POST['Select'] = trim(mb_strtoupper($_GET['StockID'])); } -if (isset($_GET['NewSearch']) or isset($_POST['Next']) or isset($_POST['Previous']) or isset($_POST['Go'])) { - unset($StockID); - unset($_SESSION['SelectedStockItem']); - unset($_POST['Select']); +if (isset($_POST['ChooseProduct'])) { + $_SESSION['SelectedStockItem'] = trim(mb_strtoupper($_POST['ChooseProduct'])); } -if (!isset($_POST['PageOffset'])) { - $_POST['PageOffset'] = 1; -} else { - if ($_POST['PageOffset'] == 0) { - $_POST['PageOffset'] = 1; - } -} -if (isset($_POST['StockCode'])) { - $_POST['StockCode'] = trim(mb_strtoupper($_POST['StockCode'])); -} if (isset($_GET['ShowAll']) and $_GET['ShowAll']=='Yes') { $_SESSION['ShowAllPrices'][$_SESSION['SelectedStockItem']]='Yes'; @@ -78,20 +66,8 @@ } } -// Always show the search facilities -$SQL = "SELECT categoryid, - categorydescription - FROM stockcategory - ORDER BY categorydescription"; -$result1 = DB_query($SQL, $db); -if (DB_num_rows($result1) == 0) { - echo '<p><font size="4" color="red">' . _('Problem Report') . ':</font><br />' . _('There are no stock categories currently defined please use the link below to set them up').'</p>'; - echo InternalLink('' . 'StockCategories.php', _('Define Stock Categories')); - exit; -} -// end of showing search facilities /* displays item options if there is one and only one selected */ -if (!isset($_POST['Search']) AND (isset($_POST['Select']) OR isset($_SESSION['SelectedStockItem']))) { +if (isset($_SESSION['SelectedStockItem'])) { if (isset($_POST['Select'])) { $_SESSION['SelectedStockItem'] = $_POST['Select']; $StockID = $_POST['Select']; @@ -127,7 +103,7 @@ } echo '<br /><table width="95%" class="selection"> <tr> - <th title="'. $myrow['longdescription'] . '" colspan="3"><img src="' . $rootpath . '/css/' . $theme . '/images/inventory.png" title="' . _('Inventory') . '" alt="" /><b>' . ' ' . $StockID . ' - ' . $myrow['description'] . ' ' . $ItemStatus . '</b></th></tr>'; + <th title="'. $myrow['longdescription'] . '" colspan="3" class="header"><img src="' . $rootpath . '/css/' . $theme . '/images/inventory.png" title="' . _('Inventory') . '" alt="" /><b>' . ' ' . $StockID . ' - ' . $myrow['description'] . ' ' . $ItemStatus . '</b></th></tr>'; echo '<tr><td width="40%" valign="top"> <table align="left" style="background: transparent;">'; //nested table echo '<tr><th style="text-align:right;"><b>' . _('Item Type:') . '</b></th> @@ -464,10 +440,17 @@ DB_data_seek($result, 0); } echo '</td></tr></table><br />'; // end first item details table - echo '<table width="90%" class="selection" cellpadding="1"><tr> - <th width="33%">' . _('Item Inquiries') . '</th> - <th width="33%">' . _('Item Transactions') . '</th> - <th width="33%">' . _('Item Maintenance') . '</th> + echo '<table width="90%" class="selection" cellpadding="1">'; + echo '<tr> + <th width="33%" class="header">' . _('Item Inquiries') . ' + <img src="' . $rootpath . '/css/' . $theme . '/images/inquiry.png" title="' . _('Items') . '" alt="" /> + </th> + <th width="33%" class="header">' . _('Item Transactions') . ' + <img src="' . $rootpath . '/css/' . $theme . '/images/transactions.png" title="' . _('Items') . '" alt="" /> + </th> + <th width="33%" class="header">' . _('Item Maintenance') . ' + <img src="' . $rootpath . '/css/' . $theme . '/images/maintenance.png" title="' . _('Items') . '" alt="" /> + </th> </tr>'; echo '<tr><td valign="top" class="select">'; /*Stock Inquiry Options */ @@ -553,11 +536,11 @@ echo '</td></tr></table>'; } else { // options (links) to pages. This requires stock id also to be passed. - echo '<table width="90%" cellpadding="4" class="selection">'; + echo '<br /><table width="90%" cellpadding="4" class="selection">'; echo '<tr> - <th width="33%">' . _('Item Inquiries') . '</th> - <th width="33%">' . _('Item Transactions') . '</th> - <th width="33%">' . _('Item Maintenance') . '</th> + <th width="33%" class="header">' . _('Item Inquiries') . '</th> + <th width="33%" class="header">' . _('Item Transactions') . '</th> + <th width="33%" class="header">' . _('Item Maintenance') . '</th> </tr>'; echo '<tr><td class="select">'; /*Stock Inquiry Options */ @@ -571,294 +554,19 @@ echo '<form onsubmit="return SubmitForm(this)" action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '" method="post">'; echo '<input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" />'; -echo '<p class="page_title_text"><img src="' . $rootpath . '/css/' . $theme . '/images/magnifier.png" title="' . _('Search') . '" alt="" />' . ' ' . _('Search for Inventory Items'). '</p>'; -echo '<table class="selection"><tr>'; -echo '<td>' . _('In Stock Category') . ':'; -echo '<select name="StockCat">'; -if (!isset($_POST['StockCat'])) { - $_POST['StockCat'] = ""; -} -if ($_POST['StockCat'] == 'All') { - echo '<option selected="True" value="All">' . _('All').'</option>'; -} else { - echo '<option value="All">' . _('All').'</option>'; -} -while ($myrow1 = DB_fetch_array($result1)) { - if ($myrow1['categoryid'] == $_POST['StockCat']) { - echo '<option selected="True" value="' . $myrow1['categoryid'] . '">' . $myrow1['categorydescription'].'</option>'; - } else { - echo '<option value="' . $myrow1['categoryid'] . '">' . $myrow1['categorydescription'].'</option>'; - } -} -echo '</select></td>'; -echo '<td>' . _('Enter partial') . '<b> ' . _('Description') . '</b>:</td><td>'; -if (isset($_POST['Keywords'])) { - echo '<input type="search" name="Keywords" value="' . $_POST['Keywords'] . '" size="34" maxlength="25" />'; -} else { - echo '<input type="search" name="Keywords" size="34" maxlength="25" placeholder="Enter part of the item description" />'; -} -echo '</td></tr><tr><td></td>'; -echo '<td><font size="3"><b>' . _('OR') . ' ' . '</b></font>' . _('Enter partial') . ' <b>' . _('Stock Code') . '</b>:</td>'; -echo '<td>'; -if (isset($_POST['StockCode'])) { - echo '<input type="text" name="StockCode" value="' . $_POST['StockCode'] . '" size="15" maxlength="18" />'; -} else { - echo '<input type="text" name="StockCode" size="15" maxlength="18" />'; -} -echo '</td></tr></table><br />'; -echo '<div class="centre"><button type="submit" name="Search">' . _('Search Now') . '</button></div><br />'; -echo '<script type="text/javascript">defaultControl(document.forms[0].StockCode);</script>'; -echo '</form>'; -// query for list of record(s) -if(isset($_POST['Go']) OR isset($_POST['Next']) OR isset($_POST['Previous'])) { - $_POST['Search']='Search'; -} -if (isset($_POST['Search']) OR isset($_POST['Go']) OR isset($_POST['Next']) OR isset($_POST['Previous'])) { - if (!isset($_POST['Go']) AND !isset($_POST['Next']) AND !isset($_POST['Previous'])) { - // if Search then set to first page - $_POST['PageOffset'] = 1; - } - if ($_POST['Keywords'] AND $_POST['StockCode']) { - prnMsg (_('Stock description keywords have been used in preference to the Stock code extract entered'), 'info'); - } - if ($_POST['Keywords']) { - //insert wildcard characters in spaces - $_POST['Keywords'] = mb_strtoupper($_POST['Keywords']); - $SearchString = '%' . str_replace(' ', '%', $_POST['Keywords']) . '%'; - if ($_POST['StockCat'] == 'All') { - $SQL = "SELECT stockmaster.stockid, - stockmaster.description, - stockmaster.longdescription, - SUM(locstock.quantity) AS qoh, - stockmaster.units, - stockmaster.mbflag, - stockmaster.discontinued, - stockmaster.decimalplaces - FROM stockmaster - LEFT JOIN stockcategory - ON stockmaster.categoryid=stockcategory.categoryid, - locstock - WHERE stockmaster.stockid=locstock.stockid - AND stockmaster.description " . LIKE . " '$SearchString' - GROUP BY stockmaster.stockid, - stockmaster.description, - stockmaster.units, - stockmaster.mbflag, - stockmaster.discontinued, - stockmaster.decimalplaces - ORDER BY stockmaster.stockid"; - } else { - $SQL = "SELECT stockmaster.stockid, - stockmaster.description, - stockmaster.longdescription, - SUM(locstock.quantity) AS qoh, - stockmaster.units, - stockmaster.mbflag, - stockmaster.discontinued, - stockmaster.decimalplaces - FROM stockmaster, - locstock - WHERE stockmaster.stockid=locstock.stockid - AND description " . LIKE . " '$SearchString' - AND categoryid='" . $_POST['StockCat'] . "' - GROUP BY stockmaster.stockid, - stockmaster.description, - stockmaster.units, - stockmaster.mbflag, - stockmaster.discontinued, - stockmaster.decimalplaces - ORDER BY stockmaster.stockid"; - } - } elseif (isset($_POST['StockCode'])) { - $_POST['StockCode'] = mb_strtoupper($_POST['StockCode']); - if ($_POST['StockCat'] == 'All') { - $SQL = "SELECT stockmaster.stockid, - stockmaster.description, - stockmaster.longdescription, - stockmaster.mbflag, - stockmaster.discontinued, - SUM(locstock.quantity) AS qoh, - stockmaster.units, - stockmaster.decimalplaces - FROM stockmaster - INNER JOIN stockcategory - ON stockmaster.categoryid=stockcategory.categoryid, - locstock - WHERE stockmaster.stockid=locstock.stockid - AND stockmaster.stockid " . LIKE . " '%" . $_POST['StockCode'] . "%' - GROUP BY stockmaster.stockid, - stockmaster.description, - stockmaster.units, - stockmaster.mbflag, - stockmaster.discontinued, - stockmaster.decimalplaces - ORDER BY stockmaster.stockid"; - } else { - $SQL = "SELECT stockmaster.stockid, - stockmaster.description, - stockmaster.longdescription, - stockmaster.mbflag, - stockmaster.discontinued, - sum(locstock.quantity) as qoh, - stockmaster.units, - stockmaster.decimalplaces - FROM stockmaster, - locstock - WHERE stockmaster.stockid=locstock.stockid - AND stockmaster.stockid " . LIKE . " '%" . $_POST['StockCode'] . "%' - AND categoryid='" . $_POST['StockCat'] . "' - GROUP BY stockmaster.stockid, - stockmaster.description, - stockmaster.units, - stockmaster.mbflag, - stockmaster.discontinued, - stockmaster.decimalplaces - ORDER BY stockmaster.stockid"; - } - } elseif (!isset($_POST['StockCode']) AND !isset($_POST['Keywords'])) { - if ($_POST['StockCat'] == 'All') { - $SQL = "SELECT stockmaster.stockid, - stockmaster.description, - stockmaster.longdescription, - stockmaster.mbflag, - stockmaster.discontinued, - SUM(locstock.quantity) AS qoh, - stockmaster.units, - stockmaster.decimalplaces - FROM stockmaster - LEFT JOIN stockcategory - ON stockmaster.categoryid=stockcategory.categoryid, - locstock - WHERE stockmaster.stockid=locstock.stockid - GROUP BY stockmaster.stockid, - stockmaster.description, - stockmaster.units, - stockmaster.mbflag, - stockmaster.discontinued, - stockmaster.decimalplaces - ORDER BY stockmaster.stockid"; - } else { - $SQL = "SELECT stockmaster.stockid, - stockmaster.description, - stockmaster.longdescription, - stockmaster.mbflag, - stockmaster.discontinued, - SUM(locstock.quantity) AS qoh, - stockmaster.units, - stockmaster.decimalplaces - FROM stockmaster, - locstock - WHERE stockmaster.stockid=locstock.stockid - AND categoryid='" . $_POST['StockCat'] . "' - GROUP BY stockmaster.stockid, - stockmaster.description, - stockmaster.units, - stockmaster.mbflag, - stockmaster.discontinued, - stockmaster.decimalplaces - ORDER BY stockmaster.stockid"; - } - } - $ErrMsg = _('No stock items were returned by the SQL because'); - $DbgMsg = _('The SQL that returned an error was'); - $searchresult = DB_query($SQL, $db, $ErrMsg, $DbgMsg); - if (DB_num_rows($searchresult) == 0) { - prnMsg(_('No stock items were returned by this search please re-enter alternative criteria to try again'), 'info'); - } - unset($_POST['Search']); -} -/* end query for list of records */ -/* display list if there is more than one record */ -if (isset($searchresult) AND !isset($_POST['Select'])) { - echo '<form onsubmit="return SubmitForm(this)" action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '" method="post">'; - echo '<input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" />'; - $ListCount = DB_num_rows($searchresult); - if ($ListCount > 0) { - // If the user hit the search button and there is more than one item to show - $ListPageMax = ceil($ListCount / $_SESSION['DisplayRecordsMax']); - if (isset($_POST['Next'])) { - if ($_POST['PageOffset'] < $ListPageMax) { - $_POST['PageOffset'] = $_POST['PageOffset'] + 1; - } - } - if (isset($_POST['Previous'])) { - if ($_POST['PageOffset'] > 1) { - $_POST['PageOffset'] = $_POST['PageOffset'] - 1; - } - } - if ($_POST['PageOffset'] > $ListPageMax) { - $_POST['PageOffset'] = $ListPageMax; - } - if ($ListPageMax > 1) { - echo '<div class="centre"><br /> ' . $_POST['PageOffset'] . ' ' . _('of') . ' ' . $ListPageMax . ' ' . _('pages') . '. ' . _('Go to Page') . ': '; - echo '<select name="PageOffset">'; - $ListPage = 1; - while ($ListPage <= $ListPageMax) { - if ($ListPage == $_POST['PageOffset']) { - echo '<option value=' . $ListPage . ' selected>' . $ListPage . '</option>'; - } else { - echo '<option value=' . $ListPage . '>' . $ListPage . '</option>'; - } - $ListPage++; - } - echo '</select> - <button type="submit" name="Go">' . _('Go') . '</button> - <button type="submit" name="Previous">' . _('Previous') . '</button> - <button type="submit" name="Next">' . _('Next') . '</button>'; - echo '<input type="hidden" name=Keywords value="'.$_POST['Keywords'].'" />'; - echo '<input type="hidden" name=StockCat value="'.$_POST['StockCat'].'" />'; - echo '<input type="hidden" name=StockCode value="'.$_POST['StockCode'].'" />'; -// echo '<input type="hidden" name=Search value="Search" />'; - echo '<br /></div>'; - } - echo '<table cellpadding="2" class="selection">'; - echo '<tr> - <th>' . _('Code') . '</th> - <th>' . _('Description') . '</th> - <th>' . _('Total Qty On Hand') . '</th> - <th>' . _('Units') . '</th> - <th>' . _('Stock Status') . '</th> - </tr>'; - $j = 1; - $k = 0; //row counter to determine background colour - $RowIndex = 0; - if (DB_num_rows($searchresult) <> 0) { - DB_data_seek($searchresult, ($_POST['PageOffset'] - 1) * $_SESSION['DisplayRecordsMax']); - } - while (($myrow = DB_fetch_array($searchresult)) AND ($RowIndex <> $_SESSION['DisplayRecordsMax'])) { - if ($k == 1) { - echo '<tr class="EvenTableRows">'; - $k = 0; - } else { - echo '<tr class="OddTableRows">'; - $k++; - } - if ($myrow['mbflag'] == 'D') { - $qoh = _('N/A'); - } else { - $qoh = locale_number_format($myrow['qoh'], $myrow['decimalplaces']); - } - if ($myrow['discontinued']==1){ - $ItemStatus = '<font class="bad">' . _('Obsolete') . '</font>'; - } else { - $ItemStatus = '<font class="good">' . _('Current') . '</font>'; - } +$URLArray=explode('/', $_SERVER['PHP_SELF']); +echo '<div class="centre"> + <button type="submit" name="Search" onclick="return OpenSearchWindow(\'includes/ProductSearch.php\', \'' . htmlspecialchars(array_pop($URLArray), ENT_QUOTES, 'UTF-8') . '\')"> + <img src="'.$rootpath.'/css/'.$theme.'/images/magnifier.png" title="' . _('Click To Search For Inventory Items') . '" alt="" /> + ' . _('Search For Items') . ' + </button> + </div>'; - echo '<td><button type="submit" name="Select" value="' . $myrow['stockid'] . '" />' . $myrow['stockid'] . '</button></td> - <td title="'. $myrow['longdescription'] . '">'.$myrow['description'].'</td> - <td class="number">' . $qoh . '</td> - <td>' . $myrow['units'] . '</td> - <td>' . $ItemStatus . '</td> - <td>' . InternalLink('', '/StockStatus.php?StockID=' . $myrow['stockid'], _('View')) . '</td> - </tr>'; - $RowIndex = $RowIndex + 1; - //end of page full new headings if - } - //end of while loop - echo '</table></form><br />'; - } -} -/* end display list if there is more than one record */ +echo '<div id="SearchMask"></div>'; +echo '<div id="SearchWindow">'; +echo '</div>'; + + include ('includes/footer.inc'); -?> \ No newline at end of file +?> Added: trunk/css/silverwolf/images/inquiry.png =================================================================== --- trunk/css/silverwolf/images/inquiry.png (rev 0) +++ trunk/css/silverwolf/images/inquiry.png 2012-07-28 18:11:13 UTC (rev 9452) @@ -0,0 +1,14 @@ +\x89PNG + + |