| @@ -11,11 +11,9 @@ | ||
| 11 | 11 | } |
| 12 | 12 | |
| 13 | 13 | class Charts extends Widget_Base |
| 14 | 14 | { |
| 15 | - | |
| 16 | 15 | |
| 17 | - | |
| 18 | 16 | public function get_name() |
| 19 | 17 | { |
| 20 | 18 | return 'king-addons-charts'; |
| 21 | 19 | } |
| @@ -58,9 +56,9 @@ | ||
| 58 | 56 | } |
| 59 | 57 | |
| 60 | 58 | public function get_custom_help_url() |
| 61 | 59 | { |
| 62 | - return 'mailto:[email protected]?subject=Bug Report - King Addons&body=Please describe the issue'; | |
| 60 | + return 'https://kingaddons.com/elementor/charts/'; | |
| 63 | 61 | } |
| 64 | 62 | |
| 65 | 63 | public function add_control_choose_chart_data_source() |
| 66 | 64 | { |
| @@ -411,9 +409,9 @@ | ||
| 411 | 409 | $this->add_control( |
| 412 | 410 | 'charts_repeater_labels_data_pro_notice', |
| 413 | 411 | [ |
| 414 | 412 | 'type' => Controls_Manager::RAW_HTML, |
| 415 | - 'raw' => 'More than 3 Data Labels are available<br> in the <strong><a href="https://kingaddons.com/pricing/?utm_source=kng-module-charts-settings-upgrade-pro&utm_medium=plugin&utm_campaign=kng" target="_blank">Pro version</a></strong>', | |
| 413 | + 'raw' => 'More than 3 Data Labels are available<br> in the <strong><a href="https://kingaddons.com/pricing/?ref=kng-module-charts-settings-upgrade-pro" target="_blank">Pro version</a></strong>', | |
| 416 | 414 | 'content_classes' => 'king-addons-pro-notice', |
| 417 | 415 | ] |
| 418 | 416 | ); |
| 419 | 417 | } |
| @@ -540,9 +538,9 @@ | ||
| 540 | 538 | |
| 541 | 539 | ], |
| 542 | 540 | |
| 543 | 541 | 'fields' => $chart_repeater_labels->get_controls(), |
| 544 | - 'title_field' => '{{{ chart_data_label }}}', | |
| 542 | + 'title_field' => '{{ chart_data_label }}', | |
| 545 | 543 | |
| 546 | 544 | ] |
| 547 | 545 | ); |
| 548 | 546 | |
| @@ -550,9 +548,9 @@ | ||
| 550 | 548 | $this->add_control( |
| 551 | 549 | 'charts_repeater_pro_notice', |
| 552 | 550 | [ |
| 553 | 551 | 'type' => Controls_Manager::RAW_HTML, |
| 554 | - 'raw' => 'More than 3 Items are available<br> in the <strong><a href="https://kingaddons.com/pricing/?utm_source=kng-module-charts-settings-upgrade-pro&utm_medium=plugin&utm_campaign=kng" target="_blank">Pro version</a></strong>', | |
| 552 | + 'raw' => 'More than 3 Items are available<br> in the <strong><a href="https://kingaddons.com/pricing/?ref=kng-module-charts-settings-upgrade-pro" target="_blank">Pro version</a></strong>', | |
| 555 | 553 | 'content_classes' => 'king-addons-pro-notice', |
| 556 | 554 | ] |
| 557 | 555 | ); |
| 558 | 556 | } |
| @@ -2418,159 +2416,15 @@ | ||
| 2418 | 2416 | 'separator' => 'before' |
| 2419 | 2417 | ] |
| 2420 | 2418 | ); |
| 2421 | 2419 | |
| 2422 | - | |
| 2423 | - | |
| 2424 | - | |
| 2425 | -$this->end_controls_section(); | |
| 2426 | - | |
| 2427 | - | |
| 2420 | + $this->end_controls_section(); | |
| 2428 | 2421 | } |
| 2429 | 2422 | |
| 2430 | 2423 | protected function render() |
| 2431 | 2424 | { |
| 2432 | 2425 | $settings = $this->get_settings_for_display(); |
| 2433 | - // Security fix: Extract only specific safe settings to prevent variable injection | |
| 2434 | - $chart_type = $settings['chart_type'] ?? ''; | |
| 2435 | - $charts_labels_data = $settings['charts_labels_data'] ?? ''; | |
| 2436 | - $charts_datasets_data = $settings['charts_datasets_data'] ?? ''; | |
| 2437 | - $chart_title = $settings['chart_title'] ?? ''; | |
| 2438 | - $chart_title_show = $settings['chart_title_show'] ?? ''; | |
| 2439 | - $chart_legend_show = $settings['chart_legend_show'] ?? ''; | |
| 2440 | - $chart_tooltips_show = $settings['chart_tooltips_show'] ?? ''; | |
| 2441 | - $chart_options = $settings['chart_options'] ?? ''; | |
| 2442 | - $chart_height = $settings['chart_height'] ?? ''; | |
| 2443 | - $chart_width = $settings['chart_width'] ?? ''; | |
| 2444 | - $chart_responsive = $settings['chart_responsive'] ?? ''; | |
| 2445 | - $chart_maintain_aspect_ratio = $settings['chart_maintain_aspect_ratio'] ?? ''; | |
| 2446 | - $chart_animation_duration = $settings['chart_animation_duration'] ?? ''; | |
| 2447 | - $chart_animation_easing = $settings['chart_animation_easing'] ?? ''; | |
| 2448 | - $chart_show_labels = $settings['chart_show_labels'] ?? ''; | |
| 2449 | - $chart_label_position = $settings['chart_label_position'] ?? ''; | |
| 2450 | - $chart_label_color = $settings['chart_label_color'] ?? ''; | |
| 2451 | - $chart_label_font_size = $settings['chart_label_font_size'] ?? ''; | |
| 2452 | - $chart_label_font_family = $settings['chart_label_font_family'] ?? ''; | |
| 2453 | - $chart_label_font_style = $settings['chart_label_font_style'] ?? ''; | |
| 2454 | - $chart_label_font_weight = $settings['chart_label_font_weight'] ?? ''; | |
| 2455 | - $chart_grid_lines = $settings['chart_grid_lines'] ?? ''; | |
| 2456 | - $chart_grid_color = $settings['chart_grid_color'] ?? ''; | |
| 2457 | - $chart_grid_line_width = $settings['chart_grid_line_width'] ?? ''; | |
| 2458 | - $chart_point_radius = $settings['chart_point_radius'] ?? ''; | |
| 2459 | - $chart_point_hover_radius = $settings['chart_point_hover_radius'] ?? ''; | |
| 2460 | - $chart_point_background_color = $settings['chart_point_background_color'] ?? ''; | |
| 2461 | - $chart_point_border_color = $settings['chart_point_border_color'] ?? ''; | |
| 2462 | - $chart_point_border_width = $settings['chart_point_border_width'] ?? ''; | |
| 2463 | - $chart_line_tension = $settings['chart_line_tension'] ?? ''; | |
| 2464 | - $chart_line_border_width = $settings['chart_line_border_width'] ?? ''; | |
| 2465 | - $chart_line_border_color = $settings['chart_line_border_color'] ?? ''; | |
| 2466 | - $chart_line_background_color = $settings['chart_line_background_color'] ?? ''; | |
| 2467 | - $chart_bar_border_width = $settings['chart_bar_border_width'] ?? ''; | |
| 2468 | - $chart_bar_border_color = $settings['chart_bar_border_color'] ?? ''; | |
| 2469 | - $chart_bar_background_color = $settings['chart_bar_background_color'] ?? ''; | |
| 2470 | - $chart_doughnut_cutout = $settings['chart_doughnut_cutout'] ?? ''; | |
| 2471 | - $chart_doughnut_circumference = $settings['chart_doughnut_circumference'] ?? ''; | |
| 2472 | - $chart_doughnut_rotation = $settings['chart_doughnut_rotation'] ?? ''; | |
| 2473 | - $chart_polar_area_start_angle = $settings['chart_polar_area_start_angle'] ?? ''; | |
| 2474 | - $chart_polar_area_start_angle = $settings['chart_polar_area_start_angle'] ?? ''; | |
| 2475 | - $chart_radar_point_labels = $settings['chart_radar_point_labels'] ?? ''; | |
| 2476 | - $chart_radar_angle_lines = $settings['chart_radar_angle_lines'] ?? ''; | |
| 2477 | - $chart_radar_grid_lines = $settings['chart_radar_grid_lines'] ?? ''; | |
| 2478 | - $chart_radar_point_radius = $settings['chart_radar_point_radius'] ?? ''; | |
| 2479 | - $chart_radar_point_hover_radius = $settings['chart_radar_point_hover_radius'] ?? ''; | |
| 2480 | - $chart_radar_point_background_color = $settings['chart_radar_point_background_color'] ?? ''; | |
| 2481 | - $chart_radar_point_border_color = $settings['chart_radar_point_border_color'] ?? ''; | |
| 2482 | - $chart_radar_point_border_width = $settings['chart_radar_point_border_width'] ?? ''; | |
| 2483 | - $chart_radar_line_tension = $settings['chart_radar_line_tension'] ?? ''; | |
| 2484 | - $chart_radar_line_border_width = $settings['chart_radar_line_border_width'] ?? ''; | |
| 2485 | - $chart_radar_line_border_color = $settings['chart_radar_line_border_color'] ?? ''; | |
| 2486 | - $chart_radar_line_background_color = $settings['chart_radar_line_background_color'] ?? ''; | |
| 2487 | - | |
| 2488 | - // Additional chart settings | |
| 2489 | - $charts_data_set = $settings['charts_data_set'] ?? ''; | |
| 2490 | - $animation_transition_type = $settings['animation_transition_type'] ?? ''; | |
| 2491 | - $axis_grid_line_color_r = $settings['axis_grid_line_color_r'] ?? ''; | |
| 2492 | - $axis_grid_line_color_x = $settings['axis_grid_line_color_x'] ?? ''; | |
| 2493 | - $axis_grid_line_color_y = $settings['axis_grid_line_color_y'] ?? ''; | |
| 2494 | - $axis_title_color_x = $settings['axis_title_color_x'] ?? ''; | |
| 2495 | - $axis_title_color_y = $settings['axis_title_color_y'] ?? ''; | |
| 2496 | - $axis_title_font_family_x = $settings['axis_title_font_family_x'] ?? ''; | |
| 2497 | - $axis_title_font_family_y = $settings['axis_title_font_family_y'] ?? ''; | |
| 2498 | - $axis_title_font_style_x = $settings['axis_title_font_style_x'] ?? ''; | |
| 2499 | - $axis_title_font_style_y = $settings['axis_title_font_style_y'] ?? ''; | |
| 2500 | - $axis_title_font_weight_x = $settings['axis_title_font_weight_x'] ?? ''; | |
| 2501 | - $axis_title_font_weight_y = $settings['axis_title_font_weight_y'] ?? ''; | |
| 2502 | - $border_dash_length = $settings['border_dash_length'] ?? ''; | |
| 2503 | - $border_dash_length_r = $settings['border_dash_length_r'] ?? ''; | |
| 2504 | - $border_dash_offset = $settings['border_dash_offset'] ?? ''; | |
| 2505 | - $border_dash_offset_r = $settings['border_dash_offset_r'] ?? ''; | |
| 2506 | - $border_dash_spacing = $settings['border_dash_spacing'] ?? ''; | |
| 2507 | - $border_dash_spacing_r = $settings['border_dash_spacing_r'] ?? ''; | |
| 2508 | - $chart_interaction_mode = $settings['chart_interaction_mode'] ?? ''; | |
| 2509 | - $chart_tooltip_bg_color = $settings['chart_tooltip_bg_color'] ?? ''; | |
| 2510 | - $chart_tooltip_item_align = $settings['chart_tooltip_item_align'] ?? ''; | |
| 2511 | - $chart_tooltip_item_color = $settings['chart_tooltip_item_color'] ?? ''; | |
| 2512 | - $chart_tooltip_item_font = $settings['chart_tooltip_item_font'] ?? ''; | |
| 2513 | - $chart_tooltip_title_align = $settings['chart_tooltip_title_align'] ?? ''; | |
| 2514 | - $chart_tooltip_title_color = $settings['chart_tooltip_title_color'] ?? ''; | |
| 2515 | - $chart_tooltip_title_font = $settings['chart_tooltip_title_font'] ?? ''; | |
| 2516 | - $data_source = $settings['data_source'] ?? ''; | |
| 2517 | - $display_r_axis = $settings['display_r_axis'] ?? ''; | |
| 2518 | - $display_r_ticks = $settings['display_r_ticks'] ?? ''; | |
| 2519 | - $display_x_axis = $settings['display_x_axis'] ?? ''; | |
| 2520 | - $display_x_axis_title = $settings['display_x_axis_title'] ?? ''; | |
| 2521 | - $display_x_ticks = $settings['display_x_ticks'] ?? ''; | |
| 2522 | - $display_y_axis = $settings['display_y_axis'] ?? ''; | |
| 2523 | - $display_y_axis_title = $settings['display_y_axis_title'] ?? ''; | |
| 2524 | - $display_y_ticks = $settings['display_y_ticks'] ?? ''; | |
| 2525 | - $exclude_dataset_on_click = $settings['exclude_dataset_on_click'] ?? ''; | |
| 2526 | - $grid_line_width_r = $settings['grid_line_width_r'] ?? ''; | |
| 2527 | - $grid_line_width_x = $settings['grid_line_width_x'] ?? ''; | |
| 2528 | - $grid_line_width_y = $settings['grid_line_width_y'] ?? ''; | |
| 2529 | - $inner_datalabels = $settings['inner_datalabels'] ?? ''; | |
| 2530 | - $inner_datalabels_color = $settings['inner_datalabels_color'] ?? ''; | |
| 2531 | - $charts_legend_align = $settings['charts_legend_align'] ?? ''; | |
| 2532 | - $legend_box_width = $settings['legend_box_width'] ?? ''; | |
| 2533 | - $legend_font_family = $settings['legend_font_family'] ?? ''; | |
| 2534 | - $legend_font_size = $settings['legend_font_size'] ?? ''; | |
| 2535 | - $legend_font_style = $settings['legend_font_style'] ?? ''; | |
| 2536 | - $legend_font_weight = $settings['legend_font_weight'] ?? ''; | |
| 2537 | - $chart_legend_padding = $settings['chart_legend_padding'] ?? ''; | |
| 2538 | - $charts_legend_position = $settings['charts_legend_position'] ?? ''; | |
| 2539 | - $charts_legend_shape = $settings['charts_legend_shape'] ?? ''; | |
| 2540 | - $chart_legend_text_color = $settings['chart_legend_text_color'] ?? ''; | |
| 2541 | - $max_value = $settings['max_value'] ?? ''; | |
| 2542 | - $min_value = $settings['min_value'] ?? ''; | |
| 2543 | - $point_labels_font_family_r = $settings['point_labels_font_family_r'] ?? ''; | |
| 2544 | - $point_labels_font_style_r = $settings['point_labels_font_style_r'] ?? ''; | |
| 2545 | - $point_labels_font_weight_r = $settings['point_labels_font_weight_r'] ?? ''; | |
| 2546 | - $r_step_size = $settings['r_step_size'] ?? ''; | |
| 2547 | - $reverse_legend = $settings['reverse_legend'] ?? ''; | |
| 2548 | - $reverse_x = $settings['reverse_x'] ?? ''; | |
| 2549 | - $reverse_y = $settings['reverse_y'] ?? ''; | |
| 2550 | - $labels_rotation_x_axis = $settings['labels_rotation_x_axis'] ?? ''; | |
| 2551 | - $labels_rotation_y_axis = $settings['labels_rotation_y_axis'] ?? ''; | |
| 2552 | - $data_csv_separator = $settings['data_csv_separator'] ?? ''; | |
| 2553 | - $show_chart_legend = $settings['show_chart_legend'] ?? ''; | |
| 2554 | - $show_chart_title = $settings['show_chart_title'] ?? ''; | |
| 2555 | - $show_chart_tooltip = $settings['show_chart_tooltip'] ?? ''; | |
| 2556 | - $chart_ticks_color_x = $settings['chart_ticks_color_x'] ?? ''; | |
| 2557 | - $ticks_font_family_x = $settings['ticks_font_family_x'] ?? ''; | |
| 2558 | - $ticks_font_family_y = $settings['ticks_font_family_y'] ?? ''; | |
| 2559 | - $ticks_font_style_x = $settings['ticks_font_style_x'] ?? ''; | |
| 2560 | - $ticks_font_style_y = $settings['ticks_font_style_y'] ?? ''; | |
| 2561 | - $ticks_font_weight_x = $settings['ticks_font_weight_x'] ?? ''; | |
| 2562 | - $ticks_font_weight_y = $settings['ticks_font_weight_y'] ?? ''; | |
| 2563 | - $title_font_family = $settings['title_font_family'] ?? ''; | |
| 2564 | - $title_font_weight = $settings['title_font_weight'] ?? ''; | |
| 2565 | - $tooltips_percent = $settings['tooltips_percent'] ?? ''; | |
| 2566 | - $chart_tooltip_position = $settings['chart_tooltip_position'] ?? ''; | |
| 2567 | - $trigger_tooltip_on = $settings['trigger_tooltip_on'] ?? ''; | |
| 2568 | - $data_source_csv_file = $settings['data_source_csv_file'] ?? ''; | |
| 2569 | - $x_axis_title = $settings['x_axis_title'] ?? ''; | |
| 2570 | - $x_step_size = $settings['x_step_size'] ?? ''; | |
| 2571 | - $y_axis_title = $settings['y_axis_title'] ?? ''; | |
| 2572 | - $y_step_size = $settings['y_step_size'] ?? ''; | |
| 2426 | + extract($settings); | |
| 2573 | 2427 | |
| 2574 | 2428 | $premium = king_addons_freemius()->can_use_premium_code__premium_only(); |
| 2575 | 2429 | $data_charts_array = []; |
| 2576 | 2430 | |