public function controls()
 {
     if (!isset($this->controls)) {
         $controls = apply_filters($this->hook_prefix . 'controls', false);
         if (false === $controls) {
             $controls = $this->get_file_array('controls');
         }
         $controls = cs_array_filter_use_keys($controls, array($this, 'can_use'));
         foreach ($controls as $key => $value) {
             $controls[$key]['context'] = 'settings';
         }
         $this->controls = Cornerstone_Control_Group::factory(apply_filters($this->hook_prefix . 'update_controls', $controls));
     }
     return $this->controls;
 }
 public function controls()
 {
     if (!isset($this->controls)) {
         $controls = apply_filters($this->hook_prefix . 'controls', false);
         if (false === $controls) {
             $controls = $this->get_file_array('controls');
         }
         $this->controls = Cornerstone_Control_Group::factory(apply_filters($this->hook_prefix . 'update_controls', $controls), self::$common_controls, array_keys($this->defaults()));
     }
     return $this->controls;
 }
 /**
  * Takes the old API data points and separate controls from defaults.
  */
 public final function convergeControlData()
 {
     $control_objects = array();
     $defaults = array();
     foreach ($this->data['controls'] as $item) {
         $name = $item['name'];
         $condition = null;
         if (isset($item['options']['condition'])) {
             $condition = $item['options']['condition'];
             unset($item['options']['condition']);
         }
         $config = array('type' => $item['controlType'], 'ui' => array(), 'options' => $item['options'], 'suggest' => $item['defaultValue']);
         if (!is_null($condition)) {
             $config['condition'] = $condition;
         }
         if (!is_null($item['controlTitle'])) {
             $config['ui']['title'] = $item['controlTitle'];
         }
         if (!is_null($item['controlTooltip'])) {
             $config['ui']['tooltip'] = $item['controlTooltip'];
         }
         $control_objects[$name] = $config;
     }
     $this->control_group = Cornerstone_Control_Group::factory($control_objects);
     foreach ($this->control_group->controls as $control) {
         $defaults[$control->name] = $control->suggest;
     }
     $this->defaults = $defaults;
 }