/** * Post Type Attribute options for the filters * * @access public * @param mixed $content The un-filtered content. * @return mixed $content The filtered content. */ function msa_filter_attribute_post_type_options($content) { $audit = -1; if (isset($_GET['audit'])) { // Input var okay. $audit = sanitize_text_field(wp_unslash($_GET['audit'])); // Input var okay. // Get all the post types for this audit. $audit_model = new MSA_Audits_Model(); $audit = $audit_model->get_data_from_id($audit); $form_fields = json_decode($audit['args']['form_fields'], true); foreach ($form_fields['post-types'] as $post_type) { $content[] = array('name' => ucfirst($post_type), 'value' => $post_type); } } return $content; }
/** * Return the output for the Name column * * @access public * @param mixed $item The Audit. */ public function column_name($item) { if (isset($item['status']) && 'in-progress' === $item['status']) { return apply_filters('msa_all_audits_table_column_name_extension', $item['name']); } if (!isset($item['extension'])) { $audit_model = new MSA_Audits_Model(); $audit = $audit_model->get_data_from_id($item['id']); $condition = $audit['args']['conditions']; $actions = array(); $actions['delete'] = '<a href="' . wp_nonce_url(get_admin_url() . 'admin.php?page=msa-all-audits&action=delete&audit=' . $item['id'], 'msa-delete-audit') . '">' . __('Delete', 'msa') . '</a>'; $condition_modal = '<a href="#" class="msa-audit-conditions-button" data-id="' . $item['id'] . '">' . __('Conditions', 'msa') . '</a> <div class="msa-audit-conditions-modal" data-id="' . $item['id'] . '"> <div class="msa-audit-conditions-modal-container"> <h3 class="msa-audit-conditions-modal-heading">' . __('Conditions', 'msa') . '</h3> <div class="msa-audit-conditions"> <table class="wp-list-table widefat striped fixed"> <thead> <tr> <th scope="col">' . __('Name', 'msa') . '</th> <th scope="col">' . __('Weight', 'msa') . '</th> <th scope="col">' . __('Comparison', 'msa') . '</th> <th scope="col">' . __('Value', 'msa') . '</th> <th scope="col">' . __('Minimum', 'msa') . '</th> <th scope="col">' . __('Maximum', 'msa') . '</th> </tr> </thead> <tbody>'; foreach (json_decode($audit['args']['conditions'], true) as $condition) { $min = isset($condition['units']) ? $condition['min'] . ' ' . $condition['units'] : $condition['min']; $max = isset($condition['units']) ? $condition['max'] . ' ' . $condition['units'] : $condition['max']; if (1 === $condition['comparison']) { $comparison = __('Greater Than', 'msa'); $max = ''; } else { if (2 === $condition['comparison']) { $comparison = __('Less Than', 'msa'); $min = ''; } else { if (3 === $condition['comparison']) { $comparison = __('In Between', 'msa'); } } } $value = __('Pass or Fail', 'msa'); if (2 === $condition['value']) { $value = __('Percentage', 'msa'); } $condition_modal .= '<tr> <td>' . (isset($condition['name']) ? $condition['name'] : '') . '</td> <td>' . (isset($condition['weight']) ? $condition['weight'] : '') . '</td> <td>' . $comparison . '</td> <td>' . $value . '</td> <td>' . $min . '</td> <td>' . $max . '</td> </tr>'; } $condition_modal .= '</tbody> </table> </div> </div> </div>'; $actions['edit'] = $condition_modal; return apply_filters('msa_all_audits_table_column_name', sprintf('%1$s %2$s', '<a href="' . msa_get_single_audit_link($item['id']) . '">' . $item['name'] . '</a><small style="opacity:0.5;padding-left:4px;">id:(' . $item['id'] . ')</small>', $this->row_actions($actions))); } return apply_filters('msa_all_audits_table_column_name_extension', '<a href="' . $item['extension-link'] . '" target="_blank">' . $item['name'] . '</a>'); }
} ?> </div> </div> <?php } else { if (isset($_GET['audit']) && check_admin_referer('msa-single-audit')) { // Input var okay. $audit_id = sanitize_text_field(wp_unslash($_GET['audit'])); // Input var okay. // Get the Audit. $audit_model = new MSA_Audits_Model(); $audit = $audit_model->get_data_from_id($audit_id); $form_fields = json_decode($audit['args']['form_fields'], true); // Get the posts for an audit. $audit_posts_model = new MSA_Audit_Posts_Model(); $posts = $audit_posts_model->get_data($audit_id); // Get all the current filters. $current_filters = ''; $conditions = msa_get_conditions(); $attributes = msa_get_attributes(); foreach ($conditions as $key => $condition) { if (isset($condition['filter']['name']) && isset($_GET[$condition['filter']['name']])) { // Input var okay. $current_filters .= '&' . $condition['filter']['name'] . '=' . sanitize_text_field(wp_unslash($_GET[$condition['filter']['name']])); // Input var okay. } }
/** * Prints the box content. * * @access public * @param object $post A WP_Post obejct. * @return void */ function msa_meta_box_callback($post) { // Get the latest audit. $audit_model = new MSA_Audits_Model(); $audit = $audit_model->get_latest(); // Check to see if we have an audit. if (isset($audit)) { $post_id = -1; if (isset($_GET['post'])) { // Input var okay. $post_id = sanitize_text_field(wp_unslash($_GET['post'])); // Input var okay. } $audit = $audit_model->get_data_from_id($audit['id']); $audit_posts_model = new MSA_Audit_Posts_Model(); $audit_post = $audit_posts_model->get_data_from_id($audit['id'], $post_id); if ($audit_post) { $post = (object) $audit_post['post']; $data = $audit_post['data']['values']; $score = $audit_post['data']['score']; $condition_categories = msa_get_condition_categories(); $user = get_userdata($audit['user']); do_action('msa_before_post_meta_box', $audit['id'], $post_id); ?> <div class="msa-post-meta-container msa-post-meta-audit-meta-attributes"> <p class="msa-post-meta-attribute"><?php esc_attr_e('Score: ', 'msa'); ?> </p> <p class="msa-post-meta-attribute"><?php esc_attr_e('From Audit: ', 'msa'); ?> </p> <p class="msa-post-meta-attribute"><?php esc_attr_e('Created On: ', 'msa'); ?> </p> <p class="msa-post-meta-attribute"><?php esc_attr_e('Created By: ', 'msa'); ?> </p> </div> <div class="msa-post-meta-container msa-post-meta-audit-meta-values"> <p class="msa-post-meta-value msa-post-status-bg msa-post-status-bg-<?php esc_attr_e(msa_get_score_status($score['score'])); ?> "><?php esc_attr_e(round($score['score'] * 100, 2)); ?> %</p> <p class="msa-post-meta-value"><a href="<?php esc_attr_e(msa_get_single_audit_link($audit['id'])); ?> " target="_blank"><?php esc_attr_e($audit['name']); ?> </a></p> <p class="msa-post-meta-value"><?php esc_attr_e(date('M j, Y', strtotime($audit['date']))); ?> </p> <p class="msa-post-meta-value"><?php esc_attr_e($user->display_name); ?> </p> </div><?php foreach ($condition_categories as $key => $condition_category) { ?> <div class="postbox" id="<?php esc_attr_e($key); ?> " style="pointer-events: none;"> <?php echo apply_filters('msa_condition_category_content', $key, $post, $data, $score); // WPCS: XSS ok. ?> </div><?php } do_action('msa_after_post_meta_box', $audit['id'], $post_id); } } wp_enqueue_style('msa-all-audits-css', MY_SITE_AUDIT_PLUGIN_URL . '/css/all-audits.css'); wp_enqueue_style('msa-post-meta-css', MY_SITE_AUDIT_PLUGIN_URL . '/css/post-meta.css'); wp_enqueue_style('msa-common-css', MY_SITE_AUDIT_PLUGIN_URL . '/css/common.css'); }