/**
  * 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);
 }
예제 #2
0
/**
 * 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;
}
예제 #3
0
	</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 
예제 #4
0
/**
 *  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';