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&formID=%s&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."; } }
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); } }