/**
  * Constructor.
  *
  */
 public function __construct($manager, $id, $args = array())
 {
     //let the parent educate us
     parent::__construct($manager, $id, $args);
     $this->contexts = hu_get_contexts_list();
     $_default_locations = hu_get_builtin_widget_zones_location();
     //generates the locations for json
     $locations = array();
     foreach ($_default_locations as $_id => $data) {
         $_k = key($data);
         $locations[$_k] = $data[$_k];
     }
     $this->locations = $locations;
     //generates the default widget zone for json
     $default_zones = array();
     foreach (hu_get_default_widget_zones() as $_zone_id => $_data) {
         //get the default location
         $_loc = isset($_default_locations[$_zone_id]) ? key($_default_locations[$_zone_id]) : '';
         $default_zones[] = array('id' => $_data['id'], 'title' => $_data['name'], 'contexts' => array('_all_'), 'locations' => array($_loc), 'is_builtin' => true, 'description' => $_data['description']);
     }
     $this->default_zones = $default_zones;
     //print the pre add view content
     add_action('customize_controls_print_footer_scripts', array($this, 'hu_print_pre_add_view_template'), 1);
     //print template for built-in models like primary, secondary, footer-1, etc...
     add_action('customize_controls_print_footer_scripts', array($this, 'hu_print_built_in_templates'), 1);
 }
Exemple #2
0
function hu_is_builtin_widget_zone($id)
{
    return array_key_exists($id, hu_get_builtin_widget_zones_location());
}
Exemple #3
0
function hu_generate_new_sidebar_options($__options)
{
    //generates the default widget zone options
    $_default_locations = hu_get_builtin_widget_zones_location();
    $builtin_zones = array();
    foreach (hu_get_default_widget_zones() as $_zone_id => $_data) {
        $_locs = hu_get_old_locations($_zone_id, $__options);
        if (empty($_locs) && isset($_default_locations[$_zone_id])) {
            $_locs[] = key($_default_locations[$_zone_id]);
        }
        $_contexts = hu_get_old_contexts($_zone_id, $__options);
        if (empty($_contexts) && isset($_default_locations[$_zone_id])) {
            $_contexts[] = '_all_';
        }
        $builtin_zones[] = array('id' => $_data['id'], 'title' => $_data['name'], 'contexts' => $_contexts, 'locations' => $_locs, 'is_builtin' => true, 'description' => $_data['description']);
    }
    //generates the custom widget zone options
    $_old_custom_zone_opt = isset($__options['sidebar-areas']) ? $__options['sidebar-areas'] : array();
    $custom_zones = array();
    if (!empty($_old_custom_zone_opt)) {
        //array( 'title' => string, 'id' => string )
        foreach ($_old_custom_zone_opt as $_zone) {
            if (!isset($_zone['id'])) {
                continue;
            }
            $_zone_id = $_zone['id'];
            //get the default location
            $_locs = hu_get_old_locations($_zone_id, $__options);
            $_contexts = hu_get_old_contexts($_zone_id, $__options);
            $custom_zones[] = array('id' => $_zone['id'], 'title' => $_zone['title'], 'contexts' => $_contexts, 'locations' => $_locs);
        }
        //foreach
    }
    //if
    //make sure the previous "rules" for sidebars and respected
    $_new_sb_areas_opts = hu_clean_old_sidebar_options(array_merge($builtin_zones, $custom_zones), $__options);
    $__options['sidebar-areas'] = $_new_sb_areas_opts;
    return $__options;
}