Source for file warnings.php

Documentation is available at warnings.php

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

Documentation generated on Tue, 19 Nov 2013 15:18:19 +0100 by phpDocumentor 1.4.3