[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Settings/Vtiger/actions/ -> UpdateCompanyLogo.php (source)

   1  <?php
   2  
   3  /*+**********************************************************************************
   4   * The contents of this file are subject to the vtiger CRM Public License Version 1.1
   5   * ("License"); You may not use this file except in compliance with the License
   6   * The Original Code is:  vtiger CRM Open Source
   7   * The Initial Developer of the Original Code is vtiger.
   8   * Portions created by vtiger are Copyright (C) vtiger.
   9   * All Rights Reserved.
  10   ************************************************************************************/
  11  
  12  class Settings_Vtiger_UpdateCompanyLogo_Action extends Settings_Vtiger_Basic_Action {
  13  
  14  	public function process(Vtiger_Request $request) {
  15          $qualifiedModuleName = $request->getModule(false);
  16          $moduleModel = Settings_Vtiger_CompanyDetails_Model::getInstance();
  17  
  18          $saveLogo = $securityError = false;
  19          $logoDetails = $_FILES['logo'];
  20          $fileType = explode('/', $logoDetails['type']);
  21          $fileType = $fileType[1];
  22  
  23          $logoContent = file_get_contents($logoDetails['tmp_name']);
  24          if (preg_match('(<\?php?(.*?))', $imageContent) != 0) {
  25              $securityError = true;
  26          }
  27  
  28          if (!$securityError) {
  29              if ($logoDetails['size'] && in_array($fileType, Settings_Vtiger_CompanyDetails_Model::$logoSupportedFormats)) {
  30                  $saveLogo = true;
  31              }
  32  
  33              if ($saveLogo) {
  34                  $moduleModel->saveLogo();
  35                  $moduleModel->set('logoname', ltrim(basename(' '.Vtiger_Util_Helper::sanitizeUploadFileName($logoDetails['name'], vglobal('upload_badext')))));
  36                  $moduleModel->save();
  37              }
  38          }
  39  
  40          $reloadUrl = $moduleModel->getIndexViewUrl();
  41          if ($securityError) {
  42              $reloadUrl .= '&error=LBL_IMAGE_CORRUPTED';
  43          } else if (!$saveLogo) {
  44              $reloadUrl .= '&error=LBL_INVALID_IMAGE';
  45          }
  46          header('Location: ' . $reloadUrl);
  47      }
  48          
  49          public function validateRequest(Vtiger_Request $request) { 
  50              $request->validateWriteAccess(); 
  51          } 
  52  }


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