protected function oneClickInstall(Vtiger_Request $request)
 {
     $viewer = $this->getViewer($request);
     global $Vtiger_Utils_Log;
     $viewer->assign('VTIGER_UTILS_LOG', $Vtiger_Utils_Log);
     $Vtiger_Utils_Log = true;
     $upgradeError = true;
     $qualifiedModuleName = $request->getModule(false);
     $extensionId = $request->get('extensionId');
     $moduleAction = $request->get('moduleAction');
     //Import/Upgrade
     $trial = $request->get('trial');
     $modelInstance = $this->getModelInstance();
     $response = $modelInstance->getInstanceById($extensionId, $trial);
     if ($response['success']) {
         $extensionModel = $response['result'];
         $package = $extensionModel->getPackage();
         if ($package) {
             $importedModuleName = $package->getModuleName();
             $isLanguagePackage = $package->isLanguageType();
             if ($moduleAction === 'Upgrade') {
                 $targetModuleName = $request->get('extensionName');
                 if ($isLanguagePackage && trim($package->xpath_value('prefix')) == $targetModuleName || !$isLanguagePackage && $importedModuleName === $targetModuleName) {
                     $upgradeError = false;
                 }
             } else {
                 $upgradeError = false;
             }
             if (!$upgradeError) {
                 if (!$isLanguagePackage) {
                     $moduleModel = Vtiger_Module_Model::getInstance($importedModuleName);
                     if (!$extensionModel->isUpgradable()) {
                         $viewer->assign('SAME_VERSION', true);
                     }
                 }
                 $moduleType = $packageType = $package->type();
                 $fileName = $extensionModel->getFileName();
             } else {
                 $viewer->assign('ERROR', true);
                 $viewer->assign('ERROR_MESSAGE', vtranslate('LBL_INVALID_FILE', $qualifiedModuleName));
             }
         } else {
             $viewer->assign('ERROR', true);
             $viewer->assign('ERROR_MESSAGE', vtranslate('LBL_INVALID_FILE', $qualifiedModuleName));
         }
     } else {
         $viewer->assign('ERROR', true);
         $viewer->assign('ERROR_MESSAGE', $response['message']);
     }
     if ($extensionId && $extensionModel) {
         if ($moduleAction !== 'Upgrade') {
             $extensionModel->installTrackDetails();
         }
         if (strtolower($moduleType) === 'language') {
             $package = new Vtiger_Language();
         } else {
             $package = new Vtiger_Package();
         }
         $viewer->assign('MODULE_ACTION', $moduleAction);
         $viewer->assign('MODULE_PACKAGE', $package);
         $viewer->assign('TARGET_MODULE_INSTANCE', Vtiger_Module_Model::getInstance($targetModuleName));
         $viewer->assign('MODULE_FILE_NAME', Settings_ExtensionStore_Extension_Model::getUploadDirectory() . '/' . $fileName);
     }
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->view('InstallationLog.tpl', $qualifiedModuleName);
 }