<?php

/**
 * Markup file for metabox
 *
 *HTML markup for preview metabox.
 *
 * @link       http://kiranpotphode.wordpress.com
 * @since      1.0.0
 *
 * @package    Easy_Charts
 * @subpackage Easy_Charts/admin/partials
 */
global $post;
$plugin = new Easy_Charts();
?>

<div id="easy-charts-preview-metabox-wrap">
	<div id="easy-chart-preview-box">
		<?php 
$chart_data = get_post_meta($post->ID, '_easy_charts_chart_data', true);
$chart_data = json_decode($chart_data);
if ($chart_data == null) {
    _e('Please click "Update chart data" and save chart for preview.', 'easy-charts');
}
$translation_array = array('chart_data' => $chart_data, 'chart_id' => $post->ID);
wp_localize_script('easy-charts-admin-js', 'ec_chart', $translation_array);
wp_enqueue_script('easy-charts-admin-js');
echo $plugin->ec_render_chart($post->ID);
?>
	</div>
<?php

/**
 * Markup file for metabox
 *
 * HTML markup for configuration matabox.
 *
 * @link       http://kiranpotphode.wordpress.com
 * @since      1.0.0
 *
 * @package    Easy_Charts
 * @subpackage Easy_Charts/admin/partials
 */
global $post;
$plugin = new Easy_Charts();
$font_family = array('Arial' => 'Arial', 'Impact' => 'Impact', 'Palatino Linotype' => 'Palatino Linotype', 'Tahoma' => 'Tahoma', 'Century Gothic' => ' Century Gothic', 'Lucida Sans Unicode' => 'Lucida Sans Unicode', 'Arial Black' => 'Arial Black', 'Times New Roman' => 'Times New Roman', 'Arial Narrow' => 'Arial Narrow', 'Verdana' => 'Verdana', 'Lucida Console' => 'Lucida Console', 'Gill Sans' => 'Gill Sans', 'Trebuchet MS' => 'Trebuchet MS', 'Courier New' => 'Courier New', 'Georgia' => 'Georgia');
?>

<div id="easy-charts-configuration-metabox-wrap">
	<div id="easy-chart-configuration-box">
		<div id="ec-tabs">
			<div class="resp-tabs-container">
				<div id="ec-tabs-graph" class="ec-tab" data-pws-tab-name="<?php 
_e('General', 'easy-charts');
?>
" data-pws-tab="ec-tabs-graph" data-pws-tab-icon="fa-university">
					<?php 
$ec_chart_type = get_post_meta($post->ID, '_ec_chart_type', true);
$plugin->ec_render_field('dropdown', 'ec_chart_type', 'Chart Type', $ec_chart_type, array('ec_bar_chart' => __('Bar Chart', 'easy-charts'), 'ec_area_chart' => __('Area Chart', 'easy-charts'), 'ec_stacked_bar_chart' => __('Stacked Bar Chart', 'easy-charts'), 'ec_stacked_area_chart' => __('Stacked Area Chart', 'easy-charts'), 'ec_percent_bar_chart' => __('Percent Bar Chart', 'easy-charts'), 'ec_percent_area_chart' => __('Percent Area Chart', 'easy-charts'), 'ec_pie_chart' => __('Pie Chart', 'easy-charts'), 'ec_donut_chart' => __('Donut Chart', 'easy-charts'), 'ec_step_up_bar_chart' => __('Step Up Bar Chart', 'easy-charts'), 'ec_waterfall_chart' => __('Waterfall Chart', 'easy-charts'), 'ec_line_chart' => __('Line Chart', 'easy-charts'), 'ec_polar_area_chart' => __('Polar Area Chart', 'easy-charts')));
$ec_chart_graph = $plugin->ec_get_chart_configuration($post->ID, 'graph');
$plugin->ec_render_field('radio', 'ec_chart_graph_responsive', 'Responsive', $ec_chart_graph['responsive'], array('Yes' => true, 'No' => false));
/**
 * Begins execution of the plugin.
 *
 * @since    1.0.0
 */
function run_easy_charts()
{
    $plugin = new Easy_Charts();
    $plugin->run();
}
 /**
  * Add shortcode callback for chart shortcode.
  *
  * @since 1.0.0
  *
  * @param string $atts  Attributes for shortcode.
  * @param string $content    Content inside Shortcode enclosing tags. Default is ''.
  * @return string 	Parsed Shortcode html markup.
  */
 public static function easy_chart_shortcode_callback($atts, $content = '')
 {
     $atts = shortcode_atts(array('chart_id' => null), $atts, 'easy_chart');
     extract($atts);
     if ($chart_id) {
         $plugin = new Easy_Charts();
         wp_enqueue_script('easy-charts-public-js');
         wp_enqueue_script('d3-js');
         wp_enqueue_script('uvhcharts-js');
         wp_enqueue_script('filesaver-js');
         wp_enqueue_script('canvg-js');
         wp_enqueue_script('canvas-toblob-js');
         return $plugin->ec_render_chart($chart_id);
     }
     return '';
 }
 /**
  * Ajax callback for save chart data.
  *
  * @since    1.0.0
  */
 public function easy_charts_save_chart_data_callback()
 {
     $plugin = new Easy_Charts();
     check_ajax_referer('ec-ajax-nonce', '_nonce_check');
     if ('easy_charts_save_chart_data' !== $_POST['action']) {
         exit(0);
     }
     update_post_meta($_POST['chart_id'], '_easy_charts_chart_data', $_POST['chart_data']);
     echo wp_json_encode($plugin->get_ec_chart_data($_POST['chart_id']));
     exit(0);
 }
 /**
  * Ajax callback for save chart data.
  *
  *@since    1.0.0
  */
 public function easy_charts_save_chart_data_callback()
 {
     $plugin = new Easy_Charts();
     if ($_POST['action'] != 'easy_charts_save_chart_data') {
         exit(0);
     }
     update_post_meta($_POST['chart_id'], '_easy_charts_chart_data', $_POST['chart_data']);
     echo json_encode($plugin->get_ec_chart_data($_POST['chart_id']));
     exit(0);
 }