public function getTemplates($selected_module) { $PDFMaker = new PDFMaker_PDFMaker_Model(); $templates = $PDFMaker->GetAvailableTemplates($selected_module); $def_template = array(); $fieldvalue = array(); if ($PDFMaker->CheckPermissions("DETAIL") !== false) { foreach ($templates as $templateid => $valArr) { if ($valArr["is_default"] == "1" || $valArr["is_default"] == "3") { $def_template[$templateid] = $valArr["templatename"]; } else { $fieldvalue[$templateid] = $valArr["templatename"]; } } if (count($def_template) > 0) { $fieldvalue = (array) $def_template + (array) $fieldvalue; } } if (count($fieldvalue) == 0) { $fieldvalue[] = "none"; } return $fieldvalue; }
public function process(Vtiger_Request $request) { //Debugger::GetInstance()->Init(); $AvailableRelModules = array("Accounts", "Contacts", "Leads", "Vendors"); $current_user = $cu_model = Users_Record_Model::getCurrentUserModel(); $currentLanguage = Vtiger_Language_Handler::getLanguage(); $adb = PearDatabase::getInstance(); $viewer = $this->getViewer($request); $PDFMaker = new PDFMaker_PDFMaker_Model(); if ($PDFMaker->CheckPermissions("DETAIL") == false) { $output = '<table border=0 cellspacing=0 cellpadding=5 width=100% align=center bgcolor=white> <tr> <td class="dvtCellInfo" style="width:100%;border-top:1px solid #DEDEDE;text-align:center;"> <strong>' . vtranslate("LBL_PERMISSION") . '</strong> </td> </tr> </table>'; die($output); } $record = $request->get('record'); $module = getSalesEntityType($record); $viewer->assign('MODULE', $module); $viewer->assign('ID', $record); $relfocus = CRMEntity::getInstance($module); $relfocus->id = $record; $relfocus->retrieve_entity_info($relfocus->id, $module); $relmodule = ""; $relmodule_selid = ""; if (in_array($module, $AvailableRelModules)) { $relmodule = $module; $relmodule_selid = $relfocus->id; } else { if (isset($relfocus->column_fields['account_id']) && $relfocus->column_fields['account_id'] != "" && $relfocus->column_fields['account_id'] != "0") { $relmodule = 'Accounts'; $relmodule_selid = $relfocus->column_fields['account_id']; } if ($relmodule == "" && isset($relfocus->column_fields['related_to']) && $relfocus->column_fields['related_to'] != "" && $relfocus->column_fields['related_to'] != "0") { $relmodule_selid = $relfocus->column_fields['related_to']; $relmodule = getSalesEntityType($relmodule_selid); if (!in_array($relmodule, $AvailableRelModules)) { $relmodule = $relmodule_selid = ""; } } if ($relmodule == "" && isset($relfocus->column_fields['parent_id']) && $relfocus->column_fields['parent_id'] != "" && $relfocus->column_fields['parent_id'] != "0") { $relmodule_selid = $relfocus->column_fields['parent_id']; $relmodule = getSalesEntityType($relmodule_selid); if (!in_array($relmodule, $AvailableRelModules)) { $relmodule = $relmodule_selid = ""; } } if ($relmodule == "" && isset($relfocus->column_fields['contact_id']) && $relfocus->column_fields['contact_id'] != "" && $relfocus->column_fields['contact_id'] != "0") { $relmodule = 'Contacts'; $relmodule_selid = $relfocus->column_fields['contact_id']; } } $viewer->assign('RELMODULE', $relmodule); $viewer->assign('RELMODULE_SELID', $relmodule_selid); require 'user_privileges/user_privileges_' . $current_user->id . '.php'; if (is_dir("modules/PDFMaker/resources/mpdf") && $PDFMaker->CheckPermissions("DETAIL")) { $viewer->assign("ENABLE_PDFMAKER", 'true'); } else { $viewer->assign("ENABLE_PDFMAKER", "false"); } if (is_dir("modules/EMAILMaker") && vtlib_isModuleActive('EMAILMaker')) { $module_tabid = getTabId($module); $res = $adb->pquery("SELECT * FROM vtiger_links WHERE tabid = ? AND linktype = ? AND linkurl LIKE ?", array($module_tabid, 'DETAILVIEWSIDEBARWIDGET', 'module=EMAILMaker&view=GetEMAILActions&record=%')); if ($adb->num_rows($res) > 0) { $viewer->assign("ENABLE_EMAILMAKER", 'true'); } } $viewer->assign('PDFMAKER_MOD', return_module_language($currentLanguage, "PDFMaker")); if (!isset($_SESSION["template_languages"]) || $_SESSION["template_languages"] == "") { $temp_res = $adb->pquery("SELECT label, prefix FROM vtiger_language WHERE active = ?", array('1')); while ($temp_row = $adb->fetchByAssoc($temp_res)) { $template_languages[$temp_row["prefix"]] = $temp_row["label"]; } $_SESSION["template_languages"] = $template_languages; } $viewer->assign('TEMPLATE_LANGUAGES', $_SESSION["template_languages"]); $viewer->assign('CURRENT_LANGUAGE', $currentLanguage); $viewer->assign('IS_ADMIN', is_admin($current_user)); $templates = $PDFMaker->GetAvailableTemplates($module); if (count($templates) > 0) { $no_templates_exist = 0; } else { $no_templates_exist = 1; } $viewer->assign('CRM_TEMPLATES', $templates); $viewer->assign('CRM_TEMPLATES_EXIST', $no_templates_exist); //Action permission handling //edit and export $editAndExportAction = "1"; if (isPermitted($module, "EditView", $record) == "no") { $editAndExportAction = "0"; } //save as doc $saveDocAction = "1"; if (isPermitted("Documents", "EditView") == "no") { $saveDocAction = "0"; } //send email with pdf $sendEmailPDF = "1"; if (isPermitted("Emails", "") == "no" && isPermitted("MailManager", "") == "no") { $sendEmailPDF = "0"; } if (is_dir("modules/EMAILMaker") && vtlib_isModuleActive('EMAILMaker')) { if (isPermitted("EMAILMaker", "") == "no" && ($sendEmailPDF = "0")) { $sendEmailPDF = "0"; } else { $sendEmailPDF = "1"; } } $viewer->assign("EDIT_AND_EXPORT_ACTION", $editAndExportAction); $viewer->assign("SAVE_AS_DOC_ACTION", $saveDocAction); $viewer->assign("SEND_EMAIL_PDF_ACTION", $sendEmailPDF); $viewer->view("GetPDFActions.tpl", 'PDFMaker'); }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $for_module = $request->get('return_module'); $recordIds = $this->getRecordsListFromRequest($request); $adb = PearDatabase::getInstance(); PDFMaker_Debugger_Model::GetInstance()->Init(); $PDFMaker = new PDFMaker_PDFMaker_Model(); if ($PDFMaker->CheckPermissions("DETAIL") == false) { $close_img = vimage_path('close.gif'); $output = ' <table border=0 cellspacing=0 cellpadding=5 width=100% class=layerHeadingULine> <tr> <td width="90%" align="left" class="genHeaderSmall" id="PDFListViewDivHandle" style="cursor:move;">' . vtranslate("LBL_PDF_ACTIONS", "PDFMaker") . ' </td> <td width="10%" align="right"> <a href="javascript:fninvsh(\'PDFListViewDiv\');"><img title="' . vtranslate("LBL_CLOSE") . '" alt="' . vtranslate("LBL_CLOSE") . '" src="' . $close_img . '" border="0" align="absmiddle" /></a> </td> </tr> </table> <table border=0 cellspacing=0 cellpadding=5 width=100% align=center> <tr><td class="small"> <table border=0 cellspacing=0 cellpadding=5 width=100% align=center bgcolor=white> <tr> <td class="dvtCellInfo" style="width:100%;border-top:1px solid #DEDEDE;text-align:center;"> <strong>' . vtranslate("LBL_PERMISSION_DENIED") . '</strong> </td> </tr> <tr> <td class="dvtCellInfo" style="width:100%;" align="center"> <input type="button" class="crmbutton small cancel" value="' . vtranslate("LBL_CANCEL") . '" onclick="fninvsh(\'PDFListViewDiv\');" /> </td> </tr> </table> </td></tr> </table> '; die($output); } $_REQUEST['idslist'] = implode(";", $recordIds); $request->set('idlist', $_REQUEST['idslist']); //$language = $_SESSION['authenticated_user_language']; $current_language = Vtiger_Language_Handler::getLanguage(); $templates = $PDFMaker->GetAvailableTemplates($for_module, true); $options = ""; foreach ($templates as $templateid => $valArr) { if ($valArr["is_default"] == "2" || $valArr["is_default"] == "3") { $selected = ' selected="selected" '; } else { $selected = ""; } $options .= '<option value="' . $templateid . '"' . $selected . '>' . $valArr['templatename'] . '</option>'; } $template_output = ""; $language_output = ""; $generate_pdf = ""; if ($options != "") { $template_output = ' <tr> <td class="dvtCellInfo" style="width:100%;border-top:1px solid #DEDEDE;"> <select name="use_common_template" id="use_common_template" class="detailedViewTextBox" multiple style="width:90%;" size="5"> ' . $options . ' </select> </td> </tr> '; $templates_select = '<select name="use_common_template" id="use_common_template" style="display: none;" id="fieldList" class="select2 row-fluid" multiple="true" size="5" data-validation-engine="validate[required]"> ' . $options . ' </select>'; $temp_res = $adb->pquery("SELECT label, prefix FROM vtiger_language WHERE active=?", array("1")); while ($temp_row = $adb->fetchByAssoc($temp_res)) { $template_languages[$temp_row["prefix"]] = $temp_row["label"]; } //LANGUAGES BLOCK if (count($template_languages) > 1) { $options = ""; foreach ($template_languages as $prefix => $label) { if ($current_language != $prefix) { $options .= '<option value="' . $prefix . '">' . $label . '</option>'; } else { $options .= '<option value="' . $prefix . '" selected="selected">' . $label . '</option>'; } } $language_output = ' <tr> <td class="dvtCellInfo" style="width:100%;"> <select name="template_language" id="template_language" class="detailedViewTextBox" style="width:90%;" size="1"> ' . $options . ' </select> </td> </tr>'; $languages_select = '<select name="template_language" id="template_language" class="select2 row-fluid" style="display: none;"> ' . $options . ' </select>'; } else { foreach ($template_languages as $prefix => $label) { $languages_select .= '<input type="hidden" name="template_language" id="template_language" value="' . $prefix . '"/>'; } } } else { $template_output = '<tr> <td class="dvtCellInfo" style="width:100%;border-top:1px solid #DEDEDE;"> ' . vtranslate("CRM_TEMPLATES_DONT_EXIST", "PDFMaker"); // if(isPermitted("PDFMaker","EditView") == 'yes') if ($PDFMaker->CheckPermissions("EDIT")) { $template_output .= '<br />' . vtranslate("CRM_TEMPLATES_ADMIN", "PDFMaker") . ' <a href="index.php?module=PDFMaker&action=EditPDFTemplate&return_module=' . $request->get("return_module") . '&parenttab=Tools" class="webMnu">' . vtranslate("TEMPLATE_CREATE_HERE", "PDFMaker") . '</a>'; } $template_output .= '</td></tr>'; } $viewer = $this->getViewer($request); //$viewer->assign('MODULE', $relmodule); //$viewer->assign('ID', $record); $viewer->assign('templates_select', $templates_select); $viewer->assign('languages_select', $languages_select); $viewer->assign('idslist', $_REQUEST['idslist']); $viewer->assign('relmodule', $request->get('return_module')); $viewer->view("ListViewSelect.tpl", 'PDFMaker'); }