public function updateUserModuleStep3(Vtiger_Request $request) { $importModuleName = $request->get('module_import_name'); $uploadFile = $request->get('module_import_file'); $uploadDir = Settings_ModuleManager_Module_Model::getUploadDirectory(); $uploadFileName = "{$uploadDir}/{$uploadFile}"; checkFileAccess($uploadFileName); $importType = $request->get('module_import_type'); if (strtolower($importType) == 'language') { $package = new Vtiger_Language(); } else { $package = new Vtiger_Package(); } if (strtolower($importType) == 'language') { $package->import($uploadFileName); } else { $package->update(Vtiger_Module::getInstance($importModuleName), $uploadFileName); } checkFileAccessForDeletion($uploadFileName); unlink($uploadFileName); $result = array('success' => true, 'importModuleName' => $importModuleName); $response = new Vtiger_Response(); $response->setResult($result); $response->emit(); }
function updateVtlibModule($module, $packagepath) { global $log, $_installOrUpdateVtlibModule; if (!file_exists($packagepath)) { return; } if (isset($_installOrUpdateVtlibModule[$module . $packagepath])) { return; } $_installOrUpdateVtlibModule[$module . $packagepath] = 'update'; require_once 'vtlib/Vtiger/Package.php'; require_once 'vtlib/Vtiger/Module.php'; $Vtiger_Utils_Log = defined('INSTALLATION_MODE_DEBUG') ? INSTALLATION_MODE_DEBUG : true; $package = new Vtiger_Package(); if ($package->isLanguageType($packagepath)) { require_once 'vtlib/Vtiger/Language.php'; $languagePack = new Vtiger_Language(); $languagePack->update(null, $packagepath, true); return; } if ($module == null) { $log->fatal("Module name is invalid"); } else { $moduleInstance = Vtiger_Module::getInstance($module); if ($moduleInstance || $package->isModuleBundle($packagepath)) { $log->debug("{$module} - Module instance found - Update starts here"); $package->update($moduleInstance, $packagepath); } else { $log->fatal("{$module} doesn't exists!"); } } }
function updateVtlibModule($module, $packagepath) { global $log; require_once 'vtlib/Vtiger/Package.php'; require_once 'vtlib/Vtiger/Module.php'; $Vtiger_Utils_Log = true; $package = new Vtiger_Package(); if ($package->isLanguageType($packagepath)) { require_once 'vtlib/Vtiger/Language.php'; $languagePack = new Vtiger_Language(); $languagePack->update(null, $packagepath, true); return; } if ($module == null) { $log->fatal("Module name is invalid"); } else { $moduleInstance = Vtiger_Module::getInstance($module); if ($moduleInstance || $package->isModuleBundle($packagepath)) { $log->debug("{$module} - Module instance found - Update starts here"); $package->update($moduleInstance, $packagepath); } else { $log->fatal("{$module} doesn't exists!"); } } }
public function updateUserModuleStep3(Vtiger_Request $request) { $viewer = $this->getViewer($request); $qualifiedModuleName = $request->getModule(false); $importModuleName = $request->get('module_import_name'); $uploadFile = $request->get('module_import_file'); $uploadDir = Settings_ModuleManager_Extension_Model::getUploadDirectory(); $uploadFileName = "{$uploadDir}/{$uploadFile}"; checkFileAccess($uploadFileName); $importType = $request->get('module_import_type'); if (strtolower($importType) == 'language') { $package = new Vtiger_Language(); } else { $package = new Vtiger_Package(); } if (strtolower($importType) == 'language') { $package->import($uploadFileName); } else { $package->update(Vtiger_Module::getInstance($importModuleName), $uploadFileName); } checkFileAccessForDeletion($uploadFileName); unlink($uploadFileName); $viewer->assign("UPDATE_MODULE_NAME", $importModuleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->view('UpdateUserModuleStep3.tpl', $qualifiedModuleName); }
public function installCurrentVersion() { $this->connect(); $updateURL = $this->getUpdateUrl(); $filename = sys_get_temp_dir() . "/autoupdater." . md5($updateURL) . ".zip"; global $root_directory; if (!is_writeable(sys_get_temp_dir()) && is_writeable($root_directory . "/test/")) { $filename = $root_directory . "/test/autoupdater.zip"; } if (!is_writeable(sys_get_temp_dir()) && !is_writeable($root_directory . "/test/")) { echo "<strong style='color:red;'>ERROR</strong> - You need to make the <b>test</b> directory inside vtiger root writable for webserver user!"; return; } $data = $this->_client->call("downloadVersion", array(base64_encode($updateURL), sha1(base64_encode($updateURL) . "ASD,.2#*"))); if (!empty($_REQUEST["stefanDebug"])) { /* ONLY DEBUG*/ echo "<pre>"; var_dump($this->_client->debug_str); } $data = base64_decode($data); file_put_contents($filename, $data); $package = new \Vtiger_Package(); $package->update(\Vtiger_Module::getInstance($this->_extension), $filename); }
public function handle() { if ($this->interactive) { echo "------------------------------------ >>> UPDATE MODULE <<< ---\n"; do { $path = $this->prompt("Enter package path: ", self::PROMPT_PATH); if (file_exists($path)) { break; } echo "ERROR: " . $path . " - file not found, try another.\n"; } while (true); } else { $path = array_shift($this->arguments); } if (file_exists($path)) { $package = new Vtiger_Package(); $module = $package->getModuleNameFromZip($path); $moduleInstance = Vtiger_Module::getInstance($module); if (!$moduleInstance) { echo "ERROR: Module $module not found!\n"; } else { echo "Updating ..."; $package->update($moduleInstance, $path); echo "DONE.\n"; } } else { throw new Exception("Package file $path not found."); } echo "----------------------------------\n\n"; }