Exemplo n.º 1
0
 /**
  * 
  * Get report data
  * 
  * @param string $table
  *
  * @return array
  */
 protected function _getReportData($table)
 {
     $arrResultData = array();
     $rows_footer = array();
     $footer_colspan = 2;
     //-------------------
     // Получим данные для отчета
     $arrData = parent::_getReportData($table);
     // Установим параметры PDF по умолчанию
     $arrResultData['pdf']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/notice-info24x24.png');
     $arrResultData['pdf']['title_report'] = $this->Translate('Список инф. помощи');
     $arrResultData['pdf']['is_row_header'] = TRUE;
     $arrResultData['pdf']['pageFormat'] = 'A4';
     // Установим параметры для HTML по умолчанию
     $arrResultData['html']['column_model'] = $arrData['column_model'];
     $arrResultData['html']['is_group_head'] = $arrData['is_group_head'];
     $arrResultData['html']['rows_body'] = isset($arrData['rows']) ? $arrData['rows'] : array();
     $arrResultData['html']['is_row_header'] = true;
     $arrResultData['html']['footer_colspan'] = $footer_colspan;
     // Получим данные для отчета
     switch ($table) {
         case 'admin.blog_info':
             // Исключим в отчете некоторые поля
             $fieldsExcluded = array('actual');
             $newModelColumns = parent::_excludeFieldsFromReport($fieldsExcluded, $arrData['column_model']);
             $arrResultData['html']['column_model'] = $newModelColumns;
             // Получим массив записей для нижнего колонтитула
             $footers[] = array('id' => $this->Translate('Всего записей') . ':', 'info_key' => 'count', 'title_info' => ' ');
             $rows_footer = parent::_footerForReport(array('footer_colspan' => $footer_colspan, 'rows' => $arrData['rows'], 'column_model' => $newModelColumns, 'footers' => $footers));
             // Установим параметры для HTML
             $arrResultData['html']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/notice-info24x24.png');
             $arrResultData['html']['title_report'] = $this->Translate('Список инф. помощи');
             $arrResultData['html']['rows_footer'] = $rows_footer;
             $arrResultData['html']['is_row_header'] = TRUE;
             $arrResultData['html']['footer_colspan'] = 1;
             // Установим параметры PDF
             $arrResultData['pdf']['pageFormat'] = 'A4';
             $arrResultData['pdf']['is_row_header'] = false;
             break;
         default:
             break;
     }
     return $arrResultData;
 }
Exemplo n.º 2
0
 /**
  * Get the full URL to the resource
  *
  * @return string
  */
 public function getFullUrl_Res($username = '')
 {
     return Default_Plugin_SysBox::getFullURL_Res($this->getFullUrl($username));
 }
Exemplo n.º 3
0
 /**
  * 
  * Get report data
  * 
  * @param string $table
  *
  * @return array
  */
 protected function _getReportData($table)
 {
     $arrResultData = array();
     $footers = array();
     $rows_footer = array();
     $footer_colspan = 2;
     //-------------------
     // Получим данные для отчета
     $arrData = parent::_getReportData($table);
     // Установим параметры PDF
     $arrResultData['pdf']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/index_doc48x48.png');
     $arrResultData['pdf']['title_report'] = $this->Translate('Список сообщений');
     $arrResultData['pdf']['is_row_header'] = TRUE;
     $arrResultData['pdf']['pageFormat'] = 'A4';
     // Установим параметры для HTML
     $arrResultData['html']['column_model'] = $arrData['column_model'];
     $arrResultData['html']['rows_body'] = isset($arrData['rows']) ? $arrData['rows'] : array();
     $arrResultData['html']['is_group_head'] = $arrData['is_group_head'];
     $arrResultData['html']['is_row_header'] = TRUE;
     $arrResultData['html']['footer_colspan'] = $footer_colspan;
     // Получим данные для отчета
     switch ($table) {
         case 'admin.blog_posts':
             $footer_colspan = 1;
             // Исключим в отчете некоторые поля
             $fieldsExcluded = array('id', 'actual');
             $newModelColumns = parent::_excludeFieldsFromReport($fieldsExcluded, $arrData['column_model']);
             $arrResultData['html']['column_model'] = $newModelColumns;
             // Получим массив записей для нижнего колонтитула
             $footers[] = array('user_id' => $this->Translate('Всего записей') . ':', 'url' => 'count');
             $footers[] = array('user_id' => $this->Translate('Минимальная дата') . ':', 'ts_created' => 'min');
             $footers[] = array('user_id' => $this->Translate('Максимальная дата') . ':', 'ts_published' => 'max');
             $rows_footer = parent::_footerForReport(array('footer_colspan' => $footer_colspan, 'rows' => $arrData['rows'], 'column_model' => $newModelColumns, 'footers' => $footers));
             // Установим параметры для HTML
             $arrResultData['html']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/documents32x32.png');
             $arrResultData['html']['title_report'] = $this->Translate('Список сообщений в блогах');
             $arrResultData['html']['rows_footer'] = $rows_footer;
             $arrResultData['html']['footer_colspan'] = $footer_colspan;
             // Установим параметры для PDF
             $arrResultData['pdf']['is_row_header'] = false;
             break;
         default:
             break;
     }
     return $arrResultData;
 }
Exemplo n.º 4
0
 /**
  * 
  * Get report data
  * 
  * @param string $table
  *
  * @return array
  */
 protected function _getReportData($table)
 {
     $arrResultData = array();
     $rows_footer = array();
     $footer_colspan = 2;
     //-------------------
     // Получим данные для отчета
     $arrData = parent::_getReportData($table);
     // Установим параметры PDF по умолчанию
     $arrResultData['pdf']['is_row_header'] = false;
     $arrResultData['pdf']['pageFormat'] = 'A4';
     // Установим параметры для HTML по умолчанию
     $arrResultData['html']['column_model'] = $arrData['column_model'];
     $arrResultData['html']['is_group_head'] = $arrData['is_group_head'];
     $arrResultData['html']['rows_body'] = isset($arrData['rows']) ? $arrData['rows'] : array();
     $arrResultData['html']['is_row_header'] = TRUE;
     $arrResultData['html']['footer_colspan'] = $footer_colspan;
     // Исключим в отчете некоторые поля
     $fieldsExcluded = array('pr');
     $newModelColumns = parent::_excludeFieldsFromReport($fieldsExcluded, $arrData['column_model']);
     $arrResultData['html']['column_model'] = $newModelColumns;
     // Получим массив записей для нижнего колонтитула
     $footers[] = array('id' => $this->Translate('Всего записей') . ':', 'ts' => 'count', 'pr_name' => ' ');
     // Сформируем набор записей для нижнего колонтитула
     $rows_footer = parent::_footerForReport(array('footer_colspan' => $footer_colspan, 'rows' => isset($arrData['rows']) ? $arrData['rows'] : array(), 'column_model' => $newModelColumns, 'footers' => $footers));
     $arrResultData['html']['rows_footer'] = $rows_footer;
     // Получим данные для отчета
     switch ($table) {
         case 'admin.log_msg':
             // Установим параметры PDF
             $arrResultData['pdf']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/update_log.gif');
             $arrResultData['pdf']['title_report'] = $this->Translate('Лог сообщений');
             // Установим параметры для HTML
             $arrResultData['html']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/update_log.gif');
             $arrResultData['html']['title_report'] = $this->Translate('Лог сообщений');
             break;
         case 'admin.log_stat':
             // Установим параметры PDF
             $arrResultData['pdf']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/logStat20x20.png');
             $arrResultData['pdf']['title_report'] = $this->Translate('Лог статистики');
             // Установим параметры для HTML
             $arrResultData['html']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/logStat20x20.png');
             $arrResultData['html']['title_report'] = $this->Translate('Лог статистики');
             break;
         case 'admin.log_error':
             // Установим параметры PDF
             $arrResultData['pdf']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/delete.gif');
             $arrResultData['pdf']['title_report'] = $this->Translate('Лог ошибок');
             // Установим параметры для HTML
             $arrResultData['html']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/delete.gif');
             $arrResultData['html']['title_report'] = $this->Translate('Лог ошибок');
             break;
         default:
             break;
     }
     return $arrResultData;
 }
Exemplo n.º 5
0
 /**
  * Action - pdf
  * сreate a PDF document using the mPDF library
  *
  * Access to the action is possible in the following paths:
  * - /admin/tools/pdf
  *
  * @return void
  */
 public function pdfAction()
 {
     $isCommonFont = false;
     $pdfParams = array();
     //---------------------
     // Получим параметры
     $params = $this->getRequest()->getParams();
     $report = $params['name'];
     // Определим параметры для конвертации HTML в PDF
     switch ($report) {
         case 'phpinfo':
             // Установим параметры для отчета
             $html = Default_Plugin_SysBox::getPHPInfo();
             $pdfParams['pdfReport'] = $report;
             $pdfParams['html'] = $html;
             $pdfParams['isCommonFont'] = true;
             $pdfParams['pathStylesheet'] = 'css/report/phpinfo.css';
             $pdfParams['headerLeftMargin'] = 'Params of PHP';
             $pdfParams['headerCentreMargin'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/settings32x32.png');
             $pdfParams['footerRightMargin'] = Default_Plugin_SysBox::getFullUrl_For_FilePDF($report);
             break;
         case 'zend-progress':
             $adapter = new Zend_ProgressBar_Adapter_JsPush(array('updateMethodName' => 'BSA.Dialogs.Zend_ProgressBar_Update', 'finishMethodName' => 'BSA.Dialogs.Zend_ProgressBar_Finish'));
             $progressBar = new Zend_ProgressBar($adapter, 0, 100);
             for ($i = 1; $i <= 100; $i++) {
                 if ($i < 20) {
                     $text = 'Just beginning';
                 } else {
                     if ($i < 50) {
                         $text = 'A bit done';
                     } else {
                         if ($i < 80) {
                             $text = 'Getting closer';
                         } else {
                             $text = 'Nearly done';
                         }
                     }
                 }
                 $progressBar->update($i, $text);
                 usleep(100000);
             }
             $progressBar->finish();
             die;
             break;
         default:
             break;
     }
     // Создать PDF файл из HTML
     $urlFilePDF = Default_Plugin_SysBox::mpdfGenerator_Html2PDF($pdfParams);
     // Установим свой и предыдущий Breadcrumbs
     $Zend_Auth = Zend_Registry::get("Zend_Auth");
     $lastBreadcrumbs = $Zend_Auth->lastBreadcrumbs;
     $this->_breadcrumbs->addStep($lastBreadcrumbs['title'], $this->getUrl($lastBreadcrumbs['action'], $lastBreadcrumbs['controller'], $lastBreadcrumbs['module']));
     $this->_breadcrumbs->addStep($this->Translate('Отчет в PDF формате'));
     $this->view->urlFilePDF = $urlFilePDF;
 }
Exemplo n.º 6
0
 /**
  * 
  * Get report data
  * 
  * @param string $table
  *
  * @return array
  */
 protected function _getReportData($table)
 {
     $arrResultData = array();
     $rows_footer = array();
     $footer_colspan = 2;
     //-------------------
     // Получим данные для отчета
     $arrData = parent::_getReportData($table);
     // Установим параметры PDF
     $url_logo_report = Default_Plugin_SysBox::getFullURL_Res('/images/system/users48x48.png');
     //        echo $url_logo_report . '<br>';
     $arrResultData['pdf']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/users48x48.png');
     $arrResultData['pdf']['title_report'] = $this->Translate('Пользователи сайта');
     $arrResultData['pdf']['pageFormat'] = 'A4';
     // Установим параметры для HTML
     $arrResultData['html']['column_model'] = $arrData['column_model'];
     $arrResultData['html']['is_group_head'] = $arrData['is_group_head'];
     $arrResultData['html']['rows_body'] = isset($arrData['rows']) ? $arrData['rows'] : array();
     $arrResultData['html']['is_row_header'] = false;
     $arrResultData['html']['footer_colspan'] = $footer_colspan;
     // Получим данные для отчета
     switch ($table) {
         case 'admin.users':
             // Исключим в отчете некоторые поля
             $fieldsExcluded = array('id', 'actual', 'password');
             $newModelColumns = parent::_excludeFieldsFromReport($fieldsExcluded, $arrData['column_model']);
             $arrResultData['html']['column_model'] = $newModelColumns;
             // Получим массив записей для нижнего колонтитула
             $footers[] = array('username' => $this->Translate('Всего записей') . ':', 'email' => 'count');
             $rows_footer = parent::_footerForReport(array('footer_colspan' => $footer_colspan, 'rows' => $arrData['rows'], 'column_model' => $newModelColumns, 'footers' => $footers));
             // Установим параметры для HTML
             $arrResultData['html']['logo_report'] = Default_Plugin_SysBox::getFullURL_Res('/images/system/users34x34.png');
             $arrResultData['html']['title_report'] = $this->Translate('Список пользователей сайта');
             $arrResultData['html']['rows_footer'] = $rows_footer;
             $arrResultData['html']['is_row_header'] = true;
             //                $arrResultData['html']['footer_colspan'] = $footer_colspan;
             // Установим параметры PDF
             $arrResultData['pdf']['pageFormat'] = 'A4-L';
             break;
         default:
             break;
     }
     return $arrResultData;
 }