You've already forked joomla_test
first commit
This commit is contained in:
144
administrator/components/com_installer/models/warnings.php
Normal file
144
administrator/components/com_installer/models/warnings.php
Normal file
@ -0,0 +1,144 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_installer
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
/**
|
||||
* Extension Manager Templates Model
|
||||
*
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_installer
|
||||
* @since 1.6
|
||||
*/
|
||||
class InstallerModelWarnings extends JModelList
|
||||
{
|
||||
/**
|
||||
* Extension Type
|
||||
* @var string
|
||||
*/
|
||||
public $type = 'warnings';
|
||||
|
||||
/**
|
||||
* Return the byte value of a particular string.
|
||||
*
|
||||
* @param string $val String optionally with G, M or K suffix
|
||||
*
|
||||
* @return integer size in bytes
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
public function return_bytes($val)
|
||||
{
|
||||
$val = trim($val);
|
||||
$last = strtolower($val{strlen($val) - 1});
|
||||
switch ($last)
|
||||
{
|
||||
// The 'G' modifier is available since PHP 5.1.0
|
||||
case 'g':
|
||||
$val *= 1024;
|
||||
case 'm':
|
||||
$val *= 1024;
|
||||
case 'k':
|
||||
$val *= 1024;
|
||||
}
|
||||
|
||||
return $val;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the data.
|
||||
*
|
||||
* @return array Messages
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
public function getItems()
|
||||
{
|
||||
static $messages;
|
||||
if ($messages)
|
||||
{
|
||||
return $messages;
|
||||
}
|
||||
$messages = array();
|
||||
$file_uploads = ini_get('file_uploads');
|
||||
if (!$file_uploads)
|
||||
{
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_FILEUPLOADSDISABLED'),
|
||||
'description' => JText::_('COM_INSTALLER_MSG_WARNINGS_FILEUPLOADISDISABLEDDESC'));
|
||||
}
|
||||
|
||||
$upload_dir = ini_get('upload_tmp_dir');
|
||||
if (!$upload_dir)
|
||||
{
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTSET'),
|
||||
'description' => JText::_('COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTSETDESC'));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!is_writeable($upload_dir))
|
||||
{
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTWRITEABLE'),
|
||||
'description' => JText::sprintf('COM_INSTALLER_MSG_WARNINGS_PHPUPLOADNOTWRITEABLEDESC', $upload_dir));
|
||||
}
|
||||
}
|
||||
|
||||
$config = JFactory::getConfig();
|
||||
$tmp_path = $config->get('tmp_path');
|
||||
if (!$tmp_path)
|
||||
{
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSET'),
|
||||
'description' => JText::_('COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSETDESC'));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!is_writeable($tmp_path))
|
||||
{
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLE'),
|
||||
'description' => JText::sprintf('COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLEDESC', $tmp_path));
|
||||
}
|
||||
}
|
||||
|
||||
$memory_limit = $this->return_bytes(ini_get('memory_limit'));
|
||||
if ($memory_limit < (8 * 1024 * 1024))
|
||||
{
|
||||
// 8MB
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_LOWMEMORYWARN'),
|
||||
'description' => JText::_('COM_INSTALLER_MSG_WARNINGS_LOWMEMORYDESC'));
|
||||
}
|
||||
elseif ($memory_limit < (16 * 1024 * 1024))
|
||||
{
|
||||
// 16MB
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_MEDMEMORYWARN'),
|
||||
'description' => JText::_('COM_INSTALLER_MSG_WARNINGS_MEDMEMORYDESC'));
|
||||
}
|
||||
|
||||
$post_max_size = $this->return_bytes(ini_get('post_max_size'));
|
||||
$upload_max_filesize = $this->return_bytes(ini_get('upload_max_filesize'));
|
||||
|
||||
if ($post_max_size < $upload_max_filesize)
|
||||
{
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_UPLOADBIGGERTHANPOST'),
|
||||
'description' => JText::_('COM_INSTALLER_MSG_WARNINGS_UPLOADBIGGERTHANPOSTDESC'));
|
||||
}
|
||||
|
||||
if ($post_max_size < (4 * 1024 * 1024)) // 4MB
|
||||
{
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_SMALLPOSTSIZE'),
|
||||
'description' => JText::_('COM_INSTALLER_MSG_WARNINGS_SMALLPOSTSIZEDESC'));
|
||||
}
|
||||
|
||||
if ($upload_max_filesize < (4 * 1024 * 1024)) // 4MB
|
||||
{
|
||||
$messages[] = array('message' => JText::_('COM_INSTALLER_MSG_WARNINGS_SMALLUPLOADSIZE'),
|
||||
'description' => JText::_('COM_INSTALLER_MSG_WARNINGS_SMALLUPLOADSIZEDESC'));
|
||||
}
|
||||
|
||||
return $messages;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user