public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $step = $request->get('step'); $moduleName = $request->get('module_name'); if ($recordId) { $pdfModel = Vtiger_PDF_Model::getInstanceById($recordId, $moduleName); } else { $pdfModel = Settings_PDF_Record_Model::getCleanInstance($moduleName); } $stepFields = Settings_PDF_Module_Model::getFieldsByStep($step); foreach ($stepFields as $field) { $value = $request->get($field); if (is_array($value)) { $value = implode(',', $value); } if ($field === 'module_name' && $pdfModel->get('module_name') != $value) { // change of main module, overwrite existing conditions $pdfModel->deleteConditions(); } $pdfModel->set($field, $value); } $pdfModel->set('conditions', $request->get('conditions')); Settings_PDF_Record_Model::transformAdvanceFilterToWorkFlowFilter($pdfModel); Settings_PDF_Record_Model::save($pdfModel, $step); $response = new Vtiger_Response(); $response->setResult(['id' => $pdfModel->get('pdfid')]); $response->emit(); }
public function Delete(Vtiger_Request $request) { $recordId = $request->get('id'); $pdfModel = Vtiger_PDF_Model::getInstanceById($recordId); $output = Settings_PDF_Record_Model::deleteWatermark($pdfModel); $response = new Vtiger_Response(); $response->setResult($output); $response->emit(); }
public function process(Vtiger_Request $request) { $log = vglobal('log'); $log->debug('Start ' . __CLASS__ . ':' . __FUNCTION__); $qualifiedModule = $request->getModule(false); $viewer = $this->getViewer($request); if ($request->has('upload') && $request->get('upload') == 'true') { $xmlName = $_FILES['imported_xml']['name']; $uploadedXml = $_FILES['imported_xml']['tmp_name']; $xmlError = $_FILES['imported_xml']['error']; $extension = end(explode('.', $xmlName)); $imagePath = ''; $base64Image = false; $pdfModel = Settings_PDF_Record_Model::getCleanInstance(); if ($xmlError == UPLOAD_ERR_OK && $extension === 'xml') { $xml = simplexml_load_file($uploadedXml); foreach ($xml as $fieldsKey => $fieldsValue) { foreach ($fieldsValue as $fieldKey => $fieldValue) { foreach ($fieldValue as $columnKey => $columnValue) { switch ($columnKey) { case 'imageblob': $base64Image = (string) $columnValue; break; case 'watermark_image': $imagePath = (string) $columnValue; $pdfModel->set($columnKey, ''); break; default: $value = (string) $columnValue; $pdfModel->set($columnKey, $value); } } } } Settings_PDF_Record_Model::save($pdfModel, 'import'); if ($pdfModel->getId() && $imagePath != '' && $base64Image) { $targetDir = Settings_PDF_Module_Model::$uploadPath; $imageExt = end(explode('.', basename($imagePath))); $imageData = base64_decode($base64Image); $newFilePath = $targetDir . $pdfModel->getId() . '.' . $imageExt; $pdfModel->set('watermark_image', $newFilePath); Settings_PDF_Record_Model::save($pdfModel, 8); file_put_contents($newFilePath, $imageData); } $viewer->assign('RECORDID', $pdfModel->getId()); $viewer->assign('UPLOAD', true); } else { $viewer->assign('UPLOAD_ERROR', vtranslate('LBL_UPLOAD_ERROR', $qualifiedModule)); $viewer->assign('UPLOAD', false); } } $viewer->assign('QUALIFIED_MODULE', $qualifiedModule); $viewer->view('Import.tpl', $qualifiedModule); $log->debug('End ' . __CLASS__ . ':' . __FUNCTION__); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $response = new Vtiger_Response(); $recordModel = Vtiger_PDF_Model::getInstanceById($recordId); if (Settings_PDF_Record_Model::delete($recordModel)) { $response->setResult(array('success' => 'true')); } else { $response->setResult(array('success' => 'false')); } $response->emit(); }
public function step($step, Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); $recordId = $request->get('record'); if ($recordId) { $pdfModel = Vtiger_PDF_Model::getInstanceById($recordId); $viewer->assign('RECORDID', $recordId); $viewer->assign('MODE', 'edit'); $selectedModuleName = $pdfModel->get('module_name'); } else { $selectedModuleName = $request->get('source_module'); $pdfModel = Settings_PDF_Record_Model::getCleanInstance(); } $viewer->assign('SELECTED_MODULE', $selectedModuleName); $viewer->assign('PDF_MODEL', $pdfModel); $allModules = Settings_PDF_Module_Model::getSupportedModules(); $viewer->assign('ALL_MODULES', $allModules); $viewer->assign('MODULE', $moduleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('SOURCE_MODULE', $selectedModuleName); switch ($step) { case 'step8': $viewer->view('Step8.tpl', $qualifiedModuleName); break; case 'step7': $viewer->view('Step7.tpl', $qualifiedModuleName); break; case 'step6': $moduleModel = Vtiger_Module_Model::getInstance($pdfModel->get('module_name')); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('ADVANCE_CRITERIA', Vtiger_AdvancedFilter_Helper::transformToAdvancedFilterCondition($pdfModel->get('conditions'))); $viewer->view('Step6.tpl', $qualifiedModuleName); break; case 'step5': $relatedModules = Settings_PDF_Module_Model::getRelatedModules($pdfModel->get('module_name')); if (count($relatedModules) > 0) { $relatedFields = Settings_PDF_Module_Model::getMainModuleFields(reset($relatedModules)); } else { $relatedFields = []; } $specialFunctions = Vtiger_PDF_Model::getSpecialFunctions($allModules[key($allModules)]->getName()); $viewer->assign('RELATED_MODULES', $relatedModules); $viewer->assign('RELATED_FIELDS', $relatedFields); $viewer->assign('SPECIAL_FUNCTIONS', $specialFunctions); $viewer->view('Step5.tpl', $qualifiedModuleName); break; case 'step4': $relatedModules = Settings_PDF_Module_Model::getRelatedModules($pdfModel->get('module_name')); if (count($relatedModules) > 0) { $relatedFields = Settings_PDF_Module_Model::getMainModuleFields(reset($relatedModules)); } else { $relatedFields = []; } $specialFunctions = Vtiger_PDF_Model::getSpecialFunctions($allModules[key($allModules)]->getName()); $viewer->assign('RELATED_MODULES', $relatedModules); $viewer->assign('RELATED_FIELDS', $relatedFields); $viewer->assign('SPECIAL_FUNCTIONS', $specialFunctions); $viewer->view('Step4.tpl', $qualifiedModuleName); break; case 'step3': $relatedModules = Settings_PDF_Module_Model::getRelatedModules($pdfModel->get('module_name')); if (count($relatedModules) > 0) { $relatedFields = Settings_PDF_Module_Model::getMainModuleFields(reset($relatedModules)); } else { $relatedFields = []; } $specialFunctions = Vtiger_PDF_Model::getSpecialFunctions($allModules[key($allModules)]->getName()); $viewer->assign('RELATED_MODULES', $relatedModules); $viewer->assign('RELATED_FIELDS', $relatedFields); $viewer->assign('SPECIAL_FUNCTIONS', $specialFunctions); $viewer->view('Step3.tpl', $qualifiedModuleName); break; case 'step2': $viewer->view('Step2.tpl', $qualifiedModuleName); break; case 'step1': default: $viewer->view('Step1.tpl', $qualifiedModuleName); break; } }