From: <ex...@us...> - 2017-06-19 09:19:01
|
Revision: 7787 http://sourceforge.net/p/web-erp/reponame/7787 Author: exsonqu Date: 2017-06-19 09:18:58 +0000 (Mon, 19 Jun 2017) Log Message: ----------- 19/06/17 Exson: Fixed the variable not existed error (Reported by Tim). Add a feature to add favorite script under main menu which idea originated from Tim's Kwamoja project. Modified Paths: -------------- trunk/SelectProduct.php trunk/SupplierInvoice.php trunk/includes/footer.php trunk/includes/header.php trunk/includes/session.php trunk/sql/mysql/upgrade4.13.1-4.14.sql Added Paths: ----------- trunk/css/menu.css Modified: trunk/SelectProduct.php =================================================================== --- trunk/SelectProduct.php 2017-06-19 06:19:29 UTC (rev 7786) +++ trunk/SelectProduct.php 2017-06-19 09:18:58 UTC (rev 7787) @@ -858,7 +858,7 @@ } else { $ItemStatus =''; } - $imagefile = reset((glob($_SESSION['part_pics_dir'] . '/' . $StockID . '.{' . implode(",", $SupportedImgExt) . '}', GLOB_BRACE))); + $imagefile = reset((glob($_SESSION['part_pics_dir'] . '/' . $myrow['stockid'] . '.{' . implode(",", $SupportedImgExt) . '}', GLOB_BRACE))); if (!empty($imagefile)){ $StockImgLink = '<img src="GetStockImage.php?automake=1&textcolor=FFFFFF&bgcolor=CCCCCC'. '&StockID='.urlencode($myrow['stockid']). Modified: trunk/SupplierInvoice.php =================================================================== --- trunk/SupplierInvoice.php 2017-06-19 06:19:29 UTC (rev 7786) +++ trunk/SupplierInvoice.php 2017-06-19 09:18:58 UTC (rev 7787) @@ -33,7 +33,7 @@ $myrow = DB_fetch_row($result); $SupplierName=$myrow[0]; if (!isset($_SESSION['SuppTrans']->SupplierID)) { - $_SESSION['SuppTrans']->SupplierID = $myrow[1]; + $_SESSION['SuppTrans']->SupplierID = $_GET['SupplierID']; } } else { $SupplierName=$_SESSION['SuppTrans']->SupplierName; Added: trunk/css/menu.css =================================================================== --- trunk/css/menu.css (rev 0) +++ trunk/css/menu.css 2017-06-19 09:18:58 UTC (rev 7787) @@ -0,0 +1,24 @@ +#menu ul { + display:none; + position:absolute; + list-style:none; + padding:0; + margin:0; + border-top:1px #a81b2f solid; +} +#menu ul li a{ + color:#5d6364; + text-decoration:none; + display:block; + padding:6px 7px; + border-bottom:1px solid #d3d9da; + border-left:1px solid #d3d9da; + border-right:1px solid #d3d9da; + font-size:13px; +} +#menu li:hover ul { + display:block; + top:40px; + min-width:160px; +} + Modified: trunk/includes/footer.php =================================================================== --- trunk/includes/footer.php 2017-06-19 06:19:29 UTC (rev 7786) +++ trunk/includes/footer.php 2017-06-19 09:18:58 UTC (rev 7787) @@ -22,9 +22,31 @@ echo '</div>'; // FooterWrapDiv echo '</div>'; // FooterDiv +$BaseName = basename($_SERVER['PHP_SELF']); +$ScriptName = $BaseName.'?'.$_SERVER['QUERY_STRING']; +if ( $BaseName != 'index.php' AND !isset($_SESSION['Favourites'][$ScriptName])) { + $ShowAdd = '<input type="submit" value="' . _('Add To Menu') . '" name="AddToMenu" />'; +} else { + $ShowAdd = ''; +} +if (isset($_SESSION['Favourites'][$ScriptName])) { + $ShowDel = '<input type="submit" value="' . _('Remove From Menu') . '" name="DelFromMenu" />'; +} else { + $ShowDel = ''; +} + +echo '<div> + <form action="' . htmlspecialchars($_SERVER['PHP_SELF']) . '" method="post"> + <input type="hidden" name="FormID" value="' . $_SESSION['FormID'] . '" /> + <input type="hidden" name="ScriptName" value="' . $ScriptName . '" /> + <input type="hidden" name="Title" value="' . $Title . '" /> + ' . $ShowAdd . $ShowDel . ' + + + </form> + </div> +'; echo '</div>'; // Canvas - echo '</body> </html>'; - ?> Modified: trunk/includes/header.php =================================================================== --- trunk/includes/header.php 2017-06-19 06:19:29 UTC (rev 7786) +++ trunk/includes/header.php 2017-06-19 09:18:58 UTC (rev 7787) @@ -65,10 +65,27 @@ echo '</div>'; // AppInfoDiv - echo '<div id="QuickMenuDiv"><ul>'; + echo '<div id="QuickMenuDiv"><ul id="menu">'; - echo '<li><a href="'.$RootPath.'/index.php">' . _('Main Menu') . '</a></li>'; //take off inline formatting, use CSS instead ===HJ=== + echo '<li><a href="'.$RootPath.'/index.php">' . _('Main Menu') . '</a>'; + if (isset($_POST['AddToMenu'])) { + if (!isset($_SESSION['Favourites'][$_POST['ScriptName']])) { + $_SESSION['Favourites'][$_POST['ScriptName']] = $_POST['Title']; + } + } + if (isset($_POST['DelFromMenu'])) { + unset($_SESSION['Favourites'][$_POST['ScriptName']]); + } + if (isset($_SESSION['Favourites']) AND count($_SESSION['Favourites'])>0) { + echo '<ul>'; + foreach ($_SESSION['Favourites'] as $url=>$ttl) { + echo '<li><a href="' . $url . '">' . _($ttl) . '<a></li>'; + } + echo '</ul>'; + } + echo '</li>'; //take off inline formatting, use CSS instead ===HJ=== + if (count($_SESSION['AllowedPageSecurityTokens'])>1){ echo '<li><a href="'.$RootPath.'/SelectCustomer.php">' . _('Customers') . '</a></li>'; echo '<li><a href="'.$RootPath.'/SelectProduct.php">' . _('Items') . '</a></li>'; Modified: trunk/includes/session.php =================================================================== --- trunk/includes/session.php 2017-06-19 06:19:29 UTC (rev 7786) +++ trunk/includes/session.php 2017-06-19 09:18:58 UTC (rev 7787) @@ -82,6 +82,50 @@ $FirstLogin = False; if(basename($_SERVER['SCRIPT_NAME'])=='Logout.php'){ + if (isset($_SESSION['Favourites'])) { + //retrieve the sql data; + $sql = "SELECT href, caption FROM favourites WHERE userid='" . $_SESSION['UserID'] . "'"; + $ErrMsg = _('Failed to retrieve favorites'); + $result = DB_query($sql,$ErrMsg); + if (DB_num_rows($result)>0) { + while ($myrow = DB_fetch_array($result)) { + if (!isset($_SESSION['Favourites'][$myrow['href']])) {//The script is removed; + $sql[] = "DELECT FROM favourites WHERE href='" . $myrow['href'] . "' AND userid='" . $_SESSION['UserID'] . "'"; + + } else { + unset($_SESSION['Favourites'][$myrow['href']]); + } + } + if (count($_SESSION['Favourites']) >0) { + $sqli = "INSERT INTO favourites(href,caption,userid) VALUES "; + $k = 0; + foreach ($_SESSION['Favourites'] as $url=>$ttl) { + if ($k) { + $sqli .=","; + } + $sqli .= "('" . $url . "', '" . $ttl . "', '" . $_SESSION['UserID'] . "')"; + $k++; + } + } + foreach ($sql as $sq) { + $result = DB_query($sq); + } + $result = DB_query($sqli); + } else { + + $sqli = "INSERT INTO favourites(href,caption,userid) VALUES "; + $k = 0; + foreach ($_SESSION['Favourites'] as $url=>$ttl) { + if ($k) { + $sqli .=","; + } + $sqli .= "('" . $url . "', '" . $ttl . "','" . $_SESSION['UserID'] . "')"; + $k++; + } + $result = DB_query($sqli); + } +} + header('Location: index.php'); } elseif (isset($AllowAnyone)){ /* only do security checks if AllowAnyone is not true */ $_SESSION['AllowedPageSecurityTokens'] = array(); Modified: trunk/sql/mysql/upgrade4.13.1-4.14.sql =================================================================== --- trunk/sql/mysql/upgrade4.13.1-4.14.sql 2017-06-19 06:19:29 UTC (rev 7786) +++ trunk/sql/mysql/upgrade4.13.1-4.14.sql 2017-06-19 09:18:58 UTC (rev 7787) @@ -14,5 +14,11 @@ -- Convert prices to use non- SQL mode specific end date we will have a year 10000 problem but its a way off!: UPDATE prices SET enddate='9999-12-31' WHERE enddate='0000-00-00'; +CREATE table favourites (userid varchar(20) NOT NULL DEFAULT '', + caption varchar(50) NOT NULL DEFAULT '', + href varchar(200) NOT NULL DEFAULT '#', + PRIMARY KEY (userid,caption)) Engine=InnoDB DEFAULT CHARSET=utf8; + + -- Update version number: UPDATE config SET confvalue='4.14' WHERE confname='VersionNumber'; |