/** * Get excluded terms action * * Response should contain ESCAPED contents */ public function get_excluded_terms_action() { $items = array(); if (($taxonomy = BWP_Framework_Util::get_request_var('group')) && ($excluded_items = $this->excluder->get_excluded_items($taxonomy))) { $terms = $this->provider->get_terms($taxonomy, $excluded_items); foreach ($terms as $term) { $items[] = array('id' => (int) $term->term_id, 'title' => esc_html($term->name)); } } $this->response_with($items); }
/** * Get excluded posts action * * Response should contain ESCAPED contents */ public function get_excluded_posts_action() { $items = array(); if (($post_type = BWP_Framework_Util::get_request_var('group')) && ($excluded_items = $this->excluder->get_excluded_items($post_type))) { $posts = $this->provider->get_public_posts($post_type, $excluded_items); /* @var $post WP_Post */ foreach ($posts as $post) { $items[] = array('id' => (int) $post->ID, 'title' => esc_html($post->post_title)); } } $this->response_with($items); }
/** * Remove page action */ public function remove_external_page_action() { $this->bridge->check_ajax_referer('bwp_gxs_manage_external_page'); if ($url = BWP_Framework_Util::get_request_var('url')) { // no matching page if (!($page = $this->provider->get_page($url))) { $this->fail(); } $this->remove($url); $this->succeed(); } $this->fail(); }
/** * Remove excluded item action */ public function remove_excluded_item_action() { $this->bridge->check_ajax_referer('bwp_gxs_remove_excluded_item'); if (($group = BWP_Framework_Util::get_request_var('group')) && ($id = BWP_Framework_Util::get_request_var('id'))) { $excluded_items = $this->excluder->get_excluded_items($group); $key = array_search($id, $excluded_items); if ($key !== false) { unset($excluded_items[$key]); $this->excluder->update_excluded_items($group, $excluded_items); $this->succeed(); } } $this->fail(); }
/** * Get term genres action * * Response should contain ESCAPED contents. */ public function get_term_genres_action() { $items = array(); // @link http://support.google.com/news/publisher/bin/answer.py?hl=en&answer=93992 $genres = array('PressRelease', 'Satire', 'Blog', 'OpEd', 'Opinion', 'UserGenerated'); if ($taxonomy = BWP_Framework_Util::get_request_var('news_taxonomy')) { $terms = $this->provider->get_all_terms($taxonomy); foreach ($terms as $term) { $item = array('id' => (int) $term->term_id, 'name' => esc_html($term->name), 'slug' => esc_attr($term->slug), 'selected' => in_array($term->term_id, $this->news_terms), 'genres' => array()); $item_genres = array(); foreach ($genres as $genre) { $item_genre_selected = false; if (isset($this->news_genres['term_' . $term->term_id]) && stripos($this->news_genres['term_' . $term->term_id], $genre) !== false) { $item_genre_selected = true; } $item_genres[] = array('name' => $genre, 'selected' => $item_genre_selected); } $item['genres'] = $item_genres; $items[] = $item; } } $this->response_with($items); }
public static function is_nginx() { return BWP_Framework_Util::is_nginx(); }
protected function is_form_item_hidden($name) { if (isset($this->form['env']) && array_key_exists($name, $this->form['env']) && $this->form['env'][$name] == 'multisite' && !BWP_Framework_Util::is_multisite()) { // hide multisite field if not in multisite environment return true; } if (isset($this->form['php']) && array_key_exists($name, $this->form['php']) && !BWP_Version::get_current_php_version_id($this->form['php'][$name])) { // hide field if the current PHP version requirement is not satisfied return true; } if (isset($this->form['role']) && array_key_exists($name, $this->form['role']) && $this->form['role'][$name] == 'superadmin' && (!BWP_Framework_Util::is_site_admin() || !BWP_Framework_Util::is_on_main_blog())) { // hide site-admin-only settings if not a site admin or not on // main blog return true; } /* if (isset($this->form['callback']) */ /* && array_key_exists($name, $this->form['callback']) */ /* && is_callable($this->form['callback'][$name]) */ /* && !call_user_func($this->form['callback'][$name], $name) */ /* ) { */ /* // a condition not satisfied, hide the field */ /* return true; */ /* } */ if (in_array($name, $this->site_options) && (!BWP_Framework_Util::is_site_admin() || !BWP_Framework_Util::is_on_main_blog())) { // hide site-admin-only settings if not a site admin or not on // main blog return true; } if (isset($this->form['blog']) && array_key_exists($name, $this->form['blog'])) { // this field should be on main blog only, so hide it if not if ($this->form['blog'][$name] == 'main' && !BWP_Framework_Util::is_on_main_blog()) { return true; } elseif ($this->form['blog'][$name] == 'sub' && BWP_Framework_Util::is_on_main_blog()) { // this field should be on sub blogs only, so hide it if on // main blog return true; } } return false; }
public function handle_exclude_terms() { if (!($taxonomy = BWP_Framework_Util::get_request_var('select_exclude_taxonomy'))) { return; } if (!($terms_to_exclude = BWP_Framework_Util::get_request_var('select-exclude-terms'))) { $this->add_error_flash(__('Please select at least one item to exclude.', $this->domain)); return; } $this->_handle_exclude_items($taxonomy, (array) $terms_to_exclude, $this->term_excluder); }
/** * @covers BWP_Framework_Util::get_request_var * @dataProvider get_test_request_var_cases */ public function test_get_request_var($key, $value, $expected, $empty_as_null = true) { $_REQUEST[$key] = $value; $this->assertEquals($expected, BWP_Framework_Util::get_request_var($key, $empty_as_null)); }