$tab_header_text = $related_pods->field("title"); $tab_header_id = $related_pods->field("related_pod"); $toolbar_row = $id == -1 || $is_record_sealed ? "" : '<div class="row"><div class="col-xs-12 text-right toolbar-top">' . pods_related::build_toolbar($related_pods->field("related_pod"), $related_pods->field("title"), TRUE, $url_params) . '</div></div>'; $table_row = '<div class="row"><div class="col-xs-12">' . pods_related::build_table($related_pod_info, 0, -1, $params, TRUE, $url_params, TRUE, FALSE, array("owner_document_is_sealed" => $is_record_sealed)) . '</div></div>'; $tabs_header .= "<li role='presentation'><a href='#{$tab_header_id}' aria-controls='{$tab_header_id}' role='tab' data-toggle='tab'>{$tab_header_text}</a></li>"; $tabs_body .= "<div role='tabpanel' class='tab-pane fade' id='{$tab_header_id}'>{$toolbar_row} {$table_row}</div>"; } else { $non_tab_page .= '<div class="row"> <div class="col-xs-12 col-sm-9"><h1 class="page-title">' . $related_pods->field("title") . '</h1></div> <div class="col-xs-12 col-sm-3 text-right toolbar-top"> ' . ($id == -1 ? "" : pods_related::build_toolbar($related_pods->field("related_pod"), $related_pods->field("title"), TRUE, $url_params)) . ' </div> </div> <div class="row"> <div class="col-xs-12"> ' . pods_related::build_table($related_pod_info, 0, -1, $params, TRUE, $url_params) . ' </div> </div>'; } } } // Workflow Display if (sizeof($workflow_data) > 0) { $tabs_header .= "<li role='presentation'><a href='#workflow-tab' aria-controls='workflow-tab' role='tab' data-toggle='tab'>Actions</a></li>"; $tabs_body .= "<div role='tabpanel' class='tab-pane fade' id='workflow-tab'>" . $workflow_data['form-to-display'] . "</div>"; } if (isset($operation_settings->{"use_attachments"}) && $operation_settings->{"use_attachments"} == 1) { $tabs_header .= "<li role='presentation'><a href='#attachments-tab' aria-controls='workflow-tab' role='tab' data-toggle='tab'>Attachments</a></li>"; $attachments = new dms_attachments(); $tabs_body .= "<div role='tabpanel' class='tab-pane fade' id='attachments-tab'>" . $attachments->get_attachments_tab($is_record_sealed) . "</div>"; }
</form> <div id="filter-submit" class="text-center"> <hr/> <button type="button" class="btn btn-primary" onclick="do_filter()">Filter</button> <button type="button" class="btn btn-default" onclick="reset_filter()">Cancel</button> </div> </div> </div> </div> <?php } ?> <div class="row"> <div class="col-xs-12" id="main-table"> <?php echo pods_related::build_table($pods_info, $offset, $limit, null, false, null, TRUE, TRUE); ?> </div> </div> <div class="row" id="main-table-loading"> <div class="col-xs-12 text-center"> <img src="<?php echo get_template_directory_uri(); ?> /img/loading-getting-data.gif" title="Loading"/> </div> </div> <script type="text/javascript"> var dataLoader; var tableLoader; </script>
public static function gui_filter_pod() { $result = ""; $podname = isset($_GET['podname']) ? $_GET['podname'] : ""; if ($podname == "") { $result = "Op. gui_filter_pod -> Error: No Pod."; return $result; } $PodsAPI = pods_api(); $pods_info = null; try { $pods_info = $PodsAPI->load_pod(array('name' => $podname)); } catch (Exception $e) { $result = "Op. gui_filter_pod -> Error: Pod Not Exists."; return $result; } $offset = 0; $limit = core_utilities::get_default_page_size(); $params = array(); $where = array(); foreach ($_GET as $key => $value) { if ($key == "podname" || $key == "op" || strpos($key, "order-") !== FALSE) { continue; } $field = str_replace("to_control_", "", $key); $field = str_replace("control_", "", $field); $result .= "<br/>Op. gui_filter_pod -> Debug: " . var_export($key, TRUE); $result .= "<br/>Op. gui_filter_pod -> Debug: " . var_export($value, TRUE); $result .= "<br/>Op. gui_filter_pod -> Debug: " . var_export($field, TRUE); $result .= "<br/>Op. gui_filter_pod -> Debug: " . var_export($pods_info['fields'][$field], TRUE); switch ($pods_info['fields'][$field]['type']) { case 'text': case 'website': case 'phone': case 'email': case 'password': case 'paragraph': case 'wysiwyg': case 'code': case 'slug': // Text Field $where[] = "t.{$field} like '%{$value}%'"; break; case 'pick': if ($field == 'author') { $where[] = "{$field}.display_name like '%{$value}%'"; } elseif ($pods_info['fields'][$field]['pick_object'] == "custom-simple") { $where[] = "{$field} = '{$value}'"; } else { $where[] = "{$field}.name like '%{$value}%'"; } break; case 'number': case 'currency': // Numaric Fields $comparison_operation = ">="; if (strpos($key, 'to_control_') !== false) { $comparison_operation = "<="; } $where[] = "t.{$field} {$comparison_operation} {$value}"; break; case 'datetime': case 'date': case 'time': // Date/Time Field $comparison_operation = ">="; if (strpos($key, 'to_control_') !== false) { $comparison_operation = "<="; } $where[] = "t.{$field} {$comparison_operation} '{$value}'"; break; default: $result .= "Op. gui_filter_pod -> Error: Not Supported Field Type."; return $result; } } $params["where"] = implode(" AND ", $where); // Handle Order By if (isset($_GET['order-orderby']) && $_GET['order-orderby'] != "") { $orderby = $_GET['order-orderby']; if (isset($_GET['order-type']) && $_GET['order-type'] != "") { $orderby .= "|" . $_GET['order-type']; } else { $orderby .= "|ASC"; } $params["orderby"] = $orderby; } $result = pods_related::build_table($pods_info, $offset, $limit, $params, FALSE, null, TRUE, TRUE); return $result; }