WordPress.org

Plugin Directory

Changeset 1483687


Ignore:
Timestamp:
08/26/16 01:57:36 (16 months ago)
Author:
23r9i0
Message:

1.3.4

Location:
add-dashboard-columns
Files:
1 deleted
4 edited
1 copied

Legend:

Unmodified
Added
Removed
  • add-dashboard-columns/tags/1.3.4/add-dashboard-columns.php

    r1483525 r1483687  
    44 * Plugin URI: http://wordpress.org/plugins/add-dashboard-columns/ 
    55 * Description: Enable Dashboard Columns in WordPress after version 3.8 
    6  * Version: 1.3.3 
     6 * Version: 1.3.4 
    77 * Author: Sergio P.A. ( 23r9i0 ) 
    88 * Author URI: http://dsergio.com/ 
     
    1111 */ 
    1212 
    13 defined( 'ABSPATH' ) or exit; 
     13( defined( 'ABSPATH' ) && is_admin() ) or exit; 
    1414 
    15 add_action( 'admin_head-index.php', function() { 
    16     add_screen_option( 'layout_columns', array( 'max' => 4, 'default' => 3 ) ); 
    17     echo '<style id="add-dashboard-columns" type="text/css">' . 
    18         '#wpbody #wpbody-content #dashboard-widgets .postbox-container{width:100%}' . 
    19         '@media (min-width:768px){' . 
    20             '#wpbody #wpbody-content #dashboard-widgets:not(.columns-1) .postbox-container{width:50%}' . 
    21         '}' . 
    22         '@media (min-width:1200px){' . 
    23             '#wpbody #wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.3%}' . 
    24             '#wpbody #wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}' . 
    25         '}' . 
    26         '</style>'; 
    27 }, 12 ); 
     15final class Add_Dashboard_Columns { 
    2816 
    29 add_filter( 'plugin_row_meta', function( $plugin_meta, $plugin_file, $plugin_data, $status ) { 
    30     if( $plugin_file === plugin_basename( __FILE__ ) ) { 
    31         $plugin_meta[] = sprintf( 
    32             '<a target="_blank" href="%s">%s</a>', 
    33             esc_url( 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=L4BFVU5HDJH8S' ), __( 'Donate' ) 
    34         ); 
     17    public static function instance() { 
     18        static $instance = null; 
     19 
     20        return isset( $instance ) ? $instance : $instance = new self; 
    3521    } 
    36     return $plugin_meta; 
    37 }, 10, 4 ); 
     22 
     23    private function __construct() { 
     24        add_action( 'admin_head-index.php', array( $this, 'admin_head' ), 12 ); 
     25        add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 4 ); 
     26    } 
     27 
     28    public function admin_head() { 
     29        add_screen_option( 'layout_columns', array( 'max' => 4, 'default' => 3 ) ); 
     30        echo '<style id="add-dashboard-columns" type="text/css">' . 
     31            '#wpbody #wpbody-content #dashboard-widgets .postbox-container{width:100%}' . 
     32            '@media (min-width:768px){' . 
     33                '#wpbody #wpbody-content #dashboard-widgets:not(.columns-1) .postbox-container{width:50%}' . 
     34            '}' . 
     35            '@media (min-width:1200px){' . 
     36                '#wpbody #wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.3%}' . 
     37                '#wpbody #wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}' . 
     38            '}' . 
     39            '</style>'; 
     40    } 
     41 
     42    public function plugin_row_meta( $plugin_meta, $plugin_file, $plugin_data, $status ) { 
     43        if( $plugin_file === plugin_basename( __FILE__ ) ) { 
     44            $plugin_meta[] = sprintf( 
     45                '<a target="_blank" href="%s">%s</a>', 
     46                esc_url( 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=L4BFVU5HDJH8S' ), __( 'Donate' ) 
     47            ); 
     48        } 
     49        return $plugin_meta; 
     50    } 
     51 
     52    /** 
     53     * Plugin Deactivation 
     54     * 
     55     * Note: Support WordPress 4.6+ only 
     56     * 
     57     * @param  bool $network_wide 
     58     * 
     59     * @return void 
     60     */ 
     61    public static function deactivation( $network_wide = false ) { 
     62        if ( self::_check_admin_referer() ) { 
     63            if ( is_multisite() ) { 
     64                if ( function_exists( 'get_networks' ) && function_exists( 'get_sites' ) ) { 
     65                    $users          = array(); 
     66                    $number_network = 100; 
     67                    $offset_network = 0; 
     68                    // For performace limit query to 100 results 
     69                    while ( is_int( $number_network ) ) { 
     70                        $network_ids = get_networks( array( 
     71                            'fields' => 'ids', 
     72                            'number' => $number_network, 
     73                            'offset' => $offset_network, 
     74                        ) ); 
     75                        if ( count( $network_ids ) ) { 
     76                            foreach ( $network_ids as $network_id ) { 
     77                                $number_sites = 100; 
     78                                $offset_sites = 0; 
     79                                // For performace limit query to 100 results 
     80                                while ( is_int( $number_sites ) ) { 
     81                                    $sites = get_sites( array( 
     82                                        'network_id' => $network_id, 
     83                                        'fields'     => 'ids', 
     84                                        'number'     => $number_network, 
     85                                        'offset'     => $offset_network, 
     86                                    ) ); 
     87                                    if ( count( $sites ) ) { 
     88                                        foreach ( $sites as $site_id ) { 
     89                                            $users = self::_deactivation( $site_id, $users ); 
     90                                        } 
     91                                        $offset_sites = $number_sites; 
     92                                        $number_sites = ( $number_sites + $number_sites ); 
     93                                    } else { 
     94                                        $number_sites = false; 
     95                                    } 
     96                                } 
     97                            } 
     98                            $offset_network = $number_network; 
     99                            $number_network = ( $number_network + $number_network ); 
     100                        } else { 
     101                            $number_network = false; 
     102                        } 
     103                    } 
     104 
     105                } 
     106            } else { 
     107                self::_deactivation(); 
     108            } 
     109        } 
     110    } 
     111 
     112    /** 
     113     * Delete User meta 
     114     * 
     115     * @param int   $site_id Current site id (DB = blog_id ) 
     116     * @param array $users   User to exclude 
     117     * 
     118     * @return array 
     119     */ 
     120    private static function _deactivation( $site_id = null, $users = array() ) { 
     121        if ( function_exists( 'get_users' ) ) { 
     122            $meta = array( 'screen_layout_dashboard', 'meta-box-order_dashboard' ); 
     123            if ( is_multisite() ) 
     124                $meta = array_merge( array( 'screen_layout_dashboard', 'meta-box-order_dashboard' ), $meta ); 
     125 
     126            foreach ( $meta as $meta_key ) { 
     127                $number = 100; 
     128                $offset = 0; 
     129                // For performace limit query to 100 results 
     130                while ( is_int( $number ) ) { 
     131                    $site_users = get_users( array( 
     132                        'blog_id'  => $site_id, 
     133                        'exclude'  => $users, 
     134                        'meta_key' => $meta_key, 
     135                        'fields'   => 'ids', 
     136                        'number'   => $number, 
     137                        'offset'   => $offset, 
     138                    ) ); 
     139                    if ( count( $site_users ) ) { 
     140                        foreach ( $site_users as $user_id ) { 
     141                            delete_user_meta( $user_id, $meta_key ); 
     142                            $users[] = $user_id; 
     143                        } 
     144                        $offset = $number; 
     145                        $number = ( $number + $number ); 
     146                    } else { 
     147                        $number = false; 
     148                    } 
     149                } 
     150            } 
     151        } 
     152 
     153        return $users; 
     154    } 
     155 
     156    /** 
     157     * Custom Check Admin Referer for check plugin 
     158     * 
     159     * Support single or multiple actions 
     160     * 
     161     * @return bool 
     162     */ 
     163    private static function _check_admin_referer() { 
     164        if ( current_user_can( 'activate_plugins' ) ) { 
     165            global $action; 
     166            switch ( (string) $action ) { 
     167                case 'deactivate': 
     168                    if ( isset( $_REQUEST['plugin'] ) ) 
     169                        $referer = "{$action}-plugin_{$_REQUEST['plugin']}"; 
     170 
     171                    break; 
     172                case 'deactivate-selected': 
     173                    $plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array(); 
     174                    if ( in_array( plugin_basename( __FILE__ ), $plugins ) ) 
     175                        $referer = 'bulk-plugins'; 
     176 
     177                    break; 
     178            } 
     179        } 
     180 
     181        if ( isset( $referer ) ) { 
     182            check_admin_referer( $referer ); 
     183            return true; 
     184        } 
     185 
     186        return false; 
     187    } 
     188} 
     189 
     190register_deactivation_hook( __FILE__, 'Add_Dashboard_Columns::deactivation' ); 
     191add_action( 'admin_init', 'Add_Dashboard_Columns::instance' ); 
  • add-dashboard-columns/tags/1.3.4/readme.txt

    r1483525 r1483687  
    55Requires at least: 3.8 
    66Tested up to: 4.6 
    7 Stable tag: 1.3.3 
     7Stable tag: 1.3.4 
    88License: GPLv2 or later 
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    2121 
    2222== Changelog == 
     23= 1.3.4 = 
     24* Rewrite plugin 
     25* Delete in WordPress 4.6+ screen_layout_dashboard, meta-box-order_dashboard, 
     26  also delete if multisite screen_layout_dashboard-network, meta-box-order_dashboard-network on deactivation 
    2327= 1.3.3 = 
    2428* Check support 
  • add-dashboard-columns/trunk/add-dashboard-columns.php

    r1483525 r1483687  
    44 * Plugin URI: http://wordpress.org/plugins/add-dashboard-columns/ 
    55 * Description: Enable Dashboard Columns in WordPress after version 3.8 
    6  * Version: 1.3.3 
     6 * Version: 1.3.4 
    77 * Author: Sergio P.A. ( 23r9i0 ) 
    88 * Author URI: http://dsergio.com/ 
     
    1111 */ 
    1212 
    13 defined( 'ABSPATH' ) or exit; 
     13( defined( 'ABSPATH' ) && is_admin() ) or exit; 
    1414 
    15 add_action( 'admin_head-index.php', function() { 
    16     add_screen_option( 'layout_columns', array( 'max' => 4, 'default' => 3 ) ); 
    17     echo '<style id="add-dashboard-columns" type="text/css">' . 
    18         '#wpbody #wpbody-content #dashboard-widgets .postbox-container{width:100%}' . 
    19         '@media (min-width:768px){' . 
    20             '#wpbody #wpbody-content #dashboard-widgets:not(.columns-1) .postbox-container{width:50%}' . 
    21         '}' . 
    22         '@media (min-width:1200px){' . 
    23             '#wpbody #wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.3%}' . 
    24             '#wpbody #wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}' . 
    25         '}' . 
    26         '</style>'; 
    27 }, 12 ); 
     15final class Add_Dashboard_Columns { 
    2816 
    29 add_filter( 'plugin_row_meta', function( $plugin_meta, $plugin_file, $plugin_data, $status ) { 
    30     if( $plugin_file === plugin_basename( __FILE__ ) ) { 
    31         $plugin_meta[] = sprintf( 
    32             '<a target="_blank" href="%s">%s</a>', 
    33             esc_url( 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=L4BFVU5HDJH8S' ), __( 'Donate' ) 
    34         ); 
     17    public static function instance() { 
     18        static $instance = null; 
     19 
     20        return isset( $instance ) ? $instance : $instance = new self; 
    3521    } 
    36     return $plugin_meta; 
    37 }, 10, 4 ); 
     22 
     23    private function __construct() { 
     24        add_action( 'admin_head-index.php', array( $this, 'admin_head' ), 12 ); 
     25        add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 4 ); 
     26    } 
     27 
     28    public function admin_head() { 
     29        add_screen_option( 'layout_columns', array( 'max' => 4, 'default' => 3 ) ); 
     30        echo '<style id="add-dashboard-columns" type="text/css">' . 
     31            '#wpbody #wpbody-content #dashboard-widgets .postbox-container{width:100%}' . 
     32            '@media (min-width:768px){' . 
     33                '#wpbody #wpbody-content #dashboard-widgets:not(.columns-1) .postbox-container{width:50%}' . 
     34            '}' . 
     35            '@media (min-width:1200px){' . 
     36                '#wpbody #wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.3%}' . 
     37                '#wpbody #wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}' . 
     38            '}' . 
     39            '</style>'; 
     40    } 
     41 
     42    public function plugin_row_meta( $plugin_meta, $plugin_file, $plugin_data, $status ) { 
     43        if( $plugin_file === plugin_basename( __FILE__ ) ) { 
     44            $plugin_meta[] = sprintf( 
     45                '<a target="_blank" href="%s">%s</a>', 
     46                esc_url( 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=L4BFVU5HDJH8S' ), __( 'Donate' ) 
     47            ); 
     48        } 
     49        return $plugin_meta; 
     50    } 
     51 
     52    /** 
     53     * Plugin Deactivation 
     54     * 
     55     * Note: Support WordPress 4.6+ only 
     56     * 
     57     * @param  bool $network_wide 
     58     * 
     59     * @return void 
     60     */ 
     61    public static function deactivation( $network_wide = false ) { 
     62        if ( self::_check_admin_referer() ) { 
     63            if ( is_multisite() ) { 
     64                if ( function_exists( 'get_networks' ) && function_exists( 'get_sites' ) ) { 
     65                    $users          = array(); 
     66                    $number_network = 100; 
     67                    $offset_network = 0; 
     68                    // For performace limit query to 100 results 
     69                    while ( is_int( $number_network ) ) { 
     70                        $network_ids = get_networks( array( 
     71                            'fields' => 'ids', 
     72                            'number' => $number_network, 
     73                            'offset' => $offset_network, 
     74                        ) ); 
     75                        if ( count( $network_ids ) ) { 
     76                            foreach ( $network_ids as $network_id ) { 
     77                                $number_sites = 100; 
     78                                $offset_sites = 0; 
     79                                // For performace limit query to 100 results 
     80                                while ( is_int( $number_sites ) ) { 
     81                                    $sites = get_sites( array( 
     82                                        'network_id' => $network_id, 
     83                                        'fields'     => 'ids', 
     84                                        'number'     => $number_network, 
     85                                        'offset'     => $offset_network, 
     86                                    ) ); 
     87                                    if ( count( $sites ) ) { 
     88                                        foreach ( $sites as $site_id ) { 
     89                                            $users = self::_deactivation( $site_id, $users ); 
     90                                        } 
     91                                        $offset_sites = $number_sites; 
     92                                        $number_sites = ( $number_sites + $number_sites ); 
     93                                    } else { 
     94                                        $number_sites = false; 
     95                                    } 
     96                                } 
     97                            } 
     98                            $offset_network = $number_network; 
     99                            $number_network = ( $number_network + $number_network ); 
     100                        } else { 
     101                            $number_network = false; 
     102                        } 
     103                    } 
     104 
     105                } 
     106            } else { 
     107                self::_deactivation(); 
     108            } 
     109        } 
     110    } 
     111 
     112    /** 
     113     * Delete User meta 
     114     * 
     115     * @param int   $site_id Current site id (DB = blog_id ) 
     116     * @param array $users   User to exclude 
     117     * 
     118     * @return array 
     119     */ 
     120    private static function _deactivation( $site_id = null, $users = array() ) { 
     121        if ( function_exists( 'get_users' ) ) { 
     122            $meta = array( 'screen_layout_dashboard', 'meta-box-order_dashboard' ); 
     123            if ( is_multisite() ) 
     124                $meta = array_merge( array( 'screen_layout_dashboard', 'meta-box-order_dashboard' ), $meta ); 
     125 
     126            foreach ( $meta as $meta_key ) { 
     127                $number = 100; 
     128                $offset = 0; 
     129                // For performace limit query to 100 results 
     130                while ( is_int( $number ) ) { 
     131                    $site_users = get_users( array( 
     132                        'blog_id'  => $site_id, 
     133                        'exclude'  => $users, 
     134                        'meta_key' => $meta_key, 
     135                        'fields'   => 'ids', 
     136                        'number'   => $number, 
     137                        'offset'   => $offset, 
     138                    ) ); 
     139                    if ( count( $site_users ) ) { 
     140                        foreach ( $site_users as $user_id ) { 
     141                            delete_user_meta( $user_id, $meta_key ); 
     142                            $users[] = $user_id; 
     143                        } 
     144                        $offset = $number; 
     145                        $number = ( $number + $number ); 
     146                    } else { 
     147                        $number = false; 
     148                    } 
     149                } 
     150            } 
     151        } 
     152 
     153        return $users; 
     154    } 
     155 
     156    /** 
     157     * Custom Check Admin Referer for check plugin 
     158     * 
     159     * Support single or multiple actions 
     160     * 
     161     * @return bool 
     162     */ 
     163    private static function _check_admin_referer() { 
     164        if ( current_user_can( 'activate_plugins' ) ) { 
     165            global $action; 
     166            switch ( (string) $action ) { 
     167                case 'deactivate': 
     168                    if ( isset( $_REQUEST['plugin'] ) ) 
     169                        $referer = "{$action}-plugin_{$_REQUEST['plugin']}"; 
     170 
     171                    break; 
     172                case 'deactivate-selected': 
     173                    $plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array(); 
     174                    if ( in_array( plugin_basename( __FILE__ ), $plugins ) ) 
     175                        $referer = 'bulk-plugins'; 
     176 
     177                    break; 
     178            } 
     179        } 
     180 
     181        if ( isset( $referer ) ) { 
     182            check_admin_referer( $referer ); 
     183            return true; 
     184        } 
     185 
     186        return false; 
     187    } 
     188} 
     189 
     190register_deactivation_hook( __FILE__, 'Add_Dashboard_Columns::deactivation' ); 
     191add_action( 'admin_init', 'Add_Dashboard_Columns::instance' ); 
  • add-dashboard-columns/trunk/readme.txt

    r1483525 r1483687  
    55Requires at least: 3.8 
    66Tested up to: 4.6 
    7 Stable tag: 1.3.3 
     7Stable tag: 1.3.4 
    88License: GPLv2 or later 
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    2121 
    2222== Changelog == 
     23= 1.3.4 = 
     24* Rewrite plugin 
     25* Delete in WordPress 4.6+ screen_layout_dashboard, meta-box-order_dashboard, 
     26  also delete if multisite screen_layout_dashboard-network, meta-box-order_dashboard-network on deactivation 
    2327= 1.3.3 = 
    2428* Check support 
Note: See TracChangeset for help on using the changeset viewer.