WordPress.org

Plugin Directory

Changeset 1605900


Ignore:
Timestamp:
03/01/17 11:57:19 (8 months ago)
Author:
gfazioli
Message:

add some features and review options manager

Location:
best-configuration
Files:
211 added
3 deleted
22 edited

Legend:

Unmodified
Added
Removed
  • best-configuration/trunk/config/options.php

    r1553653 r1605900  
    1414 
    1515return [ 
    16   'version' => '0.1', 
     16  'version' => '0.2', 
    1717 
    1818  'general' => [ 
    19     'wp_rest_api' => true, 
     19    'wp_rest_api'                   => true, 
     20    'xml_rpc'                       => true, 
     21    'wp_version'                    => true, 
     22    'remove_footer'                 => false, 
     23    'hide_login_errors'             => false, 
     24    'disable_authenticate_by_email' => false, 
    2025  ], 
    2126 
  • best-configuration/trunk/index.php

    r1553653 r1605900  
    55 * Plugin URI: http://undolog.com 
    66 * Description: Provides a set of useful configurations for admin backend and frontnend. 
    7  * Version: 0.5.0 
     7 * Version: 0.6.0 
    88 * Author: Giovambattista Fazioli 
    99 * Author URI: http://undolog.com 
  • best-configuration/trunk/plugin/Providers/BestConfigurationProvider.php

    r1553653 r1605900  
    2020  public function best_configuration_options_updated() 
    2121  { 
    22     $this->options = $options = BestConfiguration()->options; 
    23     $this->isAdmin = is_admin(); 
    24  
    25     $this->enabledWPRESTAPI( $options[ 'general' ] ); 
    26  
    27     if ( $this->isAdmin ) { 
    28       $this->adminDashboard( $options->get( 'dashboard.admin' ) ); 
    29       $this->adminPosts( $options->get( 'posts.admin' ) ); 
    30     } 
    31     else { 
    32       $this->themeDashboard( $options->get( 'dashboard.theme' ) ); 
    33       $this->themeComments( $options->get( 'comments.theme' ) ); 
    34       $this->themePosts( $options->get( 'posts.theme' ) ); 
    35       $this->themeWidgets( $options->get( 'widgets.theme' ) ); 
    36     } 
    37   } 
    38  
    39   /* 
    40   |-------------------------------------------------------------------------- 
    41   | General options 
    42   |-------------------------------------------------------------------------- 
    43   | 
    44   */ 
    45  
    46   protected function enabledWPRESTAPI( $options ) 
    47   { 
    48     if ( ! $options[ 'wp_rest_api' ] ) { 
    49       // Filters for WP-API version 1.x 
    50       add_filter( 'json_enabled', '__return_false' ); 
    51       add_filter( 'json_jsonp_enabled', '__return_false' ); 
    52  
    53       // Filters for WP-API version 2.x 
    54       add_filter( 'rest_enabled', '__return_false' ); 
    55       add_filter( 'rest_jsonp_enabled', '__return_false' ); 
    56  
    57       // Remove REST API info from head and headers 
    58       remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' ); 
    59       remove_action( 'wp_head', 'rest_output_link_wp_head', 10 ); 
    60       remove_action( 'template_redirect', 'rest_output_link_header', 11 ); 
    61  
    62       add_filter( 'rest_authentication_errors', [ $this, 'rest_authentication_errors' ] ); 
    63     } 
    64   } 
    65  
    66   public function rest_authentication_errors( $access ) 
    67   { 
    68     return new \WP_Error( 'rest_cannot_access', 
    69                           __( 'Only authenticated users can access the REST API.' ), 
    70                           [ 'status' => rest_authorization_required_code() ] 
    71     ); 
    72   } 
    73  
    74   /* 
    75   |-------------------------------------------------------------------------- 
    76   | Dashboard options 
    77   |-------------------------------------------------------------------------- 
    78   | 
    79   */ 
    80  
    81   protected function adminDashboard( $options ) 
    82   { 
    83     if ( $options[ 'remove_welcome_panel' ] ) { 
    84       remove_action( 'welcome_panel', 'wp_welcome_panel' ); 
    85     } 
    86  
    87     add_action( 'admin_menu', function () { 
    88       global $menu; 
    89  
    90       $options = $this->options->get( 'dashboard.admin' ); 
    91  
    92       $removedMenus = [ 
    93         'remove_dashboard_menu'  => __( 'Dashboard' ), 
    94         'remove_posts_menu'      => __( 'Posts' ), 
    95         'remove_pages_menu'      => __( 'Pages' ), 
    96         'remove_media_menu'      => __( 'Media' ), 
    97         'remove_links_menu'      => __( 'Links' ), 
    98         'remove_appearance_menu' => __( 'Appearance' ), 
    99         'remove_comments_menu'   => __( 'Comments' ), 
    100         'remove_tools_menu'      => __( 'Tools' ), 
    101         'remove_settings_menu'   => __( 'Settings' ), 
    102         'remove_users_menu'      => __( 'Users' ), 
    103         'remove_plugins_menu'    => __( 'Plugins' ), 
    104       ]; 
    105  
    106       foreach ( $removedMenus as $key => $label ) { 
    107         if ( ! empty( $options[ $key ] ) ) { 
    108           end( $menu ); 
    109           while( prev( $menu ) ) { 
    110             $value = explode( ' ', $menu[ key( $menu ) ][ 0 ] ); 
    111             if ( $value[ 0 ] != null && $value[ 0 ] == $label ) { 
    112               unset( $menu[ key( $menu ) ] ); 
    113             } 
    114           } 
    115         } 
    116       } 
    117     } ); 
    118  
    119   } 
    120  
    121   protected function themeDashboard( $options ) 
    122   { 
    123     // admin bar 
    124     if ( $options[ 'remove_admin_bar' ] ) { 
    125       add_filter( 'show_admin_bar', '__return_false' ); 
    126       wp_deregister_script( 'admin-bar' ); 
    127       wp_deregister_style( 'admin-bar' ); 
    128       remove_action( 'wp_footer', 'wp_admin_bar_render', 1000 ); 
    129       show_admin_bar( false ); 
    130     } 
    131   } 
    132  
    133   /* 
    134   |-------------------------------------------------------------------------- 
    135   | Comments options 
    136   |-------------------------------------------------------------------------- 
    137   | 
    138   */ 
    139  
    140   protected function adminComments( $options ) 
    141   { 
    142  
    143   } 
    144  
    145   protected function themeComments( $options ) 
    146   { 
    147     if ( $options[ 'remove_author_link' ] ) { 
    148       add_filter( 'get_comment_author_link', 
    149         function ( $return, $author ) { 
    150           $return = $author; 
    151  
    152           return $return; 
    153  
    154         }, 10, 2 
    155       ); 
    156     } 
    157     else { 
    158       if ( $options[ 'remove_author' ] ) { 
    159         add_filter( 'get_comment_author_link', '__return_false' ); 
    160       } 
    161     } 
    162   } 
    163  
    164   /* 
    165   |-------------------------------------------------------------------------- 
    166   | Posts options 
    167   |-------------------------------------------------------------------------- 
    168   | 
    169   */ 
    170  
    171   private function setExcerpt( $options ) 
    172   { 
    173     // excerpt 
    174     if ( ! empty( $options[ 'excerpt_length' ] ) ) { 
    175       add_filter( 'excerpt_length', 
    176  
    177         function ( $words ) { 
    178           $words = (int) BestConfiguration()->options->get( 'posts/theme/excerpt_length' ); 
    179  
    180           return $words; 
    181         }, 99 ); 
    182     } 
    183  
    184     // page drag and drop 
    185     if ( ! empty( $options[ 'drag_and_drop' ] ) ) { 
    186  
    187       // add input type hidden and query 
    188       // Fires before the Filter button on the Posts and Pages list tables. 
    189       add_action( 'restrict_manage_posts', function () { 
    190         global $typenow, $per_page; 
    191  
    192         // Get the post type 
    193         $cpt = get_post_type_object( $typenow ); 
    194  
    195         // Enabled drag & drop menu order only for post type page 
    196         if ( ! empty( $cpt ) && is_object( $cpt ) && post_type_supports( $typenow, 'page-attributes' ) ) { 
    197           // Build info on pagination. Useful for sorter 
    198           $paged = isset( $_REQUEST[ 'paged' ] ) ? $_REQUEST[ 'paged' ] : '1'; 
    199           ?> 
    200           <input rel="<?php echo $typenow ?>" 
    201                  type="hidden" 
    202                  name="best-configuration-per-page" 
    203                  id="best-configuration-per-page" 
    204                  value="<?php echo $per_page ?>"/> 
    205           <input type="hidden" 
    206                  name="best-configuration-paged" 
    207                  id="best-configuration-paged" 
    208                  value="<?php echo $paged ?>"/> 
    209           <?php 
    210         } 
    211       } ); 
    212  
    213       // add styles 
    214       add_action( 'admin_print_styles-edit.php', function () { 
    215         wp_enqueue_style( 'best-configuration-drag-and-drop', 
    216                           BestConfiguration()->css . '/best-configuration-drag-and-drop.min.css', 
    217                           [], 
    218                           BestConfiguration()->Version ); 
    219       } ); 
    220  
    221       // add javascript for drag & drop 
    222       add_action( 'admin_print_footer_scripts-edit.php', function () { 
    223         wp_enqueue_script( 'best-configuration-drag-and-drop', 
    224                            BestConfiguration()->js . '/best-configuration-drag-and-drop.min.js', 
    225                            [ 
    226                              'jquery-ui-core', 
    227                              'jquery-ui-sortable', 
    228                              'jquery-ui-draggable', 
    229                            ], 
    230                            BestConfiguration()->Version, 
    231                            true 
    232         ); 
    233       } 
    234       ); 
    235  
    236       // add column 
    237       add_filter( 'manage_pages_columns', 
    238         function ( $columns ) { 
    239           global $typenow; 
    240  
    241           if ( is_null( $typenow ) ) { 
    242             return $columns; 
    243           } 
    244  
    245           if ( post_type_supports( $typenow, 'page-attributes' ) ) { 
    246             $columns = array_merge( [ 'menu_order' => '<i class="dashicons dashicons-editor-ol"></i>' ], $columns ); 
    247           } 
    248  
    249           return $columns; 
    250         } 
    251       ); 
    252  
    253       // add column content 
    254       add_action( 'manage_pages_custom_column', 
    255         function ( $column_name, $post_id ) { 
    256  
    257           global $post; 
    258  
    259           if ( $column_name == 'menu_order' ) { 
    260             printf( '<i data-order="%s" class="dashicons dashicons-move"></i>', $post->menu_order ); 
    261           } 
    262  
    263         }, 10, 2 
    264       ); 
    265     } 
    266  
    267   } 
    268  
    269   protected function adminPosts( $options ) 
    270   { 
    271     // all post types revisions to keep 
    272     if ( $options[ 'revisions_to_keep' ] > 0 ) { 
    273       add_filter( 'wp_revisions_to_keep', 
    274         function ( $num, $post ) { 
    275           $options = $this->options->get( 'posts.admin' ); 
    276  
    277           return $options[ 'revisions_to_keep' ]; 
    278  
    279         }, 10, 2 ); 
    280     } 
    281  
    282     // revisions to keep for post types 
    283     foreach ( get_post_types() as $key ) { 
    284       $optionKey = "revisions_to_keep_{$key}"; 
    285  
    286       if ( isset( $options[ $optionKey ] ) && $options[ $optionKey ] > 0 ) { 
    287  
    288         add_filter( 'wp_revisions_to_keep', 
    289           function ( $num, $post ) use ( $key ) { 
    290  
    291             $options = $this->options->get( 'posts.admin' ); 
    292  
    293             if ( $key == $post->post_type ) { 
    294               return $options[ "revisions_to_keep_{$key}" ]; 
    295             } 
    296  
    297             return $num; 
    298  
    299           }, 10, 2 ); 
    300       } 
    301     } 
    302  
    303  
    304     $this->setExcerpt( $options ); 
    305   } 
    306  
    307   protected function themePosts( $options ) 
    308   { 
    309     $this->setExcerpt( $options ); 
    310  
    311     // feed 
    312     if ( $options[ 'disable_feed' ] ) { 
    313       add_action( 'do_feed', [ $this, 'disable_feed' ], 1 ); 
    314       add_action( 'do_feed_rdf', [ $this, 'disable_feed' ], 1 ); 
    315       add_action( 'do_feed_rss', [ $this, 'disable_feed' ], 1 ); 
    316       add_action( 'do_feed_rss2', [ $this, 'disable_feed' ], 1 ); 
    317       add_action( 'do_feed_atom', [ $this, 'disable_feed' ], 1 ); 
    318     } 
    319   } 
    320  
    321   public function disable_feed() 
    322   { 
    323     wp_die( __( '<h1>Feed not available, please visit our <a href="' . get_bloginfo( 'url' ) . '">Home Page</a>!</h1>' ) ); 
    324   } 
    325  
    326  
    327   /* 
    328   |-------------------------------------------------------------------------- 
    329   | Widgets options 
    330   |-------------------------------------------------------------------------- 
    331   | 
    332   */ 
    333  
    334   protected function themeWidgets( $options ) 
    335   { 
    336     if ( $options[ 'enable_shortcode_text_widget' ] ) { 
    337       add_filter( 'widget_text', 'do_shortcode' ); 
    338     } 
     22    BestConfigurationManager::boot(); 
    33923  } 
    34024 
  • best-configuration/trunk/readme.txt

    r1553653 r1605900  
    44Tags: wordpress, dashboard,theme,backend,options,settings,rest api,json,menu,configuration 
    55Requires at least: 4.5.2 
    6 Tested up to: 4.7.0 
    7 Stable tag: 0.5.0 
     6Tested up to: 4.7.2 
     7Stable tag: 0.6.0 
    88License: GPLv2 or later 
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html 
  • best-configuration/trunk/resources/views/general/index.php

    r1549367 r1605900  
    3434      </p> 
    3535 
     36      <p> 
     37        <?php 
     38        echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'general/xml_rpc' ) 
     39                                                                      ->checked( $plugin->options->get( 'general/xml_rpc' ) ) 
     40                                                                      ->right_label( _( 'Enable XML-RPC' ) ); 
     41        ?> 
     42      </p> 
     43 
     44      <p> 
     45        <?php 
     46        echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'general/wp_version' ) 
     47                                                                      ->checked( $plugin->options->get( 'general/wp_version' ) ) 
     48                                                                      ->right_label( _( 'Display WordPress Version' ) ); 
     49        ?> 
     50      </p> 
     51 
     52      <p> 
     53        <?php 
     54        echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'general/remove_footer' ) 
     55                                                                      ->checked( $plugin->options->get( 'general/remove_footer' ) ) 
     56                                                                      ->right_label( _( 'Remove footer' ) ); 
     57        ?> 
     58      </p> 
     59 
     60      <p> 
     61        <?php 
     62        echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'general/hide_login_errors' ) 
     63                                                                      ->checked( $plugin->options->get( 'general/hide_login_errors' ) ) 
     64                                                                      ->right_label( _( 'Hide login Errors' ) ); 
     65        ?> 
     66      </p> 
     67 
     68      <p> 
     69        <?php 
     70        echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'general/disable_authenticate_by_email' ) 
     71                                                                      ->checked( $plugin->options->get( 'general/disable_authenticate_by_email' ) ) 
     72                                                                      ->right_label( _( 'Disable Authentication by Email' ) ); 
     73        ?> 
     74      </p> 
     75 
    3676      <hr/> 
    3777 
  • best-configuration/trunk/vendor/autoload.php

    r1549367 r1605900  
    55require_once __DIR__ . '/composer' . '/autoload_real.php'; 
    66 
    7 return ComposerAutoloaderInit5c6945045cecc74f5478e7c38b3839f7::getLoader(); 
     7return ComposerAutoloaderInitc6a28a1654069c5877e86d59cdbfd7c4::getLoader(); 
  • best-configuration/trunk/vendor/composer/autoload_classmap.php

    r1540648 r1605900  
    77 
    88return array( 
     9    'BestConfiguration\\Ajax\\BestConfigurationAjax' => $baseDir . '/plugin/Ajax/BestConfigurationAjax.php', 
    910    'BestConfiguration\\Http\\Controllers\\CommentsController' => $baseDir . '/plugin/Http/Controllers/CommentsController.php', 
    1011    'BestConfiguration\\Http\\Controllers\\Controller' => $baseDir . '/plugin/Http/Controllers/Controller.php', 
    1112    'BestConfiguration\\Http\\Controllers\\DashboardController' => $baseDir . '/plugin/Http/Controllers/DashboardController.php', 
     13    'BestConfiguration\\Http\\Controllers\\GeneralController' => $baseDir . '/plugin/Http/Controllers/GeneralController.php', 
    1214    'BestConfiguration\\Http\\Controllers\\PostsController' => $baseDir . '/plugin/Http/Controllers/PostsController.php', 
    1315    'BestConfiguration\\Http\\Controllers\\WidgetsController' => $baseDir . '/plugin/Http/Controllers/WidgetsController.php', 
     16    'BestConfiguration\\Providers\\BestConfigurationController' => $baseDir . '/plugin/Providers/BestConfigurationController.php', 
     17    'BestConfiguration\\Providers\\BestConfigurationManager' => $baseDir . '/plugin/Providers/BestConfigurationManager.php', 
    1418    'BestConfiguration\\Providers\\BestConfigurationProvider' => $baseDir . '/plugin/Providers/BestConfigurationProvider.php', 
    1519    'BestConfiguration\\PureCSSSwitch\\Html\\HtmlTagSwitchButton' => $vendorDir . '/wpbones/pure-css-switch/src/Html/HtmlTagSwitchButton.php', 
     
    2125    'BestConfiguration\\WPBones\\Contracts\\Foundation\\Plugin' => $vendorDir . '/wpbones/wpbones/src/Contracts/Foundation/Plugin.php', 
    2226    'BestConfiguration\\WPBones\\Database\\Migrations\\Migration' => $vendorDir . '/wpbones/wpbones/src/Database/Migrations/Migration.php', 
     27    'BestConfiguration\\WPBones\\Database\\Seeder' => $vendorDir . '/wpbones/wpbones/src/Database/Seeder.php', 
    2328    'BestConfiguration\\WPBones\\Database\\WordPressOption' => $vendorDir . '/wpbones/wpbones/src/Database/WordPressOption.php', 
    2429    'BestConfiguration\\WPBones\\Foundation\\Console\\Kernel' => $vendorDir . '/wpbones/wpbones/src/Foundation/Console/Kernel.php', 
  • best-configuration/trunk/vendor/composer/autoload_real.php

    r1549367 r1605900  
    33// autoload_real.php @generated by Composer 
    44 
    5 class ComposerAutoloaderInit5c6945045cecc74f5478e7c38b3839f7 
     5class ComposerAutoloaderInitc6a28a1654069c5877e86d59cdbfd7c4 
    66{ 
    77    private static $loader; 
     
    2020        } 
    2121 
    22         spl_autoload_register(array('ComposerAutoloaderInit5c6945045cecc74f5478e7c38b3839f7', 'loadClassLoader'), true, true); 
     22        spl_autoload_register(array('ComposerAutoloaderInitc6a28a1654069c5877e86d59cdbfd7c4', 'loadClassLoader'), true, true); 
    2323        self::$loader = $loader = new \Composer\Autoload\ClassLoader(); 
    24         spl_autoload_unregister(array('ComposerAutoloaderInit5c6945045cecc74f5478e7c38b3839f7', 'loadClassLoader')); 
     24        spl_autoload_unregister(array('ComposerAutoloaderInitc6a28a1654069c5877e86d59cdbfd7c4', 'loadClassLoader')); 
    2525 
    2626        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION'); 
     
    2828            require_once __DIR__ . '/autoload_static.php'; 
    2929 
    30             call_user_func(\Composer\Autoload\ComposerStaticInit5c6945045cecc74f5478e7c38b3839f7::getInitializer($loader)); 
     30            call_user_func(\Composer\Autoload\ComposerStaticInitc6a28a1654069c5877e86d59cdbfd7c4::getInitializer($loader)); 
    3131        } else { 
    3232            $map = require __DIR__ . '/autoload_namespaces.php'; 
     
    4949 
    5050        if ($useStaticLoader) { 
    51             $includeFiles = Composer\Autoload\ComposerStaticInit5c6945045cecc74f5478e7c38b3839f7::$files; 
     51            $includeFiles = Composer\Autoload\ComposerStaticInitc6a28a1654069c5877e86d59cdbfd7c4::$files; 
    5252        } else { 
    5353            $includeFiles = require __DIR__ . '/autoload_files.php'; 
    5454        } 
    5555        foreach ($includeFiles as $fileIdentifier => $file) { 
    56             composerRequire5c6945045cecc74f5478e7c38b3839f7($fileIdentifier, $file); 
     56            composerRequirec6a28a1654069c5877e86d59cdbfd7c4($fileIdentifier, $file); 
    5757        } 
    5858 
     
    6161} 
    6262 
    63 function composerRequire5c6945045cecc74f5478e7c38b3839f7($fileIdentifier, $file) 
     63function composerRequirec6a28a1654069c5877e86d59cdbfd7c4($fileIdentifier, $file) 
    6464{ 
    6565    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { 
  • best-configuration/trunk/vendor/composer/autoload_static.php

    r1549367 r1605900  
    55namespace Composer\Autoload; 
    66 
    7 class ComposerStaticInit5c6945045cecc74f5478e7c38b3839f7 
     7class ComposerStaticInitc6a28a1654069c5877e86d59cdbfd7c4 
    88{ 
    99    public static $files = array ( 
     
    4242 
    4343    public static $classMap = array ( 
     44        'BestConfiguration\\Ajax\\BestConfigurationAjax' => __DIR__ . '/../..' . '/plugin/Ajax/BestConfigurationAjax.php', 
    4445        'BestConfiguration\\Http\\Controllers\\CommentsController' => __DIR__ . '/../..' . '/plugin/Http/Controllers/CommentsController.php', 
    4546        'BestConfiguration\\Http\\Controllers\\Controller' => __DIR__ . '/../..' . '/plugin/Http/Controllers/Controller.php', 
    4647        'BestConfiguration\\Http\\Controllers\\DashboardController' => __DIR__ . '/../..' . '/plugin/Http/Controllers/DashboardController.php', 
     48        'BestConfiguration\\Http\\Controllers\\GeneralController' => __DIR__ . '/../..' . '/plugin/Http/Controllers/GeneralController.php', 
    4749        'BestConfiguration\\Http\\Controllers\\PostsController' => __DIR__ . '/../..' . '/plugin/Http/Controllers/PostsController.php', 
    4850        'BestConfiguration\\Http\\Controllers\\WidgetsController' => __DIR__ . '/../..' . '/plugin/Http/Controllers/WidgetsController.php', 
     51        'BestConfiguration\\Providers\\BestConfigurationController' => __DIR__ . '/../..' . '/plugin/Providers/BestConfigurationController.php', 
     52        'BestConfiguration\\Providers\\BestConfigurationManager' => __DIR__ . '/../..' . '/plugin/Providers/BestConfigurationManager.php', 
    4953        'BestConfiguration\\Providers\\BestConfigurationProvider' => __DIR__ . '/../..' . '/plugin/Providers/BestConfigurationProvider.php', 
    5054        'BestConfiguration\\PureCSSSwitch\\Html\\HtmlTagSwitchButton' => __DIR__ . '/..' . '/wpbones/pure-css-switch/src/Html/HtmlTagSwitchButton.php', 
     
    5660        'BestConfiguration\\WPBones\\Contracts\\Foundation\\Plugin' => __DIR__ . '/..' . '/wpbones/wpbones/src/Contracts/Foundation/Plugin.php', 
    5761        'BestConfiguration\\WPBones\\Database\\Migrations\\Migration' => __DIR__ . '/..' . '/wpbones/wpbones/src/Database/Migrations/Migration.php', 
     62        'BestConfiguration\\WPBones\\Database\\Seeder' => __DIR__ . '/..' . '/wpbones/wpbones/src/Database/Seeder.php', 
    5863        'BestConfiguration\\WPBones\\Database\\WordPressOption' => __DIR__ . '/..' . '/wpbones/wpbones/src/Database/WordPressOption.php', 
    5964        'BestConfiguration\\WPBones\\Foundation\\Console\\Kernel' => __DIR__ . '/..' . '/wpbones/wpbones/src/Foundation/Console/Kernel.php', 
     
    8994    { 
    9095        return \Closure::bind(function () use ($loader) { 
    91             $loader->prefixLengthsPsr4 = ComposerStaticInit5c6945045cecc74f5478e7c38b3839f7::$prefixLengthsPsr4; 
    92             $loader->prefixDirsPsr4 = ComposerStaticInit5c6945045cecc74f5478e7c38b3839f7::$prefixDirsPsr4; 
    93             $loader->classMap = ComposerStaticInit5c6945045cecc74f5478e7c38b3839f7::$classMap; 
     96            $loader->prefixLengthsPsr4 = ComposerStaticInitc6a28a1654069c5877e86d59cdbfd7c4::$prefixLengthsPsr4; 
     97            $loader->prefixDirsPsr4 = ComposerStaticInitc6a28a1654069c5877e86d59cdbfd7c4::$prefixDirsPsr4; 
     98            $loader->classMap = ComposerStaticInitc6a28a1654069c5877e86d59cdbfd7c4::$classMap; 
    9499 
    95100        }, null, ClassLoader::class); 
  • best-configuration/trunk/vendor/composer/installed.json

    r1549367 r1605900  
    22    { 
    33        "name": "wpbones/wpbones", 
    4         "version": "0.8.29", 
    5         "version_normalized": "0.8.29.0", 
     4        "version": "0.8.34", 
     5        "version_normalized": "0.8.34.0", 
    66        "source": { 
    77            "type": "git", 
    88            "url": "https://github.com/wpbones/WPBones.git", 
    9             "reference": "bad2b95eca66a16de515cf60323807e81f59dadd" 
     9            "reference": "c4e9d69c810870ab3f4e244dca0f5d17a63da394" 
    1010        }, 
    1111        "dist": { 
    1212            "type": "zip", 
    13             "url": "https://api.github.com/repos/wpbones/WPBones/zipball/bad2b95eca66a16de515cf60323807e81f59dadd", 
    14             "reference": "bad2b95eca66a16de515cf60323807e81f59dadd", 
     13            "url": "https://api.github.com/repos/wpbones/WPBones/zipball/c4e9d69c810870ab3f4e244dca0f5d17a63da394", 
     14            "reference": "c4e9d69c810870ab3f4e244dca0f5d17a63da394", 
    1515            "shasum": "" 
    1616        }, 
     
    1818            "php": ">=5.5.9" 
    1919        }, 
    20         "time": "2016-12-07 09:26:30", 
     20        "time": "2017-03-01 10:34:23", 
    2121        "type": "library", 
    2222        "installation-source": "dist", 
     
    5353    { 
    5454        "name": "wpbones/pure-css-tabs", 
    55         "version": "1.0.9", 
    56         "version_normalized": "1.0.9.0", 
     55        "version": "1.0.10", 
     56        "version_normalized": "1.0.10.0", 
    5757        "source": { 
    5858            "type": "git", 
    5959            "url": "https://github.com/wpbones/pure-css-tabs.git", 
    60             "reference": "ab14fbd7484e76d1f823c5397040516a45650c43" 
     60            "reference": "0fc032deacca250dde4a02c9746e7294e02eb180" 
    6161        }, 
    6262        "dist": { 
    6363            "type": "zip", 
    64             "url": "https://api.github.com/repos/wpbones/pure-css-tabs/zipball/ab14fbd7484e76d1f823c5397040516a45650c43", 
    65             "reference": "ab14fbd7484e76d1f823c5397040516a45650c43", 
     64            "url": "https://api.github.com/repos/wpbones/pure-css-tabs/zipball/0fc032deacca250dde4a02c9746e7294e02eb180", 
     65            "reference": "0fc032deacca250dde4a02c9746e7294e02eb180", 
    6666            "shasum": "" 
    6767        }, 
    68         "time": "2016-11-11 09:30:20", 
     68        "time": "2017-01-07 12:12:44", 
    6969        "type": "library", 
    7070        "installation-source": "dist", 
     
    9595    { 
    9696        "name": "wpbones/pure-css-switch", 
    97         "version": "1.0.6", 
    98         "version_normalized": "1.0.6.0", 
     97        "version": "1.0.9", 
     98        "version_normalized": "1.0.9.0", 
    9999        "source": { 
    100100            "type": "git", 
    101101            "url": "https://github.com/wpbones/pure-css-switch.git", 
    102             "reference": "5d76fa188f03f1254c73189e8b258c4038fa3dbe" 
     102            "reference": "69ab35529e08979401f80450c9ca0d51f96ee9e6" 
    103103        }, 
    104104        "dist": { 
    105105            "type": "zip", 
    106             "url": "https://api.github.com/repos/wpbones/pure-css-switch/zipball/5d76fa188f03f1254c73189e8b258c4038fa3dbe", 
    107             "reference": "5d76fa188f03f1254c73189e8b258c4038fa3dbe", 
     106            "url": "https://api.github.com/repos/wpbones/pure-css-switch/zipball/69ab35529e08979401f80450c9ca0d51f96ee9e6", 
     107            "reference": "69ab35529e08979401f80450c9ca0d51f96ee9e6", 
    108108            "shasum": "" 
    109109        }, 
    110         "time": "2016-11-25 18:34:11", 
     110        "time": "2017-02-11 11:50:52", 
    111111        "type": "library", 
    112112        "installation-source": "dist", 
  • best-configuration/trunk/vendor/wpbones/pure-css-switch/README.md

    r1540648 r1605900  
    1919    $ composer require wpbones/pure-css-switch 
    2020 
    21 You may also to add `"wpbones/pure-css-switch": "^1.0"` in the `composer.json` file of your plugin: 
     21You may also to add `"wpbones/pure-css-switch": "~1.0"` in the `composer.json` file of your plugin: 
    2222  
    2323```json 
     
    3636Alternatively, you can get the `src/resources/assets/less/wpbones-switch.less` and then compile it, or get directly the `src/public/css/wpbones-switch.css` files.     
    3737Also, you can get pre-compiled minified version `src/public/css/wpbones-switch.min.css`. 
     38 
     39## Development installation 
     40 
     41Use `yarn` to install the development tools. Next, use `gulp --production` to compile the resources. 
     42 
    3843 
    3944## Enqueue for Controller 
     
    7075``` 
    7176 
     77## Mode 
     78 
     79To default the switch works as on/off button. You can change the mode by seeting `mode` property, 
     80 
     81```php 
     82<?php echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'test-switch-7' )->mode( 'select' ); ?> 
     83``` 
     84 
     85In the above example, you can use it as selector instead of on/off button. 
     86 
     87 
     88## Theme 
     89 
     90Of course, you can switch theme by using `theme` property ot its fluent version. 
     91Currently, we support two theme: 
     92 
     93* `flat-round` - default 
     94* `flat-square` 
     95 
     96You should use something lokk like: 
     97 
     98```php 
     99<?php echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'test-switch-7' )->theme( 'flat-square' ); ?> 
     100``` 
     101 
     102 
    72103## HTML markup 
    73104 
     
    91122  </p> 
    92123   
    93   <pre>echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'test-switch-5' )->left_label( 'Swipe me' )->checked( true )</pre> 
    94124  <p> 
    95125    <?php echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'test-switch-5' )->left_label( 'Swipe me' )->checked( true ) ?> 
    96126  </p> 
    97127 
    98   <pre>echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'test-switch-6' )->left_label( 'Swipe me' )->disabled( true )</pre> 
    99128  <p> 
    100129    <?php echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'test-switch-6' )->left_label( 'Swipe me' )->disabled( true ) ?> 
    101130  </p> 
     131   
     132  <p> 
     133    <?php echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'test-switch-7' )->theme( 'flat-square' ); ?> 
     134  </p> 
     135   
     136  <p> 
     137    <?php echo BestConfiguration\PureCSSSwitch\Html\HtmlTagSwitchButton::name( 'test-switch-8' )->left_label( 'Turn left' )->right_label( 'Turn right' )->mode( 'select' ); ?> 
     138  </p> 
    102139``` 
  • best-configuration/trunk/vendor/wpbones/pure-css-switch/composer.json

    r1549367 r1605900  
    11{ 
    22  "name": "wpbones/pure-css-switch", 
    3   "version": "1.0.6", 
     3  "version": "1.0.9", 
    44  "homepage": "https://github.com/wpbones/pure-css-switch", 
    55  "license": "MIT", 
     
    3232  }, 
    3333  "minimum-stability": "stable", 
    34   "prefer-stable": "true" 
     34  "prefer-stable": true 
    3535} 
  • best-configuration/trunk/vendor/wpbones/pure-css-switch/src/Html/HtmlTagSwitchButton.php

    r1549367 r1605900  
    3535    'checked'     => false, 
    3636    'disabled'    => false, 
     37    'mode'        => 'switch' 
    3738  ]; 
    3839 
     
    5657    } 
    5758 
     59    $mode = 'switch'; 
     60    if( in_array( $this->mode, [ 'switch', 'select' ] ) ) { 
     61      $mode = $this->mode; 
     62    } 
     63 
    5864    $checked    = wpbones_is_true( $this->checked ) ? 'checked="checked"' : ''; 
    5965    $disabled   = wpbones_is_true( $this->disabled ) ? 'disabled="disabled"' : ''; 
     
    6369    ob_start(); ?> 
    6470 
    65     <div class="wpbones-switch-button wpbones-switch-button-<?php echo $this->theme ?> <?php echo $disabled ? 'disabled' : '' ?>"> 
     71    <div class="wpbones-switch-button wpbones-switch-mode-<?php echo $mode ?> wpbones-switch-button-<?php echo $this->theme ?> <?php echo $disabled ? 'disabled' : '' ?>"> 
    6672      <input type="hidden" 
    6773             name="<?php echo $this->name ?>" 
  • best-configuration/trunk/vendor/wpbones/pure-css-switch/src/PureCSSSwitchProvider.php

    r1540648 r1605900  
    1414    $minified = $minified ? ".min" : ""; 
    1515 
    16     $css = "{$path}/public/css/wpbones-switch{$minified}.css"; 
     16    $css = "{$path}/public/css/wpbones-switch-theme{$minified}.css"; 
    1717 
    1818    return $css; 
     
    2121  public static function enqueueStyles( $minified = true ) 
    2222  { 
    23     wp_enqueue_style( 'wpbones-switch', self::css( $minified ), 
     23    wp_enqueue_style( 'wpbones-switch-theme', self::css( $minified ), 
    2424                      [], 
    2525                      BestConfiguration()->Version ); 
  • best-configuration/trunk/vendor/wpbones/pure-css-tabs/composer.json

    r1532224 r1605900  
    11{ 
    22  "name": "wpbones/pure-css-tabs", 
    3   "version": "1.0.9", 
     3  "version": "1.0.10", 
    44  "homepage": "https://github.com/wpbones/pure-css-tabs", 
    55  "license": "MIT", 
     
    3232  }, 
    3333  "minimum-stability": "stable", 
    34   "prefer-stable": "true" 
     34  "prefer-stable": true 
    3535} 
  • best-configuration/trunk/vendor/wpbones/wpbones/README.md

    r1540648 r1605900  
    1 # WP Bones 
     1<p align="center"> 
     2  <img src="https://github.com/wpbones/WPBones/wiki/images/wp-bones-logo-little.png" alt="WP Bones Logo" /> 
     3</p> 
    24 
    3 [![Latest Stable Version](https://poser.pugx.org/wpbones/wpbones/v/stable)](https://packagist.org/packages/wpbones/wpbones) 
    4 [![Total Downloads](https://poser.pugx.org/wpbones/wpbones/downloads)](https://packagist.org/packages/wpbones/wpbones) 
    5 [![License](https://poser.pugx.org/wpbones/wpbones/license)](https://packagist.org/packages/wpbones/wpbones) 
    6 [![Monthly Downloads](https://poser.pugx.org/wpbones/wpbones/d/monthly)](https://packagist.org/packages/wpbones/wpbones) 
     5<p align="center"> 
     6 
     7  <a href="https://packagist.org/packages/wpbones/wpbones"> 
     8   <img src="https://poser.pugx.org/wpbones/wpbones/v/stable" alt="Latest Stable Version" /> 
     9  </a> 
     10   
     11  <a href="https://packagist.org/packages/wpbones/wpbones"> 
     12   <img src="https://poser.pugx.org/wpbones/wpbones/downloads" alt="Total Downloads" /> 
     13  </a> 
     14 
     15  <a href="https://packagist.org/packages/wpbones/wpbones"> 
     16   <img src="https://poser.pugx.org/wpbones/wpbones/license" alt="License" /> 
     17  </a> 
     18   
     19  <a href="https://packagist.org/packages/wpbones/wpbones"> 
     20   <img src="https://poser.pugx.org/wpbones/wpbones/d/monthly" alt="Monthly Downloads" /> 
     21  </a> 
     22 
     23</p> 
    724 
    825WP Bones is a framework for [WordPress](http://wordpress.org) written with [composer](https://getcomposer.org/). 
  • best-configuration/trunk/vendor/wpbones/wpbones/composer.json

    r1549367 r1605900  
    11{ 
    22  "name": "wpbones/wpbones", 
    3   "version": "0.8.29", 
     3  "version": "0.8.34", 
    44  "homepage": "https://github.com/wpbones/wpbones", 
    55  "type": "library", 
  • best-configuration/trunk/vendor/wpbones/wpbones/src/Database/WordPressOption.php

    r1549367 r1605900  
    9494 
    9595  /** 
     96   * Return the flat array of the options. 
     97   * 
     98   * @return array 
     99   */ 
     100  public function toArray(  ) 
     101  { 
     102    return $this->_value; 
     103  } 
     104 
     105  /** 
    96106   * Return a branch/single option by path. 
    97107   * 
  • best-configuration/trunk/vendor/wpbones/wpbones/src/Foundation/Plugin.php

    r1540648 r1605900  
    370370      } 
    371371    } 
     372 
     373    // seeders 
     374    foreach ( glob( $this->basePath . '/database/seeds/*.php' ) as $filename ) { 
     375      include $filename; 
     376      foreach ( $this->getFileClasses( $filename ) as $className ) { 
     377        $instance = new $className; 
     378      } 
     379    } 
    372380  } 
    373381 
  • best-configuration/trunk/vendor/wpbones/wpbones/src/Foundation/WordPressCustomPostTypeServiceProvider.php

    r1540648 r1605900  
    392392    if ( empty( $this->supports ) ) { 
    393393      return [ 
     394        'title', 
     395        'editor', 
     396        'author', 
    394397        'thumbnail', 
    395         'page-attributes', 
    396         'title', 
    397         'author', 
    398         'revisions' 
     398        'excerpt', 
     399        'trackbacks', 
     400        'custom-fields', 
     401        'comments', 
     402        'revisions', 
     403        'post-formats' 
    399404      ]; 
    400405    } 
  • best-configuration/trunk/vendor/wpbones/wpbones/src/Html/HtmlTagDatetime.php

    r1540648 r1605900  
    4949    $value  = ''; 
    5050 
    51     if ( ! empty( ( $this->value ) ) ) { 
     51    if ( ! empty( wpbones_value( $this->value ) ) ) { 
    5252 
    5353      if ( $this->value == 'now' ) { 
     
    183183              minute : $minute.val() 
    184184            }, 
    185             complete   = <?php echo( empty( ( $this->complete ) ) ? "false" : "true" ) ?>; 
     185            complete   = <?php echo empty( wpbones_value( $this->complete ) ) ? "false" : "true" ?>; 
    186186 
    187187        $hidden.on( 'wpbones.setdate', function( e, params ) 
  • best-configuration/trunk/vendor/wpbones/wpbones/src/helpers.php

    r1540648 r1605900  
    8989} 
    9090 
     91if ( ! function_exists( 'wpbones_array_assoc_default' ) ) { 
     92 
     93  /** 
     94   * Return a new associative array with $default values +/- $merge values. 
     95   * 
     96   * @param array $default The default array values. 
     97   * @param array $merge   An associate (+) or key values (-) array. For example, if you'll use [ 'foo' ] the 'foo' will 
     98   *                       be added to $default array. If you'll use [ 'foo', 'bar' => false ], then 'foo' will be added 
     99   *                       and 'bar' will be removed. 
     100   * 
     101   * @return array 
     102   */ 
     103  function wpbones_array_assoc_default( $default, $merge ) 
     104  { 
     105 
     106    $add = []; 
     107    $del = []; 
     108 
     109    foreach ( $merge as $key => $value ) { 
     110      if ( is_numeric( $key ) && ! is_bool( $value ) ) { 
     111        $add[] = $value; 
     112      } 
     113      elseif ( ! is_numeric( $key ) && is_bool( $value ) && $value === false ) { 
     114        $del[] = $key; 
     115      } 
     116    } 
     117 
     118    $result = array_unique( array_merge( array_diff( $default, $del ), $add ) ); 
     119 
     120    return $result; 
     121  } 
     122} 
     123 
    91124if ( ! function_exists( 'wpbones_checked' ) ) { 
    92125 
Note: See TracChangeset for help on using the changeset viewer.