/**
  * Callback function to show chart style box
  *
  * @since  1.0.0
  *
  * @param  object $post post obkect
  */
 function _style_box($post)
 {
     $color_fields = array('item_color_1' => array('id' => 'item_color_1', 'type' => 'colorpicker', 'label' => __('Item #1 color', 'cherry-charts'), 'description' => '', 'value' => '#F7464A'), 'item_color_2' => array('id' => 'item_color_2', 'type' => 'colorpicker', 'label' => __('Item #2 color', 'cherry-charts'), 'description' => '', 'value' => '#46BFBD'), 'item_color_3' => array('id' => 'item_color_3', 'type' => 'colorpicker', 'label' => __('Item #3 color', 'cherry-charts'), 'description' => '', 'value' => '#FDB45C'), 'item_color_4' => array('id' => 'item_color_4', 'type' => 'colorpicker', 'label' => __('Item #4 color', 'cherry-charts'), 'description' => '', 'value' => '#f39c12'), 'item_color_5' => array('id' => 'item_color_5', 'type' => 'colorpicker', 'label' => __('Item #5 color', 'cherry-charts'), 'description' => '', 'value' => '#27ae60'), 'item_color_6' => array('id' => 'item_color_6', 'type' => 'colorpicker', 'label' => __('Item #6 color', 'cherry-charts'), 'description' => '', 'value' => '#16a085'), 'item_color_7' => array('id' => 'item_color_7', 'type' => 'colorpicker', 'label' => __('Item #7 color', 'cherry-charts'), 'description' => '', 'value' => '#2980b9'), 'item_color_8' => array('id' => 'item_color_8', 'type' => 'colorpicker', 'label' => __('Item #8 color', 'cherry-charts'), 'description' => '', 'value' => '#8e44ad'), 'item_color_9' => array('id' => 'item_color_9', 'type' => 'colorpicker', 'label' => __('Item #9 color', 'cherry-charts'), 'description' => '', 'value' => '#34495e'), 'item_color_10' => array('id' => 'item_color_10', 'type' => 'colorpicker', 'label' => __('Item #10 color', 'cherry-charts'), 'description' => '', 'value' => '#d35400'));
     $color_fields = apply_filters('cherry_charts_colors_meta_fields', $color_fields);
     $this->meta_fields = array_merge($this->meta_fields, $color_fields);
     $colors = '';
     foreach ($color_fields as $field) {
         $field['value'] = cherry_charts_get_meta($post->ID, $field['id'], $field['value']);
         $colors .= $this->builder->add_form_item($field);
     }
     $style_fields = array('bg_color' => array('id' => 'bg_color', 'type' => 'colorpicker', 'label' => __('Background color', 'cherry-charts'), 'description' => '', 'value' => '#ecf0f1'), 'items_opacity' => array('id' => 'items_opacity', 'type' => 'stepper', 'label' => __('Items opacity', 'cherry-charts'), 'description' => __('Set items opacity (0 - transparent, 100 - opaque)', 'cherry-charts'), 'value' => 100, 'min_value' => 0, 'max_value' => 100, 'step' => 1), 'bg_opacity' => array('id' => 'bg_opacity', 'type' => 'stepper', 'label' => __('Background opacity', 'cherry-charts'), 'description' => __('Set Background opacity (0 - transparent, 100 - opaque)', 'cherry-charts'), 'value' => 100, 'min_value' => 0, 'max_value' => 100, 'step' => 1), 'canvas_stroke' => array('id' => 'canvas_stroke', 'type' => 'stepper', 'label' => __('Chart stroke thickness', 'cherry-charts'), 'description' => __('Set chart stroke thickness (0 - without stroke)', 'cherry-charts'), 'value' => 5, 'min_value' => 0, 'max_value' => 30, 'step' => 1), 'canvas_stroke_color' => array('id' => 'canvas_stroke_color', 'type' => 'colorpicker', 'label' => __('Chart stroke color', 'cherry-charts'), 'description' => '', 'value' => '#bdc3c7'), 'canvas_stroke_opacity' => array('id' => 'canvas_stroke_opacity', 'type' => 'stepper', 'label' => __('Chart stroke opacity', 'cherry-charts'), 'description' => __('Set Chart stroke opacity (0 - transparent, 100 - opaque)', 'cherry-charts'), 'value' => 100, 'min_value' => 0, 'max_value' => 100, 'step' => 1));
     $style_fields = apply_filters('cherry_charts_style_meta_fields', $style_fields);
     $this->meta_fields = array_merge($this->meta_fields, $style_fields);
     $style = '';
     foreach ($style_fields as $field) {
         $field['value'] = cherry_charts_get_meta($post->ID, $field['id'], $field['value']);
         $style .= $this->builder->add_form_item($field);
     }
     printf('<div class="cherry-ui-core"><div class="item-colors_">%1$s</div><div class="item-styles_">%2$s</div></div>', $colors, $style);
 }
Пример #2
0
 /**
  * Get charts pie and doughnut content
  *
  * @since  1.0.0
  *
  * @param  int    $id  Chart post ID
  * @param  string $id  Chart type
  * @return string      Chart output
  */
 function chart_pie($id, $type)
 {
     $width = cherry_charts_get_meta($id, 'width', 200);
     $height = cherry_charts_get_meta($id, 'height', 200);
     $icon = cherry_charts_get_meta($id, 'chart_icon', '');
     $data = cherry_charts_get_meta($id, 'data_' . $type, array());
     $opacity = cherry_charts_get_meta($id, 'items_opacity', 100);
     $bg_color = cherry_charts_get_meta($id, 'bg_color', false);
     $bg_opacity = cherry_charts_get_meta($id, 'bg_opacity', 100);
     $border = cherry_charts_get_meta($id, 'canvas_stroke', 0);
     $show_title = cherry_charts_get_meta($id, 'show_title', 'yes');
     $show_labels = cherry_charts_get_meta($id, 'show_labels', 'yes');
     $show_legend = cherry_charts_get_meta($id, 'show_legend', 'yes');
     // fix labels triggers
     if ('true' == $show_title) {
         $show_title = 'yes';
     }
     if ('true' == $show_labels) {
         $show_labels = 'yes';
     }
     if ('true' == $show_legend) {
         $show_legend = 'yes';
     }
     $bg_color = cherry_charts_maybe_to_rgba($bg_color, $bg_opacity);
     if (empty($data)) {
         return __('No data to show', 'cherry-charts');
     }
     $prepared_data = array();
     foreach ($data as $index => $value) {
         $color = cherry_charts_get_meta($id, 'item_color_' . ($index + 1), '');
         $color = cherry_charts_maybe_to_rgba($color, $opacity);
         $prepared_data[$index] = array('value' => !empty($value[1]) ? intval($value[1]) : 0, 'label' => !empty($value[0]) ? $value[0] : '', 'color' => $color);
     }
     $prepared_data = json_encode($prepared_data);
     /**
      * Filter custom scrip parameters. Pass to init via data attribue 'user-settings'
      * and merged with default chart init
      *
      * @since  1.0.0
      *
      * @var    array
      * @param  int  $id  chart ID
      */
     $user_chart_settings = apply_filters('cherry_charts_pie_user_settings', array(), $id);
     $data_atts = array($type => $prepared_data, 'show-labels' => $show_labels, 'show-legend' => $show_legend, 'user-settings' => json_encode($user_chart_settings));
     if ('doughnut' == $type) {
         $data_atts['cutout'] = cherry_charts_get_meta($id, 'inner_cut', 50);
     }
     $data_atts = cherry_charts_parse_atts($data_atts);
     $title = 'yes' === $show_title ? '<h3>' . get_the_title($id) . '</h3>' : '';
     $pie_format = sprintf('%5$s<div class="cherry-charts-%4$s" %1$s><canvas width="%2$d" height="%3$d"></canvas></div>', $data_atts, $width, $height, $type, $title);
     return apply_filters('cherry_charts_pie_format', $pie_format, $id);
 }