/** * validate_part_parameter * Check to see if the paramter passes validation. * * @param string $parts The parameter name. * @param mixes $parts The parameter value. * * @access public * @static * @since 1.0 */ public static function validate_part_parameter($parameter, $value) { global $post, $pagenow, $current_screen; switch ($parameter) { case 'capability': return piklist_user::current_user_can($value); break; case 'role': return piklist_user::current_user_role($value); break; case 'logged_in': return $value == 'true' ? is_user_logged_in() : true; break; case 'post_type': return $post && in_array($post->post_type, $value) || !$post; break; case 'status': case 'post_status': return $post && in_array($post->post_status, $value) || !$post; break; case 'new': return $value == 'true' ? $pagenow == 'post-new.php' : true; break; case 'page': $current = array($pagenow); if (!empty($current_screen->id)) { array_push($current, $current_screen->id); } if (!empty($_REQUEST['page'])) { array_push($current, $_REQUEST['page']); } return array_intersect($value, $current); break; case 'id': return $post && in_array($post->ID, $value); break; case 'template': $page_template = $post->post_status == 'auto-draft' ? 'default' : strtolower(str_replace('.php', '', get_post_meta($post->ID, '_wp_page_template', true))); return in_array($page_template, $value); break; case 'post_format': $format = get_post_format($post->ID); $format = empty($format) ? 'standard' : $format; return in_array($format, $value); break; case 'network': if (isset($current_screen) && $current_screen->id == 'dashboard-network') { return $value || $value == 'only'; } elseif (isset($current_screen) && $current_screen->id == 'dashboard') { return $value === true; } break; default: /** * piklist_validate_part_parameter * Add custom part parameters to check. * * @param $parameter Parameter to check. * @param $value Value to compare. * * @since 1.0 */ return apply_filters('piklist_validate_part_parameter', true, $parameter, $value); break; } }
/** * validate_field_parameter * Check to see if the field parameter passes validation. * * @param string $parts The parameter name. * @param mixes $parts The parameter value. * * @access public * @static * @since 1.0 */ public static function validate_field_parameter($parameter, $value) { global $post, $pagenow, $current_screen; switch ($parameter) { case 'capability': return piklist_user::current_user_can($value); break; case 'role': return piklist_user::current_user_role($value); break; case 'logged_in': return $value === true ? is_user_logged_in() : true; break; default: /** * piklist_validate_field_parameter * Add custom part parameters to check. * * @param $parameter Parameter to check. * @param $value Value to compare. * * @since 1.0 */ return apply_filters('piklist_validate_field_parameter', true, $parameter, $value); break; } }