예제 #1
0
 public static function report_all_forms($args)
 {
     $defaults = array('start_date' => date('Y-m-d', strtotime('-1 year')), 'check_permissions' => true, 'base_url' => admin_url());
     $args = array_merge($defaults, $args);
     $rows = Gravity_Flow_Activity::get_report_data_for_all_forms($args['start_date']);
     if (empty($rows)) {
         esc_html_e('No data to display', 'gravityflow');
         return;
     }
     $chart_data = array();
     $chart_data[] = array(esc_html__('Form', 'gravityflow'), esc_html__('Workflows Completed', 'gravityflow'), esc_html__('Average Duration (hours)', 'gravityflow'));
     foreach ($rows as $row) {
         $form = GFAPI::get_form($row->form_id);
         $title = esc_html($form['title']);
         $chart_data[] = array($title, absint($row->c), absint($row->av) / HOUR_IN_SECONDS);
     }
     $chart_options = array('chart' => array('title' => esc_html__('Forms', 'gravityflow'), 'subtitle' => esc_html__('Workflows completed and average duration', 'gravityflow')), 'bars' => 'horizontal', 'height' => 200 + count($rows) * 100, 'series' => array(array('axis' => 'count'), array('axis' => 'average_duration')), 'axes' => array('x' => array('count' => array('side' => 'top', 'label' => esc_html__('Workflows Completed', 'gravityflow')), 'average_duration' => array('label' => esc_html__('Average Duration (hours)', 'gravityflow')))));
     $data_table_json = htmlentities(json_encode($chart_data), ENT_QUOTES, 'UTF-8', true);
     $options_json = htmlentities(json_encode($chart_options), ENT_QUOTES, 'UTF-8', true);
     echo '<div id="gravityflow_chart_top_level" style="padding:20px;background-color:white;" class="gravityflow_chart" data-type="Bar" data-table="' . $data_table_json . '" data-options="' . $options_json . '""></div>';
 }