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 getCompanyName($id) { $localvars = localvars::getInstance(); $validate = new validate(); $customers = new Customers(); $returnValue = ""; if (isnull($id) && !$validate->integer($id)) { throw new Exception('not valid integer'); return false; } else { $data = $customers->getRecords($id); $returnValue = $data[0]['companyName']; return $returnValue; } }
public static function buildProjectNavigation($formID) { if (($form = forms::get($formID)) === FALSE) { return FALSE; } localvars::add("formID", htmlSanitize($formID)); $output = ""; $currentGroup = ""; if (!is_array($form['navigation'])) { return $output; } foreach ($form['navigation'] as $item) { // deal with field sets if ($item['grouping'] != $currentGroup) { if ($currentGroup != "") { $output .= "</ul></li>"; } if (!is_empty($item['grouping'])) { $output .= sprintf('<li><strong>%s</strong><ul>', $item['grouping']); } $currentGroup = $item['grouping']; } $output .= "<li>"; if ($item['type'] == "logout") { $output .= sprintf('<a href="%s">%s</a>', htmlSanitize($item['url']), htmlSanitize($item['label'])); } else { if ($item['type'] == "link") { $item['url'] = preg_replace("/{siteRoot}/", mfcs::config("siteRoot"), $item['url']); $output .= sprintf('<a href="%s">%s</a>', htmlSanitize($item['url']), htmlSanitize($item['label'])); } else { if ($item['type'] == "objectForm" || $item['type'] == "metadataForm") { $form = forms::get($item['formID']); $output .= sprintf('<a href="" data-formID="%s" data-header="%s" data-toggle="modal" class="metadataObjectEditor">%s</a>', htmlSanitize($item['formID']), htmlSanitize($item['label']), htmlSanitize(!empty($form['displayTitle']) ? $form['displayTitle'] : (!empty($form['title']) ? $form['title'] : '[No form title]'))); } else { $output .= sprintf('%s', htmlSanitize($item['label'])); } } } $output .= "</li>"; } return $output; }
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()); } }
function displayRoute($url, $vars) { $localvars = localvars::getInstance(); $model = isset($vars['model']) ? $vars['model'] : null; $action = isset($vars['action']) ? $vars['action'] : null; $item = isset($vars['item']) ? $vars['item'] : null; // expected pages $expectedModels = array('customers', 'projects', 'timeTracker'); if (in_array($model, $expectedModels)) { $pageVariables = array('model' => ucfirst($model), 'action' => $action, 'item' => $item); $view = new View($model, $pageVariables); } else { if (isnull($model) || $model == "/" || $model == "home") { $pageVariables = array('model' => ucfirst($model)); $view = new View('Home', $pageVariables); } else { $pageVariables = array('model' => ucfirst($model)); // send to 404 error $view = new View('Error', $pageVariables); } } $html = $view->render(); $localvars->set('content', $html); }
public static function buildFilesPreview($objectID, $fieldName = NULL) { if (objects::validID(TRUE, $objectID) === FALSE) { return FALSE; } if (($object = objects::get($objectID, TRUE)) === FALSE) { return FALSE; } $output = ''; if (isset($fieldName)) { $field = forms::getField($object['formID'], $fieldName); $fields = array($field); } else { $fields = forms::getFields($object['formID']); } $fileLIs = array(); foreach ($fields as $field) { if ($field['type'] != 'file') { continue; } // If there's nothing uploaded for the field, no need to continue if (empty($object['data'][$field['name']])) { continue; } // Figure out some needed vars for later $fileDataArray = $object['data'][$field['name']]; $assetsID = $fileDataArray['uuid']; $fileLIs = array(); uasort($fileDataArray['files']['archive'], function ($a, $b) { return strnatcasecmp($a['name'], $b['name']); }); foreach ($fileDataArray['files']['archive'] as $fileID => $file) { $_filename = pathinfo($file['name']); $filename = $_filename['filename']; $links = array(); $links['Original'] = sprintf('%sincludes/fileViewer.php?objectID=%s&field=%s&fileID=%s&type=%s', localvars::get('siteRoot'), $objectID, $field['name'], $fileID, 'archive'); if (str2bool($field['convert'])) { $links['Converted'] = sprintf('%sincludes/fileViewer.php?objectID=%s&field=%s&fileID=%s&type=%s', localvars::get('siteRoot'), $objectID, $field['name'], $fileID, 'processed'); } if (str2bool($field['thumbnail'])) { $links['Thumbnail'] = sprintf('%sincludes/fileViewer.php?objectID=%s&field=%s&fileID=%s&type=%s', localvars::get('siteRoot'), $objectID, $field['name'], $fileID, 'thumbs'); } if (str2bool($field['ocr'])) { $links['OCR'] = sprintf('%sincludes/fileViewer.php?objectID=%s&field=%s&fileID=%s&type=%s', localvars::get('siteRoot'), $objectID, $field['name'], $fileID, 'ocr'); } if (str2bool($field['combine'])) { $links['Combined PDF'] = sprintf('%sincludes/fileViewer.php?objectID=%s&field=%s&type=%s', localvars::get('siteRoot'), $objectID, $field['name'], 'combinedPDF'); $links['Combined Thumbnail'] = sprintf('%sincludes/fileViewer.php?objectID=%s&field=%s&type=%s', localvars::get('siteRoot'), $objectID, $field['name'], 'combinedThumb'); } $previewLinks = array(); $downloadLinks = array(); foreach ($links as $linkLabel => $linkURL) { $previewLinks[] = sprintf('<li><a tabindex="-1" href="javascript:;" onclick="previewFile(this,\'%s\')">%s</a></li>', $linkURL, $linkLabel); $downloadLinks[] = sprintf('<li><a tabindex="-1" href="%s&download=1">%s</a></li>', $linkURL, $linkLabel); } // Build the preview dropdown HTML $previewDropdown = '<div class="btn-group">'; $previewDropdown .= ' <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">'; $previewDropdown .= ' Preview <span class="caret"></span>'; $previewDropdown .= ' </a>'; $previewDropdown .= sprintf('<ul class="dropdown-menu">%s</ul>', implode('', $previewLinks)); $previewDropdown .= '</div>'; // Build the download dropbox HTML $downloadDropdown = '<div class="btn-group">'; $downloadDropdown .= ' <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">'; $downloadDropdown .= ' Download <span class="caret"></span>'; $downloadDropdown .= ' </a>'; $downloadDropdown .= sprintf('<ul class="dropdown-menu">%s</ul>', implode('', $downloadLinks)); $downloadDropdown .= '</div>'; $fileLIs[] = sprintf('<li><div class="filename">%s</div><!-- TODO <button class="btn">Field Details</button> -->%s%s</li>', $file['name'], $previewDropdown, $downloadDropdown); } $output .= sprintf('<div class="filePreviewField"><header>%s</header><ul class="filePreviews">%s</ul></div>', $field['label'], implode('', $fileLIs)); } // Include the filePreview Modal, and the CSS and JavaScript links $output .= '<div id="filePreviewModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3></h3></div><div class="modal-body"><iframe class="filePreview"></iframe></div><div class="modal-footer"><a class="btn previewDownloadLink">Download File</a><a class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</a></div></div>'; $output .= sprintf('<link href="%sincludes/css/filePreview.css" rel="stylesheet">', localvars::get('siteRoot')); $output .= sprintf('<script src="%sincludes/js/filePreview.js"></script>', localvars::get('siteRoot')); return $output; }
<?php include "../header.php"; $engine->eTemplate("include", "header"); $stats = new exporting("."); log::insert("Exporting: View Index"); localvars::add("exportsList", $stats->showExportListing()); ?> <section> <header class="page-header"> <h1>Exports</h1> </header> <nav id="breadcrumbs"> <ul class="breadcrumb"> <li><a href="{local var="siteRoot"}">Home</a></li> <li><a href="{local var="siteRoot"}/exports/">Exports</a></li> </ul> </nav> {local var="exportsList"} </section> <?php $engine->eTemplate("include", "footer");
<?php $localvars = localvars::getInstance(); $localvars->set('siteRoot', '/'); $localvars->set('dbConnectionName', 'appDB'); $localvars->set("meta_authors", ""); $localvars->set('appName', "");
<?php $currentProjectsIDs = array_keys(sessionGet('currentProject')); $projectListHTML = '<ul id="selectProjectsList">'; try { if (($projects = projects::getProjects()) === FALSE) { throw new Exception("Error retrieving project list."); } foreach ($projects as $project) { $projectListHTML .= sprintf("<li><label><input type='checkbox' value='%s' data-label='%s'%s> %s</label></li>", $project['ID'], $project['projectName'], in_array($project['ID'], $currentProjectsIDs) ? " checked='checked'" : '', $project['projectName']); } } catch (Exception $e) { $projectListHTML .= "<li>" . $e->getMessage() . "</li>"; } $projectListHTML .= '</ul>'; localvars::add('projectModalList', $projectListHTML); ?> {engine name="csrf"} <!-- Modal - Select Current Projects --> <div id="selectProjectsModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3>Your current projects:</h3> </div> <div class="modal-body">{local var="projectModalList"}</div> <div class="modal-footer"> <button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button> <button class="btn btn-primary" onclick="saveSelectedProjects();">Save changes</button> </div> </div>
<?php include "../header.php"; try { if (($accordionList = listGenerator::generateAccordionFormList()) === FALSE) { throw new Exception("Error generating Form List"); } localvars::add("accordionList", $accordionList); } catch (Exception $e) { errorHandle::errorMsg($e->getMessage()); } localVars::add("results", displayMessages()); log::insert("Form Creator: View Forms"); $engine->eTemplate("include", "header"); ?> <section> <header class="page-header"> <h1>Select a Form</h1> </header> <nav id="breadcrumbs"> <ul class="breadcrumb"> <li><a href="{local var="siteRoot"}">Home</a></li> <li><a href="{local var="siteRoot"}/formCreator/list.php">List Forms</a></li> </ul> </nav> {local var="results"} <div class="container-fluid"> {local var="accordionList"}
if (!isset($compatibleForms[$engine->cleanPost['MYSQL']['form']])) { throw new Exception("Selected form is not compatible with original form."); } // @TODO this logic shouldn't be here $sql = sprintf("UPDATE `objects` SET `formID`='%s' WHERE `ID`='%s' AND `formID`='%s' LIMIT 1", $engine->cleanPost['MYSQL']['form'], $engine->openDB->escape($engine->cleanPost['MYSQL']['objectID']), $engine->openDB->escape($form['ID'])); $sqlResult = $engine->openDB->query($sql); if (!$sqlResult['result']) { errorHandle::newError(__METHOD__ . "() - : " . $sqlResult['error'], errorHandle::DEBUG); throw new Exception("Error updating object record."); } if (($form = forms::get($engine->cleanPost['MYSQL']['form'])) === FALSE) { throw new Exception("Error retrieving form."); } log::insert("Data Entry: Move: Successful Move", $engine->cleanPost['MYSQL']['objectID'], $form['ID'], $engine->cleanPost['MYSQL']['form']); errorHandle::successMsg("Object Moved."); localvars::add("originalFormTitle", forms::title($form['ID'])); } } catch (Exception $e) { log::insert("Data Entry: Move: Error", 0, 0, $e->getMessage()); errorHandle::errorMsg($e->getMessage()); } log::insert("Data Entry: Move: Page View"); localVars::add("results", displayMessages()); $engine->eTemplate("include", "header"); ?> {local var="projectWarning"} <section> <header class="page-header"> <h1>{local var="formName"}</h1>
<?php $currentProjects = sessionGet('currentProject'); if (isset($currentProjects) and sizeof($currentProjects)) { localvars::add('currentProjectNames', implode(', ', array_values($currentProjects))); localvars::add('currentProjectIDs', implode(',', array_keys($currentProjects))); } else { localvars::add('currentProjectNames', '<span style="color: #999; font-style: italic;">None Selected</span>'); localvars::add('currentProjectIDs', ''); } ?> <ul class="nav"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Navigation <b class="caret"></b> </a> <ul class="dropdown-menu"> <li><a href="{local var="siteRoot"}">Home</a></li> <li class="dropdown-submenu"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Object Management<b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="{local var="siteRoot"}dataEntry/selectForm.php">Create</a></li> <li><a href="{local var="siteRoot"}dataView/list.php">List</a></li> <li><a href="{local var="siteRoot"}dataView/search.php">Search</a></li> </ul> </li> <li class="dropdown-submenu"> <a tabindex="-1" href="#">Form Management</a> <ul class="dropdown-menu"> <li><a href="{local var="siteRoot"}formCreator/">New Form</a></li>
// exit; // check to see if we have a digital item for object if (file_exists("/home/mfcs.lib.wvu.edu/data/working/uploads/" . $submitArray['idno'])) { $submitArray['digitalFiles'] = $submitArray['idno']; $submitArray['mediaRelease'] = "Yes"; } if (objects::add("2", $submitArray) !== TRUE) { print "error adding object " . $submitArray['idno']; print "<pre>"; var_dump($submitArray); print "</pre>"; errorHandle::prettyPrint(); exit; } // add the item to the pec project if (objects::addProject(localvars::get("newObjectID"), "1") === FALSE) { print "error -- add Project: \n"; print "<pre>"; var_dump($submitArray); print "</pre>"; errorHandle::prettyPrint(); exit; } mfcs::$engine->cleanPost['MYSQL'] = array(); mfcs::$engine->cleanPost['HTML'] = array(); mfcs::$engine->cleanPost['RAW'] = array(); // make certain we don't have any data cache unset($submitArray); } print "Records: <pre>"; var_dump(count($records));
$totalPECObjectsPublic += $object['data']['publicRelease'] == "Yes" ? 1 : 0; $totalItemCount += (int) $object['data']['itemCount'] > 0 ? (int) $object['data']['itemCount'] : 0; $totalItemCountPublic += (int) $object['data']['itemCount'] > 0 && $object['data']['publicRelease'] == "Yes" ? (int) $object['data']['itemCount'] : 0; } localvars::add("totalMediaItems", $totalMediaItems); localvars::add("totalMediaItemsPublic", $totalMediaItemsPublic); localvars::add("totalPECObjectsPublic", $totalPECObjectsPublic); localvars::add("totalItemCount", $totalItemCount); localvars::add("totalItemCountPublic", $totalItemCountPublic); $metadataForms = forms::getObjectFormMetaForms("2"); $metaInformation = "<table>"; foreach ($metadataForms as $form) { $metaInformation .= sprintf("<tr><td><strong>%s</strong></td><td>%d</td></tr>", $form['displayTitle'], count(objects::getAllObjectsForForm($form['ID']))); } $metaInformation .= "</table>"; localvars::add("metaInformation", $metaInformation); $engine->eTemplate("include", "header"); ?> <h1>Stats for PEC</h1> <table id="statsTable" width="600"> <tr style="background-color: #EEEEFF;"> <th align="left"> Type </th> <th align="right"> Total Count </th> <th align="right">
private static function generateAccordionFormList_links($form, $entry, $metadata = FALSE) { if (!isset($form['ID']) || !isset($form['title'])) { return FALSE; } if ($entry === FALSE) { return sprintf('<a href="index.php?id=%s">%s</a>', htmlSanitize($form['ID']), forms::title($form['ID'])); } else { return sprintf('<a href="%sdataEntry/%s.php?formID=%s">%s</a>', localvars::get("siteRoot"), $metadata === TRUE ? "metadata" : "object", htmlSanitize($form['ID']), forms::title($form['ID'])); } }
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 create($formID, $data, $metadata, $parentID = 0, $modifiedTime = NULL, $createTime = NULL) { if (!is_array($data)) { errorHandle::newError(__METHOD__ . "() - : data is not array", errorHandle::DEBUG); return FALSE; } // Get the current Form if (($form = forms::get($formID)) === FALSE) { errorHandle::newError(__METHOD__ . "() - retrieving form by formID", errorHandle::DEBUG); return FALSE; } // begin transactions $result = mfcs::$engine->openDB->transBegin("objects"); if ($result !== TRUE) { errorHandle::newError(__METHOD__ . "() - unable to start database transactions", errorHandle::DEBUG); return FALSE; } // Insert into the database $sql = sprintf("INSERT INTO `objects` (parentID,formID,data,metadata,modifiedTime,createTime,modifiedBy,createdBy) VALUES('%s','%s','%s','%s','%s','%s','%s','%s')", isset(mfcs::$engine->cleanPost['MYSQL']['parentID']) ? mfcs::$engine->cleanPost['MYSQL']['parentID'] : "0", mfcs::$engine->openDB->escape($formID), encodeFields($data), mfcs::$engine->openDB->escape($form['metadata']), time(), time(), mfcs::$engine->openDB->escape(users::user('ID')), mfcs::$engine->openDB->escape(users::user('ID'))); $sqlResult = mfcs::$engine->openDB->query($sql); if (!$sqlResult['result']) { mfcs::$engine->openDB->transRollback(); mfcs::$engine->openDB->transEnd(); errorHandle::newError(__METHOD__ . "() - " . $sql . " -- " . $sqlResult['error'], errorHandle::DEBUG); return FALSE; } // Set the new object ID in a local variable $objectID = $sqlResult['id']; localvars::add("newObjectID", $objectID); // Insert into the new data table if (self::insertObjectData($objectID, $data, $formID) === FALSE) { mfcs::$engine->openDB->transRollback(); mfcs::$engine->openDB->transEnd(); errorHandle::newError(__METHOD__ . "() - inserting objects", errorHandle::DEBUG); return FALSE; } // if it is an object form (not a metadata form) // do the IDNO stuff if ($form['metadata'] == "0") { // the form is an object form, make sure that it has an ID field defined. if (($idnoInfo = forms::getFormIDInfo($formID)) === FALSE) { errorHandle::newError(__METHOD__ . "() - no IDNO field for object form.", errorHandle::DEBUG); return FALSE; } // if the idno is managed by the system get a new idno if ($idnoInfo['managedBy'] == "system") { $idno = mfcs::$engine->openDB->escape(mfcs::getIDNO($formID)); } else { $idno = mfcs::$engine->cleanPost['MYSQL']['idno']; } if (isempty($idno)) { mfcs::$engine->openDB->transRollback(); mfcs::$engine->openDB->transEnd(); return FALSE; } if (!self::updateIDNO($objectID, $idno)) { mfcs::$engine->openDB->transRollback(); mfcs::$engine->openDB->transEnd(); errorHandle::newError(__METHOD__ . "() - updating the IDNO: " . $sqlResult['error'], errorHandle::DEBUG); return FALSE; } // increment the project counter $sql = sprintf("UPDATE `forms` SET `count`=`count`+'1' WHERE `ID`='%s'", mfcs::$engine->openDB->escape($form['ID'])); $sqlResult = mfcs::$engine->openDB->query($sql); if (!$sqlResult['result']) { mfcs::$engine->openDB->transRollback(); mfcs::$engine->openDB->transEnd(); errorHandle::newError(__METHOD__ . "() - Error incrementing form counter: " . $sqlResult['error'], errorHandle::DEBUG); return FALSE; } } // Update duplicate matching table if (duplicates::updateDupeTable($formID, $objectID, $data) === FALSE) { mfcs::$engine->openDB->transRollback(); mfcs::$engine->openDB->transEnd(); errorHandle::newError(__METHOD__ . "() - updating dupe matching", errorHandle::DEBUG); return FALSE; } // Add it to the users current projects if (($currentProjects = users::loadProjects()) === FALSE) { mfcs::$engine->openDB->transRollback(); mfcs::$engine->openDB->transEnd(); return FALSE; } foreach ($currentProjects as $projectID => $projectName) { if (forms::checkFormInProject($projectID, $formID) === TRUE) { if (objects::addProject($objectID, $projectID) === FALSE) { mfcs::$engine->openDB->transRollback(); mfcs::$engine->openDB->transEnd(); return FALSE; } } } // end transactions mfcs::$engine->openDB->transCommit(); mfcs::$engine->openDB->transEnd(); return TRUE; }
public static function submit($formID, $objectID = NULL, $importing = FALSE) { $engine = mfcs::$engine; $backgroundProcessing = array(); if (isnull($objectID)) { $newObject = TRUE; } else { $newObject = FALSE; } // Get the current Form if (($form = self::get($formID)) === FALSE) { errorHandle::newError(__METHOD__ . "() - retrieving form by formID", errorHandle::DEBUG); return FALSE; } // the form is an object form, make sure that it has an ID field defined. // @TODO this check can probably be removed, its being checked in object class if ($form['metadata'] == "0") { $idnoInfo = self::getFormIDInfo($formID); if ($idnoInfo === FALSE) { errorHandle::newError(__METHOD__ . "() - no IDNO field for object form.", errorHandle::DEBUG); return FALSE; } } $fields = $form['fields']; if (usort($fields, 'sortFieldsByPosition') !== TRUE) { errorHandle::newError(__METHOD__ . "() - usort", errorHandle::DEBUG); if (!$importing) { errorHandle::errorMsg("Error retrieving form."); } return FALSE; } $values = array(); // go through all the fields, get their values foreach ($fields as $field) { $value = isset($engine->cleanPost['RAW'][$field['name']]) ? $engine->cleanPost['RAW'][$field['name']] : ""; $validationTests = self::validateSubmission($formID, $field, $value, $objectID); if (isnull($validationTests) || $validationTests === FALSE) { continue; } if (strtolower($field['readonly']) == "true") { // need to pull the data that loaded with the form if ($newObject === FALSE) { // grab it from the database $oldObject = objects::get($objectID); $values[$field['name']] = $oldObject['data'][$field['name']]; } else { // If the form has a variable in the value we apply the variable, otherwise, field value. // we need to check for disabled on insert form if (!isset($field['disabledInsert']) || isset($field['disabledInsert']) && $field['disabledInsert'] == "false") { $values[$field['name']] = self::hasFieldVariables($field['value']) ? self::applyFieldVariables($value) : $field['value']; } // grab the default value from the form. // $values[$field['name']] = $field['value']; } } else { if (strtolower($field['type']) == "file" && isset($engine->cleanPost['MYSQL'][$field['name']])) { // Process uploaded files $uploadID = $engine->cleanPost['MYSQL'][$field['name']]; // Process the uploads and put them into their archival locations if (($tmpArray = files::processObjectUploads($objectID, $uploadID)) === FALSE) { errorHandle::newError(__METHOD__ . "() - Archival Location", errorHandle::DEBUG); return FALSE; } if ($tmpArray !== TRUE) { // didn't generate a proper uuid for the items, rollback if (!isset($tmpArray['uuid'])) { $engine->openDB->transRollback(); $engine->openDB->transEnd(); errorHandle::newError(__METHOD__ . "() - No UUID", errorHandle::DEBUG); return FALSE; } // ads this field to the files object // we can't do inserts yet because we don't have the objectID on // new objects files::addProcessingField($field['name']); // Should the files be processed now or later? if (isset($field['bgProcessing']) && str2bool($field['bgProcessing']) === TRUE) { $backgroundProcessing[$field['name']] = TRUE; } else { $backgroundProcessing[$field['name']] = FALSE; } $values[$field['name']] = $tmpArray; } else { // if we don't have files, and this is an update, we need to pull the files information from the // version that is already in the system. $oldObject = objects::get($objectID); if ($newObject === FALSE && objects::hasFiles($objectID, $field['name']) === TRUE) { $values[$field['name']] = $oldObject['data'][$field['name']]; } } } else { $values[$field['name']] = $value; } } } if (isset($engine->errorStack['error']) && count($engine->errorStack['error']) > 0) { // errorHandle::newError(__METHOD__."() - Error stack not empty.", errorHandle::DEBUG); return FALSE; } // start transactions $result = $engine->openDB->transBegin("objects"); if ($result !== TRUE) { if (!$importing) { errorHandle::errorMsg("Database transactions could not begin."); } errorHandle::newError(__METHOD__ . "() - unable to start database transactions", errorHandle::DEBUG); return FALSE; } if ($newObject === TRUE) { if (objects::create($formID, $values, $form['metadata'], isset($engine->cleanPost['MYSQL']['parentID']) ? $engine->cleanPost['MYSQL']['parentID'] : "0") === FALSE) { $engine->openDB->transRollback(); $engine->openDB->transEnd(); if (!$importing) { errorHandle::errorMsg("Error inserting new object."); } errorHandle::newError(__METHOD__ . "() - Error inserting new object.", errorHandle::DEBUG); return FALSE; } // Grab the objectID of the new object $objectID = localvars::get("newObjectID"); } else { if (objects::update($objectID, $formID, $values, $form['metadata'], isset($engine->cleanPost['MYSQL']['parentID']) ? $engine->cleanPost['MYSQL']['parentID'] : "0") === FALSE) { $engine->openDB->transRollback(); $engine->openDB->transEnd(); if (!$importing) { errorHandle::errorMsg("Error updating."); } errorHandle::newError(__METHOD__ . "() - Error updating.", errorHandle::DEBUG); return FALSE; } } // Now that we have a valid objectID, we insert into the processing table if (files::insertIntoProcessingTable($objectID) === FALSE) { $engine->openDB->transRollback(); $engine->openDB->transEnd(); errorHandle::newError(__METHOD__ . "() - Processing Table", errorHandle::DEBUG); return FALSE; } // end transactions $engine->openDB->transCommit(); $engine->openDB->transEnd(); if (!is_empty($backgroundProcessing)) { foreach ($backgroundProcessing as $fieldName => $V) { if ($V === FALSE) { // No background processing. do it now. files::process($objectID, $fieldName); } } } if ($newObject === TRUE) { if (!$importing) { errorHandle::successMsg("Object created successfully."); } } else { if (!$importing) { errorHandle::successMsg("Object updated successfully."); } } return TRUE; }
} if (!isnull($return) && $ajax === TRUE) { die(displayMessages()); } // build the form for displaying $builtForm = forms::build($engine->cleanGet['MYSQL']['formID'], $engine->cleanGet['MYSQL']['objectID']); if ($builtForm === FALSE) { throw new Exception("Error building form."); } $builtEditTable = forms::buildEditTable($engine->cleanGet['MYSQL']['formID']); if ($builtForm === FALSE) { throw new Exception("Error building edit table."); } localvars::add("form", $builtForm); localvars::add("metadataEditTable", $builtEditTable); localvars::add("formID", $form['ID']); // localvars::add("leftnav",buildProjectNavigation($engine->cleanGet['MYSQL']['id'])); } catch (Exception $e) { log::insert("Data Entry: Metadata: Error", 0, 0, $e->getMessage()); errorHandle::errorMsg($e->getMessage()); } log::insert("Data Entry: Metadata: View Page"); localVars::add("results", displayMessages()); if (!$ajax) { // Display warning if form is not part of current project forms::checkFormInCurrentProjects($engine->cleanGet['MYSQL']['formID']); $engine->eTemplate("include", "header"); } ?> {local var="projectWarning"}
switch ($row['type']) { case mfcs::AUTH_VIEW: $selectedViewUsers .= $optionHTML; break; case mfcs::AUTH_ENTRY: $selectedEntryUsers .= $optionHTML; break; case mfcs::AUTH_ADMIN: $selectedUsersAdmins .= $optionHTML; break; } } } localvars::add("selectedEntryUsers", $selectedEntryUsers); localvars::add("selectedViewUsers", $selectedViewUsers); localvars::add("selectedUsersAdmins", $selectedUsersAdmins); localVars::add("results", displayMessages()); $selectedProjects = forms::getProjects(isset($engine->cleanGet['MYSQL']['id']) ? $engine->cleanGet['MYSQL']['id'] : 0); localVars::add("projectOptions", projects::generateProjectChecklist($selectedProjects)); $engine->eTemplate("include", "header"); ?> <script type="text/javascript" src='{local var="siteRoot"}includes/js/createForm_functions.js'></script> <section> <ul class="nav nav-tabs"> <li class="active"><a href="#formCreator" data-toggle="tab">Form Creator</a></li> <?php if (!isnull($formID)) { ?> <?php
case 'all': $list = listGenerator::createAllObjectList(); localvars::add('subTitle', ' - All Objects'); $breadCrumbs[] = sprintf('<a href="%sdataView/list.php?listType=all">All Objects</a>', $siteRoot); break; default: $list = listGenerator::createInitialSelectList(); break; } localvars::add("list", $list); // Make breadcrumbs $crumbs = ''; foreach ($breadCrumbs as $breadCrumb) { $crumbs .= "<li>{$breadCrumb}</li>"; } localvars::add("breadcrumbs", $crumbs); localVars::add("results", displayMessages()); $engine->eTemplate("include", "header"); ?> <section> <header class="page-header"> <h1>List Objects{local var="subTitle"}</h1> </header> <nav id="breadcrumbs"> <ul class="breadcrumb"> {local var="breadcrumbs"} </ul> </nav> {local var="results"}
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()); } }
<?php include "../header.php"; try { if (($formList = listGenerator::generateAccordionFormList(TRUE)) === FALSE) { throw new Exception("Error getting Forms Listing"); } else { localvars::add("formList", $formList); } } catch (Exception $e) { errorHandle::errorMsg($e->getMessage()); } localVars::add("results", displayMessages()); log::insert("Data Entry: Form Select: View Page"); $engine->eTemplate("include", "header"); ?> <section> <header class="page-header"> <h1>Select a Form</h1> </header> <nav id="breadcrumbs"> <ul class="breadcrumb"> <li><a href="{local var="siteRoot"}">Home</a></li> <li><a href="{local var="siteRoot"}/dataEntry/selectForm.php">Select a Form</a></li> </ul> </nav> {local var="results"}
throw new Exception("No Project ID Provided."); } // check for edit permissions on the project if (projects::checkPermissions($engine->cleanGet['MYSQL']['id']) === FALSE) { throw new Exception("Permissions denied for working on this project"); } // Get the project $sql = sprintf("SELECT * FROM `projects` WHERE `ID`='%s'", $engine->cleanGet['MYSQL']['id']); $sqlResult = $engine->openDB->query($sql); if (!$sqlResult['result']) { errorHandle::newError(__METHOD__ . "() - " . $sqlResult['error'], errorHandle::DEBUG); throw new Exception("Error retrieving project."); } $row = mysql_fetch_array($sqlResult['result'], MYSQL_ASSOC); localvars::add("projectName", $row['projectName']); localvars::add("leftnav", buildProjectNavigation($engine->cleanGet['MYSQL']['id'])); } catch (Exception $e) { errorHandle::errorMsg($e->getMessage()); } localVars::add("results", displayMessages()); $engine->eTemplate("include", "header"); ?> <section> <header class="page-header"> <h1>{local var="projectName"}</h1> </header> {local var="results"} <div class="row-fluid">
////////// // Project Tab Stuff $selectedProjects = objects::getProjects($engine->cleanGet['MYSQL']['objectID']); localVars::add("projectOptions", projects::generateProjectChecklist($selectedProjects)); // Project Tab Stuff ////////// } catch (Exception $e) { log::insert("Data Entry: Object: Error", $engine->cleanGet['MYSQL']['objectID'], $engine->cleanGet['MYSQL']['formID'], $e->getMessage()); errorHandle::errorMsg($e->getMessage()); } } localVars::add("results", displayMessages()); // Display warning if form is not part of current project forms::checkFormInCurrentProjects($engine->cleanGet['MYSQL']['formID']); localvars::add("actionHeader", isnull($engine->cleanGet['MYSQL']['objectID']) ? "Add" : "Edit"); localvars::add("parentHeader", isnull($parentObject) ? "" : "<h2>Adding Child to Parent '" . $parentObject['data'][$form['objectTitleField']] . "'</h2>"); $engine->eTemplate("include", "header"); ?> {local var="projectWarning"} <section> <header class="page-header"> <h1>{local var="actionHeader"} Object - {local var="formName"}</h1> {local var="parentHeader"} </header> <nav id="breadcrumbs"> <ul class="breadcrumb"> <li><a href="{local var="siteRoot"}">Home</a></li> <li><a href="{local var="siteRoot"}dataEntry/selectForm.php">Select a Form</a></li>
/** * ========================================================= * 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 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(); } }
return $string; } function getHeadingByID($id) { $object = objects::get($id); return $object['data']['name']; } // Output File: $outFileName = "pec-data_" . time() . ".xml"; $outFile = "./dlxsXmlImageClass/" . $outFileName; $outDigitalFileName = "pec-files_" . time() . ".tar.gz"; $outDigitalFile = "./dlxsXmlImageClass/" . $outDigitalFileName; localvars::add("outFile", $outFile); localvars::add("outFileName", $outFileName); localvars::add("outDigitalFile", $outDigitalFile); localvars::add("outDigitalFileName", $outDigitalFileName); $sql = sprintf("SELECT MAX(`date`) FROM exports WHERE `formID`='2'"); $sqlResult = $engine->openDB->query($sql); if (!$sqlResult['result']) { errorHandle::newError(__METHOD__ . "() - : " . $sqlResult['error'], errorHandle::DEBUG); die("error getting max."); } $row = mysql_fetch_array($sqlResult['result'], MYSQL_ASSOC); $lastExportDate = isnull($row['MAX(`date`)']) ? 0 : $row['MAX(`date`)']; $objects = objects::getAllObjectsForForm("2"); $xml = '<?xml version="1.0" encoding="UTF-8" ?><!-- This grammar has been deprecated - use FMPXMLRESULT instead --><FMPDSORESULT xmlns="http://www.filemaker.com/fmpdsoresult"><ERRORCODE>0</ERRORCODE><DATABASE>iai_data.fp7</DATABASE><LAYOUT></LAYOUT>'; $count = 0; foreach ($objects as $object) { $mergedCreators = array_merge((array) $object['data']['creatorPersName'], (array) $object['data']['creatorCorpName'], (array) $object['data']['creatorMeetName'], (array) $object['data']['creatorUniformTitle']); $mergedSubjects = array_merge((array) $object['data']['subjectPersName'], (array) $object['data']['subjectCorpName'], (array) $object['data']['subjectMeetingName'], (array) $object['data']['subjectUniformTitle'], (array) $object['data']['subjectTopical'], (array) $object['data']['subjectGeoName']); $creators = array();
} else { if (isset($engine->cleanGet['MYSQL']['action'])) { switch ($engine->cleanGet['MYSQL']['action']) { case 'selectChoices': $field = forms::getField($engine->cleanGet["MYSQL"]['formID'], $engine->cleanGet["MYSQL"]['fieldName']); $fieldChoices = forms::getFieldChoices($field); $result = forms::drawFieldChoices($field, $fieldChoices); die($result); break; case 'searchFormFields': die(mfcsSearch::formFieldOptions($engine->cleanGet["MYSQL"]['formID'])); break; case 'paginationPerPage': $result = users::setField('pagination', $engine->cleanGet["MYSQL"]['perPage']); die(json_encode($result ? "TRUE" : "FALSE")); break; case 'paginationJumpToIDNO': $objects = objects::getAllObjectsForForm($engine->cleanGet['MYSQL']['formID'], "idno"); for ($I = 0; $I < count($objects); $I++) { if (strtolower($objects[$I]['idno']) == strtolower($engine->cleanGet['MYSQL']['idno'])) { header('Location: ' . localvars::get("siteroot") . "dataView/list.php?listType=form&formID=" . $engine->cleanGet['MYSQL']['formID'] . "&page=" . ceil($I / 25)); } } $result = "IDNO not found"; break; } } } header('Content-type: application/json'); die(json_encode($result)); }
if (!$revision) { die('Error reading revision'); } else { die(revisions::generateFieldDisplay($revision, $fields)); } } ############################################################################################################### // Build the select list $selectARevision = ""; foreach ($revisions->getSecondaryIDs($engine->cleanGet['MYSQL']['objectID'], 'DESC') as $revisionID) { $selectARevision .= sprintf('<option value="%s">%s</option>', $revisionID, date('D, M d, Y - h:i a', $revisionID)); } localVars::add("selectARevision", $selectARevision); localvars::add("formName", $form['title']); localvars::add("objectID", $objectID); localvars::add("currentVersion", revisions::generateFieldDisplay($object, $fields)); } catch (Exception $e) { log::insert("Data Entry: Revision: Caught Exception", 0, 0, $e->getMessage()); errorHandle::newError($e->getMessage(), errorHandle::DEBUG); errorHandle::errorMsg($e->getMessage()); } localVars::add("results", displayMessages()); $engine->eTemplate("include", "header"); ?> <form id="revisionForm" action="" method="post"> {engine name="csrf"} <input type="hidden" name="revisionID" id="revisionID" value=""> </form>