From 191779d77ce04cdc7d473cd3cfe8156784e9c160 Mon Sep 17 00:00:00 2001 From: Izhar Aazmi Date: Sat, 23 Jul 2016 10:31:24 +0530 Subject: [PATCH 1/3] Show configured upload limit when uploading installer package. Otherwise when uploading a larger file than the configured limit, the page reloads without any information about what went wrong. --- .../en-GB.plg_installer_packageinstaller.ini | 5 +++++ .../packageinstaller/tmpl/default.php | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini b/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini index 221bae256bbe7..26ee7004e82b0 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini @@ -9,3 +9,8 @@ PLG_INSTALLER_PACKAGEINSTALLER_PLUGIN_XML_DESCRIPTION="This plugin allows you to PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_INSTALL_JOOMLA_EXTENSION="Upload & Install Joomla Extension" PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_PACKAGE_FILE="Upload Package File" PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_AND_INSTALL="Upload & Install" + +PLG_INSTALLER_PACKAGEINSTALLER_CONFIG_MEMORY_LIMIT="PHP Memory Limit: %s (%s bytes)" +PLG_INSTALLER_PACKAGEINSTALLER_CONFIG_POST_MAX_SIZE="PHP Max POST Size: %s (%s bytes)" +PLG_INSTALLER_PACKAGEINSTALLER_CONFIG_UPLOAD_MAX_SIZE="PHP Max Upload Size: %s (%s bytes)" +PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_EFFECTIVE_SIZE_LIMIT="Maximum upload size: %s (%s bytes)" diff --git a/plugins/installer/packageinstaller/tmpl/default.php b/plugins/installer/packageinstaller/tmpl/default.php index 8092954a775dc..b3cc25665ee06 100644 --- a/plugins/installer/packageinstaller/tmpl/default.php +++ b/plugins/installer/packageinstaller/tmpl/default.php @@ -27,6 +27,17 @@ } }; '); + +// Read INI settings which affects upload size limits +$ini_memory_limit = JHtml::_('number.bytes', ini_get('memory_limit')); +$ini_memory_limit_b = JHtml::_('number.bytes', $ini_memory_limit, ''); +$ini_post_max_size = JHtml::_('number.bytes', ini_get('post_max_size')); +$ini_post_max_size_b = JHtml::_('number.bytes', $ini_post_max_size, ''); +$ini_upload_max_filesize = JHtml::_('number.bytes', ini_get('upload_max_filesize')); +$ini_upload_max_filesize_b = JHtml::_('number.bytes', $ini_upload_max_filesize, ''); + +$max_upload_size_b = min($ini_memory_limit_b, $ini_post_max_size_b, $ini_upload_max_filesize_b); +$max_upload_size = JHtml::_('number.bytes', $max_upload_size_b); ?>
@@ -34,6 +45,14 @@
+
+
+ +
+
+
+
+
-

config->get('upload_maxsize') == '0' ? JText::_('COM_MEDIA_UPLOAD_FILES_NOLIMIT') : JText::sprintf('COM_MEDIA_UPLOAD_FILES', $this->config->get('upload_maxsize')); ?>

+

config->get('upload_maxsize'); + $maxSize = JUtility::getMaxUploadSize($cMax . 'MB'); + + echo JText::sprintf('JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT', JHtml::_('number.bytes', $maxSize)); + ?>

diff --git a/administrator/components/com_media/views/media/tmpl/default.php b/administrator/components/com_media/views/media/tmpl/default.php index ca25d3573383a..b73162ac63be4 100644 --- a/administrator/components/com_media/views/media/tmpl/default.php +++ b/administrator/components/com_media/views/media/tmpl/default.php @@ -88,7 +88,12 @@
-

config->get('upload_maxsize') == '0' ? JText::_('COM_MEDIA_UPLOAD_FILES_NOLIMIT') : JText::sprintf('COM_MEDIA_UPLOAD_FILES', $this->config->get('upload_maxsize')); ?>

+

config->get('upload_maxsize'); + $maxSize = JUtility::getMaxUploadSize($cMax . 'MB'); + + echo JText::sprintf('JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT', JHtml::_('number.bytes', $maxSize)); + ?>

set('com_media.return_url', 'index.php?option=com_media'); ?> diff --git a/administrator/components/com_templates/views/template/tmpl/default_modal_file_body.php b/administrator/components/com_templates/views/template/tmpl/default_modal_file_body.php index cc5de0f5d8e5b..b02eba39774cc 100644 --- a/administrator/components/com_templates/views/template/tmpl/default_modal_file_body.php +++ b/administrator/components/com_templates/views/template/tmpl/default_modal_file_body.php @@ -40,7 +40,9 @@ - +
+ + type != 'home'): ?> diff --git a/administrator/language/en-GB/en-GB.com_media.ini b/administrator/language/en-GB/en-GB.com_media.ini index dea460eac939e..f9cb7e3fca0ce 100644 --- a/administrator/language/en-GB/en-GB.com_media.ini +++ b/administrator/language/en-GB/en-GB.com_media.ini @@ -91,8 +91,6 @@ COM_MEDIA_START_UPLOAD="Start Upload" COM_MEDIA_THUMBNAIL_VIEW="Thumbnail View" COM_MEDIA_TITLE="Image Title" COM_MEDIA_UPLOAD_COMPLETE="Upload Complete: %s" -COM_MEDIA_UPLOAD_FILES_NOLIMIT="Upload files (No maximum size)" -COM_MEDIA_UPLOAD_FILES="Upload files (Maximum Size: %s MB)" COM_MEDIA_UPLOAD_FILE="Upload file" COM_MEDIA_UPLOAD_SUCCESSFUL="Upload Successful" COM_MEDIA_UPLOAD="Upload" diff --git a/administrator/language/en-GB/en-GB.ini b/administrator/language/en-GB/en-GB.ini index 1102fb88635e7..fbb62b918aedc 100644 --- a/administrator/language/en-GB/en-GB.ini +++ b/administrator/language/en-GB/en-GB.ini @@ -418,6 +418,7 @@ JGLOBAL_LOOKING_FOR="Looking for" JGLOBAL_LT="<" JGLOBAL_MAXIMUM_CATEGORY_LEVELS_DESC="The number of subcategory levels to display." JGLOBAL_MAXIMUM_CATEGORY_LEVELS_LABEL="Subcategory Levels" +JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT="Maximum upload size: %s" JGLOBAL_MAXLEVEL_DESC="Maximum number of levels of subcategories to show." JGLOBAL_MAXLEVEL_LABEL="Subcategory Levels" JGLOBAL_MENU_SELECTION="Menu Selection:" diff --git a/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini b/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini index fed3c764e5c15..221bae256bbe7 100644 --- a/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini +++ b/administrator/language/en-GB/en-GB.plg_installer_packageinstaller.ini @@ -9,5 +9,3 @@ PLG_INSTALLER_PACKAGEINSTALLER_PLUGIN_XML_DESCRIPTION="This plugin allows you to PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_INSTALL_JOOMLA_EXTENSION="Upload & Install Joomla Extension" PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_PACKAGE_FILE="Upload Package File" PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_AND_INSTALL="Upload & Install" - -PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_EFFECTIVE_SIZE_LIMIT="Maximum upload size: %s" diff --git a/administrator/templates/hathor/html/com_templates/template/default.php b/administrator/templates/hathor/html/com_templates/template/default.php index f37c916fc0a33..7fa2baec5f0a9 100644 --- a/administrator/templates/hathor/html/com_templates/template/default.php +++ b/administrator/templates/hathor/html/com_templates/template/default.php @@ -217,7 +217,9 @@ function clearCoords()
- +
+ +

diff --git a/language/en-GB/en-GB.com_media.ini b/language/en-GB/en-GB.com_media.ini index 6734833c394ef..5befff0ce864a 100644 --- a/language/en-GB/en-GB.com_media.ini +++ b/language/en-GB/en-GB.com_media.ini @@ -71,6 +71,4 @@ COM_MEDIA_UP="Up" COM_MEDIA_UPLOAD="Upload" COM_MEDIA_UPLOAD_COMPLETE="Upload Complete" COM_MEDIA_UPLOAD_FILE="Upload file" -COM_MEDIA_UPLOAD_FILES="Upload files (Maximum Size: %s MB)" -COM_MEDIA_UPLOAD_FILES_NOLIMIT="Upload files (No maximum size)" COM_MEDIA_UPLOAD_SUCCESSFUL="Upload Successful" diff --git a/language/en-GB/en-GB.ini b/language/en-GB/en-GB.ini index 0d5d3fc5dafc7..4f4ae9207f3a7 100644 --- a/language/en-GB/en-GB.ini +++ b/language/en-GB/en-GB.ini @@ -233,6 +233,7 @@ JGLOBAL_KEEP_TYPING="Keep typing ..." JGLOBAL_LEFT="Left" JGLOBAL_LOOKING_FOR="Looking for" JGLOBAL_LT="<" +JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT="Maximum upload size: %s" JGLOBAL_NEWITEMSLAST_DESC="New items default to the last position. Ordering can be changed after this item has been saved." JGLOBAL_NO_MATCHING_RESULTS="No Matching Results" JGLOBAL_NUM="#" diff --git a/layouts/joomla/form/field/file.php b/layouts/joomla/form/field/file.php index 4100a3ad501b7..88b30e8a5ad27 100644 --- a/layouts/joomla/form/field/file.php +++ b/layouts/joomla/form/field/file.php @@ -59,4 +59,7 @@ - /> + />
+ 0) + { + $sizes[] = $custom; + } + } + + /* + * Read INI settings which affects upload size limits + * and Convert each into number of bytes so that we can compare + */ + $sizes[] = JHtml::_('number.bytes', ini_get('memory_limit'), ''); + $sizes[] = JHtml::_('number.bytes', ini_get('post_max_size'), ''); + $sizes[] = JHtml::_('number.bytes', ini_get('upload_max_filesize'), ''); + + // The minimum of these is the limiting factor + return min($sizes); + } } diff --git a/plugins/installer/packageinstaller/tmpl/default.php b/plugins/installer/packageinstaller/tmpl/default.php index 58ecd88627acf..baf7a730dd259 100644 --- a/plugins/installer/packageinstaller/tmpl/default.php +++ b/plugins/installer/packageinstaller/tmpl/default.php @@ -29,24 +29,14 @@ } }; '); - -// Read INI settings which affects upload size limits -$ini_memory_limit = JHtml::_('number.bytes', ini_get('memory_limit')); -$ini_memory_limit_b = JHtml::_('number.bytes', $ini_memory_limit, ''); -$ini_post_max_size = JHtml::_('number.bytes', ini_get('post_max_size')); -$ini_post_max_size_b = JHtml::_('number.bytes', $ini_post_max_size, ''); -$ini_upload_max_filesize = JHtml::_('number.bytes', ini_get('upload_max_filesize')); -$ini_upload_max_filesize_b = JHtml::_('number.bytes', $ini_upload_max_filesize, ''); - -$max_upload_size_b = min($ini_memory_limit_b, $ini_post_max_size_b, $ini_upload_max_filesize_b); -$max_upload_size = JHtml::_('number.bytes', $max_upload_size_b); ?>

- + +