Beskrivning
XC1 Maintenance tillåter dig att sätta webbplatsen i “underhållsläge”, kommer att försöka ladda 503.php i antingen ditt “child” eller “parent” -tema.
Källkod
/* Plugin Name: XC1 Maintenance Plugin URI: http://www.xc1.se Description: Puts the site into maintenance mode by sending a '503 Service Unavailable' status to all unauthenticated clients. Author: Anders Hassis (Original idea by Zorex (http://blog.zorex.info/?page_id=144) and Robert Wetzlmayr (http://talkpress.de/blip/wet-maintenance-wordpress-plugin) Version: 1.0 Author URI: http://xc1.se License: GPL 2.0, @see http://www.gnu.org/licenses/gpl-2.0.html */ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } // Buckle up! $maintenance = new XC1_Maintenance(); class XC1_Maintenance { public $version = '1.0'; public $err = false; public $msg = ''; public $allSettings = array(); public function XC1_Maintenance() { $this->allSettings = get_option('OfflineModeSettings'); # Display the splash if enabled add_action('send_headers', array(&$this, 'activateMaintenancePage')); # Admin part below $data = array( 'OfflineMode_type' => '', 'OfflineMode_enable' => '', 'OfflineMode_startTime' => 0); add_option('OfflineModeSettings',$data,'OfflineMode Settings'); add_action('admin_menu', array(&$this, 'addSettingsPage') ); add_action('admin_notices', array(&$this, 'adminNoticeMsg') ); } # ---------------------------------------------------------------- # Show the settings link for this plugin # ---------------------------------------------------------------- public function addSettingsPage() { if (function_exists('add_options_page')) { add_options_page('XC1 Maintenance', 'XC1 Maintenance', 8, basename(__FILE__), array(&$this, 'optionPage') ) ; } } public function maintenance_header($status_header, $header, $text, $protocol) { return "$protocol 503 Service Unavailable"; } public function maintenance_feed() { die('Service unavailable'); } public function add_feed_actions() { $feeds = array ('rdf', 'rss', 'rss2', 'atom'); foreach ($feeds as $feed) { add_action('do_feed_'.$feed, array(&$this, 'wet_maintenance_feed'), 1, 1); } } # ---------------------------------------------------------------- # Show the options of the settings # ---------------------------------------------------------------- public function optionPage() { # User is authorized if( $this->isAuthorized() ) { if (isset($_POST['OfflineMode_submit'])) { $data = array( 'OfflineMode_enable' => ((int) $_POST['OfflineMode_enable']), 'OfflineMode_startTime' => time() ); update_option('OfflineModeSettings',$data); if (isset($_POST['OfflineMode_redirect'])) $url = $_POST['OfflineMode_redirect']; else $url = $_SERVER['REQUEST_URI']; echo ""; die(); } # Fill the settings to the form if( $this->allSettings['OfflineMode_enable'] ) { $enabled = ' checked="checked"'; } # Got msg to display? $this->msgBox(); # ---- Start HTML for settings page ---- ?>Inställningar uppdaterade.
Gå tillbaka.msg != NULL ) { # ---- Start of HTML for msg box ---- ?>XC1 Maintenance
<form action="" method="post">
Aktivera XC1 Maintenance <input type="checkbox" id="OfflineMode_enable" name="OfflineMode_enable" value="1" /> <input type="hidden" name="OfflineMode_redirect" value="" />
isAuthorized() && $this->allSettings['OfflineMode_enable'] ) { # ---- Admin notice msg ---- ?>msg; ?>
allSettings['OfflineMode_enable'] && !$this->isAuthorized() ) { add_filter('status_header', array(&$this, 'maintenance_header', 10, 4) ); $this->add_feed_actions(); if (file_exists(get_stylesheet_directory() . '/503.php')) $file = get_stylesheet_directory() . '/503.php'; else $file = get_template_directory().'/503.php'; include_once( $file ); exit(); } } }XC1 Maintenance är aktivt. Glöm inte att <a href="admin.php?page=">inaktivera det så fort du är klar.
One reply on “XC1 Maintenance”
[…] har laddat upp ett wordpress-tillägg under namnet XC1 Maintenance, det används för att sätta webbplatsen i underhållsläge. Inte så mycket mer att säga om […]