Esempio n. 1
0
 public static function buildEditTable($formID)
 {
     $form = self::get($formID);
     // Get all objects from this form
     $objects = objects::getAllObjectsForForm($formID);
     $objects = objects::sort($objects, $form['objectTitleField']);
     // If the data is too large, setup pagination
     if (sizeof($objects) > mfcs::config("metadataPageCount")) {
         $pagination = new pagination(sizeof($objects));
         $pagination->itemsPerPage = mfcs::config("metadataPageCount");
         $pagination->currentPage = isset(mfcs::$engine->cleanGet['MYSQL'][$pagination->urlVar]) ? mfcs::$engine->cleanGet['MYSQL'][$pagination->urlVar] : 1;
         $startPos = $pagination->itemsPerPage * ($pagination->currentPage - 1);
         $objects = array_slice($objects, $startPos, $pagination->itemsPerPage);
     }
     if (count($objects) > 0) {
         $headers = array();
         $headers[] = "Delete";
         foreach ($form['fields'] as $field) {
             $headers[] = $field['label'];
         }
         if (forms::isMetadataForm($formID) === TRUE) {
             $headers[] = "Search";
             $headers[] = "Move";
         }
         $tableRows = array();
         for ($I = 0; $I < count($objects); $I++) {
             $temp = array();
             $temp[] = sprintf('<input type="checkbox" name="delete[]" value="%s"', $objects[$I]['ID']);
             foreach ($form['fields'] as $field) {
                 $temp[] = sprintf('<input type="%s" style="%s" name="%s_%s" value="%s" />', $field['type'], $field['style'], $field['name'], $objects[$I]['ID'], isset($objects[$I]['data'][$field['name']]) ? htmlSanitize($objects[$I]['data'][$field['name']]) : "");
             }
             if (forms::isMetadataForm($formID) === TRUE) {
                 $temp[] = sprintf('<a href="%sdataView/list.php?listType=metadataObjects&amp;formID=%s&amp;objectID=%s">Find Objects</a>', localvars::get('siteRoot'), htmlSanitize($formID), $objects[$I]['ID']);
                 $temp[] = sprintf('<a href="%sdataEntry/move.php?objectID=%s">Move</a>', localvars::get('siteRoot'), $objects[$I]['ID']);
             }
             $tableRows[] = $temp;
         }
         $table = new tableObject("array");
         $table->summary = "Object Listing";
         $table->class = "tableObject table table-striped table-bordered";
         $table->headers($headers);
         $output = "";
         // Add in pagination bar
         if (isset($pagination)) {
             $output .= $pagination->nav_bar();
         }
         $output .= sprintf('<form action="%s?formID=%s" method="%s" name="updateForm" data-formid="%s">', $_SERVER['PHP_SELF'], htmlSanitize($formID), "post", mfcs::$engine->openDB->escape($formID));
         $output .= sessionInsertCSRF();
         $output .= $table->display($tableRows);
         $output .= '<input type="submit" name="updateEdit" value="Update" class="btn" />';
         $output .= "</form>";
         // Add in pagination bar
         if (isset($pagination)) {
             $output .= $pagination->nav_bar();
         }
         return $output;
     } else {
         return "No data entered for this Metadata Form.";
     }
 }
Esempio n. 2
0
 private static function createTable($data, $headers = NULL, $pagination = TRUE, $formID = NULL)
 {
     $table = new tableObject("array");
     $table->summary = "Object Listing";
     $table->sortable = FALSE;
     $table->class = "table table-striped table-bordered";
     $table->id = "objectListingTable";
     $table->layout = TRUE;
     if (isnull($headers)) {
         $headers = array();
         $headers[] = "System IDNO";
         $headers[] = "Form IDNO";
         $headers[] = "Title";
         $headers[] = "View";
         $headers[] = "Edit";
         // $headers[] = "Revisions";
     }
     $table->headers($headers);
     $userPaginationCount = users::user('pagination', 25);
     if ($pagination && sizeof($data) > $userPaginationCount) {
         $engine = mfcs::$engine;
         $pagination = new pagination(sizeof($data));
         $pagination->itemsPerPage = $userPaginationCount;
         $pagination->currentPage = isset($engine->cleanGet['MYSQL'][$pagination->urlVar]) ? $engine->cleanGet['MYSQL'][$pagination->urlVar] : 1;
         $startPos = $userPaginationCount * ($pagination->currentPage - 1);
         $dataNodes = array_slice($data, $startPos, $userPaginationCount);
         $tableHTML = $table->display($dataNodes);
         $tableHTML .= $pagination->nav_bar();
         $tableHTML .= sprintf('<p><span class="paginationJumpLabel">Jump to Page:</span> %s</p>', $pagination->dropdown());
         $tableHTML .= sprintf('<p><span class="paginationJumpLabel">Records per page:</span> %s</p>', $pagination->recordsPerPageDropdown());
         $tableHTML .= sprintf('<p><form id="jumpToIDNOForm"><span class="paginationJumpLabel">Jump to IDNO:</span> <input type="text" name="jumpToIDNO" id="jumpToIDNO" data-formid="%s" value="" /></form></p>', isnull($formID) ? "" : htmlSanitize($formID));
         return $tableHTML;
     } else {
         return $table->display($data);
     }
 }