public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); $error_code = ''; $error_message = ''; $success_message = ''; $success = true; if (!$request->get("name") && !$request->get("version") && !$request->get("zip")) { $error_code = 'error-param'; $error_message = getTranslatedString("LBL_ERROR_PARAM", $qualifiedModuleName); $success = false; } else { require_once "vtlib/Vtiger/Module.php"; $module = Vtiger_Module::getInstance($request->get("name")); if (empty($module)) { require_once "vtlib/Vtiger/PackageImport.php"; $packageImport = new Vtiger_PackageImport(); $packageImport->import($request->get("zip")); $module = Vtiger_Module::getInstance($request->get("name")); if (!empty($module)) { $success_message = getTranslatedString("LBL_INSTALL_SUCCESS", $qualifiedModuleName); } else { $error_code = 'error-install'; $error_message = getTranslatedString("LBL_INSTALL_ERROR", $qualifiedModuleName); $success = false; } } else { if ($request->get("version") != $module->version) { require_once "vtlib/Vtiger/PackageUpdate.php"; $packageUpdate = new Vtiger_PackageUpdate(); $packageUpdate->update($module, $request->get("zip")); $success_message = getTranslatedString("LBL_UPDATE_SUCCESS", $qualifiedModuleName); } else { $error_code = 'error-version'; $error_message = getTranslatedString("LBL_UPDATE_ERROR_VERSION", $qualifiedModuleName); $success = false; } } //Make JSON response $response = new Vtiger_Response(); if (!$success) { $response->setError($error_code, $error_message); } else { $response->setResult(array('message' => $success_message)); } $response->emit(); } }
/** * Constructor */ function Vtiger_Package() { parent::__construct(); }