[ Index ]

PHP Cross Reference of Joomla 2.5.4 DE

title

Body

[close]

/administrator/components/com_installer/models/ -> warnings.php (source)

   1  <?php
   2  /**
   3   * @package        Joomla.Administrator
   4   * @subpackage    com_installer
   5   * @copyright    Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
   6   * @license        GNU General Public License version 2 or later; see LICENSE.txt
   7   */
   8  
   9  defined('_JEXEC') or die;
  10  
  11  jimport('joomla.application.component.modellist');
  12  jimport('joomla.filesystem.folder');
  13  
  14  /**
  15   * Extension Manager Templates Model
  16   *
  17   * @package        Joomla.Administrator
  18   * @subpackage    com_installer
  19   * @since        1.6
  20   */
  21  class InstallerModelWarnings extends JModelList
  22  {
  23      /**
  24       * Extension Type
  25       * @var    string
  26       */
  27      var $type = 'warnings';
  28  
  29      /**
  30       * Return the byte value of a particular string.
  31       *
  32       * @param    string    String optionally with G, M or K suffix
  33       *
  34       * @return    int        size in bytes
  35       *
  36       * @since 1.6
  37       */
  38  	function return_bytes($val)
  39      {
  40          $val = trim($val);
  41          $last = strtolower($val{strlen($val)-1});
  42          switch($last) {
  43              // The 'G' modifier is available since PHP 5.1.0
  44              case 'g':
  45                  $val *= 1024;
  46              case 'm':
  47                  $val *= 1024;
  48              case 'k':
  49                  $val *= 1024;
  50          }
  51  
  52          return $val;
  53      }
  54  
  55      /**
  56       * Load the data.
  57       *
  58       * @since    1.6
  59       */
  60  	function getItems()
  61      {
  62          static $messages;
  63          if ($messages) {
  64              return $messages;
  65          }
  66          $messages = array();
  67          $file_uploads = ini_get('file_uploads');
  68          if(!$file_uploads)
  69          {
  70              $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_FILEUPLOADSDISABLED'), 'description'=>JText::_('COM_INSTALLER_MSG_WARNINGS_FILEUPLOADISDISABLEDDESC'));
  71          }
  72  
  73  
  74          $upload_dir = ini_get('upload_tmp_dir');
  75          if (!$upload_dir) {
  76              $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTSET'), 'description'=>JText::_('COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTSETDESC'));
  77          } else {
  78              if (!is_writeable($upload_dir)) {
  79                  $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTWRITEABLE'), 'description'=>JText::sprintf('COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTWRITEABLEDESC', $upload_dir));
  80              }
  81          }
  82  
  83          $config = JFactory::getConfig();
  84          $tmp_path = $config->get('tmp_path');
  85          if (!$tmp_path) {
  86              $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSET'), 'description'=>JText::_('COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSETDESC'));
  87          } else {
  88              if (!is_writeable($tmp_path)) {
  89                  $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLE'), 'description'=>JText::sprintf('COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLEDESC', $tmp_path));
  90              }
  91          }
  92  
  93          $memory_limit = $this->return_bytes(ini_get('memory_limit'));
  94          if ($memory_limit < (8 * 1024 * 1024)) { // 8MB
  95              $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_LOWMEMORYWARN'), 'description'=>JText::_('COM_INSTALLER_MSG_WARNINGS_LOWMEMORYDESC'));
  96          } elseif ($memory_limit < (16 * 1024 * 1024)) { //16MB
  97              $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_MEDMEMORYWARN'), 'description'=>JText::_('COM_INSTALLER_MSG_WARNINGS_MEDMEMORYDESC'));
  98          }
  99  
 100  
 101          $post_max_size = $this->return_bytes(ini_get('post_max_size'));
 102          $upload_max_filesize = $this->return_bytes(ini_get('upload_max_filesize'));
 103  
 104          if($post_max_size < $upload_max_filesize)
 105          {
 106              $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_UPLOADBIGGERTHANPOST'), 'description'=>JText::_('COM_INSTALLER_MSG_WARNINGS_UPLOADBIGGERTHANPOSTDESC'));
 107          }
 108  
 109          if($post_max_size < (4 * 1024 * 1024)) // 4MB
 110          {
 111              $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_SMALLPOSTSIZE'), 'description'=>JText::_('COM_INSTALLER_MSG_WARNINGS_SMALLPOSTSIZEDESC'));
 112          }
 113  
 114          if($upload_max_filesize < (4 * 1024 * 1024)) // 4MB
 115          {
 116              $messages[] = array('message'=>JText::_('COM_INSTALLER_MSG_WARNINGS_SMALLUPLOADSIZE'), 'description'=>JText::_('COM_INSTALLER_MSG_WARNINGS_SMALLUPLOADSIZEDESC'));
 117          }
 118  
 119          return $messages;
 120      }
 121  }


Generated: Tue Apr 3 11:40:28 2012 Cross-referenced by PHPXref 0.7.1