public static function isAvailable() { if (is_admin()) { return false; } if (PrisnaGWTConfig::getSettingValue('test_mode') == 'true' && !current_user_can('administrator')) { return false; } global $post; if (!is_object($post)) { return true; } $settings = PrisnaGWTConfig::getSettingsValues(); if ($post->post_type == 'page' && array_key_exists('exclude_pages', $settings)) { $pages = $settings['exclude_pages']['value']; if (in_array($post->ID, $pages)) { return false; } } if ($post->post_type == 'post' && array_key_exists('exclude_posts', $settings)) { $posts = $settings['exclude_posts']['value']; if (in_array($post->ID, $posts)) { return false; } } if ($post->post_type == 'post' && array_key_exists('exclude_categories', $settings)) { $categories = $settings['exclude_categories']['value']; $post_categories = wp_get_post_categories($post->ID); if (PrisnaGWTCommon::inArray($categories, $post_categories)) { return false; } } return true; }
protected function _dependence_show() { if (!is_array($this->_dependence)) { return true; } $result = array(); if (is_array($this->dependence_show_value)) { if (count($this->dependence_show_value) == count($this->_dependence)) { $keys = array_keys($this->_dependence); for ($i = 0; $i < count($keys); $i++) { $field = $this->_dependence[$keys[$i]]; if ($field->value == $this->dependence_show_value[$i]) { $result[] = $field->id; } } return count($result) == count($this->_dependence); } } foreach ($this->_dependence as $field) { if (PrisnaGWTCommon::inArray($field->value, $this->dependence_show_value)) { $result[] = $field->id; } } return count($result) == count($this->_dependence); }