public function process(Vtiger_Request $request) { PDFMaker_Debugger_Model::GetInstance()->Init(); $adb = PearDatabase::getInstance(); $viewer = $this->getViewer($request); $extensions = array(); $link = "index.php?module=PDFMaker&action=IndexAjax&mode=downloadFile&parenttab=Tools&extid="; $extname = "CustomerPortal"; $extensions[$extname]["label"] = "LBL_CUSTOMERPORTAL"; $extensions[$extname]["desc"] = "LBL_CUSTOMERPORTAL_DESC"; $extensions[$extname]["exinstall"] = "LBL_CP_EXPRESS_INSTAL_EXT"; $extensions[$extname]["manual"] = $link . $extname . "&type=manual"; $extensions[$extname]["download"] = $link . $extname . "&type=download"; $extensions[$extname]["install"] = ""; $extname = "Workflow"; $extensions[$extname]["label"] = "LBL_WORKFLOW"; $extensions[$extname]["desc"] = "LBL_WORKFLOW_DESC"; $extensions[$extname]["exinstall"] = ""; $extensions[$extname]["manual"] = ""; $extensions[$extname]["download"] = ""; $PDFMaker = new PDFMaker_PDFMaker_Model(); $control = $PDFMaker->controlWorkflows(); if ($control) { $extensions[$extname]["install_info"] = vtranslate("LBL_WORKFLOWS_ARE_ALREADY_INSTALLED", "PDFMaker"); $extensions[$extname]["install"] = ""; } else { $extensions[$extname]["install_info"] = ""; $extensions[$extname]["install"] = $link . $extname . "&type=install"; } $viewer->assign("EXTENSIONS_ARR", $extensions); $download_error = $request->get('download_error'); if (isset($download_error) && $download_error != "") { $viewer->assign("ERROR", "true"); } $viewer->view('Extensions.tpl', 'PDFMaker'); }
public function installExtension(Vtiger_Request $request) { $extname = $request->get("extname"); if ($extname == "Workflow") { $Errors = array(); include_once 'modules/PDFMaker/PDFMaker.php'; $PDFMaker = new PDFMaker(); $PDFMakerModel = new PDFMaker_PDFMaker_Model(); $Workflows = $PDFMakerModel->GetWorkflowsList(); foreach ($Workflows as $name) { $folder_dest1 = "modules/com_vtiger_workflow/tasks/"; $dest1 = $folder_dest1 . $name . ".inc"; $source1 = "modules/PDFMaker/workflow/" . $name . ".inc"; if (!file_exists($dest1)) { if (!copy($source1, $dest1)) { $Errors[] = vtranslate("LBL_PERMISSION_ERROR_PART_1", "PDFMaker") . ' "' . $source1 . '" ' . vtranslate("LBL_PERMISSION_ERROR_PART_2", "PDFMaker") . ' "' . $folder_dest1 . '" ' . vtranslate("LBL_PERMISSION_ERROR_PART_3", "PDFMaker") . '.'; } } $folder_dest2 = "layouts/vlayout/modules/Settings/Workflows/Tasks/"; $dest2 = $folder_dest2 . $name . ".tpl"; $source2 = "layouts/vlayout/modules/PDFMaker/taskforms/" . $name . ".tpl"; if (!file_exists($dest2)) { if (!copy($source2, $dest2)) { $Errors[] = vtranslate("LBL_PERMISSION_ERROR_PART_1", "PDFMaker") . ' "' . $source2 . '" ' . vtranslate("LBL_PERMISSION_ERROR_PART_2", "PDFMaker") . ' "' . $folder_dest2 . '" ' . vtranslate("LBL_PERMISSION_ERROR_PART_3", "PDFMaker") . '.'; } } } if (count($Errors) > 0) { $error = '<div class="modelContainer">'; $error .= '<div class="modal-header">'; $error .= '<button class="close vtButton" data-dismiss="modal">×</button>'; $error .= '<h3 class="redColor">'; $error .= vtranslate("LBL_INSTALLATION_FAILED", "PDFMaker"); $error .= '</h3>'; $error .= '</div>'; $error .= '<div class="modal-body">'; $error .= implode("<br>", $Errors); $error .= "<br><br>" . vtranslate("LBL_CHANGE_PERMISSION", "PDFMaker"); $error .= '</div>'; $error .= '</div>'; } else { $PDFMaker->installWorkflows(); $control = $PDFMakerModel->controlWorkflows(); if (!$control) { $error = vtranslate("LBL_INSTALLATION_FAILED", "PDFMaker"); } } if ($error == "") { $result = array('success' => true, 'message' => vtranslate("LBL_WORKFLOWS_ARE_ALREADY_INSTALLED", "PDFMaker")); } else { $result = array('success' => false, 'message' => vtranslate($error, 'PDFMaker')); } } else { $result = array('success' => false); } $response = new Vtiger_Response(); $response->setResult($result); $response->emit(); }