Beispiel #1
0
 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');
 }
Beispiel #2
0
 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();
 }