Exemplo n.º 1
0
 public static function processUser()
 {
     $engine = EngineAPI::singleton();
     $username = sessionGet('username');
     $sqlSelect = sprintf("SELECT * FROM users WHERE username='******' LIMIT 1", $engine->openDB->escape($username));
     $sqlResult = $engine->openDB->query($sqlSelect);
     if (!$sqlResult['result']) {
         errorHandle::newError(__METHOD__ . "() - Failed to lookup user ({$sqlResult['error']})", errorHandle::HIGH);
         return FALSE;
     } else {
         if (!$sqlResult['numRows']) {
             // No user found, add them!
             $sqlInsert = sprintf("INSERT INTO users (username) VALUES('%s')", $engine->openDB->escape($username));
             $sqlResult = $engine->openDB->query($sqlInsert);
             if (!$sqlResult['result']) {
                 errorHandle::newError(__METHOD__ . "() - Failed to insert new user ({$sqlResult['error']})", errorHandle::DEBUG);
                 return FALSE;
             } else {
                 $sqlResult = $engine->openDB->query($sqlSelect);
                 self::$user = mysql_fetch_assoc($sqlResult['result']);
             }
         } else {
             self::$user = mysql_fetch_assoc($sqlResult['result']);
         }
     }
     return TRUE;
 }
Exemplo n.º 2
0
 public static function saveSession()
 {
     $engine = EngineAPI::singleton();
     $localvars = localvars::getInstance();
     $db = db::get($localvars->get('dbConnectionName'));
     $sql = "INSERT INTO `session`(username,sessionPages,ipAddr) VALUES(?,?,?)";
     $validate = new validate();
     $username = session::get('username');
     $pages = session::get('loggedPages');
     $pages = dbSanitize(implode(',', $pages));
     $ip = $_SERVER['REMOTE_ADDR'];
     $sqlArray = array($username, $pages, $ip);
     $db->beginTransaction();
     try {
         $sqlResult = $db->query($sql, $sqlArray);
         if ($sqlResult->error()) {
             throw new Exception("ERROR SQL" . $sqlResult->errorMsg());
         }
         $db->commit();
     } catch (Exception $e) {
         $db->rollback();
         $localvars->set('feedback', $e->getMessage());
         errorHandle::errorMsg($e->getMessage());
     }
 }
Exemplo n.º 3
0
function displayMessages()
{
    $engine = EngineAPI::singleton();
    if (is_empty($engine->errorStack)) {
        return FALSE;
    }
    return '<section><header><h1>Results</h1></header>' . errorHandle::prettyPrint() . '</section>';
}
Exemplo n.º 4
0
 /**
  * Class constructor
  *
  * @author David Gersting
  * @param string $configFile The config file to load
  */
 private function __construct($configFile)
 {
     self::$engine = EngineAPI::singleton();
     self::$mfcsRoot = realpath(__DIR__ . '/../..');
     // Load config file
     if (is_null($configFile)) {
         $configFile = self::$mfcsRoot . '/config.ini';
     }
     if (is_readable($configFile)) {
         self::$config = parse_ini_file($configFile);
     }
     // Process the logged in user
     users::processUser();
 }
Exemplo n.º 5
0
 public static function getAllObjectProjects($objectID)
 {
     $engine = EngineAPI::singleton();
     $sql = sprintf("SELECT projectID FROM `objectProjects` WHERE `objectID`='%s'", $engine->openDB->escape($objectID));
     $sqlResult = $engine->openDB->query($sql);
     if (!$sqlResult['result']) {
         errorHandle::newError(__METHOD__ . "() - : " . $sqlResult['error'], errorHandle::DEBUG);
         return FALSE;
     }
     $projects = array();
     while ($row = mysql_fetch_array($sqlResult['result'], MYSQL_ASSOC)) {
         if (($projects[] = self::get($row['projectID'])) === FALSE) {
             return FALSE;
         }
     }
     return $projects;
 }
 public function setupForm($id = null)
 {
     try {
         // call engine
         $engine = EngineAPI::singleton();
         $localvars = localvars::getInstance();
         $validate = new validate();
         // create customer form
         $form = formBuilder::createForm('TimeTracker');
         $form->linkToDatabase(array('table' => 'timeTracking'));
         if (!is_empty($_POST) || session::has('POST')) {
             $processor = formBuilder::createProcessor();
             $processor->processPost();
         }
         // form titles
         $form->insertTitle = "";
         $form->editTitle = "";
         $form->updateTitle = "";
         // if no valid id throw an exception
         if (!$validate->integer($id) && !isnull($id)) {
             throw new Exception(__METHOD__ . '() - Not a valid integer, please check the integer and try again.');
         }
         // form information
         $form->addField(array('name' => 'timeID', 'type' => 'hidden', 'value' => $id, 'primary' => TRUE, 'fieldClass' => 'id', 'showIn' => array(formBuilder::TYPE_INSERT, formBuilder::TYPE_UPDATE)));
         $form->addField(array('name' => 'projectIdLink', 'type' => 'hidden', 'label' => 'Project ID:', 'required' => TRUE, 'fieldClass' => 'projectID'));
         $form->addField(array('name' => 'customerIdLink', 'type' => 'hidden', 'label' => 'Customer ID:', 'fieldClass' => 'customerID', 'required' => TRUE));
         $form->addField(array('name' => 'startTime', 'type' => 'hidden', 'label' => 'start time:', 'fieldClass' => 'startTime', 'required' => TRUE));
         $form->addField(array('name' => 'endTime', 'type' => 'hidden', 'label' => 'end time:', 'fieldClass' => 'endTime', 'required' => TRUE));
         $form->addField(array('name' => 'totalHours', 'type' => 'hidden', 'label' => 'total time:', 'required' => TRUE, 'fieldClass' => 'totalHours'));
         $form->addField(array('name' => "completed", 'label' => "Has this project been completed?", 'showInEditStrip' => TRUE, 'type' => 'boolean', 'duplicates' => TRUE, 'options' => array("YES", "N0")));
         $form->addField(array('name' => "descriptionOfWork", 'label' => "Enter a description of the project:", 'type' => 'textarea'));
         // buttons and submissions
         $form->addField(array('showIn' => array(formBuilder::TYPE_UPDATE), 'name' => 'update', 'type' => 'submit', 'fieldClass' => 'submit', 'value' => 'Update'));
         $form->addField(array('showIn' => array(formBuilder::TYPE_UPDATE), 'name' => 'delete', 'type' => 'delete', 'fieldClass' => 'delete hidden', 'value' => 'Delete'));
         $form->addField(array('showIn' => array(formBuilder::TYPE_INSERT), 'name' => 'insert', 'type' => 'submit', 'fieldClass' => 'submit', 'value' => 'Submit'));
         return '{form name="TimeTracker" display="form"}';
     } catch (Exception $e) {
         errorHandle::errorMsg($e->getMessage());
     }
 }
Exemplo n.º 7
0
 public static function numCompleted($user)
 {
     $engine = EngineAPI::singleton();
     $localvars = localvars::getInstance();
     $db = db::get($localvars->get('dbConnectionName'));
     $sql = "SELECT * FROM `completed` WHERE username=?";
     $sqlArray = array(dbSanitize($user));
     $sqlResult = $db->query($sql, $sqlArray);
     if ($sqlResult->error()) {
         return false;
     } else {
         return $sqlResult->rowCount();
     }
 }
<?php

// path to my engineAPI install
require_once '/home/timeTracker/phpincludes/engine/engineAPI/4.0/engine.php';
$engine = EngineAPI::singleton();
// Setup Error Rorting
errorHandle::errorReporting(errorHandle::E_ALL);
// Setup Database Information for Vagrant
$databaseOptions = array('username' => 'username', 'password' => 'password', 'dbName' => 'test');
$db = db::create('mysql', $databaseOptions, 'appDB');
// Set localVars and engineVars variables
$localvars = localvars::getInstance();
$enginevars = enginevars::getInstance();
if (EngineAPI::VERSION >= "4.0") {
    $localvars = localvars::getInstance();
    $localvarsFunction = array($localvars, 'set');
} else {
    $localvarsFunction = array("localvars", "add");
}
// include base variables
recurseInsert("includes/vars.php", "php");
// load a template to use
templates::load('timeTemplate');
Exemplo n.º 9
0
 public static function addProjects($formID, $projects)
 {
     if (!is_array($projects)) {
         return FALSE;
     }
     $engine = EngineAPI::singleton();
     $result = $engine->openDB->transBegin("objectProjects");
     foreach ($projects as $projectID) {
         if (self::addProject($formID, $projectID) === FALSE) {
             $engine->openDB->transRollback();
             $engine->openDB->transEnd();
             return FALSE;
         }
     }
     $engine->openDB->transCommit();
     $engine->openDB->transEnd();
     return TRUE;
 }
Exemplo n.º 10
0
 /**
  * =========================================================
  * Checks logic for searching if user email is in the system
  * this will help to provide a way to make sure that users
  * are not duplicated in the system.
  * =========================================================
  **/
 public static function checkEmail($email)
 {
     $engine = EngineAPI::singleton();
     $localvars = localvars::getInstance();
     $db = db::get($localvars->get('dbConnectionName'));
     $sql = "SELECT `email` FROM `users` WHERE `email`=? LIMIT=1";
     $email = dbSanitize($email);
     $sqlResult = $db->query($sql, array($email));
     try {
         if ($sqlResult->error()) {
             throw new Exception("Error Getting Entries");
         }
         if ($sqlResult->rowCount() < 1) {
             return false;
         } else {
             return true;
         }
     } catch (Exception $e) {
         errorHandle::errorMsg($e->getMessage());
     }
 }
 public function getCustomerProjectsJSON($customerID)
 {
     try {
         // call engine
         $engine = EngineAPI::singleton();
         $localvars = localvars::getInstance();
         $db = db::get($localvars->get('dbConnectionName'));
         $sql = "SELECT * FROM `projects`";
         $validate = new validate();
         // test to see if Id is present and valid
         if (!isnull($customerID) && $validate->integer($customerID)) {
             $sql .= sprintf('WHERE customerID = %s', $customerID);
         }
         // if no valid id throw an exception
         if (!$validate->integer($customerID) && !isnull($customerID)) {
             throw new Exception("An invalid ID was given!");
         }
         // get the results of the query
         $sqlResult = $db->query($sql);
         // if return no results
         // else return the data
         if ($sqlResult->rowCount() < 1) {
             return "There are no projects in the database.";
         } else {
             $data = array();
             while ($row = $sqlResult->fetch()) {
                 $data[] = $row;
             }
             return json_encode($data);
         }
     } catch (Exception $e) {
         errorHandle::errorMsg($e->getMessage());
     }
 }
Exemplo n.º 12
0
 /**
  * Display a list, with optional links, of children for a given object
  *
  * @param string $objectID The ID of the object
  * @return string|bool
  * @author Scott Blake
  **/
 public static function generateChildList($objectID, $link = TRUE)
 {
     if (!validate::integer($objectID)) {
         return FALSE;
     }
     $engine = EngineAPI::singleton();
     if (($children = objects::getChildren($objectID)) === FALSE) {
         return FALSE;
     }
     $output = '';
     foreach ($children as $child) {
         $form = forms::get($child['formID']);
         $output .= sprintf('<li>%s%s%s</li>', $link === TRUE ? '<a href="?objectID=' . $child['ID'] . '">' : "", htmlSanitize($child['data'][$form['objectTitleField']]), $link === TRUE ? '</a>' : "");
     }
     return $output;
 }
 public function renderDataTable()
 {
     try {
         $engine = EngineAPI::singleton();
         $localvars = localvars::getInstance();
         $validate = new validate();
         $dataRecord = self::getRecords();
         $records = "";
         foreach ($dataRecord as $data) {
             $records .= sprintf("<tr>\n                                        <td>%s</td>\n                                        <td>%s</td>\n                                        <td>%s</td>\n                                        <td>%s</td>\n                                        <td>%s</td>\n                                        <td>%s</td>\n                                        <td><a href='customers/edit/%s'><span class='glyphicon glyphicon-edit'></span> </a></td>\n                                        <td><a href='customers/confirmDelete/%s'> <span class='glyphicon glyphicon-trash'></span> </a></td>\n                                    </tr>", $data['companyName'], $data['firstName'], $data['lastName'], $data['email'], $data['phone'], $data['website'], $data['ID'], $data['ID']);
         }
         $output = sprintf("<div class='dataTable table-responsive'>\n                                        <table class='table table-striped'>\n                                            <thead>\n                                                <tr class='info'>\n                                                    <th> Company Name </th>\n                                                    <th> First name </th>\n                                                    <th> Last Name </th>\n                                                    <th> Email </th>\n                                                    <th> Phone Number </th>\n                                                    <th> Website </th>\n                                                    <th> </th>\n                                                    <th> </th>\n                                                </tr>\n                                            </thead>\n                                            <tbody>\n                                                %s\n                                            </tbody>\n                                        </table>\n                                    </div>", $records);
         return $output;
     } catch (Exception $e) {
         errorHandle::errorMsg($e->getMessage());
         return $e->getMessage();
     }
 }
Exemplo n.º 14
0
 public static function addProjects($objectID, $projects)
 {
     if (!is_array($projects)) {
         return FALSE;
     }
     $engine = EngineAPI::singleton();
     if ($engine->openDB->transBegin("objectProjects") !== TRUE) {
         errorHandle::newError(__METHOD__ . "() - unable to start database transactions", errorHandle::DEBUG);
         return FALSE;
     }
     if (self::deleteAllProjects($objectID) === FALSE) {
         $engine->openDB->transRollback();
         $engine->openDB->transEnd();
         throw new Exception("Error removing all projects from Object.");
     }
     foreach ($projects as $projectID) {
         if (self::addProject($objectID, $projectID) === FALSE) {
             $engine->openDB->transRollback();
             $engine->openDB->transEnd();
             return FALSE;
         }
     }
     $engine->openDB->transCommit();
     $engine->openDB->transEnd();
     return TRUE;
 }