function GeneratePDF($module, &$pdf, $pdf_orientation) { global $adb, $list_max_entries_per_page; $product_module_list = array('SalesOrder', 'Quotes', 'PurchaseOrder', 'Invoice'); $idlist = trim($_REQUEST['idstring'], ';'); $idlist = explode(';', $idlist); chmod('storage', 0777); $_SESSION['no_of_records'] = count($idlist); if ($_REQUEST['ParticularSave'] == 'yes') { $document_list = array(); foreach ($idlist as $id) { /* ----------------------------- */ $date_var = $adb->formatDate(date('Y-m-d H:i:s'), true); $query = "insert into vtiger_audit_trial values(?,?,?,?,?,?)"; $qparams = array($adb->getUniqueID('vtiger_audit_trial'), $current_user->id, $module, 'Generate PDF', $id, $date_var); $adb->pquery($query, $qparams, true); /* ----------------------------- */ $singlepdf = new Printer(); $singlepdf->setPrintHeader(false); $singlepdf->setPrintFooter(false); $singlepdf->SetCompression(true); $pdf->setPageFormat($_REQUEST['pdf_format'], $pdf_orientation); $default_margin = 10; if ($_REQUEST['left'] != '') { $pdf->SetLeftMargin($_REQUEST['left']); } else { $pdf->SetLeftMargin($default_margin); } if ($_REQUEST['right'] != '') { $pdf->SetRightMargin($_REQUEST['right']); } else { $pdf->SetRightMargin($default_margin); } $_SESSION['top'] = $_REQUEST['top']; /* if ( $_REQUEST['top'] != '' ) { $pdf->SetTopMargin($_REQUEST['top']); }else{ $pdf->SetTopMargin( $default_margin ); } if ( $_REQUEST['bottom'] != '' ) { $pdf->SetAutoPageBreak(true, $_REQUEST['bottom']); }else{ $pdf->SetAutoPageBreak( $default_margin ); }*/ TakeContent($singlepdf, $module, $id); ## przetworzenie danych z nazwy pliku /*if ($module == 'Calendar') { require_once "modules/Calendar/Activity.php"; $module = "Activity"; } else { require_once "modules/$module/$module.php"; } require_once "modules/OSSPdf/OSSPdf.php"; require_once "modules/OSSPdf/Print.php"; ### Zmienne */ $focus = new $module(); ### pobranie danych danego modułu if ($module == "Activity") { $focus->retrieve_entity_info($id, "Calendar"); } else { $focus->retrieve_entity_info($id, $module); } $fields = $focus->column_fields; $recordModel = Vtiger_Record_Model::getCleanInstance('OSSPdf'); $_REQUEST['file_name'] = $recordModel->replaceModuleFields($_REQUEST['file_name'], $fields, $module, $id); $_REQUEST['file_name'] = $recordModel->replaceRelatedModuleFields($_REQUEST['file_name'], $module, $id, $fields, $site_URL = 0); $_REQUEST['file_name'] = str_replace("#dd-mm-yyyy#", date("d-m-Y"), $_REQUEST['file_name']); $_REQUEST['file_name'] = str_replace("#mm-dd-yyyy#", date("m-d-Y"), $_REQUEST['file_name']); $_REQUEST['file_name'] = str_replace("#yyyy-mm-dd#", date("Y-m-d"), $_REQUEST['file_name']); // ## Koniec przetwarzania danych z nazwy pliku if (empty($_REQUEST['file_name'])) { $filepath = $_REQUEST['file_name'] . '_' . $id . '_' . date("YmdHis") . '.pdf'; } else { $filepath = $_REQUEST['file_name'] . '.pdf'; } $singlepdf->Output($filepath, 'F'); $docid = 0; if ($data['ifsave'] == 'yes') { $document_id = CreateDocument($filepath, $data['ifattach'], $id, $module, $docid); $nr = $document_id + 1; $document_list[] = $nr . '_' . $filepath; $storage_path = decideFilePath(); $pelnasciezka = $storage_path . $nr . '_' . $filepath; } else { $document_list[] = $filepath; $storage_path = decideFilePath(); $pelnasciezka = $storage_path . $filepath; } chmod('storage', 0777); if ($_REQUEST['return_name'] != "yes" || $_REQUEST['return_name'] == "") { rename($filepath, $pelnasciezka); } else { $sciezka = "storage/" . $filepath; rename($filepath, $sciezka); } if ($data['ifattach'] == 'yes') { $sql = "INSERT INTO vtiger_senotesrel (`crmid`,`notesid`) VALUES ('{$id}','{$docid}')"; $wykonaj = $adb->query($sql, true); } } if ($_REQUEST['return_name'] != "yes" || $_REQUEST['return_name'] == "") { $storage_path = decideFilePath(); } else { $storage_path = "storage/"; } $zip = getTranslatedString($_REQUEST['usingmodule']) . '_' . date("YmdHis") . '.zip'; $zipname = 'storage/' . $zip; $zipname = file_exist_fn($zipname, 0); zipFilesAndDownload($document_list, $zipname, $storage_path, $zip); } else { foreach ($idlist as $id) { ############################# $date_var = $adb->formatDate(date('Y-m-d H:i:s'), true); $query = "insert into vtiger_audit_trial values(?,?,?,?,?,?)"; $qparams = array($adb->getUniqueID('vtiger_audit_trial'), $current_user->id, $module, 'Generate PDF', $id, $date_var); $adb->pquery($query, $qparams, true); ############################## TakeContent($pdf, $module, $id, $site_URL); } ## przetworzenie danych z nazwy pliku /*if ($module == 'Calendar') { require_once "modules/Calendar/Activity.php"; $module = "Activity"; } else { require_once "modules/$module/$module.php"; } require_once "modules/OSSPdf/OSSPdf.php"; require_once "modules/OSSPdf/Print.php"; ### Zmienne */ $focus = new $module(); ### pobranie danych danego modułu if ($module == "Activity") { $focus->retrieve_entity_info($id, "Calendar"); } else { $focus->retrieve_entity_info($id, $module); } $fields = $focus->column_fields; $recordModel = Vtiger_Record_Model::getCleanInstance('OSSPdf'); $_REQUEST['file_name'] = $recordModel->replaceModuleFields($_REQUEST['file_name'], $fields, $module, $id); $_REQUEST['file_name'] = $recordModel->replaceRelatedModuleFields($_REQUEST['file_name'], $module, $id, $fields, $site_URL = 0); $_REQUEST['file_name'] = str_replace("#dd-mm-yyyy#", date("d-m-Y"), $_REQUEST['file_name']); $_REQUEST['file_name'] = str_replace("#mm-dd-yyyy#", date("m-d-Y"), $_REQUEST['file_name']); $_REQUEST['file_name'] = str_replace("#yyyy-mm-dd#", date("Y-m-d"), $_REQUEST['file_name']); // ## Koniec przetwarzania danych z nazwy pliku if (empty($_REQUEST['file_name'])) { $filepath = $_REQUEST['file_name'] . '_' . date("YmdHis") . '_ALL.pdf'; } else { $filepath = $_REQUEST['file_name'] . '_ALL.pdf'; } $onlyGenerate = (int) $_REQUEST['only_generate']; $pdf->Output($filepath, 'F'); chmod('storage', 0777); //exit; $storage_path = decideFilePath(); $pelnasciezka = $storage_path . $filepath; if ($data['ifsave'] == 'yes') { $nr_documentu = CreateDocument($filepath, $data['ifattach'], $id, $module, $docid); $nr = $nr_documentu + 1; $pelnasciezka = $storage_path . $nr . '_' . $filepath; } //var_dump($storage_path); if ($_REQUEST['return_name'] != "yes") { rename($filepath, $pelnasciezka); if (0 == $onlyGenerate) { $pdf->Output($filepath, 'D'); } else { $path = decideFilePath() . $filepath; header("Location: index.php?module=OSSMail&view=compose&pdf_path=" . urldecode($pelnasciezka)); } //echo $pelnasciezka; } elseif ($_REQUEST['return_name'] == "yes") { //echo $filepath; $sciezka = "storage/" . $filepath; echo $filepath; rename($filepath, $sciezka); } //} else { // $path = decideFilePath() . $filepath; // header("Location: index.php?module=OSSMail&view=compose&pdf_path=" . urldecode($path)); // } if ($data['ifattach'] == 'yes') { $sql = "INSERT INTO vtiger_senotesrel (`crmid`,`notesid`) VALUES ('{$id}','{$docid}')"; $wykonaj = $adb->query($sql, true); } } }