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; }
<?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"}
<?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"}
} 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"}
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"}
<?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>
// Children Tab Stuff if (($formList = listGenerator::generateFormSelectList($engine->cleanGet['MYSQL']['objectID'])) === FALSE) { errorHandle::errorMsg("Error getting Forms Listing"); throw new Exception('Error'); } else { localvars::add("formList", $formList); } $childList = listGenerator::generateChildList($engine->cleanGet['MYSQL']['objectID']); localVars::add("childrenList", is_empty($childList) ? 'No children available' : $childList); // Children Tab Stuff ////////// } catch (Exception $e) { log::insert("Data View: Object: Error", 0, 0, $e->getMessage()); errorHandle::errorMsg($e->getMessage()); } localvars::add("leftnav", navigation::buildProjectNavigation($engine->cleanGet['MYSQL']['formID'])); localVars::add("results", displayMessages()); $engine->eTemplate("include", "header"); ?> <section> <header class="page-header"> <h1>View Object</h1> </header> <div class="container-fluid"> <div class="span3"> {local var="leftnav"} </div> <div class="span9">
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">
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();
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; }
$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">
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>
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
<?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");
////////// // 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>
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>
<?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"; $engine->eTemplate("include", "header"); log::insert("Stats: View Index Page"); $stats = new mfcsStats("."); localvars::add("statsList", $stats->showStatFiles()); ?> <section> <header class="page-header"> <h1>System Stats</h1> </header> <nav id="breadcrumbs"> <ul class="breadcrumb"> <li><a href="{local var="siteRoot"}">Home</a></li> <li><a href="{local var="siteRoot"}/stats/">Stats</a></li> </ul> </nav> {local var="statsList"} </section> <?php $engine->eTemplate("include", "footer");