/** * * 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; }
/** * Get the full URL to the resource * * @return string */ public function getFullUrl_Res($username = '') { return Default_Plugin_SysBox::getFullURL_Res($this->getFullUrl($username)); }
/** * * 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; }
/** * * 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; }
/** * 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; }
/** * * 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; }