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; }
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()); } }
function displayMessages() { $engine = EngineAPI::singleton(); if (is_empty($engine->errorStack)) { return FALSE; } return '<section><header><h1>Results</h1></header>' . errorHandle::prettyPrint() . '</section>'; }
/** * 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(); }
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()); } }
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');
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; }
/** * ========================================================= * 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()); } }
/** * 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(); } }
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; }