|
@@ -107,152 +107,9 @@ if (isset($_GET['exportpdf'])) {
|
|
|
|
|
|
$export_pdf_form = new DataForm(DataForm::TYPE_EXPORT_PDF, 'export_pdf_form', null, api_get_self().'?exportpdf=&offset='.intval($_GET['offset']).'&selectcat='.intval($_GET['selectcat']), '_blank', '');
|
|
|
|
|
|
- if ($export_pdf_form->validate()) {
|
|
|
-
|
|
|
- // Beginning of PDF report creation
|
|
|
-
|
|
|
- $printable_data = get_printable_data($cat[0], $users, $alleval, $alllinks);
|
|
|
- $export = $export_pdf_form->exportValues();
|
|
|
-
|
|
|
- // Reading report's CSS
|
|
|
-
|
|
|
- //$css_file = api_get_path(TO_SYS, WEB_CSS_PATH).api_get_setting('stylesheets').'/print.css';
|
|
|
- $css_file = api_get_path(SYS_CODE_PATH).'gradebook/print.css';
|
|
|
- $css = file_exists($css_file) ? @file_get_contents($css_file) : '';
|
|
|
-
|
|
|
- // HTML report creation first
|
|
|
-
|
|
|
- $time = time();
|
|
|
- $course_code = trim($cat[0]->get_course_code());
|
|
|
- $organization = api_get_setting('Institution');
|
|
|
-
|
|
|
- $displayscore = ScoreDisplay :: instance();
|
|
|
- $customdisplays = $displayscore->get_custom_score_display_settings();
|
|
|
-
|
|
|
- if (is_array($customdisplays) && count(($customdisplays))) {
|
|
|
- $total = array();
|
|
|
- foreach($customdisplays as $custom) {
|
|
|
- $total[$custom['display']] = 0;
|
|
|
- }
|
|
|
- $user_results = $flatviewtable->datagen->get_data_to_graph2();
|
|
|
- foreach($user_results as $user_result) {
|
|
|
- $total[$user_result[count($user_result)-1][1]]++;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- $html = '';
|
|
|
-
|
|
|
- $img = api_get_path(SYS_CODE_PATH).'css/'.api_get_visual_theme().'/images/header-logo.png';
|
|
|
- if (file_exists($img)) {
|
|
|
- $img = api_get_path(WEB_CODE_PATH).'css/'.api_get_visual_theme().'/images/header-logo.png';
|
|
|
- $html .= "<img src='$img'>";
|
|
|
- } else {
|
|
|
- if (!empty($organization)) {
|
|
|
- $html .= '<h2 align="left">'.$organization.'</h2>';
|
|
|
- }
|
|
|
- }
|
|
|
- $html .= '<h2 align="center">'.get_lang('FlatView').'</h2>';
|
|
|
-
|
|
|
- $html .= '<table align="center" width="100%"><tr><td valign="top">';
|
|
|
-
|
|
|
- $html .= '<table align="left" width="33%">';
|
|
|
- $session_name = api_get_session_name(api_get_session_id());
|
|
|
- $teacher_list = CourseManager::get_teacher_list_from_course_code_to_string($course_code);
|
|
|
- if (!empty($session_name)) {
|
|
|
- $html .= Display::tag('tr', Display::tag('td', get_lang('Session')).Display::tag('td', Display::tag('strong', $session_name)));
|
|
|
- }
|
|
|
- $html .= Display::tag('tr', Display::tag('td', get_lang('Course')).Display::tag('td', Display::tag('strong', $course_code)));
|
|
|
- $html .= Display::tag('tr', Display::tag('td', get_lang('Date')).Display::tag('td', Display::tag('strong', api_convert_and_format_date(date('Y-m-d', time()), DATE_TIME_FORMAT_LONG))));
|
|
|
- $html .= Display::tag('tr', Display::tag('td', get_lang('Teacher')).Display::tag('td', Display::tag('strong', $teacher_list)));
|
|
|
- $html .= '</table></td>';
|
|
|
-
|
|
|
- $html .= '<td valign="top"><table align="left" width="33%">';
|
|
|
-
|
|
|
- if (!empty($total)) {
|
|
|
- foreach($total as $label => $count) {
|
|
|
- $total_custom_score = round($count/count($user_results), 2) *100;
|
|
|
- $html .= Display::tag('tr', Display::tag('td', $label).': '.Display::tag('td', Display::tag('strong', $total_custom_score.' %')));
|
|
|
- }
|
|
|
- }
|
|
|
- $html .= '</table></td>';
|
|
|
- $html .= '<td valign="top"><table align="left" width="33%">';
|
|
|
- $headers = $printable_data[0];
|
|
|
- unset($headers[0]);
|
|
|
- unset($headers[1]);
|
|
|
- unset($headers[count($headers)+1]);
|
|
|
-
|
|
|
- foreach ($headers as $head) {
|
|
|
- //$html .= Display::tag('tr', Display::tag('td', 'P1').Display::tag('td', Display::tag('strong', $head)));
|
|
|
- $html .= Display::tag('tr', Display::tag('td', Display::tag('strong', $head)));
|
|
|
- }
|
|
|
- $html .= '</table></td></table><br />';
|
|
|
-
|
|
|
- $columns = count($printable_data[0]);
|
|
|
- $has_data = is_array($printable_data[1]) && count($printable_data[1]) > 0;
|
|
|
-
|
|
|
- if (api_is_western_name_order()) {
|
|
|
- // Choosing the right person name order according to the current language.
|
|
|
- list($printable_data[0][0], $printable_data[0][1]) = array($printable_data[0][1], $printable_data[0][0]);
|
|
|
- if ($has_data) {
|
|
|
- foreach ($printable_data[1] as &$printable_data_row) {
|
|
|
- list($printable_data_row[0], $printable_data_row[1]) = array($printable_data_row[1], $printable_data_row[0]);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- $table = new HTML_Table(array('class' => 'data_table'));
|
|
|
- $row = 0;
|
|
|
- $column = 0;
|
|
|
- foreach ($printable_data[0] as $printable_data_cell) {
|
|
|
- $table->setHeaderContents($row, $column, $printable_data_cell);
|
|
|
- $column++;
|
|
|
- }
|
|
|
- $row++;
|
|
|
- if ($has_data) {
|
|
|
- foreach ($printable_data[1] as &$printable_data_row) {
|
|
|
- $column = 0;
|
|
|
- foreach ($printable_data_row as &$printable_data_cell) {
|
|
|
- $table->setCellContents($row, $column, $printable_data_cell);
|
|
|
- $table->updateCellAttributes($row, $column, 'align="center"');
|
|
|
- $column++;
|
|
|
- }
|
|
|
- $table->updateRowAttributes($row, $row % 2 ? 'class="row_even"' : 'class="row_odd"', true);
|
|
|
- $row++;
|
|
|
- }
|
|
|
- } else {
|
|
|
- $column = 0;
|
|
|
- $table->setCellContents($row, $column, get_lang('NoResults'));
|
|
|
- $table->updateCellAttributes($row, $column, 'colspan="'.$columns.'" align="center" class="row_odd"');
|
|
|
- }
|
|
|
-
|
|
|
- $html .= $table->toHtml();
|
|
|
-
|
|
|
- //echo $html;exit;
|
|
|
- // Memory release
|
|
|
-
|
|
|
- unset($printable_data);
|
|
|
- unset($table);
|
|
|
-
|
|
|
- // Conversion of the created HTML report to a PDF report
|
|
|
-
|
|
|
- $html = api_utf8_encode($html);
|
|
|
- //@todo this is really a must?
|
|
|
- $creator_pdf = api_utf8_encode($creator);
|
|
|
- $title_pdf = api_utf8_encode($report_name);
|
|
|
- $subject_pdf = api_utf8_encode(get_lang('FlatView'));
|
|
|
- $keywods_pdf = api_utf8_encode($course_code);
|
|
|
-
|
|
|
- $page_format = $export['orientation'] == 'landscape' ? 'A4-L' : 'A4';
|
|
|
- $pdf = new PDF($page_format, $export['orientation']);
|
|
|
-
|
|
|
- // Sending the created PDF report to the client
|
|
|
- $file_name = date('YmdHi_', $time);
|
|
|
- if (!empty($course_code)) {
|
|
|
- $file_name .= $course_code.'_';
|
|
|
- }
|
|
|
- $file_name .= get_lang('FlatView').'.pdf';
|
|
|
- $pdf->content_to_pdf($html, $css, $file_name, api_get_course_id());
|
|
|
- exit;
|
|
|
+ if ($export_pdf_form->validate()) {
|
|
|
+ $params = $export_pdf_form->exportValues();
|
|
|
+ export_pdf_flatview($cat, $users, $alleval, $alllinks, $params);
|
|
|
} else {
|
|
|
Display :: display_header(get_lang('ExportPDF'));
|
|
|
}
|