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."; } }