[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Settings/ModuleManager/views/ -> ModuleImport.php (source)

   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  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1