WordPress.org

Plugin Directory

Changeset 1484265


Ignore:
Timestamp:
08/26/16 17:27:05 (16 months ago)
Author:
23r9i0
Message:

1.3.4.2

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

Legend:

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

    r1484163 r1484265  
    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.4.1 
     6 * Version: 1.3.4.2 
    77 * Author: Sergio P.A. ( 23r9i0 ) 
    88 * Author URI: http://dsergio.com/ 
     
    1313defined( 'ABSPATH' ) or exit; 
    1414 
    15 final class Add_Dashboard_Columns { 
     15add_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 ); 
    1628 
    17     public static function instance() { 
    18         static $instance = null; 
    19  
    20         return isset( $instance ) ? $instance : $instance = new self; 
     29add_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        ); 
    2135    } 
    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  
    190 register_deactivation_hook( __FILE__, 'Add_Dashboard_Columns::deactivation' ); 
    191 add_action( 'admin_init', 'Add_Dashboard_Columns::instance' ); 
     36    return $plugin_meta; 
     37}, 10, 4 ); 
  • add-dashboard-columns/tags/1.3.4.2/readme.txt

    r1484163 r1484265  
    55Requires at least: 3.8 
    66Tested up to: 4.6 
    7 Stable tag: 1.3.4.1 
     7Stable tag: 1.3.4.2 
    88License: GPLv2 or later 
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    2121 
    2222== Changelog == 
     23= 1.3.4.2 = 
     24* Remove register_deactivation_hook, because on many users it may not work properly 
    2325= 1.3.4.1 = 
    2426* Fix WP CLI 
  • add-dashboard-columns/trunk/add-dashboard-columns.php

    r1484163 r1484265  
    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.4.1 
     6 * Version: 1.3.4.2 
    77 * Author: Sergio P.A. ( 23r9i0 ) 
    88 * Author URI: http://dsergio.com/ 
     
    1313defined( 'ABSPATH' ) or exit; 
    1414 
    15 final class Add_Dashboard_Columns { 
     15add_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 ); 
    1628 
    17     public static function instance() { 
    18         static $instance = null; 
    19  
    20         return isset( $instance ) ? $instance : $instance = new self; 
     29add_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        ); 
    2135    } 
    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  
    190 register_deactivation_hook( __FILE__, 'Add_Dashboard_Columns::deactivation' ); 
    191 add_action( 'admin_init', 'Add_Dashboard_Columns::instance' ); 
     36    return $plugin_meta; 
     37}, 10, 4 ); 
  • add-dashboard-columns/trunk/readme.txt

    r1484163 r1484265  
    55Requires at least: 3.8 
    66Tested up to: 4.6 
    7 Stable tag: 1.3.4.1 
     7Stable tag: 1.3.4.2 
    88License: GPLv2 or later 
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    2121 
    2222== Changelog == 
     23= 1.3.4.2 = 
     24* Remove register_deactivation_hook, because on many users it may not work properly 
    2325= 1.3.4.1 = 
    2426* Fix WP CLI 
Note: See TracChangeset for help on using the changeset viewer.