public function listMenu(App_Model_Abstract $module, $selectedId = '', App_Grid_Filter $filter, $isLeftHide = false) { $this->_filter = $filter; $this->_isLeftHide = $isLeftHide; $backlink = $this->view->url(array('action' => 'index'), true); // หาว่า id นี้อยู่หน้าไหน $request = Zend_Controller_Front::getInstance()->getRequest(); $text .= "<div class='list-group listmenu-container left-menu1 hide-on-print' >"; $text .= "<a href='#' class='list-group-item active'>"; $names = explode("_Model_", get_class($module)); $dataName = str_replace("_", " ", $this->view->translate("" . $names[1])); $text .= $dataName; $text .= "</a>"; $list = $filter->getList(); foreach ($list as $item) { $itemLabel = "" . $item; $itemId = $item->{$item->getPKName()}; if ("" == $itemLabel) { $itemLabel = $dataName . ":" . $itemId; } $link = $this->_getSelectLink(array('id' => $itemId)); $liId = ''; if ($selectedId == $item->{$item->getPKName()}) { $liId = "current"; } $text .= "<a href='{$link}' id='{$liId}' title='{$itemLabel}' href='#' class='list-group-item'>{$itemLabel}</a>"; } $text .= "</div>"; $text .= "<div class='listmenu-pagination-container hide-on-print'>"; $text .= $this->_genPagination(); $text .= "</div>"; //$this->globalScript(); return $text; }
public function tableAjax(App_Grid_Filter $filter, array $list = null) { $req = Zend_Controller_Front::getInstance()->getRequest(); $this->_request = $req; $filter->setRequest($req); $ui = $filter->getUiName(); $this->_modelName = $filter->getModelName(); $tableConfig = $this->getTableConfig($this->_modelName, $ui); $this->_columnConfig = $tableConfig['fields']; $this->_modelConfig = $this->getModelConfig($this->_modelName); //print_r($this->_columnConfig); $widths = $filter->getRowWidths(); $titles = $filter->getheaderTitles(); //print_r($titles); $tWidth = $filter->getTableWidth(); if ($list == null) { $list = $filter->getList(); } $this->_filter = $filter; $view = $this->view; if (!$filter->isDisableHeader()) { // $view->headLink()->appendStylesheet('/scripts/jq-ingrid/css/ingrid.css'); // $view->headScript()->appendFile('/scripts/jq-ingrid/js/jquery.ingrid.js'); // $view->headScript()->appendFile('/scripts/jq-ingrid/js/jquery.cookie.js'); //$view->headScript()->appendScript($this->_getScript()); } $gridwidth = $filter->getGridWidth(); $table = '<div id="issues-preview-table"><table style="width:' . $gridwidth . '" class="extensions listing" cellpadding="0" cellspacing="0">'; //if( !$filter->isDisableHeader() ){ $table .= $this->_getHeader($widths, $titles); //} if (is_array($list)) { $table .= $this->_getRows($list, $widths); } else { $table .= $this->_getBlankRows(count($titles)); } //if( !$filter->isDisableHeader() ){ // $table .= $this->_getFooter(count($titles)); //} $table .= '</table>'; $table .= '</div>'; $table .= $this->_genPagination(); //$table .= '</div>'; //if (! $filter->isDisableScript ()) { //$table .='<script type="text/javascript">'; $this->_genScript(); //$table .= '</script> '; //} return $table; }
function render(App_Grid_Filter $filter, $exportLayout, $page, $fileName) { $pdf = new mypdf(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->caption = $this->caption; // set document information $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('Nicola Asuni'); $pdf->SetTitle('TCPDF Example 048'); $pdf->SetSubject('TCPDF Tutorial'); $pdf->SetKeywords('TCPDF, PDF, example, test, guide'); // set default header data //$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 048', PDF_HEADER_STRING); // set header and footer fonts //$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); //$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); // set default monospaced font $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); //set margins $pdf->SetMargins(2, 0, 5); //$pdf->SetHeaderMargin(2); //$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); //set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); //set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //set some language-dependent strings //$pdf->setLanguageArray($l); // --------------------------------------------------------- // set font $pdf->SetFont('helvetica', 'B', 20); // add a page // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- $totalpage = $this->filter()->getTotalPage(); if ($page == 'all') { $startPage = 1; $endPage = $totalpage; } elseif (is_array($page)) { $startPage = (int) $page['0']; $endPage = (int) $page['1']; } elseif (is_numeric($page)) { $startPage = $endPage = (int) $page; } if ($startPage < 0) { $startPage = 1; } if ($endPage == '') { $endPage = $startPage; } if ($endPage > $totalpage) { $endPage = $totalpage; } for ($i = $startPage; $i <= $endPage; $i++) { $pdf->AddPage($exportLayout); $pdf->SetFont('freeserif', '', 7); $pdf->SetX(5); $pdf->SetY(10); $filter->setPage($i); $list = $filter->getList(); $tbl = $this->renderSimpleTable($filter, $list); $pdf->writeHTML($tbl, true, true, false, false, ''); } //Close and output PDF document if ('' == $fileName) { $fileName = uniqid(); } $filePath = App_Env::getPathOfUserTemporaryFolder() . "/" . $fileName . '.pdf'; $pdf->Output($filePath, 'F'); $pdf->Output(null, 'I'); //============================================================+ // END OF FILE //============================================================+ }
public function exportCsv(App_Grid_Filter $filter, $exportFileName) { $filter->setup(); $list = $filter->getList(); $this->render($list, $filter->getheaderTitles(), $filter->getFields(), $exportFileName); }
public function renderSimpleTable(App_Grid_Filter $filter, array $list = null) { $columnConfig = $this->_columnConfig; $table = ''; if ($list == null) { $list = $filter->getList(); } $widths = $filter->getCalibateCellWidths(); $titles = $filter->getheaderTitles(); //print_r($titles); $tWidth = $filter->getTableWidth(); $view = $this->view; $gridwidth = $filter->getGridWidth(); $table .= '<table id="' . $this->_gridid . '" width="100%" style="width:100%" cellspacing="3" cellpadding="4" class="extensions" >'; $table .= "<thead><tr>"; $i = 0; foreach ($titles as $index => $title) { $width = $widths[$i]; $table .= '<th style=" width:' . $width . ';" >'; $table .= ucfirst(App_Util::splitByCaps($this->_translate($title))); $table .= '</th>'; ++$i; } $table .= "</tr></thead><tbody>"; if (is_array($list)) { foreach ($list as $id => $row) { $table .= "<tr>"; $fileds = $filter->getFields(); foreach ($fileds as $filed) { $align = in_array($columnConfig->fields[$filed]->align, App_Model_Config::$alignList) ? $columnConfig->fields[$filed]->align : 'left'; $filedValue = $this->filter()->fieldTranform($row, $filed); $table .= '<td style="text-align:' . $align . '" >' . $filedValue . '</td>'; } $table .= "</tr>"; } } else { $table .= $this->_getBlankRows(count($titles)); } $table .= '</tbody></table>'; return $table; }