vk-all-in-one-expansion-unit
Last commit date
_scss
10 years ago
bootstrap
10 years ago
css
10 years ago
images
10 years ago
js
10 years ago
languages
10 years ago
plugins
10 years ago
.gitignore
10 years ago
README.md
10 years ago
admin_wrapper.php
10 years ago
common_helpers.php
10 years ago
common_init.php
10 years ago
config.rb
10 years ago
gulpfile.js
10 years ago
package_manager.php
10 years ago
packages.php
10 years ago
readme.txt
10 years ago
screenshot-1.png
10 years ago
screenshot-2.png
10 years ago
vkExUnit.php
10 years ago
vkExUnit_admin.php
10 years ago
package_manager.php
60 lines
| 1 | <?php |
| 2 | /** |
| 3 | * VkExUnit package_manager.php |
| 4 | * |
| 5 | * @package VkExUnit |
| 6 | * @author shoji imamura<imamura@vektor-inc.co.jp> |
| 7 | * @since 6/Aug/2015 |
| 8 | */ |
| 9 | |
| 10 | vkExUnit_package_initilate(); |
| 11 | |
| 12 | |
| 13 | function vkExUnit_package_initilate(){ |
| 14 | global $vkExUnit_packages; |
| 15 | if(!is_array($vkExUnit_packages)) $vkExUnit_packages = array(); |
| 16 | } |
| 17 | |
| 18 | |
| 19 | function vkExUnit_package_is_enable( $package_name ){ |
| 20 | global $vkExUnit_packages; |
| 21 | if( !isset( $vkExUnit_packages[$package_name] ) ) return null; |
| 22 | $options = vkExUnit_get_common_options(); |
| 23 | if( !isset($options['active_'.$package_name]) ) return $vkExUnit_packages[$package_name]['default']; |
| 24 | return $options['active_'.$package_name]; |
| 25 | } |
| 26 | |
| 27 | |
| 28 | function vkExUnit_package_register( $args ){ |
| 29 | $defaults = vkExUnit_package_default(); |
| 30 | $args = wp_parse_args( $args, $defaults ); |
| 31 | |
| 32 | global $vkExUnit_packages; |
| 33 | $vkExUnit_packages[$args['name']] = $args; |
| 34 | } |
| 35 | |
| 36 | |
| 37 | function vkExUnit_package_default(){ |
| 38 | return array( |
| 39 | 'name' => null, |
| 40 | 'title' => 'noting', |
| 41 | 'description' => "noting", |
| 42 | 'attr' => array(), |
| 43 | 'default' => null, |
| 44 | ); |
| 45 | } |
| 46 | |
| 47 | |
| 48 | add_filter('vkExUnit_common_options_validate' , 'vkExUnit_common_package_options_validate', 10, 2); |
| 49 | function vkExUnit_common_package_options_validate( $output, $input ){ |
| 50 | global $vkExUnit_packages; |
| 51 | if( !count($vkExUnit_packages) ) return $output; |
| 52 | foreach($vkExUnit_packages as $package){ |
| 53 | if( |
| 54 | isset($output['active_'.$package['name']]) && |
| 55 | $output['active_'.$package['name']] == (isset($input['active_'.$package['name']]) && $input['active_'.$package['name']]) ? true : false |
| 56 | ) continue; |
| 57 | $output['active_'.$package['name']] = (isset($input['active_'.$package['name']])) ? true : false; |
| 58 | } |
| 59 | return $output; |
| 60 | } |