function _printTable_delay($type, &$element_to_print, $showed_cols = array())
 {
     if (!$type) {
         $type = 'html';
     }
     if (empty($element_to_print)) {
         cout($this->lang->def('_NO_USER_FOUND'), 'content');
     } else {
         require_once _lms_ . '/admin/modules/report/report_tableprinter.php';
         $buffer = new ReportTablePrinter($type);
         //ksort($element_to_print);
         foreach ($element_to_print as $id_course => $info) {
             $course_name = $info['name'];
             $header = array();
             foreach ($this->delay_columns as $delay_row) {
                 $index = $this->_check_delay_column($delay_row['key']);
                 //backward compatibility
                 if ($delay_row['select'] && in_array($index, $showed_cols) || !$delay_row['select']) {
                     $header[] = $delay_row['label'];
                 }
             }
             if ($this->use_mail) {
                 $header[] = array('style' => 'img-cell', 'value' => $this->_loadEmailIcon());
             }
             $title = Lang::t('_COURSE', 'standard') . ': "' . $course_name . '" (' . $info['code'] . ')';
             $buffer->openTable($title, $title);
             $buffer->openHeader();
             $buffer->addHeader($header);
             $buffer->closeHeader();
             $buffer->openBody();
             $user_levels_trans = false;
             $i = 0;
             foreach ($info['data'] as $user_info) {
                 $line = array();
                 foreach ($this->delay_columns as $delay_row) {
                     $index = $this->_check_delay_column($delay_row['key']);
                     //backward compatibility
                     if ($delay_row['select'] && in_array($index, $showed_cols) || !$delay_row['select']) {
                         switch ($index) {
                             case 'level':
                                 if ($user_levels_trans === false) {
                                     require_once _lms_ . '/lib/lib.levels.php';
                                     $clevels = new CourseLevel();
                                     $user_levels_trans = $clevels->getLevels();
                                     unset($clevels);
                                 }
                                 $line[] = array('style' => 'align-center', 'value' => $user_levels_trans[$user_info['level']]);
                                 break;
                             case 'status':
                                 $line[] = array('style' => 'align-center', 'value' => $this->status_u[$user_info['status']]);
                                 break;
                             case 'date_subscription':
                             case 'date_first_access':
                             case 'date_last_access':
                             case 'date_complete':
                                 if ($user_info[$index] == '0000-00-00 00:00:00' || $user_info[$index] == '') {
                                     $line[] = '';
                                 } else {
                                     $line[] = array('style' => 'align-center', 'value' => Format::date($user_info[$index], 'datetime'));
                                 }
                                 break;
                             case 'email':
                                 $line[] = trim($user_info['mail']);
                                 break;
                             default:
                                 $line[] = $user_info[$index];
                                 break;
                         }
                     }
                 }
                 if ($this->use_mail) {
                     $line[] = array('style' => 'img-cell', 'value' => '<div class="align_center">' . Form::getInputCheckbox('mail_' . $user_info['idUser'], 'mail_recipients[]', $user_info['idUser'], isset($_POST['select_all']), '') . '</div>');
                 }
                 $buffer->addLine($line);
             }
             $buffer->closeBody();
             $buffer->closeTable();
             $buffer->addBreak();
         }
         cout($buffer->get(), 'content');
     }
 }