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; }