[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /*+*********************************************************************************** 3 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 4 * ("License"); You may not use this file except in compliance with the License 5 * The Original Code is: vtiger CRM Open Source 6 * The Initial Developer of the Original Code is vtiger. 7 * Portions created by vtiger are Copyright (C) vtiger. 8 * All Rights Reserved. 9 *************************************************************************************/ 10 11 class Settings_ModuleManager_ModuleImport_View extends Settings_Vtiger_Index_View { 12 13 public function __construct() { 14 parent::__construct(); 15 $this->exposeMethod('importUserModuleStep1'); 16 $this->exposeMethod('importUserModuleStep2'); 17 $this->exposeMethod('importUserModuleStep3'); 18 $this->exposeMethod('updateUserModuleStep3'); 19 } 20 21 public function process(Vtiger_Request $request) { 22 $mode = $request->getMode(); 23 if(!empty($mode)) { 24 $this->invokeExposedMethod($mode, $request); 25 return; 26 } 27 28 $EXTENSIONS = Settings_ModuleManager_Extension_Model::getAll(); 29 $qualifiedModuleName = $request->getModule(false); 30 $viewer = $this->getViewer($request); 31 $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); 32 $viewer->assign('EXTENSIONS', $EXTENSIONS); 33 $viewer->assign('EXTENSIONS_AVAILABLE', (count($EXTENSIONS) > 0)? true :false); 34 $viewer->view('Step1.tpl', $qualifiedModuleName); 35 } 36 37 38 /** 39 * Function to get the list of Script models to be included 40 * @param Vtiger_Request $request 41 * @return <Array> - List of Vtiger_JsScript_Model instances 42 */ 43 function getHeaderScripts(Vtiger_Request $request) { 44 $headerScriptInstances = parent::getHeaderScripts($request); 45 $moduleName = $request->getModule(); 46 47 $jsFileNames = array( 48 "modules.Settings.$moduleName.resources.ModuleImport" 49 ); 50 51 $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); 52 $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); 53 return $headerScriptInstances; 54 } 55 56 function importUserModuleStep1(Vtiger_Request $request){ 57 $viewer = $this->getViewer($request); 58 $qualifiedModuleName = $request->getModule(false); 59 $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); 60 $viewer->view('ImportUserModuleStep1.tpl', $qualifiedModuleName); 61 } 62 63 public function importUserModuleStep2(Vtiger_Request $request){ 64 $viewer = $this->getViewer($request); 65 $uploadDir = Settings_ModuleManager_Extension_Model::getUploadDirectory(); 66 $qualifiedModuleName = $request->getModule(false); 67 68 $uploadFile = 'usermodule_'. time() . '.zip'; 69 $uploadFileName = "$uploadDir/$uploadFile"; 70 checkFileAccess($uploadDir); 71 if(!move_uploaded_file($_FILES['moduleZip']['tmp_name'], $uploadFileName)) { 72 $viewer->assign('MODULEIMPORT_FAILED', true); 73 }else{ 74 $package = new Vtiger_Package(); 75 $importModuleName = $package->getModuleNameFromZip($uploadFileName); 76 $importModuleDepVtVersion = $package->getDependentVtigerVersion(); 77 78 if($importModuleName == null ) { 79 $viewer->assign('MODULEIMPORT_FAILED', true); 80 $viewer->assign("MODULEIMPORT_FILE_INVALID", true); 81 checkFileAccessForDeletion($uploadFileName); 82 unlink($uploadFileName); 83 } else { 84 85 // We need these information to push for Update if module is detected to be present. 86 $moduleLicence = vtlib_purify($package->getLicense()); 87 88 $viewer->assign("MODULEIMPORT_FILE", $uploadFile); 89 $viewer->assign("MODULEIMPORT_TYPE", $package->type()); 90 $viewer->assign("MODULEIMPORT_NAME", $importModuleName); 91 $viewer->assign("MODULEIMPORT_DEP_VTVERSION", $importModuleDepVtVersion); 92 $viewer->assign("MODULEIMPORT_LICENSE", $moduleLicence); 93 94 if(!$package->isLanguageType() && !$package->isModuleBundle()) { 95 $moduleInstance = Vtiger_Module::getInstance($importModuleName); 96 $moduleimport_exists = ($moduleInstance)? "true" : "false"; 97 $moduleimport_dir_name = "modules/$importModuleName"; 98 $moduleimport_dir_exists = (is_dir($moduleimport_dir_name)? "true" : "false"); 99 $viewer->assign("MODULEIMPORT_EXISTS", $moduleimport_exists); 100 $viewer->assign("MODULEIMPORT_DIR", $moduleimport_dir_name); 101 $viewer->assign("MODULEIMPORT_DIR_EXISTS", $moduleimport_dir_exists); 102 } 103 } 104 } 105 $viewer->view('ImportUserModuleStep2.tpl', $qualifiedModuleName); 106 } 107 108 public function validateRequest(Vtiger_Request $request) { 109 $request->validateReadAccess(); 110 } 111 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |