Beispiel #1
0
 public static function icons()
 {
     $icons = array();
     if (is_callable(array('Cherry_Shortcodes_Data', 'icons'))) {
         foreach ((array) Cherry_Shortcodes_Data::icons() as $icon) {
             $icons[] = '<i class="' . $icon . '" title="' . $icon . '"></i>';
         }
     }
     return implode('', $icons);
 }
 private function cherry_attributes_to_parameters($atts, $params = null, $shortcode = '')
 {
     if ($params == NULL) {
         $params = array();
     }
     if (is_array($atts) && count($atts)) {
         foreach ($atts as $att_id => $att) {
             $param = array();
             $type = isset($att['type']) ? $att['type'] : '';
             switch ($type) {
                 case 'select':
                     $param['type'] = isset($att['multiple']) && $att['multiple'] == TRUE ? 'select-multiple' : 'select';
                     $param['label'] = $att['name'];
                     $param['default'] = $att['default'];
                     $param['list'] = $att['values'];
                     $param['description'] = empty($att['desc']) ? '' : $att['desc'];
                     break;
                 case 'responsive':
                     $responsive_sizes = array('_xs', '_sm', '_md', '_lg');
                     foreach ($responsive_sizes as $size) {
                         // skip size_md while we set it visually
                         if ($att_id . $size == 'size_md') {
                             continue;
                         }
                         $params[$att_id . $size] = array('type' => 'text', 'label' => $att['name'] . $size, 'default' => 'none', 'description' => $this->responsive_size_to_label($size));
                     }
                     break;
                 case 'color':
                     $param['type'] = 'color-picker';
                     $param['label'] = $att['name'];
                     $param['description'] = empty($att['desc']) ? '' : $att['desc'];
                     //$param['default'] = $att['default'];
                     break;
                 case 'slider':
                     $param['type'] = 'slider';
                     $param['label'] = $att['name'];
                     $param['description'] = empty($att['desc']) ? '' : $att['desc'];
                     $param['default'] = $att['default'];
                     $param['min'] = $att['min'];
                     $param['max'] = $att['max'];
                     break;
                 case 'number':
                     $param['type'] = 'spinner';
                     $param['label'] = $att['name'];
                     $param['description'] = empty($att['desc']) ? '' : $att['desc'];
                     $param['default'] = $att['default'];
                     $param['min'] = $att['min'];
                     $param['max'] = $att['max'];
                     break;
                 case 'bool':
                     $param['type'] = 'radio-buttons';
                     $param['label'] = $att['name'];
                     $param['description'] = empty($att['desc']) ? '' : $att['desc'];
                     $param['default'] = $att['default'];
                     $param['list'] = array('yes' => __('Yes'), 'no' => __('No'));
                     break;
                 case 'upload':
                     $param['type'] = 'media';
                     $param['label'] = $att['name'];
                     $param['description'] = empty($att['desc']) ? '' : $att['desc'];
                     $param['default'] = $att['default'];
                     break;
                 case 'icon':
                     $param['type'] = 'icon-picker';
                     $param['label'] = $att['name'];
                     $param['description'] = empty($att['desc']) ? '' : $att['desc'];
                     $param['default'] = '';
                     //delete_transient('mpce-cherry-icons-list');
                     $icons_list = get_transient('mpce-cherry-icons-list');
                     if ($icons_list == FALSE) {
                         $icons = Cherry_Shortcodes_Data::icons();
                         $icons_list = array('none' => array('class' => 'fa', 'label' => ''));
                         foreach ($icons as $icon) {
                             $icons_list['icon:' . $icon] = array('label' => str_replace('fa fa-', '', $icon), 'class' => $icon);
                         }
                         //asort($icons_list);
                         $expiration = 60 * 60;
                         // one hour
                         set_transient('mpce-cherry-icons-list', $icons_list, $expiration);
                     }
                     $param['list'] = $icons_list;
                     /*echo "<pre>";
                       var_export($param); exit;*/
                     break;
                 default:
                     $param['type'] = 'text';
                     if ($att_id == 'url') {
                         $param['type'] = 'link';
                     }
                     $param['label'] = $att['name'];
                     $param['default'] = $att['default'];
                     $param['description'] = empty($att['desc']) ? '' : $att['desc'];
             }
             // Cherry Shortcodes Templater
             if ($att_id == 'template' && class_exists('Cherry_Shortcode_Editor') && strlen($shortcode)) {
                 $templates = Cherry_Shortcode_Editor::dirlist($shortcode);
                 if ($templates && !empty($templates)) {
                     $param['list'] = $templates;
                 }
             }
             if (count($param)) {
                 $params[$att_id] = $param;
             }
         }
     }
     return $params;
 }