/** * Handler for the chart shortcode */ function wpdatachart_shortcode_handler( $atts, $content = null ){ global $wpdb; extract( shortcode_atts( array( 'id' => '0' ), $atts ) ); if( !$id ){ return false; } do_action( 'wpdatatables_before_render_chart', $id ); $wpDataChart = new WPDataChart(); $wpDataChart->setId( $id ); $wpDataChart->loadFromDB(); return $wpDataChart->renderChart(); }
/** * Create/edit chart wizard */ function wpdatatables_chart_wizard() { global $wdt_admin_translation_array; if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } $tpl = new PDTTpl(); // Google Chart JS wp_enqueue_script('wdt_google_charts', '//www.google.com/jsapi'); // Highcharts JS wp_enqueue_script('wdt_highcharts', '//code.highcharts.com/highcharts.js'); wp_enqueue_script('wdt_highcharts3d', '//code.highcharts.com/highcharts-3d.js'); // Admin JS wp_enqueue_script('wpdatatables-admin', WDT_JS_PATH . 'wpdatatables/wpdatatables_admin.js'); // Selecter wp_enqueue_script('wpdatatables-selecter', WDT_JS_PATH . 'selecter/jquery.fs.selecter.min.js'); wp_enqueue_style('wpdatatables-selecter', WDT_CSS_PATH . 'jquery.fs.selecter.css'); // iCheck wp_enqueue_script('wpdatatables-icheck', WDT_JS_PATH . 'icheck/icheck.min.js'); wp_enqueue_style('wpdatatables-icheck', WDT_CSS_PATH . 'icheck.minimal.css'); // Popup wp_enqueue_script('wpdatatables-popup', WDT_JS_PATH . 'popup/jquery.remodal.min.js'); wp_enqueue_style('wpdatatables-popup', WDT_CSS_PATH . 'jquery.remodal.css'); // JsRender wp_enqueue_script('wpdatatables-jsrender', WDT_JS_PATH . 'jsrender/jsrender.min.js'); // ImagePicker wp_enqueue_script('wpdatatables-image-picker', WDT_JS_PATH . 'image-picker/image-picker.min.js'); wp_enqueue_style('wpdatatables-image-picker', WDT_CSS_PATH . 'image-picker.css'); // Chart wizard JS wp_enqueue_script('wpdatatables-chart-wizard', WDT_JS_PATH . 'wpdatatables/wpdatatables_chart_wizard.js'); // Google Chart wpDataTable JS library wp_enqueue_script('wpdatatables-google-chart', WDT_JS_PATH . 'wpdatatables/wpdatatables_google_charts.js'); // Highchart wpDataTable JS library wp_enqueue_script('wpdatatables-highcharts', WDT_JS_PATH . 'wpdatatables/wpdatatables_highcharts.js'); wp_localize_script('wpdatatables-edit', 'wpdatatables_edit_strings', $wdt_admin_translation_array); // Edit or add new $chart_id = isset($_GET['chart_id']) ? filter_var($_GET['chart_id'], FILTER_SANITIZE_NUMBER_INT) : false; if (!empty($chart_id)) { $chartObj = new WPDataChart(); $chartObj->setId($chart_id); $chartObj->loadFromDB(); $chartObj->prepareData(); $chartObj->shiftStringColumnUp(); } $tpl->setTemplate('chart_wizard.inc.php'); $tpl->addData('chart_id', $chart_id); if (!empty($chart_id)) { $tpl->addData('wpShowTitle', __('wpDataTables Chart Edit Wizard', 'wpdatatables')); $tpl->addData('chartObj', $chartObj); } else { $tpl->addData('wpShowTitle', __('wpDataTables Chart Create Wizard', 'wpdatatables')); } $tpl->addData('chartDataJson', json_encode(array())); $chart_wizard_page = $tpl->returnData(); $chart_wizard_page = apply_filters('wpdatatables_filter_chart_wizard_page', $chart_wizard_page); echo $chart_wizard_page; do_action('wpdatatables_chart_wizard_page'); }