WordPress.org

Plugin Directory

Changeset 514314


Ignore:
Timestamp:
03/04/12 19:16:46 (2 years ago)
Author:
wpmuguru
Message:

update for 3.3, release 0.1.2

Location:
network-privacy/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • network-privacy/trunk/ra-network-privacy.php

    r258230 r514314  
    22/* 
    33Plugin Name:   Network Privacy 
    4 Version:       0.1.1 
     4Version:       0.1.2 
    55Description:   Adds more privacy options to Settings -> Privacy pages and when Network activated: Super Admin -> Options & Sites pages. 
    66Author:        Ron Rennick 
     
    6060    ); 
    6161 
    62     function RA_Network_Privacy() { 
     62    function __construct() { 
     63 
    6364        $net_settings = get_site_option( 'ra_network_privacy', false ); 
    64         if( is_array( $net_settings ) && !empty( $net_settings['network'] ) ) 
    65             $this->settings = $net_settings; 
    66         else 
    67             $this->settings = array( 'network' => 0, 'privacy' => 0 ); 
    68          
    69         add_action( 'template_redirect', array( &$this, 'authenticator' ) ); 
    70         add_action( 'do_robots', array( &$this, 'do_robots' ), 1 ); 
    71         add_action( 'wp_head', array( &$this, 'noindex' ), 0 ); 
    72         add_action( 'login_head', array( &$this, 'noindex' ), 1 ); 
    73         add_action( 'admin_init', array( &$this, 'admin_init' ) ); 
    74         add_filter( 'option_ping_sites', array( &$this, 'privacy_ping_filter' ), 1 ); 
     65        $this->settings = is_array( $net_settings ) && !empty( $net_settings['network'] ) ? $net_settings : array( 'network' => 0, 'privacy' => 0 ); 
     66 
     67        add_action( 'template_redirect', array( $this, 'authenticator' ) ); 
     68        add_action( 'do_robots', array( $this, 'do_robots' ), 1 ); 
     69        add_action( 'wp_head', array( $this, 'noindex' ), 0 ); 
     70        add_action( 'login_head', array( $this, 'noindex' ), 1 ); 
     71        add_action( 'admin_init', array( $this, 'admin_init' ) ); 
     72        add_filter( 'option_ping_sites', array( $this, 'privacy_ping_filter' ), 1 ); 
    7573 
    7674        if( $this->settings['privacy'] < 0 ) 
    7775            add_filter( 'pre_option_blog_public', create_function( '', "return {$this->settings['privacy']};" ) ); 
     76 
    7877        if( get_option( 'blog_public' ) < 0 ) 
    7978            add_action( 'login_form', array( &$this, 'privacy_login_message' ) ); 
     
    8180 
    8281    function do_robots() { 
    83         remove_action('do_robots', 'do_robots'); 
     82 
     83        remove_action( 'do_robots', 'do_robots' ); 
    8484 
    8585        header( 'Content-Type: text/plain; charset=utf-8' ); 
     
    103103    }    
    104104    function noindex() { 
     105 
    105106        remove_action( 'login_head', 'noindex' ); 
    106         remove_action( 'wp_head', 'noindex',1 ); 
     107        remove_action( 'wp_head', 'noindex', 1 ); 
    107108 
    108109        // If the blog is not public, tell robots to go away. 
    109         if ( '1' != get_option('blog_public') ) 
     110        if ( '1' != get_option( 'blog_public' ) ) 
    110111            echo "<meta name='robots' content='noindex,nofollow' />\n"; 
    111     } 
    112     function privacy_ping_filter($sites) { 
     112 
     113    } 
     114    function privacy_ping_filter( $sites ) { 
     115 
    113116        remove_filter( 'option_ping_sites', 'privacy_ping_filter' ); 
    114         if ( '1' == get_option('blog_public') ) 
     117        if ( '1' == get_option( 'blog_public' ) ) 
    115118            return $sites; 
    116119         
    117120        return ''; 
     121 
    118122    } 
    119123    function sites_add_privacy_options() { 
     124 
    120125        global $details; 
    121         ?> 
    122         <h4>More Privacy Options</h4> 
     126?> 
     127        <h4>Additional Privacy Options</h4> 
    123128<?php       for( $i = 1; $i > -4; $i-- ) { ?> 
    124             <input type='radio' name='blog[public]' value='<?php echo $i; ?>' <?php checked( $details->public, $i ); ?> /> <?php _e( $this->meta[$i]['settings_label'] ) ?>&nbsp;&nbsp; 
    125         <br /> 
     129            <input type='radio' name='blog[public]' value='<?php echo $i; ?>' <?php checked( $details->public == $i ); ?> /> <?php _e( $this->meta[$i]['settings_label'] ); ?><br /> 
    126130<?php       } 
     131 
    127132    } 
    128133    // hook into blog privacy selector(options-privacy.php) 
    129134    function add_privacy_options($options) { 
    130         $privacy = get_option('blog_public'); 
    131         for( $i = ( is_multisite() ? -1 : -2 ); $i > -4; $i-- ) { ?> 
     135 
     136        $privacy = get_option( 'blog_public' ); 
     137        for( $i = ( is_multisite() ? -1 : -2 ); $i > -4; $i-- ) { 
     138?> 
    132139            <br /> 
    133140            <input id="privacy-<?php echo $i; ?>" type="radio" name="blog_public" value="<?php echo $i; ?>" <?php checked( $i, $privacy ); ?> /> 
    134141            <label for="privacy-<?php echo $i; ?>"><?php printf( __( 'I would like my site to be visible only to %s.'), $this->meta[$i]['settings_label'] ); ?></label> 
    135 <?php       } 
     142<?php 
     143        } 
     144 
    136145    } 
    137146    function privacy_login_message () { 
     147 
    138148        $privacy = get_option( 'blog_public' ); 
    139149        if( !empty( $this->meta[$privacy]['login_message'] ) ) 
    140             echo '<p>' . bloginfo(name) . __( $this->meta[$privacy]['login_message'] ) . '</p>'; 
     150            echo '<p>' . bloginfo( 'name' ) . __( $this->meta[$privacy]['login_message'] ) . '</p>'; 
    141151    } 
    142152 
     
    163173 
    164174    function authenticator () { 
     175 
    165176        $privacy = get_option( 'blog_public' ); 
    166177        if( $privacy > -1 ) 
    167178            return; 
     179 
     180        if( $privacy > -2 || current_user_can( $this->meta[$privacy]['cap'] ) ) 
     181            return; 
     182 
    168183        if ( is_user_logged_in() ) { 
    169             if( $privacy > -2 || current_user_can( $this->meta[$privacy]['cap'] ) ) 
    170                 return; 
    171             $this->login_header(); ?> 
     184 
     185            $this->login_header(); 
     186?> 
    172187                    <form name="loginform" id="loginform"> 
    173188                        <p>Wait 5 seconds or  
     
    178193            </body> 
    179194        </html> 
    180 <?php       } else { 
    181             nocache_headers(); 
    182             header("HTTP/1.1 302 Moved Temporarily"); 
    183             header('Location: ' . get_settings('siteurl') . '/wp-login.php?redirect_to=' . urlencode($_SERVER['REQUEST_URI'])); 
    184                 header("Status: 302 Moved Temporarily"); 
    185         } 
    186         exit(); 
     195<?php 
     196            exit; 
     197        } 
     198 
     199        nocache_headers(); 
     200        header( 'HTTP/1.1 302 Moved Temporarily' ); 
     201        header( 'Location: ' . get_settings( 'siteurl' ) . '/wp-login.php?redirect_to=' . urlencode( $_SERVER['REQUEST_URI'] ) ); 
     202            header( 'Status: 302 Moved Temporarily' ); 
     203        exit; 
     204 
    187205    } 
    188206 
     
    194212            <td><select name="ra_network_privacy" id="ra_network_privacy"> 
    195213<?php       for( $i = 0; $i > -4; $i-- ) { ?> 
    196                 <option value="<?php echo $i; ?>" <?php selected( $i, $this->settings['privacy'] ); ?>><?php _e( $this->meta[$i]['network_label'] ); ?></option> 
     214                <option value="<?php echo $i; ?>" <?php selected( $i == $this->settings['privacy'] ); ?>><?php _e( $this->meta[$i]['network_label'] ); ?></option> 
    197215<?php       } ?> 
    198216            </select></td> 
     
    201219<?php   } 
    202220    function network_privacy_update() { 
     221 
    203222        $this->settings['privacy'] = (int) $_POST['ra_network_privacy']; 
    204223        update_site_option( 'ra_network_privacy', $this->settings ); 
     224 
    205225    } 
    206226    function admin_init() { 
     227 
    207228        if( !is_plugin_active( plugin_basename( __FILE__ ) ) ) 
    208229            $this->settings['network'] = 1; 
     230 
    209231        if( is_multisite() ) { 
     232 
    210233            if( 1 == $this->settings['network'] ) { 
    211                 add_action( 'update_wpmu_options', array( &$this, 'network_privacy_update' ) ); 
    212                 add_action( 'wpmu_options', array( &$this, 'network_privacy_options_page' ) ); 
     234 
     235                add_action( 'update_wpmu_options', array( $this, 'network_privacy_update' ) ); 
     236                add_action( 'wpmu_options', array( $this, 'network_privacy_options_page' ) ); 
     237 
    213238            } 
    214             if( $this->settings['privacy'] == 0 ) 
    215                 add_action( 'wpmueditblogaction', array( &$this, 'sites_add_privacy_options' ) ); 
    216         } 
     239        } 
     240 
    217241        if( 0 == $this->settings['privacy'] ) 
    218             add_action( 'blog_privacy_selector', array( &$this, 'add_privacy_options' ) ); 
     242            add_action( 'blog_privacy_selector', array( $this, 'add_privacy_options' ) ); 
    219243    } 
    220244} 
  • network-privacy/trunk/readme.txt

    r258230 r514314  
    22Contributors: wpmuguru 
    33Tags: privacy, plugin, wordpress, network  
    4 Requires at least: 3.0 
    5 Tested up to: 3.0 
     4Requires at least: 3.3 
     5Tested up to: 3.3.1 
    66Stable tag: trunk 
    77 
     
    2828 
    2929*   A privacy selector in the Super Admin -> Options page to allow individual site privacy or the 3 above across to network. 
    30 *   If the network setting is individual privacy the Super Admin -> Edit Site screen has a privacy selector. 
    3130 
    3231Support can be obtained through: 
     
    4645== Changelog == 
    4746 
     47= 0.1.2 = 
     48* update to be compatible with WP 3.3 
     49* remove Edit site option due to hook changes in WP 
     50 
    4851= 0.1.1 = 
    4952* fix login redirect check for public & non public sites 
Note: See TracChangeset for help on using the changeset viewer.