Example #1
0
 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();
 }
Example #2
0
 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();
 }
Example #3
0
 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__);
 }
Example #4
0
 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();
 }
Example #5
0
	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;
		}
	}