# # # # # # # # # # require "settings.php"; if (!isset($_GET["redir"]) or strlen($_GET["redir"]) < 1) { return "Invalid use of module."; } $redir = $_GET["redir"]; $navlink_target = getNavLinkTarget(); $OUTPUT = "\n\t<script>\n\t\tfunction link(url) {\n\t\t\tif ({$navlink_target} == 0) {\n\t\t\t\tdocument.location.href = url;\n\t\t\t} else {\n\t\t\t\tpopupSized(url, 'popup' + url, 800, 600,'');\n\t\t\t}\n\t\t}\n\t\tlink('{$redir}');\n\t</script>"; require "template.php"; function getNavLinkTarget() { db_conn("cubit"); $sql = "SELECT LOWER(SUBSTR(value, 1, 1)) FROM settings WHERE constant='NAVLINK_TARGET'"; $rslt = db_exec($sql) or errDie("Error reading navigation link target."); if (pg_num_rows($rslt) <= 0) { $sql = "\n\t\t\tINSERT INTO settings (\n\t\t\t\tconstant, label, value, type, datatype, minlen, maxlen, div, readonly\n\t\t\t) VALUES (\n\t\t\t\t'NAVLINK_TARGET', 'Home Navigation Opens in New Window', 'Yes', 'layout', 'string', '2', '3', 0, 't'\n\t\t\t)"; $rslt = db_exec($sql) or errDie("Error updating navigation link target (INS)."); $nlt = "y"; } else { $nlt = pg_fetch_result($rslt, 0, 0); } return $nlt == "y" ? "1" : "0";
function main() { $STYLES = "\n\t<style type='text/css'>\n\t.ctable {\n\t\tpadding: " . TMPL_tblCellPadding . "px;\n\t\tborder-spacing: " . TMPL_tblCellSpacing . "px;\n\t}\n\n\t.v_show {\n\t\tvisibility: visible;\n\t}\n\n\t.v_hide {\n\t\tvisibility: collapse;\n\t}\n\n\t#navigator {\n\t\tposition: absolute;\n\t\tleft: 0px;\n\t\ttop: 87px;\n\n\t\twidth: 100%;\n\t\theight: 80%;\n\t}\n\n\t#navigator td {\n\t\ttext-align: center;\n\t\tvertical-align: middle;\n\t}\n\n\t#categories {\n\t\tposition: relative;\n\t\tleft: 0px;\n\t\ttop: 0px;\n\n\t\twidth: 756px;\n\t\theight: 100px;\n\t}\n\n\t#categories td {\n\t\ttext-align: center;\n\t\tvertical-align: top;\n\t\twidth: 108px;\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t}\n\n\t#actions {\n\t\tposition: relative;\n\t\tleft: 0px;\n\t\ttop: 0px;\n\n\t\twidth: 756px;\n\t\theight: 50px;\n\t}\n\n\t#actions td {\n\t\ttext-align: center;\n\t\tvertical-align: middle;\n\t\twidth: 189px;\n\t}\n\n\t.actiontd1_off {\n\t\tbackground: url(images/new2/regular_processing.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t}\n\n\t.actiontd1_on {\n\t\tbackground: url(images/new2/regular_processing_sh.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\twidth: 1000px;\n\t}\n\n\t.actiontd2_off {\n\t\tbackground: url(images/new2/processing.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t}\n\n\t.actiontd2_on {\n\t\tbackground: url(images/new2/processing_sh.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\twidth: 1000px;\n\t}\n\n\t.actiontd3_off {\n\t\tbackground: url(images/new2/reports.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t}\n\n\t.actiontd3_on {\n\t\tbackground: url(images/new2/reports_sh.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\twidth: 1000px;\n\t}\n\n\t.actiontd4_off {\n\t\tbackground: url(images/new2/maintenance.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t}\n\n\t.actiontd4_on {\n\t\tbackground: url(images/new2/maintenance_sh.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\twidth: 1000px;\n\t}\n\n\t.actiontd5_off {\n\t\tbackground: url(images/new2/settings.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t}\n\n\t.actiontd5_on {\n\t\tbackground: url(images/new2/settings_sh.gif);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\twidth: 1000px;\n\t}\n\n\n\n\n\n\n\t#actions div {\n\t\twidth: 135px;\n\t\theight: 36px;\n\t\tdisplay: table-cell;\n\t\tvertical-align: middle;\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t}\n\n\t#links_container {\n\t\tdisplay: table-cell;\n\t\twidth: 690px;\n\t\theight: 270px;\n\t}\n\n\t#links_container_data {\n\t\tvertical-align: top;\n\t}\n\n\t#links_container_data td {\n\t\twidth: 115px;\n\t\theight: 35px;\n\t\tborder: 2px solid #222;\n\t\tbackground: #fff;\n\t\tcursor: pointer;\n\t\tfont-size: 9pt;\n\t\t-moz-border-radius: 8px;\n\t}\n\t</style>"; $navlink_target = getNavLinkTarget(); $SCRIPTS = "\n\t<script>\n\t/* function: handles the links */\n\tfunction link(url) {\n\t\tif ({$navlink_target} == 0) {\n\t\t\tdocument.location.href = url;\n\t\t} else {\n\t\t\tpopupSized(url, 'popup' + url, screen.availWidth, screen.availHeight,'');\n\t\t}\n\t}\n\n\t/* function: links to self with supplied get vars */\n\tfunction selflink(getvars) {\n\t\tdocument.location.href = '" . SELF . "?' + getvars;\n\t}\n\n\t/* function: links to top frame */\n\tfunction parentlink(url) {\n\t\ttop.location.href = url;\n\t}\n\n\t/* function: sets category */\n\tfunction set_category(el, img, catid) {\n\t\t// reset all of them\n\t\tunset_cat_bg('customers', \t'images/new2/customers.gif');\n\t\tunset_cat_bg('suppliers', \t'images/new2/suppliers.gif');\n\t\tunset_cat_bg('inventory', \t'images/new2/stock.gif');\n\t\tunset_cat_bg('ledger', \t\t'images/new2/general_ledger.gif');\n\t\tunset_cat_bg('payroll', \t'images/new2/salaries.gif');\n\t\tunset_cat_bg('business', \t'images/new2/business.gif');\n\n\t\t// get the elements\n\t\tce = document.getElementById('catc_' + el);\n\t\tie = document.getElementById('cat_' + el);\n\n\t\t// alter them\n\t\tce.style.border = '1px solid #ddd';\n\t\tie.src = img;\n\n\t\tsel_category = catid;\n\t\tUpdateContainer();\n\t}\n\n\t/* function: sets the specified category cell's background pic and mode */\n\tfunction unset_cat_bg(el, img) {\n\t\tce = document.getElementById('catc_' + el);\n\t\tie = document.getElementById('cat_' + el);\n\n\t\tce.style.border = 'none';\n\t\tie.src = img;\n\t}\n\n\t/* function: sets action */\n\tfunction set_action(cell, actid, button_action_command) {\n\t\tunset_action_bg('a_regproc','actiontd1_off');\n\t\tunset_action_bg('a_proc','actiontd2_off');\n\t\tunset_action_bg('a_reports','actiontd3_off');\n\t\tunset_action_bg('a_maint','actiontd4_off');\n\t\tunset_action_bg('a_admin','actiontd5_off');\n\n\t\tcell.className = button_action_command;\n\n\t\tsel_action = actid;\n\t\tUpdateContainer();\n\t}\n\n\t/* function: sets the specified action cell's background pic and mode */\n\tfunction unset_action_bg(cell,button_action_command2) {\n\t\tce = document.getElementById(cell);\n\t\tce.className = button_action_command2;\n\t}\n\n\t/* function: sets sub action */\n\tfunction set_subaction(cell, actid) {\n\t\t// get the clicked cell's id, because we are going to update the whole\n\t\t// links container, and that means even the cell we clicked on\n\t\t// this way we can just get the cell with the same id in the new data\n\t\t// and set's it's style to give a 'clicked' effect\n\t\tcid = cell.id;\n\n\t\t// set the subaction id to update the links in the container\n\t\tsel_subaction = actid;\n\t\tUpdateSubContainer();\n\n\t\t// now use the saved id to set the sister link's background color\n\t\tdocument.getElementById(cid).style.background = '#f00';\n\t}\n\n\t/* function: unsets the sub action button backgrounds */\n\tfunction unset_subaction_bg(cell) {\n\t\tc = document.getElementById(cell);\n\n\t\tif (c) {\n\t\t\tc.style.background = '#000';\n\t\t}\n\t}\n\n\t/* updates the container data */\n\tfunction UpdateContainer() {\n\t\tdocument.getElementById('links_container').innerHTML = lc_data[sel_category][sel_action];\n\t}\n\n\t/* updates the container data with subaction array */\n\tfunction UpdateSubContainer() {\n\t\tdocument.getElementById('links_container').innerHTML = lc_subdata[sel_subaction];\n\t}\n\n\t/* makes the email popup */\n\tfunction linkEmail() {\n\t\temailwin = window.open('groupware/index.php','email_window', 'scrollbars=no, width=750, height=550');\n\t\temailwin.focus();\n\t}\n\n\t/* link container array */\n\tlc_data = new Array();\n\tlc_subdata = new Array();"; /* take the lc data to java script */ // has set the default selected category and action $setdefault = false; // it unnecessary to set the action constants with every category $setactions = false; // category + action counters $cat_num = 0; $act_num = 0; $sub_num = 0; // get lc data $lc = getLC(); // go! foreach ($lc as $cat => $actions) { // constant to reference categories $SCRIPTS .= "{$cat} = {$cat_num};\n"; // reset the category to array $SCRIPTS .= "lc_data[{$cat}] = new Array()\n"; foreach ($actions as $act => $lcdata) { if (is_array($lcdata)) { continue; } if (!$setactions) { // constant to reference actions $SCRIPTS .= "{$act} = {$act_num};\n"; ++$act_num; } // set default selections if (!$setdefault) { if (isset($_GET["selected"]) && strtoupper($_GET["selected"]) == strtoupper($cat)) { $SCRIPTS .= "sel_category = {$cat};\n"; $SCRIPTS .= "sel_action = {$act};\n"; $setdefault = true; } else { if (!isset($_GET["selected"])) { $SCRIPTS .= "sel_category = {$cat};\n"; $SCRIPTS .= "sel_action = {$act};\n"; $setdefault = true; } } } // dump the data $itemdata = preg_replace("/[\r\n]/", "", $lcdata); $itemdata = preg_replace("/[\"]/", "\\\"", $itemdata); $SCRIPTS .= "lc_data[{$cat}][{$act}] = \"{$itemdata}\";\n"; if (isset($actions["{$act}S"]) && is_array($actions["{$act}S"])) { foreach ($actions["{$act}S"] as $subid => $subdata) { // set the constant $SCRIPTS .= "{$cat}_{$act}_{$subid} = {$sub_num};\n"; // dump the sub data $subitemdata = preg_replace("/[\r\n]/", "", $subdata); $subitemdata = preg_replace("/[\"]/", "\\\"", $subitemdata); $SCRIPTS .= "lc_subdata[{$cat}_{$act}_{$subid}] = \"{$itemdata}{$subitemdata}\";\n"; ++$sub_num; } } } ++$cat_num; $setactions = true; } $SCRIPTS .= "\n\t</script>"; addonload("UpdateContainer();"); #get this company's logo db_conn("cubit"); $get_logo = "SELECT imgtype FROM compinfo WHERE div = '" . USER_DIV . "' AND length(tel) > 0 LIMIT 1"; $run_logo = db_exec($get_logo); if (pg_numrows($run_logo) < 1) { // $showlogo = "<a href='compinfo-view.php'><img src='images/blanklogo.png' border='0' /></a>"; $showlogo = "<a href=\"javascript:popupSized('compinfo-view.php', 'Company Information', screen.width, screen.height)\"><img src='images/blanklogo.png' border='0' /></a>"; } else { $arr = pg_fetch_array($run_logo); if (strlen($arr['imgtype']) < 1) { $showlogo = "<img src='images/bluelogo.png' border='0' />"; } else { $showlogo = "<img src='images/showlogo.php' height='80' />"; } } /* create the selections */ $sel_customers = ""; $sel_suppliers = ""; $sel_inventory = ""; $sel_payroll = ""; $sel_ledger = ""; $sel_business = ""; if (isset($_GET["selected"])) { ${"sel_" . strtolower($_GET["selected"])} = "style='border: 1px solid #ddd'"; } else { $sel_customers = "style='border: 1px solid #ddd'"; } // Should we display the heart? $sql = "SELECT value FROM cubit.settings WHERE constant='HEART'"; $heart_rslt = db_exec($sql) or errDie("Unable to check if heart should be displayed"); $heart = pg_fetch_result($heart_rslt, 0); if ($heart) { $showheart = "<a href=\"javascript:popupSized('health_report.php', 'Health Report', screen.width, screen.height)\"><img src='images/cubithealth3.jpg' border='0' height='70' /></a>"; } else { $showheart = ""; } /* <table ".TMPL_tblDflts." style='width: 100%;'> <tr> <td align='center'>$showlogo</td> </tr> </table> */ // Customers // Suppliers // Stock // Salaries // General Ledger // Business $OUTPUT = "\n\t<div style='position: absolute; top: 0px; left: 0px; width: 100%; display: table-cell; text-align: right'>\n\t\t<a href='logout.php'><img src='images/logout.gif' border='0' /></a><br />\n\t\t{$showheart}\n\t</div>\n\t<center>\n\t<div style='position: absolute; top: 0px; display: table-cell;'>\n\t\t{$showlogo}\n\t</div>\n\t</center>\n\t<table id='navigator' class='ctable'><tr><td>\n\n\t<center>\n\t<!-- Categories -->\n\t<table id='categories' class='ctable'>\n\t<tr>\n\t\t<td id='catc_customers' onclick='set_category(\"customers\", \"images/new2/customers_sh.gif\", CUSTOMERS);' {$sel_customers}>\n\t\t\t<img id='cat_customers' src='images/new2/customers.gif' /><br />\n\n\t\t</td>\n\t\t<td id='catc_suppliers' onclick='set_category(\"suppliers\", \"images/new2/suppliers_sh.gif\", SUPPLIERS);' {$sel_suppliers}>\n\t\t\t<img id='cat_suppliers' src='images/new2/suppliers.gif' /><br />\n\n\t\t</td>\n\t\t<td id='catc_inventory' onclick='set_category(\"inventory\", \"images/new2/stock_sh.gif\", STOCK);' {$sel_inventory}>\n\t\t\t<img id='cat_inventory' src='images/new2/stock.gif' /><br />\n\n\t\t</td>\n\t\t<td id='catc_payroll' onclick='set_category(\"payroll\", \"images/new2/salaries_sh.gif\", SALARIES);' {$sel_payroll}>\n\t\t\t<img id='cat_payroll' src='images/new2/salaries.gif' /><br />\n\n\t\t</td>\n\t\t<td id='catc_ledger' onclick='set_category(\"ledger\", \"images/new2/general_ledger_sh.gif\", LEDGER);' {$sel_ledger}>\n\t\t\t<img id='cat_ledger' src='images/new2/general_ledger.gif' /><br />\n\n\t\t</td>\n\t\t<td id='catc_business' onclick='set_category(\"business\", \"images/new2/business_sh.gif\", BUSINESS);' {$sel_business}>\n\t\t\t<img id='cat_business' src='images/new2/business.gif' /><br />\n\n\t\t</td>\n\t</tr>\n\t</table>\n\t<br />\n\t<!-- Actions -->\n\t<table id='actions' class='ctable'>\n\t<tr>\n\t\t<td onclick=\"set_action(this, REGPROC, 'actiontd1_on');\" id='a_regproc' class='actiontd1_on'><center><div></div></center></td>\n\t\t<td onclick=\"set_action(this, PROC, 'actiontd2_on');\" id='a_proc' class='actiontd2_off'><center><div></div></center></td>\n\t\t<td onclick=\"set_action(this, REPORTS, 'actiontd3_on');\" id='a_reports' class='actiontd3_off'><center><div></div></center></td>\n\t\t<td onclick=\"set_action(this, MAINT, 'actiontd4_on');\" id='a_maint' class='actiontd4_off'><center><div></div></center></td>\n\t\t<td onclick=\"set_action(this, ADMIN, 'actiontd5_on');\" id='a_admin' class='actiontd5_off'><center><div></div></center></td>\n\t</tr>\n\t</table>\n\n\t<!-- Links Container -->\n\t<div id='links_container'>\n\t</div>\n\n\t<script>\n\tvar arrNavClear = new Array();\n\tvar iNavClear = 0;\n\tfunction clearNavBtn(btn) {\n\t\tarrNavClear[iNavClear] = btn;\n\t\tsetTimeout('clearNavBtnAct(' + iNavClear + ')', 200);\n\n\t\t//clearNavBtnAct(iNavClear);\n\n\t\tif (++iNavClear == 65535) {\n\t\t\tiNavClear = 0;\n\t\t}\n\t}\n\n\tfunction clearNavBtnAct(arrid) {\n\t\tarrNavClear[arrid].style.background=\"#fff\";\n\t\tarrNavClear[arrid] = null;\n\t}\n\t</script>\n\n\t</center>\n\n\t</td></tr>\n <tr>\n <td valign='center'>\n <div>Powered By <br /><a style='text-decoration: none' href='http://www.cubit.co.za'><img border='0' src='images/newcubitlogo.jpg' /></a>\n <p>This software is used in accordance with the <a target='_blank' href='license.html'>Cubit Licence</a></p></div>\n </td>\n </tr>\n\t</table>"; return $STYLES . $SCRIPTS . $OUTPUT; }