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;
 }
示例#2
0
 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');
 }
示例#3
0
    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');
    }