/**
  * generates the report message
  */
 function errorNetReport($errid)
 {
     $errlink_save = "<input type='button' value='Save Error Report'\n\t\tonClick='document.location.href=\"" . relpath("geterror.php") . "?id={$errid}\";' />";
     $errlink_send = "<input type='button' value='Send Error Report'\n\t\tonClick='document.location.href=\"" . relpath("geterror.php") . "?id={$errid}&send=t\";' />";
     $OUTPUT = "\n\t<h3>An Unexpected Error has Occurred</h3>\n\tCubit has encountered an unexpected error. Please send us the error report by\n\tclicking the 'Send Error Report' button or saving the report and emailing\n\tit to us at <a href='mailto:" . ERRORNET_EMAIL . "'>" . ERRORNET_EMAIL . "</a>.\n\tThank you.<br /><br />\n\t{$errlink_save} {$errlink_send}";
     return $OUTPUT;
 }
 /**
  * displays progress bar
  *
  * @param string $tmpl template script to use (newtemplate.php/template.php)
  */
 function displayProgress($tmpl)
 {
     define("TEMPLATE_PARTIAL", true);
     define("PROGRESS_BAR", true);
     $tmpl = relpath($tmpl);
     $OUT = "\n\t\t<div id='wait_bar_container'>\n\t\t<table width='100%' height='100%'>\n\t\t\t<tr>\n\t\t\t\t<td align=center valign=middle>\n\t\t\t\t\t<font size='2' color='white'>\n\t\t\t\t\tPlease wait while your company is being created. This may take several minutes.</font><br>\n\t\t\t\t\t<div id='wait_bar_parent' style='border: 1px solid black; width:100px'>\n\t\t\t\t\t\t<div id='wait_bar' style='font-size: 15pt'>...</div>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</table>\n\t\t</div>\n\n\t\t<script>\n\t\t\twait_bar = getObjectById('wait_bar')\n\t\t\tdie_bar = false;\n\t\t\tfunction moveWaitBar() {\n\t\t\t\tif ( wait_bar.innerHTML == '................')\n\t\t\t\t\twait_bar.innerHTML = '.';\n\t\t\t\telse\n\t\t\t\t\twait_bar.innerHTML = wait_bar.innerHTML + '.';\n\n\t\t\t\tif (!die_bar) {\n\t\t\t\t\tsetTimeout('moveWaitBar()', 50);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction stopWaitBar() {\n\t\t\t\tdocument.getElementById('wait_bar_container').innerHTML = '';\n\t\t\t\tdie_bar = true;\n\t\t\t}\n\n\t\t\tsetTimeout('moveWaitBar()', 100);\n\t\t</script>";
     $OUTPUT = "";
     include $tmpl;
     partialOut($OUT);
 }
function tryfind()
{
    switch (PLATFORM) {
        case "windows":
            $cacls = relpath("dumping/cacls.bat");
            if ($cacls !== false) {
                $c = file($cacls);
                if (preg_match("/cacls.exe (.*)\\\\data \\/E/", $c[1], $matches)) {
                    $try = "{$matches['1']}\\PostgreSQL\\bin";
                    if (validpath("{$try}")) {
                        return $try;
                    }
                }
            }
            $cd = getcwd();
            while ($p = strrpos("{$cd}", "\\")) {
                $cd = substr($cd, 0, $p);
                if (validpath("{$cd}\\PostgreSQL\\bin")) {
                    return "{$cd}\\PostgreSQL\\bin";
                }
            }
            if (validpath("C:\\Cubit\\PostgreSQL\\bin")) {
                return "C:\\Cubit\\PostgreSQL\\bin";
            }
            break;
        case "linux":
            $cd = getcwd();
            while ($p = strrpos("{$cd}", "/")) {
                $cd = substr($cd, 0, $p);
                if (validpath("{$cd}/pgsql/bin")) {
                    return "{$cd}/pgsql/bin";
                }
            }
            $paths = array("/usr/local/cubit/pgsql/bin", "/usr/bin", "/usr/local/bin", "/usr/local/pgsql/bin", "/var/lib/pgsql/bin", "/var/pgsql/bin");
            foreach ($paths as $p) {
                if (validpath("{$p}")) {
                    return $p;
                }
            }
            break;
    }
    return false;
}
function errSend()
{
    /* check for valid email settings */
    $settings = new dbSelect("esettings", "cubit");
    $settings->run();
    if ($settings->num_rows() <= 0) {
        r2sListSet("emailsettings");
        header("Location: email-settings.php");
        exit;
    }
    $settings->fetch_array();
    $server = $settings->d["smtp_host"];
    $from = $settings->d["fromname"];
    $reply = $settings->d["reply"];
    /* build the email */
    $data = errData($_GET["id"]);
    $msg = new clsMailMsg();
    $msg->newMessage($from, $reply, "Error Report: {$data['errtime']}", "Error report file attached.");
    $msg->addAttachment("application/octet-stream", "error{$_GET['id']}-{$data['errtime']}.cer", $data["errdata"]);
    $md = $msg->getNewMessage();
    /* send the email */
    /**
     * ok, so lets stop catching errors because if the email sending fails
     * we are just going to go back to "an error has occured"
     */
    disableErrorNet();
    $smtp = new clsSMTPMail();
    $smtp->sendMessages($server, 25, false, false, false, ERRORNET_EMAIL, $md["from"], $md["subject"], $md["body"], $md["headers"]);
    $OUTPUT = "<h3>Error Report</h3>";
    if ($smtp->bool_success !== true) {
        $OUTPUT .= "Error sending report. Please save report and email it\n\t\t\tto <a class='nav' href='mailto: " . ERRORNET_EMAIL . "'>" . ERRORNET_EMAIL . "</a><br />\n\t\t\t<br />\n\t\t\t<input type='button' value='Save Error Report'\n\t\t\t\tonClick='document.location.href=\"" . relpath("geterror.php") . "?id={$_GET['id']}\";' />";
    } else {
        $OUTPUT .= "Successfully sent report. Thank You.";
    }
    return $OUTPUT;
}
<?php

/**
 * Generally used functions/constants related to html popups
 *
 * @package Cubit
 * @subpackage XPopup
 */
if (!defined("XPOPUP_LIB")) {
    define("XPOPUP_LIB", true);
    /**
     * some of these functions are closely interlinked with the ajax functions,
     * so take caution when changing some things.
     *
     * such pieces are show with "///" comments
     */
    /**
     * determine how to get to dateselect.php
     */
    $dateselect = relpath("dateselect.php");
    /**
     * XPopup javascript and a function to display data selection popup
     *
     */
    global $JS_XPOPUP;
    addglobals("JS_XPOPUP");
    $JS_XPOPUP = "\n\t<script type=\"application/x-javascript\">\n\t\tdocument.onmousemove = getMouseXY;\n\n\t\tfunction findPosXY(obj) {\n\t\t\tobj.x = findPosX;\n\t\t\tobj.y = findPosY;\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction findPosX(eElement) {\n\t\t\tif (!eElement && this) {\n\t\t\t\teElement = this;\n\t\t\t}\n\n\t\t\tvar DL_bIE = document.all ? true : false;\n\n\t\t\tvar nLeftPos = eElement.offsetLeft;\n\t\t\tvar eParElement = eElement.offsetParent;\n\n\t\t\twhile (eParElement != null) {\n\t\t\t\tif(DL_bIE) {\n\t\t\t\t\tif( (eParElement.tagName != 'TABLE') && (eParElement.tagName != 'BODY') ) {\n\t\t\t\t\tnLeftPos += eParElement.clientLeft;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif(eParElement.tagName == 'TABLE') {\n\t\t\t\t\tvar nParBorder = parseInt(eParElement.border);\n\t\t\t\t\tif(isNaN(nParBorder)) {\n\t\t\t\t\t\tvar nParFrame = eParElement.getAttribute('frame');\n\t\t\t\t\t\tif(nParFrame != null) {\n\t\t\t\t\t\t\tnLeftPos += 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if(nParBorder > 0) {\n\t\t\t\t\t\tnLeftPos += nParBorder;\n\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tnLeftPos += eParElement.offsetLeft;\n\t\t\t\teParElement = eParElement.offsetParent;\n\t\t\t}\n\t\t\treturn nLeftPos;\n\t\t}\n\n\t\tfunction findPosY(eElement) {\n\t\t\tif (!eElement && this) {\n\t\t\t\teElement = this;\n\t\t\t}\n\n\t\t\tvar DL_bIE = document.all ? true : false;\n\n\t\t\tvar nTopPos = eElement.offsetTop;\n\t\t\tvar eParElement = eElement.offsetParent;\n\n\t\t\twhile (eParElement != null) {\n\t\t\t\tif(DL_bIE) {\n\t\t\t\t\tif( (eParElement.tagName != 'TABLE') && (eParElement.tagName != 'BODY') ) {\n\t\t\t\t\tnTopPos += eParElement.clientTop;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif(eParElement.tagName == 'TABLE') {\n\t\t\t\t\tvar nParBorder = parseInt(eParElement.border);\n\t\t\t\t\tif(isNaN(nParBorder)) {\n\t\t\t\t\t\tvar nParFrame = eParElement.getAttribute('frame');\n\t\t\t\t\t\tif(nParFrame != null) {\n\t\t\t\t\t\t\tnTopPos += 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(nParBorder > 0) {\n\t\t\t\t\t\tnTopPos += nParBorder;\n\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tnTopPos += eParElement.offsetTop;\n\t\t\t\teParElement = eParElement.offsetParent;\n\t\t\t}\n\t\t\treturn nTopPos;\n\t\t}\n\n\t\t// Temporary variables to hold mouse x-y pos.s\n\t\tvar mouseX = 0\n\t\tvar mouseY = 0\n\n\t\t// Main function to retrieve mouse x-y pos.s\n\t\tfunction getMouseXY(e) {\n\t\t\tmouseX = e.pageX;\n\t\t\tmouseY = e.pageY;\n\n\t\t\t// catch possible negative values in NS4\n\t\t\tif (mouseX < 0) {\n\t\t\t\tmouseX = 0;\n\t\t\t}\n\t\t\tif (mouseY < 0) {\n\t\t\t\tmouseY = 0;\n\t\t\t}\n\n\t\t\tmoveXLayerAct();\n\n\t\t\treturn true;\n\t\t}\n\n\t\t/**\n\t\t * register/unregister mouse movement\n\t\t */\n\t\tvar movingXLayer = false;\n\t\tvar initposXMouse = 0;\n\t\tvar initposYMouse = 0;\n\t\tvar initposXLayer = 0;\n\t\tvar initposYLayer = 0;\n\t\tvar moveXNoAction = true;\n\n\t\tfunction moveXLayer(status) {\n\t\t\tif (movingXLayer = status) {\n\t\t\t\tinitposXMouse = mouseX;\n\t\t\t\tinitposYMouse = mouseY;\n\n\t\t\t\tlayer = getObject(XPopupLayer());\n\n\t\t\t\tfindPosXY(layer);\n\t\t\t\tinitposXLayer = layer.x();\n\t\t\t\tinitposYLayer = layer.y();\n\n\t\t\t\tmoveXNoAction = true;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * actual layer moving with mouse\n\t\t */\n\t\tfunction moveXLayerAct() {\n\t\t\tif (!movingXLayer) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlayer = getObject(XPopupLayer());\n\t\t\tpropTop = initposYLayer - (initposYMouse - mouseY);\n\t\t\tpropLeft = initposXLayer - (initposXMouse - mouseX);\n\n\t\t\tmoveXNoAction = !moveXNoAction;\n\t\t\tif (moveXNoAction) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (propTop < 0) {\n\t\t\t\tpropTop = 0;\n\t\t\t}\n\n\t\t\tif (propLeft < 0) {\n\t\t\t\tpropLeft = 0;\n\t\t\t}\n\n\t\t\tif ((toomuch = (propTop + xp.offsetHeight) - window.innerHeight) > 0) {\n\t\t\t\tpropTop -= toomuch;\n\t\t\t}\n\n\t\t\tif ((toomuch = (propLeft + xp.offsetWidth) - window.innerWidth) > 0) {\n\t\t\t\tpropLeft -= toomuch;\n\t\t\t}\n\n\t\t\t// now set the position\n\t\t\txp.style.top = propTop;\n\t\t\txp.style.left = propLeft;\n\t\t}\n\n\t\t/**\n\t\t * returns the layer XPopup uses's name\n\t\t */\n\t\tfunction XPopupLayer() {\n\t\t\treturn 'x_popup';\n\t\t}\n\n\t\t// obj = object we are moving over, content is html to fill it with\n\t\tXPopupHideTimer = false;\n\t\tXPopupActive = false;\n\t\tXPopupObject = false;\n\t\tXPopupContent = false;\n\t\tXPopupShowTimer = false;\n\t\tXPopupDuration = false;\n\t\tXPopupShowClose = false;\n\t\tfunction XPopupShow(content, object) {\n\t\t\tXPopupNoHide();\n\n\t\t\tif (XPopupShowTimer == false && XPopupContent != content) {\n\t\t\t\tXPopupContent = content;\n\t\t\t\tif (object) {\n\t\t\t\t\tXPopupObject = object;\n\t\t\t\t}\n\t\t\t\tXPopupShowTimer = setTimeout('XPopupShowAct()', 50);\n\t\t\t} else if (XPopupContent != content) {\n\t\t\t\tclearTimeout(XPopupShowTimer);\n\t\t\t\tXPopupShowTimer = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction XPopupShowAct() {\n\t\t\tif (XPopupActive != false) return;\n\n\t\t\txp = document.getElementById('x_popup');\n\n\t\t\t/// XPopupContent is set to null in the dateSelPopup() function\n\t\t\t/// called through ajax to make date selection popups.\n\t\t\t/// if changing this expression to match something other than\n\t\t\t/// null, remember to change the value dateSelPopup() passes\n\t\t\t/// aswell\n\t\t\tif (XPopupContent != null) {\n\t\t\t\txp.innerHTML =\n\t\t\t\t\t'<table bgcolor=\"#fdeb89\" style=\"border: 1px dashed black\">'\n\t\t\t\t\t+'<tr><td align=\"right\">[<a href=\"javascript: XPopupHideAct()\">Close</a>]</td></tr>'\n\t\t\t\t\t+'<tr><td>'\n\t\t\t\t\t\t+ XPopupContent +\n\t\t\t\t\t'</td></tr>'\n\t\t\t\t\t+'</table>';\n\t\t\t}\n\n\t\t\tif (XPopupObject) {\n\t\t\t\t// get the object we clicked on\n\t\t\t\to = XPopupObject;\n\t\t\t\tfindPosXY(o);\n\n\t\t\t\t// calculate a position where popup will be 100% visible\n\t\t\t\tpropTop = o.y() + o.offsetHeight;\n\t\t\t\tpropLeft = o.x();\n\t\t\t} else {\n\t\t\t\tpropTop = mouseY - (xp.offsetHeight / 2);\n\t\t\t\tpropLeft = mouseX;\n\t\t\t}\n\n\t\t\tif ((toomuch = (propTop + xp.offsetHeight) - (window.innerHeight + window.pageYOffset)) > 0) {\n\t\t\t\tpropTop -= toomuch;\n\t\t\t}\n\n\t\t\tif ((toomuch = (propLeft + xp.offsetWidth) - (window.innerWidth + window.pageXOffset)) > 0) {\n\t\t\t\tpropLeft -= toomuch + 15;\n\t\t\t}\n\n\t\t\tif (propTop < 0) {\n\t\t\t\tpropTop = 0;\n\t\t\t}\n\n\t\t\tif (propLeft < 0) {\n\t\t\t\tpropLeft = 0;\n\t\t\t}\n\n\t\t\t// now set the position\n\t\t\txp.style.top = propTop;\n\t\t\txp.style.left = propLeft;\n\n\t\t\t// max width/height\n\t\t\tif (xp.offsetWidth > 300) {\n\t\t\t\txp.style.width = 300;\n\t\t\t}\n\n\t\t\txp.style.visibility = 'visible';\n\t\t\tXPopupShowTimer = false;\n\t\t}\n\n\t\tfunction XPopupHide() {\n\t\t\tif (XPopupHideTimer == false) {\n\t\t\t\tXPopupHideTimer = setTimeout('XPopupHideAct()', 500);\n\t\t\t}\n\t\t}\n\n\t\tfunction XPopupNoHide() {\n\t\t\tif (XPopupHideTimer != false) {\n\t\t\t\tclearTimeout(XPopupHideTimer);\n\t\t\t\tXPopupHideTimer = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction XPopupHideAct() {\n\t\t\txp = document.getElementById('x_popup');\n\t\t\txp.style.visibility = 'hidden';\n\t\t\txp.innerHTML = '';\n\n\t\t\tXPopupHideTimer = false;\n\t\t\tXPopupActive = false;\n\t\t\tXPopupContent = false;\n\t\t\tXPopupObject = false;\n\n\t\t\tif (XPopupShowTimer != false) {\n\t\t\t\tclearTimeout(XPopupShowTimer);\n\t\t\t\tXPopupShowTimer = false;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * initiates the date selection popup\n\t\t */\n\t\tdateSelPopup_updateKeys = null;\n\t\tfunction dateSelPopup(idpfx, GWPP, arraykeys) {\n\t\t\tif (arraykeys) {\n\t\t\t\tdateSelPopup_updateKeys = arraykeys.split(',');\n\t\t\t\tv1 = dateSelPopup_updateKeys[0];\n\n\t\t\t\t/* get date field values */\n\t\t\t\tf_day = getObject(idpfx + '[' + v1 + ']_day');\n\t\t\t\tf_month = getObject(idpfx + '[' + v1 + ']_month');\n\t\t\t\tf_year = getObject(idpfx + '[' + v1 + ']_year');\n\t\t\t} else {\n\t\t\t\tdateSelPopup_updateKeys = null;\n\n\t\t\t\t/* get date field values */\n\t\t\t\tf_day = getObject(idpfx + '_day');\n\t\t\t\tf_month = getObject(idpfx + '_month');\n\t\t\t\tf_year = getObject(idpfx + '_year');\n\t\t\t}\n\n\t\t\t/* set default popup date values */\n\t\t\tval_day = (f_day && f_day.value == '') ? '" . date("d") . "' : f_day.value;\n\t\t\tval_month = (f_month && f_month.value == '') ? '" . date("m") . "' : f_month.value;\n\t\t\tval_year = (f_year && f_year.value == '') ? '" . date("Y") . "' : f_year.value;\n\n\t\t\t/* build get */\n\t\t\tget = 'date_selection=t'\n\t\t\t\t+ '&GWPP=' + GWPP\n\t\t\t\t+ '&idprefix=' + idpfx\n\t\t\t\t+ '&day=' + val_day\n\t\t\t\t+ '&month=' + val_month\n\t\t\t\t+ '&year=' + val_year\n\n\t\t\t/* do the request */\n\t\t\tajaxRequest('{$dateselect}', XPopupLayer(), AJAX_SET | AJAX_EXE, get,\n\t\t\t\tdateSelPopupAct);\n\t\t}\n\n\t\t/**\n\t\t * updates the date selection popup to specified month. popup\n\t\t * uses this to move to previous/next month/year.\n\t\t */\n\t\tfunction dateSelMove(idpfx, day, month, year, sday, smonth, syear, GWPP) {\n\t\t\tget = 'date_selection=t'\n\t\t\t\t+ '&GWPP=' + GWPP\n\t\t\t\t+ '&idprefix=' + idpfx\n\t\t\t\t+ '&day=' + day\n\t\t\t\t+ '&month=' + month\n\t\t\t\t+ '&year=' + year\n\t\t\t\t+ '&sday=' + sday\n\t\t\t\t+ '&smonth=' + smonth\n\t\t\t\t+ '&syear=' + syear;\n\n\t\t\tajaxRequest('{$dateselect}', XPopupLayer(), AJAX_SET, get);\n\t\t}\n\n\t\t/**\n\t\t * updates the date selection popup to month/year selected by\n\t\t * the dropdowns\n\t\t */\n\t\tfunction dateSelMoveBySelect(idpfx, day, sday, smonth, syear, GWPP) {\n\t\t\tdocument.getElementById('datesel_loading').style.height = '200px';\n\t\t\tdocument.getElementById('datesel_loading').style.visibility = 'visible';\n\t\t\tdocument.getElementById('datesel_calender').style.visibility = 'hidden';\n\n\t\t\tmon = getObject('datesel_move_month').value;\n\t\t\tyear = getObject('datesel_move_year').value;\n\n\t\t\tdateSelMove(idpfx, day, mon, year, sday, smonth, syear, GWPP);\n\t\t}\n\n\t\t/**\n\t\t * function to popup the date selection\n\t\t */\n\t\t/// this is specified as exec function in ajax call with object to\n\t\t/// position with as 6th parameter.\n\t\t/// null is specified as popup text so XPopupShowAct() doesn't\n\t\t/// update the contents.\n\t\tfunction dateSelPopupAct(layer) {\n\t\t\tXPopupShow(null);\n\t\t}\n\n\t\t/**\n\t\t * updates the forms with newly selected dates\n\t\t *\n\t\t * @param string idpfx form field prefix\n\t\t * @param int day\n\t\t * @param int month\n\t\t * @param int year\n\t\t */\n\t\tfunction dateSelUpdate(idpfx, day, month, year, textfield) {\n\t\t\tXPopupHideAct();\n\n\t\t\tif (dateSelPopup_updateKeys) {\n\t\t\t\tfor (i = 0; i < dateSelPopup_updateKeys.length; ++i) {\n\t\t\t\t\tv = dateSelPopup_updateKeys[i];\n\n\t\t\t\t\tf_day = getObject(idpfx + '[' + v + ']_day');\n\t\t\t\t\tf_month = getObject(idpfx + '[' + v + ']_month');\n\t\t\t\t\tf_year = getObject(idpfx + '[' + v + ']_year');\n\n\t\t\t\t\tf_day.value = day;\n\t\t\t\t\tf_month.value = month;\n\t\t\t\t\tf_year.value = year;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tf_day = getObject(idpfx + '_day');\n\t\t\t\tf_month = getObject(idpfx + '_month');\n\t\t\t\tf_year = getObject(idpfx + '_year');\n\n\t\t\t\tf_day.value = day;\n\t\t\t\tf_month.value = month;\n\t\t\t\tf_year.value = year;\n\t\t\t}\n\t\t}\n\t</script>";
}
/* LIB END */
<?php

require_once relpath("settings.php");
function addTodayEntry($section_name, $id, $date, $info = "Brought Forward")
{
    $section_name = strtolower($section_name);
    $section_name = ucfirst($section_name);
    // Retrieve today section
    $sql = "SELECT * FROM cubit.today_sections WHERE name='{$section_name}'";
    $section_rslt = db_exec($sql) or errDie("Unable to retrieve section.");
    $section_data = pg_fetch_array($section_rslt);
    if (pg_num_rows($section_rslt)) {
        // URL
        $link = $section_data["title_link"] . $id;
        // Retrieve details
        $sql = "\n\t\tSELECT * FROM {$section_data['table_name']}\n\t\tWHERE {$section_data['id_column']}='{$id}'";
        $row_rslt = db_exec($sql) or errDie("Unable to retrieve details.");
        $row = pg_fetch_array($row_rslt);
        $title = $row[$section_data["title_column"]];
        if (isset($row["team_id"])) {
            $team_id = $row["team_id"];
        } else {
            $team_id = 0;
        }
        $sql = "\n\t\tINSERT INTO cubit.today (date, section_id, info, link, title,\n\t\t\tuser_id, link_id, team_id)\n\t\tVALUES ('{$date}', '{$section_data['id']}', '{$info}', '{$link}', '{$title}',\n\t\t\t'" . USER_ID . "', '{$id}', '{$team_id}')";
        db_exec($sql) or errDie("Unable to add to today.");
    } else {
        return false;
    }
    return true;
}
} else {
    if (isset($_SESSION["comp"]) && isset($_SESSION["BRAN_NAME"]) && isset($_SESSION["USER_NAME"])) {
        $OUT .= "<title>" . TMPL_title . " [ {$_SESSION['comp']} - {$_SESSION['BRAN_NAME']} - {$_SESSION['USER_NAME']} ]</title>";
    } else {
        $OUT .= "<title>Cubit Accounting</title>";
    }
}
if (defined("ONTHESPOT")) {
    list($ots_script, $ots_layer, $ots_vars) = explode("|", ONTHESPOT);
    $js_onthespot = "\r\n\t<html>\r\n\t<script type=\"application/x-javascript\">\r\n\t\tlayerobj = window.opener.parent.mainframe.document.getElementById('{$ots_layer}');\r\n\t\tajaxRequest('{$ots_script}', layerobj, AJAX_OBJ | AJAX_CLS, '{$ots_vars}');\r\n\t\tsetTimeout('self.close()', 1000);\r\n\t</script>\r\n\t</html>";
} else {
    $js_onthespot = "";
}
$OUT .= "\r\n\t<style type=\"text/css\" media=\"all\">\r\n\t\thtml {\r\n\t\t\tbackground: {$bgColor};\r\n\t\t}\r\n\r\n\t\tbody {\r\n\t\t\tfont-family: " . TMPL_fntFamily . ";\r\n\t\t\tbackground-color: {$bgColor};\r\n\t\t\tfont-size: " . TMPL_fntSize . "pt;\r\n\t\t\tcolor: " . TMPL_fntColor . ";\r\n\t\t\tleft: 0;\r\n\t\t\tmargin: 10px;\r\n\t\t}\r\n\r\n\t\ttd, p, .text {\r\n\t\t\tfont-family: " . TMPL_fntFamily . ";\r\n\t\t\tfont-size: " . TMPL_fntSize . "pt;\r\n\t\t\tcolor: " . TMPL_fntColor2 . ";\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tcolor: " . TMPL_lnkColor . ";\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\r\n\t\ta:hover {\r\n\t\t\tcolor: " . TMPL_lnkHvrColor . ";\r\n\t\t\ttext-decoration: underline;\r\n\t\t}\r\n\r\n\t\ta.nav {\r\n\t\t\tcolor: " . TMPL_navLnkColor . ";\r\n\t\t}\r\n\r\n\t\ta:hover.nav {\r\n\t\t\tcolor: " . TMPL_navLnkHvrColor . ";\r\n\t\t}\r\n\r\n\t\ta#xpopup_cls {\r\n\t\t\tcolor: " . TMPL_lnkColor . ";\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\r\n\t\ta:hover#xpopup_cls {\r\n\t\t\tcolor: " . TMPL_lnkHvrColor . ";\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\r\n\t\t.text {\r\n\t\t\tbackground: " . TMPL_tblDataColor1 . ";\r\n\t\t}\r\n\r\n\t\t.quicklinks td {\r\n\t\t\tbackground: " . TMPL_tblDataColor1 . ";\r\n\t\t\ttext-align: center;\r\n\t\t}\r\n\r\n\t\th2, .h2\r\n\t\t{\r\n\t\t\tfont-size: " . TMPL_h2FntSize . "pt;\r\n\t\t\tcolor: " . TMPL_h2Color . ";\r\n\t\t}\r\n\t\th3, .h3\r\n\t\t{\r\n\t\t\tfont-size: " . TMPL_h3FntSize . "pt;\r\n\t\t\tcolor: " . TMPL_h3Color . ";\r\n\t\t}\r\n\t\th4, .h4\r\n\t\t{\r\n\t\t\tfont-size: " . TMPL_h4FntSize . "pt;\r\n\t\t\tcolor: " . TMPL_h4Color . ";\r\n\t\t}\r\n\r\n\t\t.datacell\r\n\t\t{\r\n\t\t\tbackground-color: " . TMPL_tblDataColor1 . ";\r\n\t\t}\r\n\t\t.datacell2\r\n\t\t{\r\n\t\t\tbackground-color: " . TMPL_tblDataColor2 . ";\r\n\t\t}\r\n\r\n\t\tth\r\n\t\t{\r\n\t\t\tbackground-color: " . TMPL_tblHdngBg . ";\r\n\t\t\tfont-size: " . TMPL_fntSize . "pt;\r\n\t\t\tcolor: " . TMPL_tblHdngColor . ";\r\n\t\t}\r\n\t\tth.plain\r\n\t\t{\r\n\t\t\tbackground-color: " . TMPL_bgColor . ";\r\n\t\t\tfont-size: " . TMPL_fntSize . "pt;\r\n\t\t}\r\n\t\tinput, textarea, select\r\n\t\t{\r\n\t\t\tfont-size: 10pt;\r\n\t\t\tborder: 1px solid #000000;\r\n\t\t\tpadding: 2px;\r\n\t\t\tcolor: #000000;\r\n\t\t}\r\n\t\t.right\r\n\t\t{\r\n\t\t\ttext-align: right;\r\n\t\t}\r\n\t\t.frmerr {\r\n\t\t\tborder: 2px solid red;\r\n\t\t}\r\n\t\t.err\r\n\t\t{\r\n\t\t\tcolor: #FF0000;\r\n\t\t\tbackground-color: #FFFFFF;\r\n\t\t\tborder: 2px solid " . TMPL_tblHdngBg . ";\r\n\t\t}\r\n\t\thr\r\n\t\t{\r\n\t\t\tcolor: #000000;\r\n\t\t}\r\n\t\t.white\r\n\t\t{\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t}\r\n\t\t.tot\r\n\t\t{\r\n\t\t\tborder-top: 2px solid #000000;\r\n\t\t\tborder-bottom: 2px solid #000000;\r\n\t\t}\r\n\t\t.select\r\n\t\t{\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\r\n\t\ta#calNotices\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calNoticesLink_a . "\r\n\t\t}\r\n\t\ta:hover#calNotices\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calNoticesLink_h . "\r\n\t\t}\r\n\r\n\t\ta#calSmallMonthOMLink\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calSmallMonthOMLink_a . "\r\n\t\t}\r\n\t\ta:hover#calSmallMonthOMLink\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calSmallMonthOMLink_h . "\r\n\t\t}\r\n\t\ta#calSmallMonthCMLink\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calSmallMonthCMLink_a . "\r\n\t\t}\r\n\t\ta#calSmallMonthCMLink:hover\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calSmallMonthCMLink_h . "\r\n\t\t}\r\n\t\ta#calSmallMonthCMLinkToday\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calSmallMonthCMLinkToday_a . "\r\n\t\t}\r\n\t\ta#calSmallMonthCMLinkToday:hover\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calSmallMonthCMLinkToday_h . "\r\n\t\t}\r\n\t\ta#calSmallMonthCMLinkSelected\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calSmallMonthCMLinkSelected_a . "\r\n\t\t}\r\n\t\ta#calSmallMonthCMLinkSelected:hover\r\n\t\t{\r\n\t\t\tcolor: " . TMPL_calSmallMonthCMLinkSelected_h . "\r\n\t\t}\r\n\r\n\t\t#a_notify_msgs {\r\n\t\t\tfont-size: 14px;\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t}\r\n\r\n\t\ta#a_notify_msgs, a#a_notify_msgs:visited {\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\r\n\t\ta#a_notify_msgs:hover {\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t\ttext-decoration: underline;\r\n\t\t}\r\n\r\n\t\ta.maildef, a.maildef:visited {\r\n\t\t\tcolor: #000000;\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\r\n\t\ta.maildef:hover {\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t\ttext-decoration: underline;\r\n\t\t}\r\n\r\n\t\ta.mailtree, a.mailtree:visited {\r\n\t\t\tcolor: {$bgColor};\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\r\n\t\ta.mailtree:hover {\r\n\t\t\tcolor: {$bgColor};\r\n\t\t\ttext-decoration: underline;\r\n\t\t}\r\n\t\ta#calLargeMonthOMLink\r\n                {\r\n                        color: " . TMPL_calLargeMonthOMLink_a . "\r\n                }\r\n                a:hover#calLargeMonthOMLink\r\n                {\r\n                        color: " . TMPL_calLargeMonthOMLink_h . "\r\n                }\r\n                a#calLargeMonthCMLink\r\n                {\r\n                        color: " . TMPL_calLargeMonthCMLink_a . "\r\n                }\r\n                a#calLargeMonthCMLink:hover\r\n                {\r\n                        color: " . TMPL_calLargeMonthCMLink_h . "\r\n                }\r\n                a#calLargeMonthCMLinkToday\r\n                {\r\n                        color: " . TMPL_calLargeMonthCMLinkToday_a . "\r\n                }\r\n\t\ta#calLargeMonthCMLinkToday:hover\r\n                {\r\n                        color: " . TMPL_calLargeMonthCMLinkToday_h . "\r\n                }\r\n                a#calLargeMonthCMLinkSelected\r\n                {\r\n                        color: " . TMPL_calLargeMonthCMLinkSelected_a . "\r\n                }\r\n                a#calLargeMonthCMLinkSelected:hover\r\n                {\r\n                        color: " . TMPL_calLargeMonthCMLinkSelected_h . "\r\n                }\r\n\t.required\r\n\t{\r\n\t\tcolor: #920000;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t-->\r\n\t</style>\r\n\t<script type=\"application/x-javascript\">\r\n\t\tfunction getQuicklinkSpecial() {\r\n\t\t\tif (window.opener) {\r\n\t\t\t\treturn '<tr class=\"quicklinks\"><td><a href=\"javascript: window.close();\">Close Window</a></td></tr>';\r\n\t\t\t} else {\r\n\t\t\t\treturn '<tr class=\"quicklinks\"><td><a href=\"" . relpath("main.php") . "\">Main Menu</a></td></tr>';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction closeWin() {\r\n\t\t\twindow.close();\r\n\t\t}\r\n\r\n\t\tfunction popupOpen(url,name) {\r\n\t\t\targv = popupOpen.arguments;\r\n\t\t\tif (argv[2]) {\r\n\t\t\t\topt = argv[2];\r\n\t\t\t} else {\r\n\t\t\t\topt = 'scrollbars=yes, statusbar=no';\r\n\t\t\t}\r\n\t\t\tif (newwin = window.open(url,name,opt))\r\n\t\t\t\tnewwin.focus();\r\n\t\t}\r\n\r\n\t\tfunction popupSized(url,name,width,height) {\r\n\t\t\targv = popupSized.arguments;\r\n\t\t\tif (argv[4]) {\r\n\t\t\t\topt = argv[4];\r\n\t\t\t} else {\r\n\t\t\t\topt = 'scrollbars=yes, statusbar=no';\r\n\t\t\t}\r\n\t\t\topt += ', width=' + width + ', height=' + height;\r\n\r\n\t\t\tpopupOpen(url,name,opt);\r\n\t\t}\r\n\r\n\t\tfunction crmPopup(url) {\r\n\t\t\tpopupSized(url, 'crmwindow', 750, 550, '');\r\n\t\t}\r\n\r\n\t\tfunction imgSwop (img_name, new_img_src) {\r\n\t\t\tdocument[img_name].src = new_img_src;\r\n\t\t}\r\n\t\tfunction openwindow(url){\r\n\t\t\twindow.open(url,\"stkdet\",\"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=400, height=500\")\r\n\t\t}\r\n\t\tfunction openSmallWindow(url){\r\n\t\t\twindow.open(url,\"smwin\",\"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=400, height=300\")\r\n\t\t}\r\n\t\tfunction openwindowbg(url){\r\n\t\t\twindow.open(url,\"bg\",\"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=700, height=500\")\r\n\t\t}\r\n\t\tfunction url2minimul(url) {\r\n\t\t\tpage = '" . relpath("index.xul.php") . "';\r\n\r\n\t\t\t/* split the url by .php? */\r\n\t\t\turl = url.split(/\\.php\\?/, 2);\r\n\r\n\t\t\t/* build the new url */\r\n\t\t\turl = page + '?lp=' + url[0] + '.php&' + url[1];\r\n\r\n\t\t\treturn url;\r\n\t\t}\r\n\t\tfunction printer(url){\r\n\t\t\turl = url2minimul(url);\r\n\t\t\tif (newwin = window.open(url,\"Printer\",\"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=\" + screen.width + \", height=\" + screen.height+ \", left=0,top=0\"))\r\n\t\t\t\tnewwin.focus();\r\n\t\t}\r\n\t\tfunction printer2(url){\r\n\t\t\turl = url2minimul(url);\r\n\t\t\tif (newwin = window.open(url,\"Printer\",\"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=\" + screen.width + \", height=\" + screen.height+ \", left=0,top=0\"))\r\n\t\t\t\tnewwin.focus();\r\n\t\t}\r\n\t\tfunction nhprinter(url,name){\r\n\t\t\turl = url2minimul(url);\r\n\t\t\tif (newwin = window.open(url,name,\"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=\" + screen.width + \", height=\" + screen.height+ \",left=0,top=0\"))\r\n\t\t\t\tnewwin.focus();\r\n\t\t}\r\n\t\tfunction openPrintWin(url){\r\n\t\t\turl = url2minimul(url);\r\n\t\t\tif (newwin = window.open(url,\"stkdet\",\"toolbar=no, location=no, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=800, height=600\"))\r\n\t\t\t\tnewwin.focus();\r\n\t\t}\r\n\t\tfunction spmove(url) {\r\n\t\t\tif (window.opener) {\r\n\t\t\t\twindow.close();\r\n\t\t\t} else {\r\n\t\t\t\tmove(url);\r\n\t\t\t}\r\n\t\t}\r\n\t\ttim = 0;\r\n\t\tfunction move (url) {\r\n\t\t\tdocument.location.href=url;\r\n\t\t}\r\n\t\tfunction print_move(url) {\r\n\t\t\tmove(url);\r\n\t\t}\r\n\t\tfunction openAccWin(url){\r\n\t\t\twindow.open(url,\"accwin\",\"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=400, height=400\")\r\n\t\t}\r\n\r\n\t\tfunction predict() {\r\n\t\t\tclearTimeout(tim);\r\n\t\t\ttim=setTimeout('document.form.submit()',1000);\r\n\t\t}\r\n\t\tfunction setFilterFocus(){\r\n\t\t\tif (document.form) {\r\n\t\t\t\tif (document.form.ria)\r\n\t\t\t\t\tdocument.form.ria.focus();\r\n\t\t\t\tif (document.form.qtemp)\r\n\t\t\t\t\tdocument.form.qtemp.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction scrolldown(){\r\n\t\t\twindow.scroll(1,8000)\r\n\t\t}\r\n\r\n\t\tfunction setLoginFocus(){\r\n\t\t\tif ( document.log && document.log.login_user )\r\n\t\t\t\tdocument.log.login_user.focus()\r\n\t\t}\r\n\r\n\t\tfunction setPosFocus(){\r\n\t\t\tdocument.form.me.focus()\r\n\t\t}\r\n\t\tfunction setSaleFocus(){\r\n\t\t\tdocument.form.bar.focus()\r\n\t\t\t{$exb}\r\n\t\t}\r\n\r\n\t\t// returns the object from it's id\r\n\t\tfunction getObjectById (id) {\r\n\t\t\tif (document.all)\r\n\t\t\t\treturn document.all[id];\r\n\r\n\t\t\treturn document.getElementById (id);\r\n\t\t}\r\n\r\n\t\tfunction getObject(id) {\r\n\t\t\treturn getObjectById(id);\r\n\t\t}\r\n\r\n\t\tfunction loadMainFrame(url) {\r\n\t\t\tparent.mainframe.location.href=url;\r\n\t\t}\r\n\r\n\t\tfunction loadTopMenu(section) {\r\n\t//\t\tparent.location.href = 'index.php?section=' + section;\r\n\t\t}\r\n\r\n\t\tfunction loadTopFrame(section) {\r\n\t\t\t//alert('kazzoooooooga 101');\r\n\t\t}\r\n\r\n\t\tfunction loadCurrentFrame(url) {\r\n\t\t\tlocation.href=url;\r\n\t\t}\r\n\r\n\t\tfunction emailPopup() {\r\n\t\t\tif (emailwin = window.open('groupware/index.php','email_window', 'scrollbars=no, width=750, height=550'))\r\n\t\t\t\temailwin.focus();\r\n\t\t}\r\n\r\n\t\t// contacts scripts\r\n\t\tfunction changeContactRowColor(obj, tocolor) {\r\n\t\t\tgetObjectById(obj).style.background=tocolor;\r\n\t\t}\r\n\r\n\t\tfunction viewContact(id) {\r\n\t\t\tpopupOpen('view_con.php?id=' + id,'contact_popup','scrollbars=yes,width=400,height=350');\r\n\t\t}\r\n\r\n\t\t// Cost Centers function\r\n\t\tfunction CostCenter(type, typename, edate, descrip, amount, prif){\r\n\t\t\t{$CC_USE}\r\n\t\t}\r\n\t\t// Sales Cost Centers function\r\n\t\tfunction sCostCenter(type, typename, edate, descrip, amount, cdescrip, cosamt, prif){\r\n\t\t\t{$SC_USE}\r\n\t\t}\r\n\t\tfunction nCostCenter(type, typename, edate, descrip, amount, cdescrip, cosamt, prif){\r\n\t\t\t{$NC_USE}\r\n\t\t}\r\n\r\n\t\tcheckMsgsTimer = false;\r\n\t\tfunction checkMsgs() {\r\n\t\t\tajaxRequest('" . relpath("checkmsgs.php") . "', false, AJAX_EXE,\r\n\t\t\t\t'key=intcheck', checkMsgsAlert, AJAX_RSPTXT);\r\n\t\t}\r\n\r\n\t\tfunction checkMsgsAlert(rsptext) {\r\n\t\t\tif (!rsptext.match(/NO MESSAGES/)) {\r\n\t\t\t\tmc = rsptext.replace(/.*MSGS: ([0-9]+).*/, 'You have \$1 new message(s).');\r\n\t\t\t\tXPopupShow(mc + '<br />'\r\n\t\t\t\t\t+ 'Click <a href=\"" . relpath("checkmsgs.php") . "\">here</a> '\r\n\t\t\t\t\t+ 'to view them.', getObject('check_msgs'));\r\n\t\t\t} else {\r\n\t\t\t\tcheckMsgsTimer = setTimeout('checkMsgs()', " . MSGS_CHECKTIME . ");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t" . (!in_array(SELF, $MSGS_NOALERT) && defined("USER_ID") ? "checkMsgsTimer = setTimeout('checkMsgs()', 5000);" : "") . "\r\n\t</script>\r\n\t{$JS_XPOPUP}\r\n\t{$JS_AJAX}\r\n\t{$js_hide_menu}\r\n\t</head>\r\n\t{$notice}\r\n\t{$Out}\r\n\t{$bod}\r\n\t<div id='doc_layer'>\r\n\t{$OUTPUT}\r\n\t<div id='x_popup' onMouseMove='XPopupNoHide();' style='visibility: hidden; position: absolute;'></div>\r\n\t{$js_onthespot}\r\n\t</div>\r\n\t<span id='check_msgs' style='position: fixed; height: 0px; width: 0px; top: 0px; left: 0px;'></span>";
if (!defined("EMAIL_PAGE_DISABLED")) {
    $emailpage = relpath("emailsave_page.php");
    $OUT .= "\r\n\t<script type=\"application/x-javascript\">\r\n\t\tfunction emailPage() {\r\n\t\t\tdocument.emailsave_frm.emailsavepage_action.value = 'email';\r\n\t\t\tdocument.emailsave_frm.submit();\r\n\t\t}\r\n\r\n\t\tfunction savePage() {\r\n\t\t\tdocument.emailsave_frm.emailsavepage_action.value = 'save';\r\n\t\t\tdocument.emailsave_frm.submit();\r\n\t\t}\r\n\t</script>\r\n\r\n\t<form action='{$emailpage}' name='emailsave_frm' method='post'>\r\n\t<input type='hidden' name='emailsavepage_action' value='' />\r\n\t<input type='hidden' name='emailsavepage_key' value='content_supplied' />\r\n\t<input type='hidden' name='emailsavepage_name' value='" . SELF . "' />\r\n\t<input type='hidden' name='emailsavepage_content' value='" . base64_encode($OUTPUT) . "' />\r\n\t</form>";
}
if (!(defined("TEMPLATE_NODIE") || defined("TEMPLATE_PARTIAL"))) {
    $OUT .= "\r\n\t\t</body>\r\n\t\t</html>";
}
if (defined("CUBIT_XML")) {
    header("Content-Type: application/xml");
    $OUT = preg_replace("/<script[^>]*>/", "<script type=\"application/x-javascript\"><![CDATA[", $OUT);
    $OUT = preg_replace("/<\\/script>/", "]]></script>", $OUT);
}
print $OUT;
flush();
if (!(defined("TEMPLATE_NODIE") || defined("TEMPLATE_PARTIAL"))) {
    exit;
} else {
    define("TEMPLATE_EXECUTED", true);
} else {
    /* stop the progress when output is finished */
    if (defined("PROGRESS_BAR")) {
        stopProgress();
    }
    /* completing second part of template */
    if (defined("TEMPLATE_PARTIAL")) {
        print "\n\t\t\t{$OUTPUT}\n\t\t\t</body>\n\t\t\t</html>";
    }
    exit;
}
if (defined("CUBIT_MENU_PAGE")) {
    $js_hide_menu = "";
} else {
    $js_hide_menu = "\n\t\t<script>\n\t\t\tdocument.captureEvents(Event.MOUSEMOVE);\n\t\t\t//document.onmousemove = top.theframe.cubitmenuItemMouseOut;\n\t\t</script>";
}
print "\n<html>\n<head>\n<META HTTP-EQUIV=Expires CONTENT='Sun, 22 Mar 1998 16:18:35 GMT'>\n<title>" . TMPL_title . "</title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"" . relpath("css/style.css") . "\" />\n<script language='JavaScript' type='text/javascript'>\n\tfunction imgSwop (img_name, new_img_src) {\n\t\tdocument[img_name].src = new_img_src;\n\t}\n\tfunction openwindow(url){\n\t\twindow.open(url,\"stkdet\",\"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width=400, height=500\")\n\t}\n\tfunction openPrintWin(url){\n\t\twindow.open(url,\"stkdet\",\"toolbar=no, location=no, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=800, height=600\")\n\t}\n\tfunction scrolldown(){\n\t\twindow.scroll(1,8000)\n\t}\n\tfunction setLoginFocus(){\n\t\tif ( document.log )\n\t\t\tdocument.log.login_pass.focus()\n\t}\n\tfunction setPosFocus(){\n\t\tdocument.form.me.focus()\n\t}\n\tfunction setSaleFocus(){\n\t\tdocument.form.bar.focus();\n\t}\n\n\t// returns the object from it's id\n\tfunction getObjectById (id) {\n\t\tif (document.all)\n\t\t\treturn document.all[id];\n\n\t\treturn document.getElementById (id);\n\t}\n\n\tfunction loadMainFrame(url) {\n\t\tparent.mainframe.location.href=url;\n\t}\n\n\tfunction loadTopMenu(section) {\n\t\tparent.location.href = 'index.php?section=' + section;\n\t}\n\n\tfunction loadTopFrame(section) {\n\t\t//alert('kazzoooooooga 101');\n\t}\n\n\tfunction loadCurrentFrame(url) {\n\t\tlocation.href=url;\n\t}\n\n\tfunction popupOpen(url,name,opt) {\n\t\tnewwin = window.open(url,name,opt);\n\n\t\tnewwin.focus();\n\t}\n\n\t// contacts scripts\n\tfunction changeContactRowColor(obj, tocolor) {\n\t\tgetObjectById(obj).style.background=tocolor;\n\t}\n\n\tfunction viewContact(id) {\n\t\tpopupOpen('view_con.php?id=' + id,'contact_popup','scrollbars=yes,width=250,height=250');\n\t}\n</script>\n{$js_hide_menu}\n</head>\n<html>\n<body>\n{$OUTPUT}\n<div id='cubit_userid' style='display:none;'>" . @$_SESSION["USER_ID"] . "</div>";
flush();
if (!(defined("TEMPLATE_NODIE") || defined("TEMPLATE_PARTIAL"))) {
    print "\n\t\t</body>\n\t\t</html>";
    exit;
} else {
    if (defined("TEMPLATE_PARTIAL")) {
        function partialOut($OUT)
        {
            print $OUT;
            flush();
        }
    }
}
Example #9
0
 /**
  * Register a dependant file for collection.
  * dependant file must also be compiled, and moved to mapped location.
  * @param string
  * 
  */
 function register_dependency($path)
 {
     // register as not having been processed yet
     if (!isset($this->dependencies[$path])) {
         $this->dependencies[$path] = 0;
     }
     // return path suitable for use in include directive
     // consulting include path settings avoids hard coded paths
     if (isset($this->incpaths)) {
         $path = PLUG_VIRTUAL_DIR . PLUGTool::map_deployment_virtual($path);
         return relpath($this->cwd, $path, $this->incpaths);
     }
     // else we must map this path to the target host with a full path
     $base = $this->conf_consts['PLUG_VIRTUAL_DIR'];
     return $base . PLUGTool::map_deployment_virtual($path);
 }
Example #10
0
<?php

require_lib("ajax");
if (!isset($js_onthespot)) {
    $js_onthespot = "";
}
print "\n<html>\n\n<head>\n\t<title>Cubit Mail</title>\n\t<link rel='stylesheet' href='stylesheet.css' type='text/css'>\n\t<link rel='stylesheet' href='" . relpath("toptheme.css") . "' type='text/css'>\n\t<script language='javascript'>\n\t\t// returns the object from it's id\n\t\tfunction getObjectById (id) {\n\t\t\tif (document.all)\n\t\t\t\treturn document.all[id];\n\n\t\t\treturn document.getElementById (id);\n\t\t}\n\n\t\tfunction getObject(id) {\n\t\t\treturn getObjectById(id);\n\t\t}\n\n\t\tfunction ajaxLink() {\n\t\t\tvar argv = ajaxLink.arguments;\n\n\t\t\tif (!argv[1]) {\n\t\t\t\targv[1] = false;\n\t\t\t}\n\n\t\t\tpage = argv[0];\n\t\t\tget = argv[1];\n\n\t\t\tif (argv[2]) {\n\t\t\t\tajaxRequest(page, 'content', AJAX_SET | AJAX_EXE, get, argv[2]);\n\t\t\t} else {\n\t\t\t\tajaxRequest(page, 'content', AJAX_SET, get);\n\t\t\t}\n\n\n\t\t}\n\n\t\tfunction treeAjaxLink(page, get) {\n\t\t\tajaxRequest(page, parent.document.getElementById('content'), AJAX_OBJ, get);\n\t\t}\n\n\t\tfunction diaryAjaxLink(page, get) {\n\t\t\tajaxRequest(page, 'diary_small_month', AJAX_SET, get);\n\t\t}\n\n\t\tfunction popupOpen(url,name) {\n\t\t\targv = popupOpen.arguments;\n\t\t\tif (argv[2]) {\n\t\t\t\topt = argv[2];\n\t\t\t} else {\n\t\t\t\topt = 'scrollbars=yes, statusbar=no';\n\t\t\t}\n\t\t\tif (newwin = window.open(url,name,opt))\n\t\t\t\tnewwin.focus();\n\t\t}\n\n\t\tfunction popupSized(url,name,width,height) {\n\t\t\targv = popupSized.arguments;\n\t\t\tif (argv[4]) {\n\t\t\t\topt = argv[4];\n\t\t\t} else {\n\t\t\t\topt = 'scrollbars=yes, statusbar=no';\n\t\t\t}\n\t\t\topt += ', width=' + width + ', height=' + height;\n\n\t\t\tpopupOpen(url,name,opt);\n\t\t}\n\t</script>\n\t{$JS_AJAX}\n\t{$JS_XPOPUP}\n</head>\n\n<body>\n<center>\n<div id='doc_layer'>\n{$OUTPUT}\n<div id='x_popup' onMouseMove='XPopupNoHide();' style='visibility: hidden; position: absolute;'></div>\n{$js_onthespot}\n</div>\n</center>\n</body>\n</html>";
exit;
/**
 * @ignore
 */
function login($div, $err = "")
{
    # connect to db
    db_connect();
    /*	# Get branches
    	$brans = "<select size=1 name=div>\n";
    	$sql = "SELECT * FROM branches ORDER BY branname";
    	$branRslt = db_exec ($sql) or die ("Unable to get branches from database.");
    	if (pg_numrows ($branRslt) < 1) {
    		$OUTPUT = "No branches found in database.";
    		require ("template.php");
    	}
    	while ($bran = pg_fetch_array ($branRslt)) {
    		if($bran['div'] == $div){
    			$sel = "selected";
    		}else{
    			$sel = "";
    		}
    		$brans .= "<option value='$bran[div]' $sel>$bran[branname]</option>\n";
    	}
    	$brans .= "</select>\n";*/
    $sqlsplash = "SELECT * FROM splash";
    $allowsplash = db_exec($sqlsplash) or die("Unable To get Splash Screen");
    if (pg_numrows($allowsplash) < 1) {
        $splashmess = "";
    } else {
        $splashmess = "";
        while ($splashdata = pg_fetch_array($allowsplash)) {
            $splashmess .= "{$splashdata['message']}";
        }
    }
    //<tr class='bg-even'><td>Branch</td><td>$brans</td></tr>
    $OUTPUT = "\n\t\t<h3>Login screen</h3>\n\t\t{$err}\n\t\t<form action='" . SELF . "' method='POST' name='log'>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<input type='hidden' name='logindiv' value='1'>\n\t\t\t<input type='hidden' name='div' value='2'>\n\t\t<tr>\n\t\t\t<td valign='top'>\n\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th colspan='2'>Please login</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td>User name</td>\n\t\t\t\t\t\t<td><input type='text' size='20' name='login_user'></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td>Password</td>\n\t\t\t\t\t\t<td><input type='password' size='20' name='login_pass'></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td colspan='2' align='right'>\n\t\t\t\t\t\t\t<input type='button' value='Select Company' onClick='document.location.href=\"" . relpath("complogin.php") . "\";'>\n\t\t\t\t\t\t\t<input type='submit' name='login' value='Log in &raquo;'>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</table>\n\t\t\t</td>\n\t\t\t<td width='30'>&nbsp;</td>\n\t\t\t<td>\n\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Splash Message</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr class='bg-even'>\n\t\t\t\t\t\t<td style='font-size: 12;'><pre>{$splashmess}</pre></td>\n\t\t\t\t\t</tr>\n\t\t\t\t</table>\n\t\t\t</td>\n\t\t</tr>\n\t</table>\n\t</form>";
    require "template.php";
}
 /**
  * returns date selection form fields in array form
  *
  * @param string $fname form field name
  * @param mixed $key array key
  * @param int $year default selected year
  * @param int $month default selected month
  * @param int $day default selected day
  * @param string $btnstring string to display on button
  * @return string html
  */
 function mkDateSelectA($fname, $key, $year = false, $month = false, $day = false, $btnstring = "Select Date")
 {
     if ($year === false) {
         $year = DATE_YEAR;
         $month = DATE_MONTH;
         $day = DATE_DAY;
     }
     $GWPP = relpath("groupware", true);
     if (is_array($key)) {
         $nkey = "";
         $key = $key[0];
     } else {
         $nkey = $key;
     }
     $OUT = "<input size='2' type='text' name='{$fname}_day[{$nkey}]' id='{$fname}[{$key}]_day' value='{$day}'>&nbsp;";
     $OUT .= "<input size='2' type='text' name='{$fname}_month[{$nkey}]' id='{$fname}[{$key}]_month' value='{$month}'>&nbsp;";
     $OUT .= "<input size='4' type='text' name='{$fname}_year[{$nkey}]' id='{$fname}[{$key}]_year' value='{$year}'>&nbsp;";
     $OUT .= "<input type='button' onClick='dateSelPopup(\"{$fname}[{$key}]\", \"{$GWPP}\", null)' value='{$btnstring}'>";
     return $OUT;
 }
/**
 * returns link to restore named r2s, or alternate link if it doesn't exist
 *
 * the list of r2s's allow you to associate a name to an r2sid, for ex.
 * every time you list invoices a new r2s is made, if an error say occurs
 * when processing the selected invoices you can just click the link to
 * go back to the exact same listing.
 *
 * @param string $name r2s name
 * @param string $alternate alternate filename
 * @return string
 */
function r2sListLink($name, $alternate = "main.php")
{
    if (($r2sid = r2sListCheck($name)) !== false) {
        return relpath("r2srestore.php") . "?r2sid={$r2sid}";
    } else {
        return $alternate;
    }
}
Example #14
0
/**
 * Map a relative path from a working directory to a target file
 * - this will always return a relative path, even if target is in the root
 * @example functions/filesystem/relpath.php
 * @param string absoulte path to current working directory
 * @param string absolute path to target 
 * @param array optional include paths, this setting overrides the following.
 * @param bool optionally ommit leading single dot, e.g. './here' becomes 'here'
 * @return string relative path to target from cwd
 */
function relpath($thisdir, $target, array $incs = null, $nodot = false)
{
    if ($target[0] !== '/') {
        // target already relative
        return $target;
    } else {
        if ($thisdir[0] !== '/') {
            trigger_error("first argument must be an absolute path", E_USER_NOTICE);
            return $target;
        }
    }
    // important: this method will fail if paths have redundant references
    $thisdir = cleanpath($thisdir);
    $target = cleanpath($target);
    // support include paths, as base directory
    if (!empty($incs)) {
        $paths = array();
        foreach ($incs as $inc) {
            if ($inc[0] !== '/') {
                $inc = $thisdir . '/' . $inc;
            }
            $inc = cleanpath($inc);
            $nodot = $inc !== $thisdir;
            $relpath = relpath($inc, $target, null, $nodot);
            // log path by length
            $paths[strlen($relpath)] = $relpath;
        }
        // return shortest path calculated
        ksort($paths);
        return current($paths);
    }
    $filename = basename($target);
    $athis = explode('/', $thisdir);
    $atarg = explode('/', dirname($target));
    // at some point paths will branch, that's our common point.
    while (!empty($athis) && !empty($atarg)) {
        $fthis = $athis[0];
        $ftarg = $atarg[0];
        if ($ftarg !== $fthis) {
            // paths branch at this point
            break;
        }
        array_shift($athis);
        array_shift($atarg);
    }
    // target could be in the root
    $inroot = empty($atarg) || $atarg === array('');
    // target is below cwd if athis is empty
    if (empty($athis)) {
        $apath = $nodot ? array() : array('.');
    } else {
        $apath = array_fill(0, count($athis), '..');
    }
    // drill down to target, unless relpath targets root
    if (!$inroot) {
        $apath = array_merge($apath, $atarg);
    }
    // append file name and we're there!
    $apath[] = $filename;
    return implode('/', $apath);
}
/**
 * @ignore
 */
function stock($tran, $cacc, $refnum, $day, $mon, $year)
{
    $stk = qryStock();
    $stks = db_mksel($stk, "stkid", false, "#stkid", "(#stkcod) #stkdes");
    if ($tran == "dt") {
        $dtct = "inc";
    } else {
        $dtct = "dec";
    }
    $OUT = "\n\t<h3>You Selected a Stock Control account</h3>\n\t<h4>Select Stock Item</h4>\n\t<form action='" . relpath("stock-balance.php") . "' method='post'>\n\t<input type='hidden' name='entry' value='{$dtct}' />\n\t<input type='hidden' name='caccid' value='{$cacc}' />\n\t<table " . TMPL_tblDflts . " width='300'>\n\t<tr>\n\t\t<th>Field</th>\n\t\t<th>Value</th>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td valign='top'>Select Stock Item</td>\n\t\t<td>{$stks}</td>\n\t</tr>\n\t<tr>\n\t\t<td align='center'><input type='button' value='&laquo Back' onClick='javascript:history.back()' /></td>\n\t\t<td align='center'><input type='submit' value='Continue &raquo;' /></td>\n\t</tr>\n\t</table>\n\t</form>";
    return $OUT;
}