/** fleetTruckLinkImporter::__construct()
  * Class constructor
  */
 public function __construct()
 {
     $realPath = realpath(dirname(__FILE__));
     $maxine = substr($realPath, 0, strrpos($realPath, DIRECTORY_SEPARATOR));
     $rootaccess = substr($maxine, 0, strrpos($maxine, DIRECTORY_SEPARATOR) + 1);
     define("BASE", $rootaccess);
     include_once BASE . "basefunctions/baseapis/TableManager.php";
     include_once BASE . "basefunctions/baseapis/FileParser/FileParser.php";
     $manager = new TableManager("fleet_truck_count");
     $apiurl = "https://t24.max.bwtsgroup.com/api_request/Report/export?report=73&responseFormat=csv";
     // Live
     // $apiurl	= "http://max.mobilize.biz/m4/2/api_request/Report/export?report=141&responseFormat=csv"; // Test
     $required_fleets = (array) array(27, 13, 20, 26, 24);
     $rows = (array) array();
     foreach ($required_fleets as $fleetId) {
         $url = $apiurl . "&Fleet=" . $fleetId;
         $fileParser = new FileParser($url);
         $fileParser->setCurlFile("fleet_truck_count_" . $fleetId . ".csv");
         $data = $fileParser->parseFile();
         $cnt = count($data);
         $rows[] = array("fleet_id" => $fleetId, "count" => $cnt, "t24" => 1);
         unset($s);
         unset($cnt);
     }
     //: Delete rows where t24=1
     $sql = (string) "DELETE FROM `fleet_truck_count` WHERE `t24`=1";
     $manager->runSql($sql);
     $manager->insert($rows);
 }
 public function setManager(TableManager $manager = NULL)
 {
     if ($manager === NULL) {
         $test = new TableManager();
         ## Test to see if the sessions table exists and if not create it
         $sql = (string) "SHOW TABLES LIKE 's%'";
         if (($tables = $test->runSql($sql)) === FALSE) {
             return FALSE;
         }
         if ($tables) {
             $exists = (bool) FALSE;
             foreach ($tables as $tbl) {
                 $keys = array_keys($tbl);
                 if ($tbl[$keys[0]] == "sessions") {
                     $exists = TRUE;
                     break;
                 }
             }
             if ($exists === FALSE) {
                 $sql = (string) "CREATE TABLE IF NOT EXISTS `sessions` (";
                 $sql .= "`id` INT(32) NOT NULL AUTO_INCREMENT PRIMARY KEY,";
                 $sql .= "`session_id` VARCHAR(150) NOT NULL DEFAULT '' UNIQUE,";
                 $sql .= "`access` INT(32) NOT NULL DEFAULT 0,";
                 $sql .= "`data` LONGTEXT,";
                 $sql .= "`ip_address` VARCHAR(15) NOT NULL DEFAULT '000.000.000.000',";
                 $sql .= "INDEX (`access`),";
                 $sql .= "INDEX (`ip_address`)";
                 $sql .= ") ENGINE=INNODB DEFAULT CHARSET=UTF8;";
                 if ($test->runSql($sql) === FALSE) {
                     print "<pre>";
                     print_r($test->getErrors());
                     print "</pre>";
                     return FALSE;
                 }
             }
         }
         $test->__destruct();
         unset($test);
         $manager = new TableManager("sessions");
     }
     $this->_manager = $manager;
 }
Example #3
0
function maxineTop($title = "")
{
    // Prep {
    ## User Data
    $mycapsSegments = new TableManager("users");
    $mycapsSegments->setWhere($mycapsSegments->quoteString("`users`.`personid`=?", (int) $_SESSION["userid"]));
    $user = $mycapsSegments->selectSingle();
    //$user				= sqlPull(array("table"=>"users", "where"=>"personid=".$_SESSION["userid"], "select"=>"firstname, lastname, user_profiles_id", "onerow"=>1));
    $smsaccess = testRights($_SESSION["userid"], "sms001");
    ## myCAPS segment check
    if (isset($_SESSION["userid"]) && $_SESSION["userid"]) {
        $mycapsSegments = new TableManager("mycaps_segments");
        $mycapsSegments->setWhere($mycapsSegments->quoteString("`mycaps_segments`.`userid`=?", (int) $_SESSION["userid"]) . $mycapsSegments->quoteString(" AND `mycaps_segments`.`finalized`=?", 0));
        $segment = $mycapsSegments->selectSingle();
    }
    ## Profile Data
    if ($user) {
        $user_profiles = new TableManager("user_profiles");
        ## Test for fortune column
        $cols = $user_profiles->getColumns();
        if (in_array("fortune", $cols) === FALSE) {
            $sql = (string) "ALTER TABLE `user_profiles` ADD COLUMN `fortune` TINYINT(1) NOT NULL DEFAULT 0, ADD INDEX (`fortune`);";
            if ($user_profiles->runSql($sql) === FALSE) {
                $errors = $user_profiles->getErrors();
                echo "<div class=\"error\">mySQL statement encountered an error. Last error was:<br />" . $errors[count($errors) - 1] . "</div>";
                return FALSE;
            }
        }
        $user_profiles->setWhere($user_profiles->quoteString("`user_profiles`.`id`=?", $user["user_profiles_id"]));
        $profile = $user_profiles->selectSingle();
    }
    ## Alerts
    $manager = new TableManager("alerts");
    $manager->setWhere($manager->quoteString("`alerts`.`deleted`=?", (int) 0) . $manager->quoteString(" AND `alerts`.`time_start`<=?", strtotime(date("Y-m-d") . " 00:00")) . $manager->quoteString(" AND `alerts`.`time_end`>=?", strtotime(date("Y-m-d") . " 23:59")));
    $manager->setCustomIndex("id");
    $alerts = $manager->selectMultiple();
    ## Theme
    $themes = new TableManager("themes");
    $themes->setQueryColumns(array("themes" => array("*")));
    $themes->setQueryFrom(array("left join" => array(0 => array("table" => array("abbr" => "user_profiles", "table" => "user_profiles"), "on" => "`themes`.`id`=`user_profiles`.`theme_id`"), 1 => array("table" => array("abbr" => "users", "table" => "users"), "on" => "`user_profiles`.`id`=`users`.`user_profiles_id`"))));
    $where = (string) "(ISNULL(`themes`.`deleted`)";
    $where .= $themes->quoteString(" OR `themes`.`deleted`=?)", 0);
    if ($_SESSION["userid"]) {
        $where .= $themes->quoteString(" AND `users`.`personid`=?", (int) $_SESSION["userid"]);
    } else {
        $where .= $themes->quoteString(" AND `themes`.`id`=?", (int) 1);
    }
    $themes->setWhere($where);
    $theme = $themes->selectSingle();
    $backgroundImage = (string) BASE . "images/new/themes/" . $theme["background-image"];
    $_SESSION["backgroundRepeat"] = (string) BASE . "images/new/themes/" . $theme["background-repeater"];
    $size = getimagesize($backgroundImage);
    $_SESSION["bgImageSize"] = $size;
    // }
    print "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>";
    print "<html>";
    // Header Info {
    print "<head>";
    print "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />" . PHP_EOL;
    print "<link href='" . BASE . "/images/favicon.ico' rel='SHORTCUT ICON' />" . PHP_EOL;
    //print("<link href='".BASE."/basefunctions/scripts/manlinecss.php' rel='stylesheet' type='text/css' />");
    print "<link href='" . BASE . "/basefunctions/scripts/manline.css' media='all' rel='stylesheet' type='text/css' />" . PHP_EOL;
    print "<script type='text/javascript' language='javascript' src='" . BASE . "/basefunctions/scripts/manline.js'></script>";
    $headTitle = (string) "Maxweb";
    if ($title) {
        $headTitle .= " - " . $title;
    }
    print "<title>" . $headTitle . "</title>" . PHP_EOL;
    print "</head>";
    // }
    print "<body id=\"windowBody\" style='background-image:url(\"" . $backgroundImage . "\");'>";
    //print("<form action='#' method='post'>");
    // Header 1 {
    print "<h1>";
    print "<img alt=\"Maxweb Logo\" id=\"maxwebLogo\" src='" . BASE . "/images/new/logo.png' style=\"height:58px;margin-top:2px;width:299px;\">";
    print "<span style='float:right; text-align:right;'>";
    $links = (array) array("Home" => array("class" => "headerA", "href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=home", "id" => "home"), "Documents" => array("class" => "headerA", "href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=viewdocuments", "id" => "Documents"), "Gallery" => array("class" => "headerA", "href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=viewgallery", "id" => "Gallery"), "InOut" => array("class" => "headerA", "href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=inoutboard", "id" => "InOut"), "Max" => array("class" => "headerA", "href" => "http://login.max.manline.co.za", "id" => "Max", "target" => "_blank"), "Zimbra" => array("class" => "headerA", "href" => "http://mail.manline.co.za", "id" => "Zimbra", "target" => "_blank"));
    foreach ($links as $text => $data) {
        echo "<a class=\"" . $data["class"] . "\" href=\"" . $data["href"] . "\" id=\"" . $data["id"] . "\" " . (isset($data["target"]) ? "target=\"" . $data["target"] . "\" " : "") . "title=\"" . $text . "\"></a>" . PHP_EOL;
    }
    print "</span>";
    print "</h1>";
    // }
    // Header 2 {
    $messages = (array) array();
    if (isset($profile) && $profile) {
        if (!$profile["staffno"] || !$profile["department_id"] || !$profile["jobtitle"] || !$profile["location"]) {
            $messages[] = "Your profile information is incomplete.";
        }
    }
    if (isset($segment)) {
        if (date("U") > (int) $segment["enddate"] + 86400) {
            $messages[] = "Your CAPS is overdue";
        }
    }
    if (isset($alerts) && $alerts) {
        foreach ($alerts as $val) {
            $messages[] = $val["message"];
        }
    }
    ## Profile Data
    if ($messages) {
        informationBar($messages);
    }
    print "<h2>";
    print "<span style='width:10px; height:51px; background-image:url(\"" . BASE . "/images/new/menubarleft.png\"); float:left;'></span>";
    print "<span style='width:850px; height:36px; background-image:url(\"" . BASE . "/images/new/menubarmid.png\"); float:left; padding-top:15px;'>";
    // Left Span - Quick Navigation {
    print "<span style='float:left; margin-top:-5px;'>";
    ## Menu
    // $items[] = array("href"=>"http://".$_SERVER["SERVER_NAME"]."/Maxine/", "text"=>"", "title"=>"");
    $items = (array) array();
    if ($user) {
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=mycapslist2", "text" => "myCAPS", "title" => "click to go to your CAPs");
    }
    $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=showm3", "text" => "Public M3", "title" => "View public M3 Graphs");
    $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=dockeeperfront", "text" => "Customer Documents", "title" => "View Documents required by Customers");
    if ($user) {
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=m3sys", "text" => "M3", "title" => "View M3 Graphs");
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=displaymydash", "text" => "Personal Dashboard", "title" => "Click to view your personal dashboard");
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=greenmileinput", "text" => "Green Mile Controls", "title" => "Click to update Green Mile Details");
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=ratescalc2", "text" => "Rates Calculator", "title" => "Click to view the rates calculator");
        if ($user["isit"] || $user["ismanager"]) {
            $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=nineblockinput", "text" => "9 Blocker", "title" => "Click to view your 9 Blocker");
            $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=listalerts", "text" => "Alerts", "title" => "Click to list all alerts");
            $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=edituserpool", "text" => "User Pools", "title" => "Click to view and edit User Pools");
        }
        $items[] = array("text" => "Faults System", "children" => array(array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=equipfaults", "text" => "Equipment Faults", "title" => "Click to view equipment faults"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=uflist", "text" => "Unit Faults", "title" => "Click to view unit faults"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=faultsys", "text" => "Fault Logging", "title" => "Log a new fault")));
        $items[] = array("text" => "Personnel Tools", "children" => array(array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=learnerlist", "text" => "Learner", "title" => "Click to view a list of learners"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=candmenu", "text" => "Candidates", "title" => "Click to view list of candidates"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=driverslist", "text" => "Drivers", "title" => "Click to view list of drivers"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=listusers", "text" => "Users", "title" => "Click to view user list")));
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=updateprofile", "text" => "Edit Your Profile", "title" => "Click to edit your profile");
    }
    /** Cameras link affects
    				  4 = > Jonathan Spencer
    				  5 = > Bradley Roberts
    				  141 = > Jerome Govender
    				  168 = > Lwazi Ally
    				  186 = > Ndumiso Langa
    				*/
    if (in_array($_SESSION["userid"], array(4, 5, 141, 168, 186))) {
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/cameras/", "text" => "Manline CCTV", "title" => "Click to view the cameras");
    }
    if ($_SESSION["isadmin"] || $smsaccess > 0) {
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=smssystem", "text" => "Send an SMS", "title" => "Click to use the SMS system");
    }
    if ($_SESSION["isit"] == 1) {
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=rightscontrol", "text" => "Access Rights", "title" => "Click to set user access rights");
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=loggingreport", "text" => "Logging Report", "title" => "Click to view the logging report");
        if ($_SESSION["isadmin"]) {
            $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=smssystem", "text" => "Send an SMS", "title" => "Click to use the SMS system");
        }
        $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=sandbox", "text" => "Sandbox", "title" => "Click to go to the coding sandbox");
        //$items[] = array("href"=>"http://".$_SERVER["SERVER_NAME"]."/Maxine/index.php?mode=maxine/index&action=encoder", "text"=>"Text Encoder", "title"=>"Click to view the text encoder");
        //$items[] = array("href"=>"http://".$_SERVER["SERVER_NAME"]."/Maxine/index.php?mode=maxine/index&action=truckfinder", "text"=>"Truck Finder", "title"=>"Click to view the truck finder");
        $items[] = array("text" => "Scaffolding", "children" => array(array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=list&name=documents", "text" => "Documents", "title" => "Click to list all items"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=list&name=gallery", "text" => "Gallery", "title" => "Click to list all items"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=list&name=galleryItems", "text" => "Gallery Items", "title" => "Click to list all items"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=list&name=newspaper_articles", "text" => "Newspaper Articles", "title" => "Click to list all items"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=list&name=pages", "text" => "Pages", "title" => "Click to list all items"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=list&name=themes", "text" => "Themes", "title" => "Click to list all items"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=list&name=type", "text" => "Type", "title" => "Click to list all items"), array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?mode=maxine/index&action=list&name=user_profiles", "text" => "User Profiles", "title" => "Click to list all items")));
    }
    /* $items[] = array("text"=>"Corporate Clothing", "children"=>array(
    				array("href"=>"http://".$_SERVER["SERVER_NAME"]."/Maxine/documents/Ladies Clothing Catalogue.pdf", "text"=>"Ladies", "title"=>"Click to download ladies clothing catalogue"),
    				array("href"=>"http://".$_SERVER["SERVER_NAME"]."/Maxine/documents/Mens Clothing Catalogue.pdf", "text"=>"Mens", "title"=>"Click to download mens clothing catalogue")
    			)); */
    $items[] = array("href" => "/Maxine/documents/ManlinePriceList.pdf", "text" => "Corporate Clothing", "title" => "Click to download");
    $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/documents/Map to Head Office.pdf", "text" => "Map to Head office", "title" => "Click to download map to head office");
    $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=maxexpress", "text" => "Max Express", "title" => "Click to view Max Express editions");
    $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=viewnews", "text" => "News", "title" => "Click to view newspaper articles");
    $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=monthlyvideos", "text" => "Monthly Videos", "title" => "Click to view Neil's monthly video updates");
    $sql = (string) "SELECT * FROM `m3_departments`";
    $departs = $themes->runSql($sql);
    $depts = (array) array();
    foreach ($departs as $dept) {
        $depts[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=listdepartment&department=" . urlencode($dept["name"]), "text" => $dept["name"], "title" => "Click to view department members");
    }
    $items[] = array("href" => "http://" . $_SERVER["SERVER_NAME"] . "/Maxine/index.php?action=listdepartment", "text" => "Staff Profiles", "title" => "Click to view all staff members", "children" => $depts);
    echo menu($items);
    print "</span>";
    // }
    // Right Span - Login Details {
    print "<span style='height:34px; float:right; margin-top:-5px; vertical-align:bottom;'>";
    if ($_SESSION["userid"] > 0) {
        print "<p class='standard' style='float:left; margin-right:10px; margin-top:8px;'>Logged in as " . $profile["firstname"] . " " . $profile["lastname"] . "</p>";
        echo "<a href=\"/Maxine/?logout\" id=\"logoutbutton\"></a>" . PHP_EOL;
    } else {
        $name = "";
        if ($_COOKIE["loggedname"]) {
            $name = $_COOKIE["loggedname"];
        }
        print "<form id=\"loginform\" name='loginform' action='index.php?mode=maxine/index&action=loginaction' method='post'>";
        print "<span style='width:16px; height:19px; background-image:url(\"" . BASE . "/images/new/loginicon.png\"); float:left; margin-top:5px;'></span>";
        print "<span style='width:10px; height:25px; background-image:url(\"" . BASE . "/images/new/loginleft.png\"); float:left; margin-left:10px; margin-top:4px; '></span>";
        print "<input id=\"username\" name='conf[username]' value='" . $name . "' class='loginmid' onKeyPress='submitenter(this,event);' />";
        print "<span style='width:10px; height:25px; background-image:url(\"" . BASE . "/images/new/loginright.png\"); float:left; margin-top:4px; '></span>";
        print "<span style='width:10px; height:25px; background-image:url(\"" . BASE . "/images/new/loginleft.png\"); float:left; margin-left:10px; margin-top:4px;'></span>";
        print "<input type='password' id='passbox' name='conf[password]' class='loginmid' onKeyPress='submitenter(this,event);' />";
        print "<span style='width:10px; height:25px; background-image:url(\"" . BASE . "/images/new/loginright.png\"); float:left; margin-top:4px; '></span>";
        echo "<a href=\"#\" id=\"loginbutton\" onclick=\"document.getElementById('loginform').submit();\"></a>" . PHP_EOL;
        print "</form>";
    }
    print "</span>";
    // }
    print $title;
    print "</span>";
    print "<span style='width:10px; height:51px; background-image:url(\"" . BASE . "/images/new/menubarright.png\"); float:left;'></span>";
    print "</h2>";
    if (isset($_SESSION["userid"]) && in_array($_SESSION["userid"], array(4, 23, 175)) || isset($profile["fortune"]) && $profile["fortune"]) {
        $fortune = shell_exec("fortune -s -n 100");
        echo "<div style=\"height:24px;margin:-14px auto 15px;position:relative;width:850px;\">";
        echo "<img alt=\"left corner\" src=\"" . BASE . "images/new/cookiebar_left.png\" style=\"height:24px;left:0px;position:absolute;top:0px;width:10px;\" />";
        echo "<div style=\"background-image:url(" . BASE . "images/new/cookiebar_mid.png);font-size:0.8em;height:24px;margin:-3px auto 0px;vertical-align:top;width:830px;\">" . $fortune . "</div>";
        echo "<img alt=\"right corner\" src=\"" . BASE . "images/new/cookiebar_right.png\" style=\"height:24px;position:absolute;right:0px;top:0px;width:10px;\" />";
        echo "</div>";
    }
    // }
}
 /** fleetTruckLinkImporter::__construct()
  * Class constructor
  */
 public function __construct()
 {
     $realPath = realpath(dirname(__FILE__));
     $maxine = substr($realPath, 0, strrpos($realPath, DIRECTORY_SEPARATOR));
     $rootaccess = substr($maxine, 0, strrpos($maxine, DIRECTORY_SEPARATOR) + 1);
     defined("BASE") || define("BASE", $rootaccess);
     include_once BASE . "basefunctions/baseapis/TableManager.php";
     include_once BASE . "basefunctions/baseapis/FileParser/FileParser.php";
     $manager = new TableManager("fleet_truck_count");
     //: Do a test to see if table includes subbie_trucks field
     $fields = $manager->describeTable();
     if (in_array('subbie_count', array_keys($fields)) === FALSE) {
         $sql = (string) "ALTER TABLE `fleet_truck_count` ADD COLUMN `subbie_count` INT NOT NULL DEFAULT 0;";
         if ($manager->runSql($sql) === FALSE) {
             print "Altering table failed" . PHP_EOL;
             return FALSE;
         }
     }
     //: End
     $subbietrucksurl = "https://login.max.bwtsgroup.com/api_request/Report/export?report=153&responseFormat=csv";
     // Max
     $apiurl = "https://login.max.bwtsgroup.com/api_request/Report/export?report=145&responseFormat=csv";
     // Max
     $t24apiurl = "https://t24.max.bwtsgroup.com/api_request/Report/export?report=73&responseFormat=csv";
     // T24
     // $apiurl	= "http://max.mobilize.biz/m4/2/api_request/Report/export?report=141&responseFormat=csv"; // Test
     //: Get the list of subbie trucks
     $fileParser = new FileParser($subbietrucksurl);
     $fileParser->setCurlFile("subbie_trucks.csv");
     $data = $fileParser->parseFile();
     $subbieTrucks = (array) array();
     foreach ($data as $val) {
         if (array_key_exists("Trucks", $val) === FALSE) {
             continue;
         }
         $trucks = preg_split("/\\,/", $val["Trucks"]);
         if (is_array($trucks) === FALSE) {
             continue;
         }
         foreach ($trucks as $trucklist) {
             $subbieTrucks[] = $trucklist;
         }
     }
     //print_r($subbieTrucks);
     unset($data);
     //return FALSE;
     //: End
     $fleetDayHandler = new fleetDayHandler();
     $required_fleets = $fleetDayHandler->getIncomeFleets();
     $rows = (array) array();
     foreach ($required_fleets as $val) {
         if (array_key_exists('fleets', $val)) {
             $count = (int) 0;
             $subbie_count = (int) 0;
             foreach ($val['fleets'] as $subfleets) {
                 $manager->setWhere($manager->quoteString('`fleet_id`=?', $subfleets[0]));
                 $record = $manager->selectSingle();
                 $count += (int) $record['count'];
                 $subbie_count += (int) $record['subbie_count'];
             }
             $rows[] = (array) array('fleet_id' => $val['id'], 'count' => isset($count) && $count ? $count : 0, 'subbie_count' => isset($subbie_count) && $subbie_count ? $subbie_count : 0);
         } else {
             $url = $apiurl . "&Fleet=" . $val["maxid"] . "&Start%20Date=" . date("Y-m-d") . "&Stop%20Date=" . date('Y-m-d', strtotime('+1 day'));
             if (array_key_exists('t24', $val)) {
                 $url = $t24apiurl . "&Fleet=" . $val["maxid"] . "&Start%20Date=" . date("Y-m-d") . "&Stop%20Date=" . date('Y-m-d', strtotime('+1 day'));
             }
             print_r('url: ' . $url . PHP_EOL);
             $fileParser = new FileParser($url);
             $fileParser->setCurlFile("fleet_truck_count_" . $val["id"] . ".csv");
             $data = $fileParser->parseFile();
             // print_r($data);
             /*if ($fleetId == 75) { //: confirm a fleet is correct
             		print("<pre>");
             		print_r($data);
             		print("</pre>");
             		}*/
             $sub_cnt = (int) 0;
             foreach ($data as $row) {
                 if (in_array($row['Truck'], $subbieTrucks)) {
                     $sub_cnt++;
                 }
             }
             //print($sub_cnt.PHP_EOL);
             $record = (array) array('fleet_id' => $val['id'], 'count' => count($data), 'subbie_count' => $sub_cnt);
             if (array_key_exists('t24', $val)) {
                 $record['t24'] = (int) 1;
             }
             $rows[] = $record;
         }
     }
     //: Loop through and update/insert records
     foreach ($rows as $row) {
         $where = (string) $manager->quoteString('`fleet_id`=?', $row['fleet_id']);
         if (array_key_exists('t24', $row) && $row['t24'] === 1) {
             $where .= $manager->quoteString(' AND `t24`=?', $row['t24']);
         }
         $manager->setWhere($where);
         $record = $manager->selectSingle();
         if ($record) {
             print_r($record);
             print_r($row);
             $nDifference = (double) $row['count'] == 0 ? 100 : ($record['count'] - $row['count']) / $row['count'] * 100;
             print_r('diff:  ' . $nDifference . PHP_EOL);
             if ($nDifference > 50 || $nDifference < -50) {
                 continue;
             }
             $manager->setWhere($manager->quoteString('`id`=?', $record['id']));
             $manager->update($row);
         } else {
             $manager->insert($row);
         }
     }
 }
Example #5
0
/** displayFleetKmsTable($fleet_id, array $conf)
 * display a fleet kms table correctly
 * @param int $fleet_id 
 * @param array $conf 
 * @return string $html
 */
function displayFleetKmsTable($fleet_id, array $conf)
{
    /* print '<pre style="color:#FFF">';
    			print_r($conf);
    			print '</pre>'; */
    $mtddays = getFleetBudgetDays((int) $fleet_id, NULL, NULL);
    $monthenddays = getFleetBudgetDays((int) $fleet_id, NULL, mktime(0, 0, 0, date("m"), date("t"), date("Y")));
    $manager = new TableManager("fleet_scores");
    $sql = (string) "SELECT * FROM `fleet_scores` WHERE ";
    $sql .= $manager->quoteString("`fleetid`=?", (int) $fleet_id);
    $sql .= $manager->quoteString(" AND `date`>=?", mktime(0, 0, 0, date("m"), 1, date("Y")));
    $sql .= $manager->quoteString(" AND `date`<=?", mktime(0, 0, 0, date("m"), date("t"), date("Y")));
    if (($results = $manager->runSql($sql)) === FALSE) {
        return FALSE;
    }
    $monthendbudget = (int) 0;
    foreach ($results as $val) {
        if (isset($val["budget"]) && $val["budget"] > 0) {
            $monthendbudget += $val["budkms"];
        }
    }
    unset($results);
    $data = array("cd_actual" => array_key_exists("kms", $conf) ? $conf["kms"] : 0, "cd_budget" => array_key_exists("budkms", $conf) ? $conf["budkms"] : 0);
    $data["cd_variance"] = array_key_exists("cd_actual", $data) && array_key_exists("cd_budget", $data) ? (string) round($data["cd_actual"] - $data["cd_budget"], 0) : "-";
    $data["cd_percent"] = array_key_exists("cd_actual", $data) && array_key_exists("cd_budget", $data) && $data["cd_budget"] > 0 ? (string) round($data["cd_actual"] / $data["cd_budget"] * 100, 0) : "-";
    $data["mtd_actual"] = array_key_exists("totkms", $conf) && $conf["truck_count"] && $mtddays > 0 ? (string) round($conf["totkms"] / $mtddays / $conf["truck_count"], 0) : "-";
    $data["mtd_budget"] = array_key_exists("totbudkms", $conf) && $conf["truck_count"] && $mtddays > 0 ? (string) round($conf["totbudkms"] / $mtddays / $conf["truck_count"], 0) : "-";
    $data["mtd_variance"] = array_key_exists("mtd_actual", $data) && array_key_exists("mtd_budget", $data) ? (string) round($data["mtd_actual"] - $data["mtd_budget"], 0) : "-";
    $data["mtd_percent"] = array_key_exists("mtd_actual", $data) && array_key_exists("mtd_budget", $data) && $data["mtd_budget"] > 0 ? (string) round($data["mtd_actual"] / $data["mtd_budget"] * 100, 0) : "-";
    $data["mef_actual"] = array_key_exists("mtd_actual", $data) && $mtddays > 0 && $monthenddays > 0 ? (string) round($data["mtd_actual"] * $monthenddays, 0) : "-";
    if (isset($monthendbudget) && $monthendbudget > 0) {
        $data["mef_budget"] = array_key_exists("truck_count", $conf) && $conf["truck_count"] > 0 ? (string) round($monthendbudget / $conf["truck_count"], 0) : "-";
    } else {
        $data["mef_budget"] = array_key_exists("mtd_budget", $data) && $mtddays > 0 && $monthenddays > 0 ? (string) round($data["mtd_budget"] * $monthenddays, 0) : "-";
    }
    $data["mef_variance"] = array_key_exists("mef_actual", $data) && array_key_exists("mef_budget", $data) ? (string) round($data["mef_actual"] - $data["mef_budget"], 0) : "-";
    $data["mef_percent"] = array_key_exists("mef_actual", $data) && array_key_exists("mef_budget", $data) && $data["mef_budget"] > 0 ? (string) round($data["mef_actual"] / $data["mef_budget"] * 100, 0) : "-";
    /* print '<pre style="color:#FFF">';
    			print_r($data);
    			print '</pre>'; */
    $vars = (string) "";
    foreach ($data as $key => $val) {
        $vars .= $key . "=" . $val . "&";
    }
    $vars = substr($vars, 0, -1);
    $object = embedObject("/images/kms_table.swf", array("FlashVars" => $vars, "height" => round(164 * $conf["factor"], 0), "name" => "kms_table", "width" => round(850 * $conf["factor"], 0)), TRUE);
    //return $object;
    return $data;
}
Example #6
0
 public function __construct()
 {
     $manager = new TableManager("user_profiles");
     echo "<link href=\"http://" . $_SERVER["SERVER_NAME"] . "/basefunctions/scripts/manline.css\" media=\"all\" rel=\"stylesheet\" type=\"text/css\" />" . PHP_EOL;
     echo "<p class=\"standard\">" . PHP_EOL;
     echo "Update current records to be integer based instead of string based<br />" . PHP_EOL;
     $list = $manager->selectMultiple();
     foreach ($list as $key => $val) {
         if (!$val["birthday"]) {
             continue;
         }
         $manager->setWhere($manager->quoteString("`user_profiles`.`id`=?", $val["id"]));
         $data = (array) array();
         $split = preg_split("/\\s/", $val["birthday"]);
         $data["birthday"] = mktime(0, 0, 0, date("m", strtotime("01-" . $split[1] . "-2011")), $split[0], 2011);
         if ($manager->update($data) === false) {
             echo "<span style=\"color:#F00;\" title=\"Update failed\">|</span>" . PHP_EOL;
             return false;
         }
         echo "<span style=\"color:#FFF;\" title=\"Update successful\">|</span>" . PHP_EOL;
         $manager->setWhere("");
         ## TOCTOU Race condition ##
     }
     echo "<br />Update table so that the birthday column is an integer column<br />" . PHP_EOL;
     $sql = (string) "alter table user_profiles modify column birthday int(50) not null default '0',add index (`birthday`);";
     if ($manager->runSql($sql) === false) {
         echo "<echo style=\"color:#FFF;\">" . PHP_EOL;
         print_r($manager->getErrors());
         echo "</pre>" . PHP_EOL;
         return false;
     }
     echo "<br />Get list of users<br />" . PHP_EOL;
     $sql = (string) "SELECT * FROM `users` WHERE `deleted`='0'";
     if (($list = $manager->runSql($sql)) === false) {
         echo "<echo style=\"color:#FFF;\">" . PHP_EOL;
         print_r($manager->getErrors());
         echo "</pre>" . PHP_EOL;
         return false;
     }
     echo "<br />Loop through and get the userdates entry for birthday and update the user_profiles table.<br />" . PHP_EOL;
     foreach ($list as $key => $val) {
         if (!$val["user_profiles_id"]) {
             continue;
         }
         $sql = (string) "SELECT * FROM `userdates` WHERE `userid`='" . $val["personid"] . "'  AND `datetype`='birthday' LIMIT 1";
         if (($row = $manager->runSql($sql)) === false) {
             echo "<echo style=\"color:#FFF;\">" . PHP_EOL;
             print_r($manager->getErrors());
             echo "</pre>" . PHP_EOL;
             return false;
         }
         $manager->setWhere($manager->quoteString("`user_profiles`.`id`=?", $val["user_profiles_id"]));
         $data = (array) array();
         $birthday = date("Y-m-d", $row[0]["date"]);
         $split = preg_split("/\\-/", $birthday);
         $data["birthday"] = strtotime("1971-" . $split[1] . "-" . $split[2]);
         if ($manager->update($data) === false) {
             echo "<span style=\"color:#F00;\" title=\"Update failed\">|</span>" . PHP_EOL;
             return false;
         }
         echo "<span style=\"color:#FFF;\" title=\"Update successful\">|</span>" . PHP_EOL;
         $manager->setWhere("");
         ## TOCTOU Race condition ##
     }
     echo "<br />Get any records form the user_profiles table where the birthday year isn't 1971<br />" . PHP_EOL;
     $manager->setWhere($manager->quoteString("DATE_FORMAT(FROM_UNIXTIME(`user_profiles`.`birthday`), '%Y')!=?", 1971));
     $list = $manager->selectMultiple();
     foreach ($list as $key => $val) {
         $manager->setWhere($manager->quoteString("`user_profiles`.`id`=?", $val["id"]));
         $date = date("Y-m-d", $val["birthday"]);
         $split = preg_split("/\\-/", $date);
         $data = (array) array("birthday" => strtotime("1971-" . $split[1] . "-" . $split[2]));
         if ($manager->update($data) === false) {
             echo "<span style=\"color:#F00;\" title=\"Update failed\">|</span>" . PHP_EOL;
             return false;
         }
         echo "<span style=\"color:#FFF;\" title=\"Update successful\">|</span>" . PHP_EOL;
         $manager->setWhere("");
         ## TOCTOU Race condition ##
     }
 }
Example #7
0
 /** Scaffold_Forms_User_profiles::setHtml($html = null)
  * @param string $html HTML form definition
  */
 public function setHtml($html = NULL)
 {
     ## Preparation
     $record = $this->getRecord();
     if (is_object("TableManager") === false) {
         include_once BASE . DIRECTORY_SEPARATOR . "basefunctions" . DIRECTORY_SEPARATOR . "baseapis" . DIRECTORY_SEPARATOR . "TableManager.php";
     }
     $tableManager = new TableManager("m3_departments");
     $departments = $tableManager->selectMultiple();
     $sql = (string) "SELECT * FROM `themes` WHERE (ISNULL(`deleted`) OR `deleted`=0)";
     $themes = $tableManager->runSql($sql);
     $users = new TableManager("users");
     $metaData = $users->getMetaData();
     if ($record) {
         $users->setChildRecords(true);
         $users->setChildTables(array(0 => array("rights_users" => "rights_users", "where" => "`rights_users`.`userid`=?")));
         $users->setWhere($users->quoteString("`users`.`user_profiles_id`=?", (int) $record["id"]));
         $user = $users->selectSingle();
     }
     $sql = (string) "SELECT * FROM `rights_groups` WHERE 1=1;";
     $rights_groups = $users->runSql($sql);
     $locations = (array) array(0 => array("name" => "Head Office"), 1 => array("name" => "Durban"), 2 => array("name" => "Empangeni"), 3 => array("name" => "East London"), 4 => array("name" => "Kokstad"), 5 => array("name" => "Pietermaritzburg"), 6 => array("name" => "Newcastle"), 7 => array("name" => "Vanderbijl Park"), 8 => array("name" => "Isando"), 9 => array("name" => "Germiston"), 10 => array("name" => "Cape Town"), 11 => array("name" => "Wilmar Depot"), 12 => array("name" => "Sasolburg"), 13 => array("name" => "Boksburg"), 14 => array("name" => "Port Elizabeth"), 15 => array("name" => "Delmas"), 16 => array("name" => "Slurry"), 17 => array("name" => "Hercules"), 18 => array("name" => "Heriotdale"));
     ## End
     if (is_string($html) === FALSE) {
         $html = NULL;
     }
     if ($html === NULL) {
         $html = (string) "<style type=\"text/css\">";
         $html .= "#buttons{padding:5px 30px;text-align:right;}";
         $html .= "#content{padding:10px 15px;text-align:left;}";
         $html .= "#tabs{background-color:#ebf0ea;}";
         $html .= "#tabImages{margin:0px auto;}";
         $html .= "#userProfile{background-color:#bccdba;font:13px/1.22 Arial,Helvetica,sans-serif;margin:0px;padding:0px;width:100%;}";
         $html .= ".lbl{color:#000;margin:2px 0px 19px;padding:0px;width:auto;}";
         $html .= ".lblcb{color:#000;margin-bottom:15px;margin-top:0px;padding:0px;width:auto;}";
         $html .= ".pc{display:inline-block;float:left;margin-right:15px;text-align:left;width:auto;}";
         $html .= ".tablImages{cursor:pointer;height:39px;padding:10px 15px;width:44px;}";
         $html .= ".tablImages:first-child{background-color:#FFF;}";
         $html .= "input,select,textarea{background-color:#FFF;border:1px solid #999;margin:0px 0px 15px;padding:0px;width:100%;}";
         $html .= "input[type=checkbox],input[type=radio]{width:auto;}";
         $html .= "textarea{height:54px;}";
         $html .= "</style>" . PHP_EOL;
         $html .= "<form enctype=\"multipart/form-data\" id=\"userProfile\" method=\"POST\">";
         if (isset($user) && isset($user["personid"])) {
             $html .= "<input name=\"personid\" type=\"hidden\" value=\"" . $user["personid"] . "\" />";
         }
         $html .= "<div id=\"tabs\"><span id=\"tabImages\">";
         ## Mouse Events
         $mouse_events = (string) "onclick=\"up.mouse(this, event);\" onmouseout=\"up.mouse(this, event);\" onmouseover=\"up.mouse(this, event);\"";
         $html .= "<img alt=\"profile\" class=\"tablImages\" " . $mouse_events . " src=\"" . BASE . "images/new/icon-profile.png\" />";
         $html .= "<img alt=\"communication\" class=\"tablImages\" " . $mouse_events . " src=\"" . BASE . "images/new/icon-communication.png\" />";
         $html .= "<img alt=\"login\" class=\"tablImages\" " . $mouse_events . " src=\"" . BASE . "images/new/icon-login.png\" />";
         if (isset($_SESSION["isit"]) && $_SESSION["isit"]) {
             $html .= "<img alt=\"flags\" class=\"tablImages\" " . $mouse_events . " src=\"" . BASE . "images/new/icon-flags.png\" />";
             $html .= "<img alt=\"accessgroups\" class=\"tablImages\" " . $mouse_events . " src=\"" . BASE . "images/new/icon-accessgroups.png\" />";
         }
         $html .= "</span></div>";
         $html .= "<div id=\"content\">";
         ## Profile
         $html .= "<div id=\"profile\">";
         $html .= "<span class=\"pc\">";
         ## labels
         $html .= "<label class=\"lbl\" for=\"staffno\">Staff Number</label><br />";
         $html .= "<label class=\"lbl\" for=\"firstname\">First name</label><br />";
         $html .= "<label class=\"lbl\" for=\"lastname\">Last name</label><br />";
         $html .= "<label class=\"lbl\" for=\"jobtitle\">Job Title</label><br />";
         $html .= "<label class=\"lbl\" for=\"department_id\" style=\"margin-bottom:21px;\">Department</label><br />";
         $html .= "<label class=\"lbl\" for=\"location\">Location</label><br />";
         $html .= "<label class=\"lbl\" for=\"day\" style=\"margin-bottom:21px;\">Birthday</label><br />";
         if (isset($_SESSION["isit"]) && $_SESSION["isit"]) {
             $html .= "<label class=\"lbl\" for=\"image_file\">Image</label><br />" . PHP_EOL;
         }
         $html .= "<label class=\"lbl\" for=\"fortune\" title=\"Would you like a fortune cookie to be displayed on each page?\">Fortune</label><br />";
         $html .= "<label class=\"lbl\" for=\"theme_id\">Theme</label><br />";
         $html .= "</span>";
         $html .= "<span class=\"pc\" style=\"margin-right:30px;text-align:left;width:32%;\">";
         ## inputs
         $html .= "<input id=\"staffno\" name=\"staffno\" " . (isset($record) && isset($record["staffno"]) ? "readonly=\"readonly\" " : "") . " type=\"text\" value=\"" . (isset($record) && isset($record["staffno"]) ? $record["staffno"] : "") . "\">";
         $html .= "<input id=\"firstname\" name=\"firstname\" type=\"text\" value=\"" . (isset($record) && isset($record["firstname"]) ? $record["firstname"] : "") . "\">";
         $html .= "<input id=\"lastname\" name=\"lastname\" type=\"text\" value=\"" . (isset($record) && isset($record["lastname"]) ? $record["lastname"] : "") . "\">";
         $html .= "<input id=\"jobtitle\" name=\"jobtitle\" type=\"text\" value=\"" . (isset($record) && isset($record["jobtitle"]) ? $record["jobtitle"] : "") . "\" />";
         $html .= "<select id=\"department_id\" name=\"department_id\">";
         $html .= "<option value=\"0\">Please select...</options>";
         foreach ($departments as $dept) {
             $html .= "<option value=\"" . $dept["id"] . "\"" . (isset($record) && isset($record["department_id"]) && $record["department_id"] == $dept["id"] ? " selected=\"selected\"" : "") . ">" . $dept["name"] . "</option>";
         }
         $html .= "</select>";
         $html .= "<select id=\"location\" name=\"location\">";
         foreach ($locations as $location) {
             $html .= "<option " . (isset($record) && isset($record["location"]) && $record["location"] == $location["name"] ? "selected=\"selected\" " : "") . "value=\"" . $location["name"] . "\">" . $location["name"] . "</option>";
         }
         $html .= "</select>";
         $html .= "<select id=\"day\" name=\"day\" style=\"float:left;margin-bottom:15px;margin-right:15px;width:60px;\">";
         $html .= "<option value=\"0\">Day</option>";
         for ($i = 1; $i < 32; $i++) {
             $html .= "<option " . (isset($record) && isset($record["birthday"]) && date("d", $record["birthday"]) == $i ? "selected=\"selected\" " : "") . "value=\"" . (strlen($i) == 1 ? "0" . $i : $i) . "\">" . (strlen($i) == 1 ? "0" . $i : $i) . "</option>";
         }
         $html .= "</select>";
         $html .= "<select id=\"month\" name=\"month\" style=\"float:left;width:120px;\">";
         $html .= "<option value=\"0\">Month</option>";
         for ($i = 1; $i < 13; $i++) {
             $html .= "<option " . (isset($record) && isset($record["birthday"]) && date("F", $record["birthday"]) == date("F", mktime(0, 0, 0, $i, 1, 2000)) ? "selected=\"selected\" " : "") . "value=\"" . date("m", mktime(0, 0, 0, $i, 1, 2000)) . "\">" . date("F", mktime(0, 0, 0, $i, 1, 2000)) . "</option>";
         }
         $html .= "</select>";
         if (isset($_SESSION["isit"]) && $_SESSION["isit"]) {
             $html .= "<input type=\"file\" id=\"image_file\" name=\"image\" size=\"15\" />";
         }
         $html .= "<input" . (isset($record) && isset($record["fortune"]) && $record["fortune"] ? " checked=\"checked\"" : "") . " id=\"fortune\" name=\"fortune\" type=\"checkbox\" value=\"1\" /><br class=\"clear\" />";
         $html .= "<input id=\"theme_id\" name=\"theme_id\" type=\"hidden\" value=\"" . (isset($record) && isset($record["theme_id"]) ? $record["theme_id"] : "") . "\"  />";
         $i = (int) 0;
         $html .= "<div>";
         foreach (is_array($themes) ? $themes : array() as $theme) {
             $html .= "<img alt=\"theme\" onclick=\"up.resetBorders(this);document.getElementById('theme_id').value='" . $theme["id"] . "';\" src=\"" . BASE . "images/new/themes/" . $theme["background-image"] . "\" style=\"border:1px solid #" . (isset($record) && isset($record["theme_id"]) && $record["theme_id"] === $theme["id"] ? "F00" : "000") . ";cursor:pointer;height:30px;margin:5px;width:30px;\" />";
             $i++;
             if ($i === 3) {
                 $i = 0;
                 $html .= "<br class=\"clear\" />";
             }
         }
         $html .= "</div><br class=\"clear\" >";
         $html .= "</span>";
         $html .= "<span class=\"pc\">";
         ## labels
         $html .= "<label class=\"lbl\" for=\"family\" style=\"margin-bottom:56px;\">Family</label><br class=\"clear\" />";
         $html .= "<label class=\"lbl\" for=\"goals\" style=\"margin-bottom:56px;\">Goals</label><br class=\"clear\" />";
         $html .= "<label class=\"lbl\" for=\"interests\" style=\"margin-bottom:56px;\">Interests</label><br class=\"clear\" />";
         $html .= "<label class=\"lbl\" for=\"aspirations\" style=\"margin-bottom:56px;\">Aspirations</label><br class=\"clear\" />";
         $html .= "<label class=\"lbl\" for=\"quote\" style=\"margin-bottom:56px;\">Quote</label><br class=\"clear\" />";
         $html .= "</span>";
         $html .= "<span class=\"pc\" style=\"width:32%;\">";
         ## inputs
         $html .= "<textarea id=\"family\" name=\"family\">" . ($record ? $record["family"] : "") . "</textarea><br class=\"clear\" />";
         $html .= "<textarea id=\"goals\" name=\"goals\">" . ($record ? $record["goals"] : "") . "</textarea><br />";
         $html .= "<textarea id=\"interests\" name=\"interests\">" . ($record ? $record["interests"] : "") . "</textarea><br />";
         $html .= "<textarea id=\"aspirations\" name=\"aspirations\">" . ($record ? $record["aspirations"] : "") . "</textarea><br />";
         $html .= "<textarea id=\"quote\" name=\"quote\">" . ($record ? $record["quote"] : "") . "</textarea><br />";
         $html .= "</span>";
         $html .= "<br class=\"clear\" /></div>";
         ## Communication
         $html .= "<div id=\"communication\" style=\"display:none;\">";
         $html .= "<span class=\"pc\">";
         ## labels
         $html .= "<label class=\"lbl\" for=\"extension\">Office extension</label><br />";
         $html .= "<label class=\"lbl\" for=\"cell\">Cellphone</label>";
         $html .= "</span>";
         $html .= "<span class=\"pc\" style=\"margin-right:30px;width:30%;\">";
         ## inputs
         $html .= "<input id=\"extension\" name=\"extension\" type=\"text\" value=\"" . (isset($user) && isset($user["extension"]) ? $user["extension"] : "") . "\" /><br style=\"clear:both;\" />";
         $html .= "<input id=\"cell\" name=\"cell\" type=\"text\" value=\"" . (isset($user) && isset($user["cell"]) ? $user["cell"] : "") . "\" /><br />";
         $html .= "</span>";
         $html .= "<span class=\"pc\">";
         ## labels
         $html .= "<label class=\"lbl\" for=\"email\">Email</label>";
         $html .= "</span>";
         $html .= "<span class=\"pc\" style=\"width:37.4%;\">";
         ## inputs
         $html .= "<input id=\"email\" name=\"email\" type=\"email\" value=\"" . $user["email"] . "\" /><br />";
         $html .= "</span>";
         $html .= "<br class=\"clear\" /></div>";
         ## Login
         $html .= "<div id=\"login\" style=\"display:none;\">";
         $html .= "<span class=\"pc\">";
         ## labels
         $html .= "<label class=\"lbl\" for=\"username\">Username</label>";
         $html .= "</span>";
         $html .= "<span class=\"pc\" style=\"margin-right:30px;width:32%;\">";
         ## inputs
         $html .= "<input id=\"username\" name=\"username\" type=\"text\" value=\"" . (isset($user) && isset($user["username"]) ? $user["username"] : "") . "\" />";
         $html .= "</span>";
         $html .= "<span class=\"pc\">";
         ## labels
         $html .= "<label class=\"lbl\" for=\"password\">Password</label><br />";
         $html .= "<label class=\"lbl\" for=\"con_pass\">Confirm password</label>";
         $html .= "</span>";
         $html .= "<span class=\"pc\" style=\"width:29%;\">";
         ## inputs
         $html .= "<input id=\"password\" name=\"password\" type=\"password\" /><br />";
         $html .= "<input id=\"con_pass\" onblur=\"formManipulators.checkPasswordIdentical('password', 'con_pass');\" type=\"password\" />";
         $html .= "</span>";
         $html .= "<br class=\"clear\" /></div>";
         if (isset($_SESSION["isit"]) && $_SESSION["isit"]) {
             ## Flags
             $cols = (array) array();
             $i = (int) 0;
             foreach ($metaData as $col => $data) {
                 if ($col == "isadmin") {
                     continue;
                 }
                 if (in_array($data["Type"], array("int(1)", "tinyint(1)"))) {
                     $cols[$i][$col] = $data;
                     $i++;
                     if ($i === 3) {
                         $i = 0;
                     }
                 }
             }
             $html .= "<div id=\"flags\" style=\"display:none;\">";
             $html .= "<span class=\"pc\">";
             ## inputs
             foreach (is_array($cols[0]) ? $cols[0] : array() as $col => $data) {
                 $html .= "<input" . (isset($user) && isset($user[$col]) && $user[$col] ? " checked=\"checked\"" : "") . " id=\"" . $col . "\" name=\"" . $col . "\" style=\"float:left;margin-bottom:15px;\" type=\"checkbox\" value=\"1\" /><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\" style=\"width:25%;\">";
             ## labels
             foreach (is_array($cols[0]) ? $cols[0] : array() as $col => $data) {
                 $html .= "<label class=\"lblcb\" for=\"" . $col . "\">" . $col . "</label><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\">";
             ## inputs
             foreach (is_array($cols[1]) ? $cols[1] : array() as $col => $data) {
                 $html .= "<input" . (isset($user) && isset($user[$col]) && $user[$col] ? " checked=\"checked\"" : "") . " id=\"" . $col . "\" name=\"" . $col . "\" style=\"float:left;margin-bottom:15px;\" type=\"checkbox\" value=\"1\" /><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\" style=\"width:25%;\">";
             ## labels
             foreach (is_array($cols[1]) ? $cols[1] : array() as $col => $data) {
                 $html .= "<label class=\"lblcb\" for=\"" . $col . "\">" . $col . "</label><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\">";
             ## inputs
             foreach (is_array($cols[2]) ? $cols[2] : array() as $col => $data) {
                 $html .= "<input" . (isset($user) && isset($user[$col]) && $user[$col] ? " checked=\"checked\"" : "") . " id=\"" . $col . "\" name=\"" . $col . "\" style=\"float:left;margin-bottom:15px;\" type=\"checkbox\" value=\"1\" /><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\" style=\"width:25%;\">";
             ## labels
             foreach (is_array($cols[2]) ? $cols[2] : array() as $col => $data) {
                 $html .= "<label class=\"lblcb\" for=\"" . $col . "\">" . $col . "</label><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<br class=\"clear\" /></div>";
             ## Access groups
             $cols = (array) array();
             $i = (int) 0;
             foreach ($rights_groups as $grp) {
                 $cols[$i][] = $grp;
                 $i++;
                 if ($i === 3) {
                     $i = 0;
                 }
             }
             $html .= "<div id=\"accessgroups\" style=\"display:none;\">";
             $html .= "<span class=\"pc\">";
             ## inputs
             foreach (is_array($cols[0]) ? $cols[0] : array() as $key => $data) {
                 $checked = (bool) false;
                 if (isset($user["children"]["rights_users"]) && is_array($user["children"]["rights_users"])) {
                     foreach ($user["children"]["rights_users"] as $right) {
                         if ($right['groupid'] == $data["id"]) {
                             $checked = true;
                             break;
                         }
                     }
                 }
                 $html .= "<input" . ($checked ? " checked=\"checked\"" : "") . " id=\"" . $data["id"] . "\" name=\"group[" . $data["id"] . "]\" style=\"float:left;margin-bottom:15px;\" type=\"checkbox\" value=\"" . $data["id"] . "\" /><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\" style=\"width:25%;\">";
             ## labels
             foreach (is_array($cols[0]) ? $cols[0] : array() as $key => $data) {
                 $html .= "<label class=\"lblcb\" for=\"" . $data["id"] . "\" title=\"" . $data["description"] . "\">" . $data["name"] . "</label><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\">";
             ## inputs
             foreach (is_array($cols[1]) ? $cols[1] : array() as $key => $data) {
                 $checked = (bool) false;
                 if (isset($user["children"]["rights_users"]) && is_array($user["children"]["rights_users"])) {
                     foreach ($user["children"]["rights_users"] as $right) {
                         if ($right['groupid'] == $data["id"]) {
                             $checked = true;
                             break;
                         }
                     }
                 }
                 $html .= "<input" . ($checked ? " checked=\"checked\"" : "") . " id=\"" . $data["id"] . "\" name=\"group[" . $data["id"] . "]\" style=\"float:left;margin-bottom:15px;\" type=\"checkbox\" value=\"" . $data["id"] . "\" /><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\" style=\"width:25%;\">";
             ## labels
             foreach (is_array($cols[1]) ? $cols[1] : array() as $key => $data) {
                 $html .= "<label class=\"lblcb\" for=\"" . $data["id"] . "\" title=\"" . $data["description"] . "\">" . $data["name"] . "</label><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\">";
             ## inputs
             foreach (is_array($cols[2]) ? $cols[2] : array() as $key => $data) {
                 $checked = (bool) false;
                 if (isset($user["children"]["rights_users"]) && is_array($user["children"]["rights_users"])) {
                     foreach ($user["children"]["rights_users"] as $right) {
                         if ($right['groupid'] == $data["id"]) {
                             $checked = true;
                             break;
                         }
                     }
                 }
                 $html .= "<input" . ($checked ? " checked=\"checked\"" : "") . " id=\"" . $data["id"] . "\" name=\"group[" . $data["id"] . "]\" style=\"float:left;margin-bottom:15px;\" type=\"checkbox\" value=\"" . $data["id"] . "\" /><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<span class=\"pc\" style=\"width:25%;\">";
             ## labels
             foreach (is_array($cols[2]) ? $cols[2] : array() as $key => $data) {
                 $html .= "<label class=\"lblcb\" for=\"" . $data["id"] . "\" title=\"" . $data["description"] . "\">" . $data["name"] . "</label><br class=\"clear\" />";
             }
             $html .= "</span>";
             $html .= "<br class=\"clear\" /></div>";
         }
         $html .= "<br class=\"clear\" /></div>";
         $html .= "<div id=\"buttons\">";
         $html .= "<span class=\"button\" onclick=\"document.getElementById('userProfile').submit();\" style=\"height:26px;padding-top:8px;width:114px;\">Save</span>";
         $html .= "<span class=\"button\" onclick=\"document.location='/';\" style=\"height:26px;padding-top:8px;width:114px;\">Cancel</span>";
         $html .= "</div>";
         $html .= "</form>" . PHP_EOL;
         $html .= "<script type=\"text/javascript\">";
         $html .= "var up={};";
         $html .= "up.mouse = function(e, ev) {";
         $html .= "var i,p1=e.parentNode,p2=document.getElementById('content');";
         $html .= "if (!ev) {var ev = window.event;} if (!ev) {return false;}";
         $html .= "switch (ev.type) {";
         $html .= "case 'click': ";
         $html .= "for (i=0;i<p1.childNodes.length;i++){p1.childNodes[i].style.backgroundColor='inherit';if (p1.childNodes[i].getAttribute('alt') == e.getAttribute('alt')) {e.setAttribute('obg', '#FFF');e.style.backgroundColor='#FFF';}} ";
         $html .= "for (i=0;i<p2.childNodes.length;i++) {p2.childNodes[i].style.display='none';}";
         $html .= "document.getElementById(e.getAttribute('alt')).style.display='';";
         $html .= "break;";
         $html .= "case 'mouseout': e.style.backgroundColor=e.getAttribute('obg'); break;";
         $html .= "case 'mouseover': e.setAttribute('obg', e.style.backgroundColor);e.style.backgroundColor='#FFF'; break;";
         $html .= "}";
         $html .= "};";
         $html .= "up.resetBorders = function(e){";
         $html .= "var i,p=e.parentNode;";
         $html .= "for(i=0;i<p.childNodes.length;i++){p.childNodes[i].style.borderColor='#000';}";
         $html .= "e.style.borderColor='#F00';";
         $html .= "};";
         $html .= "</script>" . PHP_EOL;
         //$html .= "";
     }
     $this->_html = $html;
 }
 /** Scaffold_Forms_User_profiles::setHtml($html = null)
  * @param string $html HTML form definition
  */
 public function setHtml($html = null)
 {
     if ($html === null) {
         ## Preparation
         $record = self::getRecord();
         if (is_object("TableManager") === false) {
             include_once BASE . DIRECTORY_SEPARATOR . "basefunctions" . DIRECTORY_SEPARATOR . "baseapis" . DIRECTORY_SEPARATOR . "TableManager.php";
         }
         $tableManager = new TableManager("m3_departments");
         $departments = $tableManager->selectMultiple();
         $sql = (string) "SELECT * FROM `themes` WHERE (ISNULL(`deleted`) OR `deleted`=0)";
         $themes = $tableManager->runSql($sql);
         $users = new TableManager("users");
         $metaData = $users->getMetaData();
         if ($record) {
             $users->setChildRecords(true);
             $users->setChildTables(array(0 => array("rights_users" => "rights_users", "where" => "`rights_users`.`userid`=?")));
             $users->setWhere($users->quoteString("`users`.`user_profiles_id`=?", (int) $record["id"]));
             $user = $users->selectSingle();
         }
         $sql = (string) "SELECT * FROM `rights_groups` WHERE 1=1;";
         $rights_groups = $users->runSql($sql);
         ## End
         $html = (string) "<form enctype=\"multipart/form-data\" method=\"POST\">" . PHP_EOL;
         $html .= "<div style=\"width:800px;\">" . PHP_EOL;
         $html .= "<div style=\"text-align:center;\">" . PHP_EOL;
         $html .= "<input type=\"submit\" value=\"Save\" style=\"background-color:transparent;background-image:url(" . BASE . "images/new/button.png);border:none;height:34px;width:114px;\" />" . PHP_EOL;
         $html .= "</div>" . PHP_EOL;
         ## Profile details
         $html .= "<fieldset style=\"width:730px;\">";
         $html .= "<legend>Profile details</legend>";
         $html .= "<div style=\"border:none;float:left;width:49%;\">";
         $html .= "<label for=\"staffno\" style=\"color:#000;width:150px;\">Staff Number</label>" . PHP_EOL;
         $html .= "<input id=\"staffno\" name=\"staffno\" " . ($record["staffno"] ? "readonly=\"readonly\" " : "") . "type=\"text\" value=\"" . ($record["staffno"] ? $record["staffno"] : "") . "\"><br style=\"clear:both;\" />" . PHP_EOL;
         $html .= "<label for=\"firstname\" style=\"color:#000;width:150px;\">First name</label>" . PHP_EOL;
         $html .= "<input id=\"firstname\" name=\"firstname\" type=\"text\" value=\"" . ($record["firstname"] ? $record["firstname"] : "") . "\"><br />" . PHP_EOL;
         $html .= "<label for=\"day\" style=\"color:#000;width:150px;\">Birthday</label>" . PHP_EOL;
         $html .= "<select id=\"day\" name=\"day\" style=\"float:left;margin-bottom:5px;width:50px;\">";
         $html .= "<option value=\"0\">Day</option>" . PHP_EOL;
         for ($i = 1; $i < 32; $i++) {
             $html .= "<option " . ($record["birthday"] && date("d", $record["birthday"]) == $i ? "selected=\"selected\" " : "") . "value=\"" . (strlen($i) == 1 ? "0" . $i : $i) . "\">" . (strlen($i) == 1 ? "0" . $i : $i) . "</option>";
         }
         $html .= "</select>";
         $html .= "<select id=\"month\" name=\"month\" style=\"float:left;width:120px;\">";
         $html .= "<option value=\"0\">Month</option>" . PHP_EOL;
         for ($i = 1; $i < 13; $i++) {
             $html .= "<option " . ($record["birthday"] && date("F", $record["birthday"]) == date("F", mktime(0, 0, 0, $i, 1, 2000)) ? "selected=\"selected\" " : "") . "value=\"" . date("m", mktime(0, 0, 0, $i, 1, 2000)) . "\">" . date("F", mktime(0, 0, 0, $i, 1, 2000)) . "</option>";
         }
         $html .= "</select><br style=\"clear:both;\" />";
         $html .= "<label for=\"department_id\" style=\"color:#000;width:150px\">Department</label>" . PHP_EOL;
         $html .= "<select id=\"department_id\" name=\"department_id\">" . PHP_EOL;
         $html .= "<option value=\"0\">Please select...</options>" . PHP_EOL;
         foreach ($departments as $dept) {
             $html .= "<option value=\"" . $dept["id"] . "\"" . ($record && $record["department_id"] == $dept["id"] ? " selected=\"selected\"" : "") . ">" . $dept["name"] . "</option>" . PHP_EOL;
         }
         $html .= "</select><br class=\"clear\" />" . PHP_EOL;
         $locations = (array) array(0 => array("name" => "Head Office"), 1 => array("name" => "Durban"), 2 => array("name" => "Empangeni"), 3 => array("name" => "East London"), 4 => array("name" => "Kokstad"), 5 => array("name" => "Pietermaritzburg"), 6 => array("name" => "Newcastle"), 7 => array("name" => "Vanderbijl Park"), 8 => array("name" => "Isando"), 9 => array("name" => "Germiston"));
         $html .= "<label for=\"location\" style=\"color:#000;width:150px;\">Location</label>" . PHP_EOL;
         $html .= "<select id=\"location\" name=\"location\" style=\"float:left;width:165px;\">" . PHP_EOL;
         foreach ($locations as $location) {
             $html .= "<option " . ($record["location"] && $record["location"] == $location["name"] ? "selected=\"selected\" " : "") . "value=\"" . $location["name"] . "\">" . $location["name"] . "</option>" . PHP_EOL;
         }
         $html .= "</select><br class=\"clear\" />" . PHP_EOL;
         $html .= "<label for=\"interests\" style=\"color:#000;\">Interests</label>" . PHP_EOL;
         $html .= "<textarea id=\"interests\" name=\"interests\">" . ($record ? $record["interests"] : "") . "</textarea><br />" . PHP_EOL;
         $html .= "<label for=\"aspirations\" style=\"color:#000;\">Aspirations</label>" . PHP_EOL;
         $html .= "<textarea id=\"aspirations\" name=\"aspirations\">" . ($record ? $record["aspirations"] : "") . "</textarea><br />" . PHP_EOL;
         $html .= "<label for=\"quote\" style=\"color:#000;\">Quote</label>" . PHP_EOL;
         $html .= "<textarea id=\"quote\" name=\"quote\">" . ($record ? $record["quote"] : "") . "</textarea><br />" . PHP_EOL;
         $html .= "</div>";
         $html .= "<div style=\"border:none;float:left;width:49%;\">";
         $html .= "<label for=\"image_file\" style=\"color:#000;width:150px;\">Image</label>" . PHP_EOL;
         $html .= "<input type=\"file\" id=\"image_file\" name=\"image\" /><br />" . PHP_EOL;
         $html .= "<label for=\"lastname\" style=\"color:#000;width:150px;\">Last name</label>" . PHP_EOL;
         $html .= "<input id=\"lastname\" name=\"lastname\" type=\"text\" value=\"" . ($record["lastname"] ? $record["lastname"] : "") . "\"><br class=\"clear\" /><br /><br />" . PHP_EOL;
         $html .= "<label for=\"jobtitle\" style=\"color:#000;width:150px\">Job Title</label>" . PHP_EOL;
         $html .= "<input type=\"text\" id=\"jobtitle\" name=\"jobtitle\" value=\"" . ($record ? $record["jobtitle"] : "") . "\" /><br />" . PHP_EOL;
         $html .= "<label for=\"family\" style=\"color:#000;\">Family</label>" . PHP_EOL;
         $html .= "<textarea id=\"family\" name=\"family\">" . ($record ? $record["family"] : "") . "</textarea><br />" . PHP_EOL;
         $html .= "<label for=\"goals\" style=\"color:#000;\">Goals</label>" . PHP_EOL;
         $html .= "<textarea id=\"goals\" name=\"goals\">" . ($record ? $record["goals"] : "") . "</textarea><br />" . PHP_EOL;
         $html .= "</div>";
         $html .= "</fieldset>";
         ## User details
         $html .= "<fieldset style=\"width:730px;\">";
         $html .= "<legend>User details</legend>";
         $html .= "<div style=\"float:left;width:49%;\">";
         $html .= "<fieldset style=\"border:none;\">";
         $html .= "<legend>Communication</legend>";
         $html .= "<label for=\"extension\" style=\"color:#000;width:150px;\">Office extension</label>";
         $html .= "<input id=\"extension\" name=\"extension\" type=\"text\" value=\"" . $user["extension"] . "\" /><br />";
         $html .= "<label for=\"cell\" style=\"color:#000;width:150px;\">Cellphone</label>";
         $html .= "<input id=\"cell\" name=\"cell\" type=\"text\" value=\"" . $user["cell"] . "\" /><br />";
         $html .= "<label for=\"email\" style=\"color:#000;width:150px;\">Email</label>";
         $html .= "<input id=\"email\" name=\"email\" type=\"email\" value=\"" . $user["email"] . "\" /><br />";
         $html .= "</fieldset>";
         $html .= "<fieldset style=\"border:none;\">";
         $html .= "<legend>Login and Password</legend>";
         if ($user) {
             $html .= "<input id=\"personid\" name=\"personid\" type=\"hidden\" value=\"" . $user["personid"] . "\" />";
         }
         $html .= "<label for=\"username\" style=\"color:#000;width:150px;\">Username</label>";
         $html .= "<input id=\"username\" name=\"username\"" . (isset($user) ? "" : " onblur=\"check.checkUsernameAvailability(this);\"") . " type=\"text\" value=\"" . $user["username"] . "\" /><br />";
         $html .= "<label for=\"pass\" style=\"color:#000;width:150px;\">Password</label>";
         $html .= "<input id=\"pass\" name=\"password\" type=\"password\" /><br />";
         $html .= "<label for=\"conpass\" style=\"color:#000;width:150px;\">Confirm password</label>";
         $html .= "<input id=\"conpass\" name=\"conpass\" type=\"password\" onblur=\"formManipulators.checkPasswordIdentical('pass', 'conpass')\" /><br />";
         $html .= "</fieldset>";
         $html .= "</div>";
         $html .= "<div style=\"float:left;width:49%;\">";
         $html .= "<fieldset style=\"border:none;\">";
         $html .= "<legend>Flags</legend>";
         if ($_SESSION["isit"]) {
             foreach ($metaData as $col => $data) {
                 if ($col == "isadmin") {
                     continue;
                 }
                 if (in_array($data["Type"], array("int(1)", "tinyint(1)"))) {
                     $html .= "<input" . ($user && $user[$col] ? " checked=\"checked\"" : "") . " id=\"" . $col . "\" name=\"" . $col . "\" type=\"checkbox\" value=\"1\" />";
                     $html .= "<label for=\"" . $col . "\" style=\"color:#000;\">" . $col . "</label><br />";
                 }
             }
         } else {
             $html .= "Cannot set access flags. Please see IT dept. to change";
         }
         $html .= "</fieldset>";
         $html .= "<fieldset style=\"border:none;\">";
         $html .= "<legend>Access Groups</legend>";
         if ($_SESSION["isit"]) {
             foreach ($rights_groups as $grp) {
                 $checked = (bool) false;
                 if (isset($user["children"]["rights_users"]) && is_array($user["children"]["rights_users"])) {
                     foreach ($user["children"]["rights_users"] as $right) {
                         if ($right['groupid'] == $grp["id"]) {
                             $checked = true;
                             break;
                         }
                     }
                 }
                 $html .= "<input" . ($checked ? " checked=\"checked\"" : "") . " id=\"" . $grp["id"] . "\" name=\"group[" . $grp["id"] . "]\" type=\"checkbox\" value=\"" . $grp["id"] . "\" />";
                 $html .= "<label for=\"" . $grp["id"] . "\" style=\"color:#000;\">" . $grp["name"] . "</label><br />";
             }
         } else {
             $html .= "Cannot set access flags. Please see IT dept. to change";
         }
         $html .= "</fieldset>";
         $html .= "</div>";
         $html .= "</fieldset>";
         $html .= "<div style=\"text-align:center;\">" . PHP_EOL;
         $html .= "<input type=\"submit\" value=\"Save\" style=\"background-color:transparent;background-image:url(" . BASE . "images/new/button.png);border:none;height:34px;width:114px;\" />" . PHP_EOL;
         $html .= "</div>" . PHP_EOL;
         $html .= "</div>" . PHP_EOL;
         $html .= "</form>" . PHP_EOL;
         //$html .= "<iframe id=\"targetFrame\" name=\"targetFrame\"></iframe>".PHP_EOL;
         $html .= "<iframe id=\"targetFrame\" name=\"targetFrame\" style=\"display:none;\"></iframe>" . PHP_EOL;
         $html .= "<script type=\"text/javascript\">" . PHP_EOL;
         $html .= "function selectTheme(elem) {\n\t\t  for (var i=0; i<document.getElementById('profileTheme').getElementsByTagName('IMG').length;i++) {\n\t\t  document.getElementById('profileTheme').getElementsByTagName('IMG')[i].style.border='none';\n\t\t  } \n\t\t  elem.style.border='1px solid #000';\n\t\t  }" . PHP_EOL;
         $html .= "</script>" . PHP_EOL;
     }
     $this->_html = $html;
 }
/** getFleetBudgetDays($fleet, $startDate = NULL, $stopDate = NULL)
 * get the number of days that fleet $fleet has a budget for
 * @param INT $fleet Fleet ID
 * @param INT $startDate when do we start
 * @param INT $stopDate when do we stop
 * @return INT number of days on success FALSE otherwise
 */
function getFleetBudgetDays($fleet, $startDate = NULL, $stopDate = NULL)
{
    //: Tests
    if (is_int($fleet) === FALSE) {
        return FALSE;
    }
    if (is_int($startDate) === FALSE) {
        $startDate = mktime(0, 0, 0, date("m"), 1, date("Y"));
    }
    if (is_int($stopDate) === FALSE) {
        $stopDate = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    }
    //: End
    //: Function Content
    $manager = new TableManager("fleet_scores");
    $sql = (string) "SELECT * FROM `fleet_scores` WHERE ";
    $sql .= $manager->quoteString("`fleetid`=?", (int) $fleet);
    $sql .= $manager->quoteString(" AND `date`>=?", $startDate);
    $sql .= $manager->quoteString(" AND `date`<=?", $stopDate);
    if (($results = $manager->runSql($sql)) === FALSE) {
        return FALSE;
    }
    $day = (int) 0;
    foreach ($results as $val) {
        if (isset($val["budget"]) && $val["budget"] > 0) {
            $day++;
        }
    }
    return $day;
    //: End
}