Пример #1
0
 public function importUserModuleStep2(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     $uploadDir = Settings_ModuleManager_Module_Model::getUploadDirectory();
     $qualifiedModuleName = $request->getModule(false);
     $uploadFile = 'usermodule_' . time() . '.zip';
     $uploadFileName = "{$uploadDir}/{$uploadFile}";
     $error = '';
     checkFileAccess($uploadDir);
     if (!move_uploaded_file($_FILES['moduleZip']['tmp_name'], $uploadFileName)) {
         $error = 'LBL_ERROR_MOVE_UPLOADED_FILE';
     } else {
         $package = new Vtiger_Package();
         $importModuleName = $package->getModuleNameFromZip($uploadFileName);
         $importModuleDepVtVersion = $package->getDependentVtigerVersion();
         if ($importModuleName == null) {
             $error = $package->_errorText;
             checkFileAccessForDeletion($uploadFileName);
             unlink($uploadFileName);
         } else {
             // We need these information to push for Update if module is detected to be present.
             $moduleLicence = vtlib_purify($package->getLicense());
             $viewer->assign('MODULEIMPORT_FILE', $uploadFile);
             $viewer->assign('MODULEIMPORT_TYPE', $package->type());
             $viewer->assign('MODULEIMPORT_NAME', $importModuleName);
             $viewer->assign('MODULEIMPORT_PACKAGE', $package);
             $viewer->assign('MODULEIMPORT_DEP_VTVERSION', $importModuleDepVtVersion);
             $viewer->assign('MODULEIMPORT_LICENSE', $moduleLicence);
             $viewer->assign('MODULEIMPORT_PARAMETERS', $package->getParameters());
             if (!$package->isLanguageType() && !$package->isUpdateType() && !$package->isModuleBundle()) {
                 $moduleInstance = Vtiger_Module::getInstance($importModuleName);
                 $moduleimport_exists = $moduleInstance ? "true" : "false";
                 $moduleimport_dir_name = "modules/{$importModuleName}";
                 $moduleimport_dir_exists = is_dir($moduleimport_dir_name) ? "true" : "false";
                 $viewer->assign('MODULEIMPORT_EXISTS', $moduleimport_exists);
                 $viewer->assign('MODULEIMPORT_DIR', $moduleimport_dir_name);
                 $viewer->assign('MODULEIMPORT_DIR_EXISTS', $moduleimport_dir_exists);
             }
         }
     }
     $viewer->assign('MODULEIMPORT_ERROR', $error);
     $viewer->view('ImportUserModuleStep2.tpl', $qualifiedModuleName);
 }
Пример #2
0
        $moduleimport_name = $package->getModuleNameFromZip($uploadfilename);
        if ($moduleimport_name == null) {
            $smarty->assign("MODULEIMPORT_FAILED", "true");
            $smarty->assign("MODULEIMPORT_FILE_INVALID", "true");
        } else {
            if (!$package->isLanguageType()) {
                $moduleInstance = Vtiger_Module::getInstance($moduleimport_name);
                $moduleimport_exists = $moduleInstance ? "true" : "false";
                $moduleimport_dir_name = "modules/{$moduleimport_name}";
                $moduleimport_dir_exists = is_dir($moduleimport_dir_name) ? "true" : "false";
                $smarty->assign("MODULEIMPORT_EXISTS", $moduleimport_exists);
                $smarty->assign("MODULEIMPORT_DIR", $moduleimport_dir_name);
                $smarty->assign("MODULEIMPORT_DIR_EXISTS", $moduleimport_dir_exists);
            }
            $moduleimport_dep_vtversion = $package->getDependentVtigerVersion();
            $moduleimport_license = $package->getLicense();
            $smarty->assign("MODULEIMPORT_FILE", $uploadfile);
            $smarty->assign("MODULEIMPORT_TYPE", $package->type());
            $smarty->assign("MODULEIMPORT_NAME", $moduleimport_name);
            $smarty->assign("MODULEIMPORT_DEP_VTVERSION", $moduleimport_dep_vtversion);
            $smarty->assign("MODULEIMPORT_LICENSE", $moduleimport_license);
        }
    }
} else {
    if ($module_import_step == 'Step3') {
        $uploadfile = $_REQUEST['module_import_file'];
        $uploadfilename = "{$modulemanager_uploaddir}/{$uploadfile}";
        checkFileAccess($uploadfilename);
        //$overwritedir = ($_REQUEST['module_dir_overwrite'] == 'true')? true : false;
        $overwritedir = false;
        // Disallowing overwrites through Module Manager UI
Пример #3
0
 $package = new Vtiger_Package();
 $moduleupdate_name = $package->getModuleNameFromZip($uploadfilename);
 if ($moduleupdate_name == null) {
     $smarty->assign("MODULEUPDATE_FAILED", "true");
     $smarty->assign("MODULEUPDATE_FILE_INVALID", "true");
 } else {
     if (!$package->isLanguageType() && $moduleupdate_name != $target_modulename) {
         $smarty->assign("MODULEUPDATE_FAILED", "true");
         $smarty->assign("MODULEUPDATE_NAME_MISMATCH", "true");
     } else {
         if ($package->isLanguageType() && trim($package->xpath_value('prefix')) != $target_modulename) {
             $smarty->assign("MODULEUPDATE_FAILED", "true");
             $smarty->assign("MODULEUPDATE_NAME_MISMATCH", "true");
         } else {
             $moduleupdate_dep_vtversion = $package->getDependentVtigerVersion();
             $moduleupdate_license = $package->getLicense();
             $moduleupdate_version = $package->getVersion();
             if (!$package->isLanguageType()) {
                 $moduleInstance = Vtiger_Module::getInstance($moduleupdate_name);
                 $moduleupdate_exists = $moduleInstance ? "true" : "false";
                 $moduleupdate_dir_name = "modules/{$moduleupdate_name}";
                 $moduleupdate_dir_exists = is_dir($moduleupdate_dir_name) ? "true" : "false";
                 $smarty->assign("MODULEUPDATE_CUR_VERSION", $moduleInstance ? $moduleInstance->version : '');
                 $smarty->assign("MODULEUPDATE_NOT_EXISTS", !$moduleupdate_exists);
                 $smarty->assign("MODULEUPDATE_DIR", $moduleupdate_dir_name);
                 $smarty->assign("MODULEUPDATE_DIR_NOT_EXISTS", !$moduleupdate_dir_exists);
                 // If version is matching, dis-allow migration
                 if (version_compare($moduleupdate_version, $moduleInstance->version, '=')) {
                     $smarty->assign("MODULEUPDATE_FAILED", "true");
                     $smarty->assign("MODULEUPDATE_SAME_VERSION", "true");
                 }