Пример #1
0
 /**
  * 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);
 }
Пример #2
0
 /**
  * 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);
 }
Пример #3
0
 /**
  * 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();
 }
Пример #4
0
 /**
  * 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();
 }
Пример #5
0
 /**
  * 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;
 }
Пример #8
0
 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));
 }