/** * Prepare all the items to be displayed * * @access public * @return void */ public function prepare_items() { $columns = $this->get_columns(); $sortable = $this->get_sortable_columns(); $hidden = array(); $this->_column_headers = array($columns, $hidden, $sortable); $per_page = 20; $current_page = $this->get_pagenum(); $args = array(); /** * Search Term */ if (isset($_POST['s']) && check_admin_referer('msa-all-audits-table')) { // Input var okay. if (isset($_POST['s'])) { // Input var okay. $args['s'] = sanitize_text_field(wp_unslash($_POST['s'])); // Input var okay. } if (isset($_GET['s'])) { // Input var okay. $args['s'] = sanitize_text_field(wp_unslash($_GET['s'])); // Input var okay. } if (isset($_GET['audit_status'])) { // Input var okay. $args['status'] = sanitize_text_field(wp_unslash($_GET['audit_status'])); // Input var okay. } } /** * Get Audits */ $audit_model = new MSA_Audits_Model(); $this->items = $audit_model->get_data($args); /** * Sort Posts */ if (count($this->items) > 0) { usort($this->items, array(&$this, 'usort_reorder')); } $total_items = count($this->items); $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page)); $this->items = array_slice($this->items, ($current_page - 1) * $per_page, $per_page); $this->items = apply_filters('msa_all_audits_table_items', $this->items); }
/** * Check to see if we can add a new audit * * @access public * @param mixed $data The audit data. * @return bool true|false Determine if the audit can be added. */ function msa_add_new_audit_check($data) { $audit_model = new MSA_Audits_Model(); $audits = $audit_model->get_data(); if (count($audits) >= msa_get_max_audits()) { return false; } return true; }
</div> <ul class="subsubsub"> <li class="all"> <a href="<?php esc_attr_e(get_admin_url() . 'admin.php?page=msa-all-audits'); ?> " class="<?php esc_attr_e(!isset($audit_status) || isset($audit_status) && 'all' === $audit_status ? 'current' : ''); ?> "><?php esc_attr_e('All', 'msa'); ?> <span class="count">(<?php esc_attr_e(count($audit_model->get_data())); ?> )</span></a> | </li> <li class="completed"> <a href="<?php esc_attr_e(get_admin_url() . 'admin.php?page=msa-all-audits&audit_status=completed'); ?> " class="<?php esc_attr_e(isset($audit_status) && 'completed' === $audit_status ? 'current' : ''); ?> "><?php esc_attr_e('Completed', 'msa'); ?> <span class="count">(<?php
/** * Delete an audit */ if (isset($_GET['action']) && 'delete' === $_GET['action'] && check_admin_referer('msa-delete-audit')) { // Input var okay. $audit = -1; if (isset($_GET['audit'])) { // Input var okay. $audit = sanitize_text_field(wp_unslash($_GET['audit'])); // Input var okay. } $audit_model = new MSA_Audits_Model(); $audit_model->delete_data($audit); msa_force_redirect(get_admin_url() . 'admin.php?page=msa-all-audits'); } /** * Force Stop an audit */ if (isset($_GET['action']) && 'force_stop_audit' === $_GET['action'] && check_admin_referer('msa-force-stop-audit')) { // Input var okay. delete_transient('msa_running_audit'); $audit_model = new MSA_Audits_Model(); $audits = $audit_model->get_data(array('status' => 'in-progress')); if (isset($audits[0])) { $audit = $audits[0]; $audit['status'] = 'completed'; $audit_model->update_data($audit['id'], $audit); } msa_force_redirect(get_admin_url() . 'admin.php?page=msa-all-audits'); } include_once MY_SITE_AUDIT_PLUGIN_DIR . 'views/all-audits.php';