plugin = plugin_basename(__FILE__); } public static function activate() { } public function admin_init() { $this->init_settings(); add_filter("plugin_action_links_$this->plugin", array(&$this, 'settings_link')); } public function add_menu() { add_options_page('302 Moved Temporarily', '302 Moved Temporarily', 'manage_options', 'wp_redirect_options', array(&$this, 'create_redirect_menu')); } public function init() { $enabled = get_option('enabled'); if(!is_user_logged_in() && $enabled != FALSE) { add_filter('status_header', array(&$this, 'create_redirect_header'), 10, 4); $this->feed_when_redirected(); $this->redirect(); } } public function settings_link($links) { $settings_link = 'Settings'; array_unshift($links, $settings_link); return $links; } public function redirect() { header('location: '.get_option('redirect_to')); die; } public function create_redirect_header($status_header, $header, $text, $protocol) { return "$protocol 302 Moved Temporarily"; } public function feed_when_redirected() { $feeds = array ('rdf', 'rss', 'rss2', 'atom'); foreach ($feeds as $feed) { add_action('do_feed_'.$feed, array(&$this, 'redirected_feed'), 1, 1); } } public function redirect_feed() { die(''. 'Service temporarialy unavailable'); } public function init_settings() { // print_r($_POST); die; register_setting('wp_redirect_options','redirect_to', array(&$this, 'redirect_validation')); register_setting('wp_redirect_options', 'enabled', 'intval'); } public function redirect_validation($input) { $input = filter_var($input, FILTER_SANITIZE_URL); if(!preg_match('%^(?:http://|https://|mailto://)%', $input)) { $input = 'http://'.$input; } if($input && filter_var($input, FILTER_VALIDATE_URL)) { return $input; } else { return false; } } public function create_redirect_menu() { if(!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } ?>

302 Moved Temporarily

Redirect URL
Enabled />