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 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__); }