diff --git a/CONTRIBUTING.md b/.github/CONTRIBUTING.md
similarity index 64%
rename from CONTRIBUTING.md
rename to .github/CONTRIBUTING.md
index 5cb9715546cb8..9df1f82be5060 100644
--- a/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -2,14 +2,14 @@ Contributing to the Joomla! CMS™
===============
You are welcome to submit a contribution for review and possible inclusion in the Joomla! CMS but, before it will be accepted, we ask that you follow these simple steps:
-1) Open an issue on our [Issue Tracker](http://issues.joomla.org/) or here on GitHub. If you can, please provide a fix and create a pull request (PR) instead; this will automatically create an issue for you.
+1) Open an issue on our [Issue Tracker](https://issues.joomla.org/) or here on GitHub. If you can, please provide a fix and create a pull request (PR) instead; this will automatically create an issue for you.
-2) Follow the [Joomla! Coding Standards](http://joomla.github.io/coding-standards).
+2) Follow the [Joomla! Coding Standards](https://joomla.github.io/coding-standards).
3) When filing an issue or opening a PR, please include a clear title and description. The title should be a short summary of an issue and, if possible, should include a reference to an open issue. For example, `Invalid Query in com_admin (Ref #1234)` would be sufficient. All issues and PRs should include a description with as much detail as possible.
If it is a PR, include what the issue is, what the PR is addressing, testing instructions and environmental information (PHP version, database driver and version, and other data you can retrieve from your site's system information view) in case the issue is specific to certain environments. If additional information is needed, please be prepared to provide it as our community members review your submission.
-4) Report security issues to the Joomla! Security Strike Team (JSST) at security@joomla.org or use the [JSST contact form](http://developer.joomla.org/contact-security-team.html). Please do not use the public tracker for security issues.
+4) Report security issues to the Joomla! Security Strike Team (JSST) at security@joomla.org or use the [JSST contact form](https://developer.joomla.org/contact-security-team.html). Please do not use the public tracker for security issues.
Please be patient as not all items will be tested immediately (remember, all bug testing for the Joomla! CMS is done by volunteers) and be receptive to feedback about your code.
@@ -21,6 +21,5 @@ There are other branches available which serve specific purposes.
| ------ | ------- |
| staging | Current codebase. |
| master | Each commit made to staging gets tested if it passes unit tests and codestyle rules. It is then merged into master. This is done automatically. |
-| 2.5.x | Branch for the Joomla 2.5.x series. Currently in maintenance mode with EOL end of 2014. No new features are accepted here. |
-| 3.2.x | Branch for the Joomla 3.2.x series. Currently in security mode with EOL Oct 2014. Only security issues are fixed. |
-| 3.4-dev | Branch for the next minor Joomla version. New backward compatible features go into this branch. Commits to staging will be applied to this branch as well. |
+| 2.5.x | Branch for the Joomla 2.5.x series. Support for this version has ended, no patches are accepted here. |
+| 3.6.x | Branch for the next minor Joomla version. New backward compatible features go into this branch. Commits to staging will be applied to this branch as well. |
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000000000..722c66ca930c7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,18 @@
+#### Steps to reproduce the issue
+
+
+
+#### Expected result
+
+
+
+#### Actual result
+
+
+
+#### System information (as much as possible)
+
+
+
+#### Additional comments
+
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000000000..2434a62ddbf49
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,5 @@
+Pull Request for Issue # .
+
+#### Summary of Changes
+
+#### Testing Instructions
diff --git a/.gitignore b/.gitignore
index d8ef0e38896fd..9cfa3c08dc80d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,6 +64,8 @@ Desktop.ini
/libraries/vendor/ircmaxell/password-compat/phpunit.xml.dist
/libraries/vendor/ircmaxell/password-compat/README.md
/libraries/vendor/ircmaxell/password-compat/version-test.php
+/libraries/vendor/joomla/*/.gitignore
+/libraries/vendor/joomla/*/.gitmodules
/libraries/vendor/joomla/*/docs
/libraries/vendor/joomla/*/Tests
/libraries/vendor/joomla/*/vendor
@@ -87,6 +89,17 @@ Desktop.ini
/libraries/vendor/leafo/lessphp/Makefile
/libraries/vendor/leafo/lessphp/package.sh
/libraries/vendor/leafo/lessphp/README.md
+/libraries/vendor/paragonie/random_compat/.gitignore
+/libraries/vendor/paragonie/random_compat/.scrutinizer.yml
+/libraries/vendor/paragonie/random_compat/.travis.yml
+/libraries/vendor/paragonie/random_compat/dist
+/libraries/vendor/paragonie/random_compat/other
+/libraries/vendor/paragonie/random_compat/CHANGELOG.md
+/libraries/vendor/paragonie/random_compat/ERRATA.md
+/libraries/vendor/paragonie/random_compat/README.md
+/libraries/vendor/paragonie/random_compat/SECURITY.md
+/libraries/vendor/paragonie/random_compat/composer.json
+/libraries/vendor/paragonie/random_compat/tests
/libraries/vendor/phpmailer/phpmailer/docs
/libraries/vendor/phpmailer/phpmailer/examples
/libraries/vendor/phpmailer/phpmailer/language
@@ -98,10 +111,17 @@ Desktop.ini
/libraries/vendor/phpmailer/phpmailer/composer.json
/libraries/vendor/phpmailer/phpmailer/README.md
/libraries/vendor/phpmailer/phpmailer/travis.phpunit.xml.dist
+/libraries/vendor/phpmailer/phpmailer/extras/README.md
+/libraries/vendor/phpmailer/phpmailer/get_oauth_token.php
/libraries/vendor/psr/log/Psr/Log/Test
/libraries/vendor/psr/log/.gitignore
/libraries/vendor/psr/log/composer.json
/libraries/vendor/psr/log/README.md
+/libraries/vendor/symfony/polyfill-php56/composer.json
+/libraries/vendor/symfony/polyfill-php56/README.md
+/libraries/vendor/symfony/polyfill-util/composer.json
+/libraries/vendor/symfony/polyfill-util/README.md
+/libraries/vendor/symfony/polyfill-util/TestListener.php
/libraries/vendor/symfony/yaml/Tests
/libraries/vendor/symfony/yaml/.gitignore
/libraries/vendor/symfony/yaml/CHANGELOG.md
diff --git a/.travis.yml b/.travis.yml
index 10837ae2ab437..6d528c3ffd0fd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,14 +3,32 @@ sudo: false
language: php
-php:
- - 5.3
- - 5.4
- - 5.5
- - 5.6
- - 7.0
+env:
+ global:
+ - RUN_PHPCS="no"
+ - INSTALL_MEMCACHE="yes"
+ - INSTALL_MEMCACHED="yes"
+ - INSTALL_REDIS="yes"
+
+matrix:
+ include:
+ - php: 5.3
+ env: INSTALL_APC="yes"
+ - php: 5.4
+ env: INSTALL_APC="yes"
+ - php: 5.5
+ env: INSTALL_APCU="yes"
+ - php: 5.6
+ env: RUN_PHPCS="yes" INSTALL_APCU="yes"
+ - php: 7.0
+ env: INSTALL_APCU="yes" INSTALL_APCU_BC_BETA="no" INSTALL_MEMCACHE="no" INSTALL_MEMCACHED="no" INSTALL_REDIS="no" # Disabled apcu_bc install until https://github.com/travis-ci/travis-ci/issues/5207 is resolved
+ - php: hhvm
+ env: INSTALL_APCU_BC_BETA="no" INSTALL_MEMCACHE="no" INSTALL_MEMCACHED="no" INSTALL_REDIS="no" # Disabled items that currently do not work in travis-ci hhvm
+ allow_failures:
+ - php: hhvm
services:
+ - memcache
- memcached
- redis-server
@@ -25,16 +43,17 @@ before_script:
# Set up Apache
# - ./build/travis/php-apache.sh
# Enable additional PHP extensions
- - if [ $TRAVIS_PHP_VERSION != "7.0" ]; then phpenv config-add build/travis/phpenv/memcached.ini; fi
- # PHP 5.3 and 5.4 use APC
- - if [ $TRAVIS_PHP_VERSION == "5.3" ] || [ $TRAVIS_PHP_VERSION == "5.4" ]; then phpenv config-add build/travis/phpenv/apc-$TRAVIS_PHP_VERSION.ini; fi
- # PHP 5.5+ use APCu
- - if [ $TRAVIS_PHP_VERSION == "5.5" ] || [ $TRAVIS_PHP_VERSION == "5.6" ]; then printf "\n" | pecl install apcu-beta; fi
- - if [ $TRAVIS_PHP_VERSION != "7.0" ]; then phpenv config-add build/travis/phpenv/redis.ini; fi
+ - if [[ $INSTALL_MEMCACHE == "yes" ]]; then phpenv config-add build/travis/phpenv/memcached.ini; fi
+ - if [[ $INSTALL_MEMCACHED == "yes" ]]; then phpenv config-add build/travis/phpenv/memcached.ini; fi
+ - if [[ $INSTALL_APC == "yes" ]]; then phpenv config-add build/travis/phpenv/apc-$TRAVIS_PHP_VERSION.ini; fi
+ - if [[ $INSTALL_APCU == "yes" && $TRAVIS_PHP_VERSION = 5.* ]]; then printf "\n" | pecl install apcu-4.0.10 && phpenv config-add build/travis/phpenv/apcu-$TRAVIS_PHP_VERSION.ini; fi
+ - if [[ $INSTALL_APCU == "yes" && $TRAVIS_PHP_VERSION = 7.* ]]; then printf "\n" | pecl install apcu-beta && phpenv config-add build/travis/phpenv/apcu-$TRAVIS_PHP_VERSION.ini; fi
+ - if [[ $INSTALL_APCU_BC_BETA == "yes" ]]; then printf "\n" | pecl install apcu_bc-beta; fi
+ - if [[ $INSTALL_REDIS == "yes" ]]; then phpenv config-add build/travis/phpenv/redis.ini; fi
script:
- libraries/vendor/bin/phpunit --configuration travisci-phpunit.xml
- - if [ $TRAVIS_PHP_VERSION != "7.0" ]; then libraries/vendor/bin/phpcs --report=full --extensions=php -p --standard=build/phpcs/Joomla .; fi
+ - if [[ $RUN_PHPCS == "yes" ]]; then libraries/vendor/bin/phpcs --report=full --extensions=php -p --standard=build/phpcs/Joomla .; fi
branches:
except:
diff --git a/README.md b/README.md
index 12d2a28c5f4a9..6ade44bbbb16d 100644
--- a/README.md
+++ b/README.md
@@ -3,14 +3,14 @@ Joomla! CMS™ [![Analytics](https://ga-beacon.appspot.com/UA-544070-3/joomla-cm
Build Status
---------------------
-Travis-CI: [![Build Status](https://travis-ci.org/joomla/joomla-cms.png)](https://travis-ci.org/joomla/joomla-cms)
+Travis-CI: [![Build Status](https://travis-ci.org/joomla/joomla-cms.svg?branch=staging)](https://travis-ci.org/joomla/joomla-cms)
Jenkins: [![Build Status](http://build.joomla.org/job/cms/badge/icon)](http://build.joomla.org/job/cms/)
What is this?
---------------------
* This is a Joomla! 3.x installation/upgrade package.
* Joomla's [Official website](https://www.joomla.org).
-* Joomla! 3.4 [version history](https://docs.joomla.org/Joomla_3.4_version_history).
+* Joomla! 3.5 [version history](https://docs.joomla.org/Joomla_3.5_version_history).
* Detailed changes are in the [changelog](https://github.com/joomla/joomla-cms/commits/master).
What is Joomla?
@@ -79,13 +79,13 @@ Do you want to improve Joomla?
--------------------
* How do you [request a feature](https://docs.joomla.org/How_do_you_request_a_feature%3F)?
* How do you [report a bug](https://docs.joomla.org/Filing_bugs_and_issues)?
-* Get Involved: Joomla! is community developed software. [Join the community](http://volunteers.joomla.org/).
+* Get Involved: Joomla! is community developed software. [Join the community](https://volunteers.joomla.org/).
* Documentation for [Developers](https://docs.joomla.org/Developers).
* Documentation for [Web designers](https://docs.joomla.org/Web_designers).
Copyright
---------------------
-* Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.
+* Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.
* [Special Thanks](https://docs.joomla.org/Joomla!_Credits_and_Thanks)
* Distributed under the GNU General Public License version 2 or later
* See [License details](https://docs.joomla.org/Joomla_Licenses)
diff --git a/README.txt b/README.txt
index f05a127c06132..741ce6ac10ba6 100644
--- a/README.txt
+++ b/README.txt
@@ -1,7 +1,7 @@
1- What is this?
* This is a Joomla! installation/upgrade package to version 3.x
* Joomla! Official site: https://www.joomla.org
- * Joomla! 3.4 version history - https://docs.joomla.org/Joomla_3.4_version_history
+ * Joomla! 3.5 version history - https://docs.joomla.org/Joomla_3.5_version_history
* Detailed changes in the Changelog: https://github.com/joomla/joomla-cms/commits/master
2- What is Joomla?
@@ -60,12 +60,12 @@
12- Do you want to improve Joomla?
* How do you request a feature? https://docs.joomla.org/How_do_you_request_a_feature%3F
* How do you report a bug? https://docs.joomla.org/Filing_bugs_and_issues
- * Get Involved: Joomla! is a community developed software. Join the community at http://volunteers.joomla.org/
+ * Get Involved: Joomla! is a community developed software. Join the community at https://volunteers.joomla.org/
* Are you a Developer? https://docs.joomla.org/Developers
* Are you a Web designer? https://docs.joomla.org/Web_designers
Copyright:
- * Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.
+ * Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.
* Special Thanks: https://docs.joomla.org/Joomla!_Credits_and_Thanks
* Distributed under the GNU General Public License version 2 or later
* See Licenses details at https://docs.joomla.org/Joomla_Licenses
diff --git a/administrator/components/com_admin/admin.php b/administrator/components/com_admin/admin.php
index 267127a92c6e5..6e6070e94c736 100644
--- a/administrator/components/com_admin/admin.php
+++ b/administrator/components/com_admin/admin.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/admin.xml b/administrator/components/com_admin/admin.xml
index 2b24adc0bd93f..17e6b4c535508 100644
--- a/administrator/components/com_admin/admin.xml
+++ b/administrator/components/com_admin/admin.xml
@@ -3,7 +3,7 @@
com_adminJoomla! ProjectApril 2006
- (C) 2005 - 2015 Open Source Matters. All rights reserved.
+ (C) 2005 - 2016 Open Source Matters. All rights reserved.GNU General Public License version 2 or later; see LICENSE.txtadmin@joomla.orgwww.joomla.org
diff --git a/administrator/components/com_admin/controller.php b/administrator/components/com_admin/controller.php
index c5d3a24e92de5..c8f1fa7d86b59 100644
--- a/administrator/components/com_admin/controller.php
+++ b/administrator/components/com_admin/controller.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/controllers/profile.php b/administrator/components/com_admin/controllers/profile.php
index ccfb0eb9bee8f..b34ea7c252f8e 100644
--- a/administrator/components/com_admin/controllers/profile.php
+++ b/administrator/components/com_admin/controllers/profile.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/helpers/html/directory.php b/administrator/components/com_admin/helpers/html/directory.php
index 70eb5e0df9dfe..a4c7cdb583376 100644
--- a/administrator/components/com_admin/helpers/html/directory.php
+++ b/administrator/components/com_admin/helpers/html/directory.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/helpers/html/phpsetting.php b/administrator/components/com_admin/helpers/html/phpsetting.php
index 312c15c4b94c7..77dbdbd93b28a 100644
--- a/administrator/components/com_admin/helpers/html/phpsetting.php
+++ b/administrator/components/com_admin/helpers/html/phpsetting.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/helpers/html/system.php b/administrator/components/com_admin/helpers/html/system.php
index 33b7a840d5cca..448f38609e90c 100644
--- a/administrator/components/com_admin/helpers/html/system.php
+++ b/administrator/components/com_admin/helpers/html/system.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/models/help.php b/administrator/components/com_admin/models/help.php
index 1b07a6358e13b..f18f7f2a155c3 100644
--- a/administrator/components/com_admin/models/help.php
+++ b/administrator/components/com_admin/models/help.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/models/profile.php b/administrator/components/com_admin/models/profile.php
index a825833f54015..e97d292bd73f0 100644
--- a/administrator/components/com_admin/models/profile.php
+++ b/administrator/components/com_admin/models/profile.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/models/sysinfo.php b/administrator/components/com_admin/models/sysinfo.php
index 30f538b2fa90b..380811284370d 100644
--- a/administrator/components/com_admin/models/sysinfo.php
+++ b/administrator/components/com_admin/models/sysinfo.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -50,6 +50,95 @@ class AdminModelSysInfo extends JModelLegacy
*/
protected $php_info = null;
+ /**
+ * Array containing the phpinfo() data.
+ *
+ * @var array
+ *
+ * @since 3.5
+ */
+ protected $phpInfoArray;
+
+ /**
+ * Private/critical data that we don't want to share
+ *
+ * @var array
+ *
+ * @since 3.5
+ */
+ protected $privateSettings = array(
+ 'phpInfoArray' => array(
+ 'CONTEXT_DOCUMENT_ROOT',
+ 'Cookie',
+ 'DOCUMENT_ROOT',
+ 'extension_dir',
+ 'error_log',
+ 'Host',
+ 'HTTP_COOKIE',
+ 'HTTP_HOST',
+ 'HTTP_ORIGIN',
+ 'HTTP_REFERER',
+ 'HTTP Request',
+ 'include_path',
+ 'mysql.default_socket',
+ 'MYSQL_SOCKET',
+ 'MYSQL_INCLUDE',
+ 'MYSQL_LIBS',
+ 'mysqli.default_socket',
+ 'MYSQLI_SOCKET',
+ 'PATH',
+ 'Path to sendmail',
+ 'pdo_mysql.default_socket',
+ 'Referer',
+ 'REMOTE_ADDR',
+ 'SCRIPT_FILENAME',
+ 'sendmail_path',
+ 'SERVER_ADDR',
+ 'SERVER_ADMIN',
+ 'Server Administrator',
+ 'SERVER_NAME',
+ 'Server Root',
+ 'session.name',
+ 'session.save_path',
+ 'upload_tmp_dir',
+ 'User/Group',
+ 'open_basedir'
+ ),
+ 'other' => array(
+ 'db',
+ 'dbprefix',
+ 'fromname',
+ 'live_site',
+ 'log_path',
+ 'mailfrom',
+ 'memcache_server_host',
+ 'memcached_server_host',
+ 'open_basedir',
+ 'Origin',
+ 'proxy_host',
+ 'proxy_user',
+ 'proxy_pass',
+ 'secret',
+ 'sendmail',
+ 'session.save_path',
+ 'session_memcache_server_host',
+ 'session_memcached_server_host',
+ 'sitename',
+ 'smtphost',
+ 'tmp_path',
+ 'open_basedir'
+ )
+ );
+
+ /**
+ * System values that can be "safely" shared
+ *
+ * @var array
+ *
+ * @since 3.5
+ */
+ protected $safeData;
+
/**
* Information about writable state of directories
*
@@ -66,6 +155,71 @@ class AdminModelSysInfo extends JModelLegacy
*/
protected $editor = null;
+ /**
+ * Remove sections of data marked as private in the privateSettings
+ *
+ * @param array $dataArray Array with data tha may contain private informati
+ * @param string $dataType Type of data to search for an specific section in the privateSettings array
+ *
+ * @return array
+ *
+ * @since 3.5
+ */
+ protected function cleanPrivateData($dataArray, $dataType = 'other')
+ {
+ $dataType = isset($this->privateSettings[$dataType]) ? $dataType : 'other';
+
+ $privateSettings = $this->privateSettings[$dataType];
+
+ if (!$privateSettings)
+ {
+ return $dataArray;
+ }
+
+ foreach ($dataArray as $section => $values)
+ {
+ if (is_array($values))
+ {
+ $dataArray[$section] = $this->cleanPrivateData($values, $dataType);
+ }
+
+ if (in_array($section, $privateSettings, true))
+ {
+ $dataArray[$section] = $this->cleanSectionPrivateData($values);
+ }
+ }
+
+ return $dataArray;
+ }
+
+ /**
+ * Offuscate section values
+ *
+ * @param mixed $sectionValues Section data
+ *
+ * @return mixed
+ *
+ * @since 3.5
+ */
+ protected function cleanSectionPrivateData($sectionValues)
+ {
+ if (!is_array($sectionValues))
+ {
+ if (strstr($sectionValues, JPATH_ROOT))
+ {
+ $sectionValues = 'xxxxxx';
+ }
+ return strlen($sectionValues) ? 'xxxxxx' : '';
+ }
+
+ foreach ($sectionValues as $setting => $value)
+ {
+ $sectionValues[$setting] = strlen($value) ? 'xxxxxx' : '';
+ }
+
+ return $sectionValues;
+ }
+
/**
* Method to get the PHP settings
*
@@ -96,7 +250,8 @@ public function &getPhpSettings()
'zlib' => extension_loaded('zlib'),
'zip' => function_exists('zip_open') && function_exists('zip_read'),
'mbstring' => extension_loaded('mbstring'),
- 'iconv' => function_exists('iconv')
+ 'iconv' => function_exists('iconv'),
+ 'max_input_vars' => ini_get('max_input_vars'),
);
return $this->php_settings;
@@ -142,20 +297,21 @@ public function &getInfo()
return $this->info;
}
- $version = new JVersion;
- $platform = new JPlatform;
- $db = $this->getDbo();
+ $version = new JVersion;
+ $platform = new JPlatform;
+ $db = $this->getDbo();
$this->info = array(
- 'php' => php_uname(),
- 'dbversion' => $db->getVersion(),
- 'dbcollation' => $db->getCollation(),
- 'phpversion' => phpversion(),
- 'server' => isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : getenv('SERVER_SOFTWARE'),
- 'sapi_name' => php_sapi_name(),
- 'version' => $version->getLongVersion(),
- 'platform' => $platform->getLongVersion(),
- 'useragent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ""
+ 'php' => php_uname(),
+ 'dbversion' => $db->getVersion(),
+ 'dbcollation' => $db->getCollation(),
+ 'dbconnectioncollation' => $db->getConnectionCollation(),
+ 'phpversion' => phpversion(),
+ 'server' => isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : getenv('SERVER_SOFTWARE'),
+ 'sapi_name' => php_sapi_name(),
+ 'version' => $version->getLongVersion(),
+ 'platform' => $platform->getLongVersion(),
+ 'useragent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ""
);
return $this->info;
@@ -173,6 +329,37 @@ public function phpinfoEnabled()
return !in_array('phpinfo', explode(',', ini_get('disable_functions')));
}
+ /**
+ * Method to get filter data from the model
+ *
+ * @param string $dataType Type of data to get safely
+ * @param bool $public If true no sensitive information will be removed
+ *
+ * @return array
+ *
+ * @since 3.5
+ */
+ public function getSafeData($dataType, $public = true)
+ {
+ if (isset($this->safeData[$dataType]))
+ {
+ return $this->safeData[$dataType];
+ }
+
+ $methodName = 'get' . ucfirst($dataType);
+
+ if (!method_exists($this, $methodName))
+ {
+ return array();
+ }
+
+ $data = $this->$methodName($public);
+
+ $this->safeData[$dataType] = $this->cleanPrivateData($data, $dataType);
+
+ return $this->safeData[$dataType];
+ }
+
/**
* Method to get the PHP info
*
@@ -212,14 +399,106 @@ public function &getPHPInfo()
return $this->php_info;
}
+ /**
+ * Get phpinfo() output as array
+ *
+ * @return array
+ *
+ * @since 3.5
+ */
+ public function getPhpInfoArray()
+ {
+ // Already cached
+ if (null !== $this->phpInfoArray)
+ {
+ return $this->phpInfoArray;
+ }
+
+ $phpInfo = $this->getPhpInfo();
+
+ $this->phpInfoArray = $this->parsePhpInfo($phpInfo);
+
+ return $this->phpInfoArray;
+ }
+
+ /**
+ * Method to get a list of installed extensions
+ *
+ * @return array installed extensions
+ *
+ * @since 3.5
+ */
+ public function getExtensions()
+ {
+ $installed = array();
+ $db = JFactory::getDbo();
+ $query = $db->getQuery(true)
+ ->select('*')
+ ->from($db->qn('#__extensions'));
+ $db->setQuery($query);
+
+ try
+ {
+ $extensions = $db->loadObjectList();
+ }
+ catch (Exception $e)
+ {
+ JLog::add(JText::sprintf('JLIB_DATABASE_ERROR_FUNCTION_FAILED', $e->getCode(), $e->getMessage()), JLog::WARNING, 'jerror');
+
+ return $installed;
+ }
+
+ if (empty($extensions))
+ {
+ return $installed;
+ }
+
+ foreach ($extensions as $extension)
+ {
+ if (strlen($extension->name) == 0)
+ {
+ continue;
+ }
+
+ $installed[$extension->name] = array(
+ 'name' => $extension->name,
+ 'type' => $extension->type,
+ 'author' => 'unknown',
+ 'version' => 'unknown',
+ 'creationDate' => 'unknown',
+ 'authorUrl' => 'unknown'
+ );
+
+ $manifest = json_decode($extension->manifest_cache);
+
+ if (!$manifest instanceof stdClass)
+ {
+ continue;
+ }
+
+ $extraData = array(
+ 'author' => $manifest->author,
+ 'version' => $manifest->version,
+ 'creationDate' => $manifest->creationDate,
+ 'authorUrl' => $manifest->authorUrl
+ );
+
+ $installed[$extension->name] = array_merge($installed[$extension->name], $extraData);
+ }
+
+ return $installed;
+ }
+
/**
* Method to get the directory states
*
+ * @param bool $public If true no information is going to be removed
+ *
* @return array States of directories
*
* @since 1.6
*/
- public function getDirectory()
+ public function getDirectory($public = false)
{
if (!empty($this->directories))
{
@@ -328,8 +607,16 @@ public function getDirectory()
$this->addDirectory('administrator/cache', JPATH_CACHE, 'COM_ADMIN_CACHE_DIRECTORY');
}
- $this->addDirectory($registry->get('log_path', JPATH_ROOT . '/log'), $registry->get('log_path', JPATH_ROOT . '/log'), 'COM_ADMIN_LOG_DIRECTORY');
- $this->addDirectory($registry->get('tmp_path', JPATH_ROOT . '/tmp'), $registry->get('tmp_path', JPATH_ROOT . '/tmp'), 'COM_ADMIN_TEMP_DIRECTORY');
+ if ($public)
+ {
+ $this->addDirectory('log', $registry->get('log_path', JPATH_ROOT . '/log'), 'COM_ADMIN_LOG_DIRECTORY');
+ $this->addDirectory('tmp', $registry->get('tmp_path', JPATH_ROOT . '/tmp'), 'COM_ADMIN_TEMP_DIRECTORY');
+ }
+ else
+ {
+ $this->addDirectory($registry->get('log_path', JPATH_ROOT . '/log'), $registry->get('log_path', JPATH_ROOT . '/log'), 'COM_ADMIN_LOG_DIRECTORY');
+ $this->addDirectory($registry->get('tmp_path', JPATH_ROOT . '/tmp'), $registry->get('tmp_path', JPATH_ROOT . '/tmp'), 'COM_ADMIN_TEMP_DIRECTORY');
+ }
return $this->directories;
}
@@ -369,4 +656,52 @@ public function &getEditor()
return $this->editor;
}
+
+ /**
+ * Parse phpinfo output into an array
+ * Source https://gist.github.com/sbmzhcn/6255314
+ *
+ * @param string $html Output of phpinfo()
+ *
+ * @return array
+ *
+ * @since 3.5
+ */
+ protected function parsePhpInfo($html)
+ {
+ $html = strip_tags($html, '
]*>([^<]+)<\/h2>/', $t[$i], $matchs))
+ {
+ $name = trim($matchs[1]);
+ $vals = explode("\n", $t[$i + 1]);
+
+ foreach ($vals AS $val)
+ {
+ // 3cols
+ if (preg_match($p2, $val, $matchs))
+ {
+ $r[$name][trim($matchs[1])] = array(trim($matchs[2]), trim($matchs[3]));
+ }
+ // 2cols
+ elseif (preg_match($p3, $val, $matchs))
+ {
+ $r[$name][trim($matchs[1])] = trim($matchs[2]);
+ }
+ }
+ }
+ }
+
+ return $r;
+ }
}
diff --git a/administrator/components/com_admin/postinstall/eaccelerator.php b/administrator/components/com_admin/postinstall/eaccelerator.php
index 619521f24d3d6..41bbba3772dc0 100644
--- a/administrator/components/com_admin/postinstall/eaccelerator.php
+++ b/administrator/components/com_admin/postinstall/eaccelerator.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* This file contains post-installation message handling for eAccelerator compatibility.
diff --git a/administrator/components/com_admin/postinstall/htaccess.php b/administrator/components/com_admin/postinstall/htaccess.php
index a6e816d00a6a6..7f6e3c213d7f8 100644
--- a/administrator/components/com_admin/postinstall/htaccess.php
+++ b/administrator/components/com_admin/postinstall/htaccess.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* This file contains post-installation message handling for notifying users of a change
diff --git a/administrator/components/com_admin/postinstall/languageaccess340.php b/administrator/components/com_admin/postinstall/languageaccess340.php
index 431854d9267dd..3d483e99507b4 100644
--- a/administrator/components/com_admin/postinstall/languageaccess340.php
+++ b/administrator/components/com_admin/postinstall/languageaccess340.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* This file contains post-installation message handling for the checks if the installation is
diff --git a/administrator/components/com_admin/postinstall/phpversion.php b/administrator/components/com_admin/postinstall/phpversion.php
index 39fa54c58cb7c..5ace364fd8136 100644
--- a/administrator/components/com_admin/postinstall/phpversion.php
+++ b/administrator/components/com_admin/postinstall/phpversion.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* This file contains post-installation message handling for the checking minimum PHP version support
diff --git a/administrator/components/com_admin/postinstall/statscollection.php b/administrator/components/com_admin/postinstall/statscollection.php
new file mode 100644
index 0000000000000..d5aa1a02996e4
--- /dev/null
+++ b/administrator/components/com_admin/postinstall/statscollection.php
@@ -0,0 +1,24 @@
+updateDatabase();
$this->clearRadCache();
$this->updateAssets();
+ $this->clearStatsCache();
+ $this->convertTablesToUtf8mb4();
+ $this->cleanJoomlaCache();
+
+ // VERY IMPORTANT! THIS METHOD SHOULD BE CALLED LAST, SINCE IT COULD
+ // LOGOUT ALL THE USERS
+ $this->flushSessions();
+ }
+
+ /**
+ * Method to clear our stats plugin cache to ensure we get fresh data on Joomla Update
+ *
+ * @return void
+ *
+ * @since 3.5
+ */
+ protected function clearStatsCache()
+ {
+ $db = JFactory::getDbo();
+
+ try
+ {
+ // Get the params for the stats plugin
+ $params = $db->setQuery(
+ $db->getQuery(true)
+ ->select($db->quoteName('params'))
+ ->from($db->quoteName('#__extensions'))
+ ->where($db->quoteName('type') . ' = ' . $db->quote('plugin'))
+ ->where($db->quoteName('folder') . ' = ' . $db->quote('system'))
+ ->where($db->quoteName('element') . ' = ' . $db->quote('stats'))
+ )->loadResult();
+ }
+ catch (Exception $e)
+ {
+ echo JText::sprintf('JLIB_DATABASE_ERROR_FUNCTION_FAILED', $e->getCode(), $e->getMessage()) . ' ';
+
+ return;
+ }
+
+ $params = json_decode($params, true);
+
+ // Reset the last run parameter
+ if (isset($params['lastrun']))
+ {
+ $params['lastrun'] = '';
+ }
+
+ $params = json_encode($params);
+
+ $query = $db->getQuery(true)
+ ->update($db->quoteName('#__extensions'))
+ ->set($db->quoteName('params') . ' = ' . $db->quote($params))
+ ->where($db->quoteName('type') . ' = ' . $db->quote('plugin'))
+ ->where($db->quoteName('folder') . ' = ' . $db->quote('system'))
+ ->where($db->quoteName('element') . ' = ' . $db->quote('stats'));
+
+ try
+ {
+ $db->setQuery($query)->execute();
+ }
+ catch (Exception $e)
+ {
+ echo JText::sprintf('JLIB_DATABASE_ERROR_FUNCTION_FAILED', $e->getCode(), $e->getMessage()) . ' ';
+
+ return;
+ }
}
/**
@@ -275,6 +341,7 @@ protected function updateManifestCaches()
array('plugin', 'yubikey', 'twofactorauth', 0),
array('plugin', 'updatenotification', 'system', 0),
array('plugin', 'module', 'editors-xtd', 0),
+ array('plugin', 'stats', 'system', 0),
// Templates
array('template', 'beez3', '', 0),
@@ -341,18 +408,29 @@ protected function updateManifestCaches()
public function deleteUnexistingFiles()
{
$files = array(
+ // Joomla 1.6 - 1.7 - 2.5
'/libraries/cms/cmsloader.php',
+ '/libraries/joomla/database/databaseexception.php',
+ '/libraries/joomla/database/databasequery.php',
+ '/libraries/joomla/environment/response.php',
'/libraries/joomla/form/fields/templatestyle.php',
'/libraries/joomla/form/fields/user.php',
'/libraries/joomla/form/fields/menu.php',
'/libraries/joomla/form/fields/helpsite.php',
+ '/libraries/joomla/github/gists.php',
+ '/libraries/joomla/github/issues.php',
+ '/libraries/joomla/github/pulls.php',
+ '/libraries/joomla/log/logentry.php',
'/administrator/components/com_admin/sql/updates/mysql/1.7.0.sql',
'/administrator/components/com_admin/sql/updates/sqlsrv/2.5.2-2012-03-05.sql',
'/administrator/components/com_admin/sql/updates/sqlsrv/2.5.3-2012-03-13.sql',
'/administrator/components/com_admin/sql/updates/sqlsrv/index.html',
+ '/administrator/components/com_content/models/fields/filters.php',
'/administrator/components/com_users/controllers/config.php',
+ '/administrator/components/com_users/helpers/levels.php',
'/administrator/language/en-GB/en-GB.plg_system_finder.ini',
'/administrator/language/en-GB/en-GB.plg_system_finder.sys.ini',
+ '/administrator/modules/mod_quickicon/tmpl/default_button.php',
'/media/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js',
'/media/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js',
'/media/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js',
@@ -425,7 +503,6 @@ public function deleteUnexistingFiles()
'/administrator/components/com_installer/models/fields/group.php',
'/administrator/components/com_installer/models/fields/index.html',
'/administrator/components/com_installer/models/fields/search.php',
- '/administrator/components/com_installer/models/fields/type.php',
'/administrator/components/com_installer/models/forms/index.html',
'/administrator/components/com_installer/models/forms/manage.xml',
'/administrator/components/com_installer/views/install/tmpl/default_form.php',
@@ -1322,7 +1399,15 @@ public function deleteUnexistingFiles()
'/libraries/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ExceptionInterface.php',
'/libraries/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php',
'/libraries/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/RuntimeException.php',
- '/administrator/components/com_tags/helpers/tags.php',
+ '/libraries/vendor/phpmailer/phpmailer/extras/class.html2text.php',
+ '/libraries/joomla/document/error/error.php',
+ '/libraries/joomla/document/feed/feed.php',
+ '/libraries/joomla/document/html/html.php',
+ '/libraries/joomla/document/image/image.php',
+ '/libraries/joomla/document/json/json.php',
+ '/libraries/joomla/document/opensearch/opensearch.php',
+ '/libraries/joomla/document/raw/raw.php',
+ '/libraries/joomla/document/xml/xml.php',
);
// TODO There is an issue while deleting folders using the ftp mode
@@ -1334,9 +1419,6 @@ public function deleteUnexistingFiles()
// Joomla 3.0
'/administrator/components/com_contact/elements',
'/administrator/components/com_content/elements',
- '/administrator/components/com_installer/models/fields',
- '/administrator/components/com_installer/models/forms',
- '/administrator/components/com_modules/models/fields',
'/administrator/components/com_newsfeeds/elements',
'/administrator/components/com_templates/views/prevuuw/tmpl',
'/administrator/components/com_templates/views/prevuuw',
@@ -1413,7 +1495,12 @@ public function deleteUnexistingFiles()
'/libraries/vendor/symfony/yaml/Symfony/Component/Yaml',
'/libraries/vendor/symfony/yaml/Symfony/Component',
'/libraries/vendor/symfony/yaml/Symfony',
- '/administrator/components/com_tags/helpers',
+ '/libraries/joomla/document/error',
+ '/libraries/joomla/document/image',
+ '/libraries/joomla/document/json',
+ '/libraries/joomla/document/opensearch',
+ '/libraries/joomla/document/raw',
+ '/libraries/joomla/document/xml',
);
jimport('joomla.filesystem.file');
@@ -1512,4 +1599,290 @@ public function updateAssets()
return true;
}
+
+ /**
+ * If we migrated the session from the previous system, flush all the active sessions.
+ * Otherwise users will be logged in, but not able to do anything since they don't have
+ * a valid session
+ *
+ * @return boolean
+ */
+ public function flushSessions()
+ {
+ /**
+ * The session may have not been started yet (e.g. CLI-based Joomla! update scripts). Let's make sure we do
+ * have a valid session.
+ */
+ $session = JFactory::getSession();
+
+ /**
+ * Restarting the Session require a new login for the current user so lets check if we have a active session
+ * and only if not restart it.
+ * For B/C reasons we need to use getState as isActive is not available in 2.5
+ */
+ if ($session->getState() !== 'active')
+ {
+ $session->restart();
+ }
+
+ // If $_SESSION['__default'] is no longer set we do not have a migrated session, therefore we can quit.
+ if (!isset($_SESSION['__default']))
+ {
+ return true;
+ }
+
+ $db = JFactory::getDbo();
+
+ try
+ {
+ switch ($db->name)
+ {
+ // MySQL database, use TRUNCATE (faster, more resilient)
+ case 'pdomysql':
+ case 'mysql':
+ case 'mysqli':
+ $db->truncateTable('#__session');
+ break;
+
+ // Non-MySQL databases, use a simple DELETE FROM query
+ default:
+ $query = $db->getQuery(true)
+ ->delete($db->qn('#__session'));
+ $db->setQuery($query)->execute();
+ break;
+ }
+ }
+ catch (Exception $e)
+ {
+ echo JText::sprintf('JLIB_DATABASE_ERROR_FUNCTION_FAILED', $e->getCode(), $e->getMessage()) . ' ';
+
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Converts the site's database tables to support UTF-8 Multibyte.
+ *
+ * Note that this is a modified of InstallerModelDatabase::convertTablesToUtf8mb4()
+ * that doesn't use JDatabase functions introduced in 3.5.0 which would cause errors
+ * when upgrading from a version before 3.5.0
+ *
+ * @return void
+ *
+ * @since 3.5
+ */
+ private function convertTablesToUtf8mb4()
+ {
+ $db = JFactory::getDbo();
+
+ // This is only required for MySQL databases
+ $name = $db->getName();
+
+ if (stristr($name, 'mysql') === false)
+ {
+ return;
+ }
+
+ // Check if utf8mb4 is supported and set required conversion status
+ $utf8mb4Support = false;
+
+ if ($this->serverClaimsUtf8mb4Support($name))
+ {
+ $utf8mb4Support = true;
+ $converted = 2;
+ }
+ else
+ {
+ $converted = 1;
+ }
+
+ // Check conversion status in database
+ $db->setQuery('SELECT ' . $db->quoteName('converted')
+ . ' FROM ' . $db->quoteName('#__utf8_conversion')
+ );
+
+ try
+ {
+ $convertedDB = $db->loadResult();
+ }
+ catch (Exception $e)
+ {
+ JFactory::getApplication()->enqueueMessage(JText::_('JLIB_DATABASE_ERROR_DATABASE_UPGRADE_FAILED'), 'error');
+
+ return;
+ }
+
+ // Nothing to do, saved conversion status from DB is equal to required
+ if ($convertedDB == $converted)
+ {
+ return;
+ }
+
+ // Step 1: Drop indexes later to be added again with column lengths limitations at step 2
+ $fileName1 = JPATH_ADMINISTRATOR . "/components/com_admin/sql/others/mysql/utf8mb4-conversion-01.sql";
+
+ if (is_file($fileName1))
+ {
+ $fileContents1 = @file_get_contents($fileName1);
+ $queries1 = $db->splitSql($fileContents1);
+
+ if (!empty($queries1))
+ {
+ foreach ($queries1 as $query1)
+ {
+ try
+ {
+ $db->setQuery($query1)->execute();
+ }
+ catch (Exception $e)
+ {
+ // If the query fails we will go on. It just means the index to be dropped does not exist.
+ }
+ }
+ }
+ }
+
+ // Step 2: Perform the index modifications and conversions
+ $fileName2 = JPATH_ADMINISTRATOR . "/components/com_admin/sql/others/mysql/utf8mb4-conversion-02.sql";
+
+ if (is_file($fileName2))
+ {
+ $fileContents2 = @file_get_contents($fileName2);
+ $queries2 = $db->splitSql($fileContents2);
+
+ if (!empty($queries2))
+ {
+ foreach ($queries2 as $query2)
+ {
+ // Downgrade the query if utf8mb4 isn't supported
+ if (!$utf8mb4Support)
+ {
+ $query2 = $this->convertUtf8mb4QueryToUtf8($query2);
+ }
+
+ try
+ {
+ $db->setQuery($query2)->execute();
+ }
+ catch (Exception $e)
+ {
+ $converted = 0;
+
+ // Still render the error message from the Exception object
+ JFactory::getApplication()->enqueueMessage($e->getMessage(), 'error');
+ }
+ }
+ }
+ }
+
+ // Show if there was some error
+ if ($converted == 0)
+ {
+ // Show an error message telling to check database problems
+ JFactory::getApplication()->enqueueMessage(JText::_('JLIB_DATABASE_ERROR_DATABASE_UPGRADE_FAILED'), 'error');
+ }
+
+ // Set flag in database if the update is done.
+ $db->setQuery('UPDATE ' . $db->quoteName('#__utf8_conversion')
+ . ' SET ' . $db->quoteName('converted') . ' = ' . $converted . ';')->execute();
+ }
+
+ /**
+ * Does the database server claim to have support for UTF-8 Multibyte (utf8mb4) collation?
+ *
+ * This is a modified version of the function in JDatabase::serverClaimsUtf8mb4Support() - it is
+ * duplicated here for people upgrading from a version lower than 3.5.0 through extension manager
+ * which will still have the old database driver loaded at this point.
+ *
+ * @param string $format The type of database connection.
+ *
+ * @return boolean
+ *
+ * @since 3.5.0
+ */
+ private function serverClaimsUtf8mb4Support($format)
+ {
+ $db = JFactory::getDbo();
+
+ switch ($format)
+ {
+ case 'mysql':
+ $client_version = mysql_get_client_info();
+ $server_version = $db->getVersion();
+ break;
+ case 'mysqli':
+ $client_version = mysqli_get_client_info();
+ $server_version = $db->getVersion();
+ break;
+ case 'pdomysql':
+ $client_version = $db->getOption(PDO::ATTR_CLIENT_VERSION);
+ $server_version = $db->getOption(PDO::ATTR_SERVER_VERSION);
+ break;
+ default:
+ $client_version = false;
+ $server_version = false;
+ }
+
+ if ($client_version && version_compare($server_version, '5.5.3', '>='))
+ {
+ if (strpos($client_version, 'mysqlnd') !== false)
+ {
+ $client_version = preg_replace('/^\D+([\d.]+).*/', '$1', $client_version);
+
+ return version_compare($client_version, '5.0.9', '>=');
+ }
+ else
+ {
+ return version_compare($client_version, '5.5.3', '>=');
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Downgrade a CREATE TABLE or ALTER TABLE query from utf8mb4 (UTF-8 Multibyte) to plain utf8. Used when the server
+ * doesn't support UTF-8 Multibyte.
+ *
+ * This is a modified version of the function in JDatabase::convertUtf8mb4QueryToUtf8() - it is duplicated here for
+ * people upgrading from a version lower than 3.5.0 through extension manager which will still have the old database
+ * driver loaded at this point. This is missing the check for utf8mb4 in JDatabaseDriver we make this check in the
+ * updater elsewhere.
+ *
+ * @param string $query The query to convert
+ *
+ * @return string The converted query
+ *
+ * @since 3.5
+ */
+ private function convertUtf8mb4QueryToUtf8($query)
+ {
+ // If it's not an ALTER TABLE or CREATE TABLE command there's nothing to convert
+ $beginningOfQuery = substr($query, 0, 12);
+ $beginningOfQuery = strtoupper($beginningOfQuery);
+
+ if (!in_array($beginningOfQuery, array('ALTER TABLE ', 'CREATE TABLE')))
+ {
+ return $query;
+ }
+
+ // Replace utf8mb4 with utf8
+ return str_replace('utf8mb4', 'utf8', $query);
+ }
+
+ /**
+ * This method clean the Joomla Cache using the method `clean` from the com_cache model
+ *
+ * @return void
+ *
+ * @since 3.5.1
+ */
+ private function cleanJoomlaCache()
+ {
+ JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_cache/models');
+ $model = JModelLegacy::getInstance('cache', 'CacheModel');
+ $model->clean();
+ }
}
diff --git a/administrator/components/com_admin/sql/others/mysql/utf8mb4-conversion-01.sql b/administrator/components/com_admin/sql/others/mysql/utf8mb4-conversion-01.sql
new file mode 100644
index 0000000000000..cd40e0b8ae7b3
--- /dev/null
+++ b/administrator/components/com_admin/sql/others/mysql/utf8mb4-conversion-01.sql
@@ -0,0 +1,30 @@
+--
+-- Step 1 of the UTF-8 Multibyte (utf8mb4) conversion for MySQL
+--
+-- Drop indexes which will be added again in step 2, utf8mb4-conversion-02.sql.
+--
+-- Do not rename this file or any other of the utf8mb4-conversion-*.sql
+-- files unless you want to change PHP code, too.
+--
+-- This file here will be processed ignoring any exceptions caused by indexes
+-- to be dropped do not exist.
+--
+-- The file for step 2 will the be processed with reporting exceptions.
+--
+
+ALTER TABLE `#__banners` DROP KEY `idx_metakey_prefix`;
+ALTER TABLE `#__banner_clients` DROP KEY `idx_metakey_prefix`;
+ALTER TABLE `#__categories` DROP KEY `idx_path`;
+ALTER TABLE `#__categories` DROP KEY `idx_alias`;
+ALTER TABLE `#__content_types` DROP KEY `idx_alias`;
+ALTER TABLE `#__finder_links` DROP KEY `idx_title`;
+ALTER TABLE `#__menu` DROP KEY `idx_alias`;
+ALTER TABLE `#__menu` DROP KEY `idx_client_id_parent_id_alias_language`;
+ALTER TABLE `#__menu` DROP KEY `idx_path`;
+ALTER TABLE `#__redirect_links` DROP KEY `idx_old_url`;
+ALTER TABLE `#__tags` DROP KEY `idx_path`;
+ALTER TABLE `#__tags` DROP KEY `idx_alias`;
+ALTER TABLE `#__ucm_content` DROP KEY `idx_alias`;
+ALTER TABLE `#__ucm_content` DROP KEY `idx_title`;
+ALTER TABLE `#__ucm_content` DROP KEY `idx_content_type`;
+ALTER TABLE `#__users` DROP KEY `idx_name`;
diff --git a/administrator/components/com_admin/sql/others/mysql/utf8mb4-conversion-02.sql b/administrator/components/com_admin/sql/others/mysql/utf8mb4-conversion-02.sql
new file mode 100644
index 0000000000000..7bb87849af6c6
--- /dev/null
+++ b/administrator/components/com_admin/sql/others/mysql/utf8mb4-conversion-02.sql
@@ -0,0 +1,230 @@
+--
+-- Step 2 of the UTF-8 Multibyte (utf8mb4) conversion for MySQL
+--
+-- Enlarge some database columns to avoid data losses, then convert all tables
+-- to utf8mb4 or utf8, then set default character sets and collations for all
+-- tables, then add back indexes previosly dropped with step 1,
+-- utf8mb4-conversion-01.sql, but addd them back with limited lenghts of
+-- columns.
+--
+-- Do not rename this file or any other of the utf8mb4-conversion-*.sql
+-- files unless you want to change PHP code, too.
+--
+-- IMPORTANT: When adding an index modification to this file for limiting the
+-- length by which one or more columns go into that index,
+--
+-- 1. remember to add the statement to drop the index to the file for step 1,
+-- utf8mb4-conversion-01.sql, and
+--
+-- 2. check if the index is created created or modified in some old schema
+-- update sql in an "ALTER TABLE" statement and limit the column length
+-- there, too ("CREATE TABLE" is ok, no need to modify those).
+--
+-- This file here will the be processed with reporting exceptions, in opposite
+-- to the file for step 1.
+--
+
+--
+-- Step 2.1: Enlarge columns to avoid data loss on later conversion to utf8mb4
+--
+
+ALTER TABLE `#__banners` MODIFY `alias` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__banners` MODIFY `metakey_prefix` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__categories` MODIFY `path` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__categories` MODIFY `alias` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__content_types` MODIFY `type_alias` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__finder_links` MODIFY `title` varchar(400) DEFAULT NULL;
+ALTER TABLE `#__contact_details` MODIFY `alias` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__content` MODIFY `alias` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__menu` MODIFY `alias` varchar(400) NOT NULL COMMENT 'The SEF alias of the menu item.';
+ALTER TABLE `#__newsfeeds` MODIFY `alias` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__tags` MODIFY `path` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__tags` MODIFY `alias` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__ucm_content` MODIFY `core_type_alias` varchar(400) NOT NULL DEFAULT '' COMMENT 'FK to the content types table';
+ALTER TABLE `#__ucm_content` MODIFY `core_title` varchar(400) NOT NULL;
+ALTER TABLE `#__ucm_content` MODIFY `core_alias` varchar(400) NOT NULL DEFAULT '';
+ALTER TABLE `#__users` MODIFY `name` varchar(400) NOT NULL DEFAULT '';
+
+--
+-- Step 2.2: Convert all tables to utf8mb4 chracter set with utf8mb4_unicode_ci collation
+-- except #__finder_xxx tables, those will have utf8mb4_general_ci collation.
+-- Note: The database driver for mysql will change utf8mb4 to utf8 if utf8mb4 is not supported
+--
+
+ALTER TABLE `#__assets` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__associations` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__banners` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__banner_clients` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__banner_tracks` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__categories` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__contact_details` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__content` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__content_frontpage` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__content_rating` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__content_types` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__contentitem_tag_map` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__core_log_searches` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__extensions` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__finder_filters` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms0` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms3` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms4` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms5` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms6` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms7` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms8` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms9` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsa` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsb` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsc` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsd` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termse` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsf` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_taxonomy` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_taxonomy_map` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_terms` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_terms_common` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_tokens` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_tokens_aggregate` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_types` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__languages` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__menu_types` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__messages` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__messages_cfg` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__modules` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__modules_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__newsfeeds` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__overrider` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__postinstall_messages` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__redirect_links` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__schemas` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__session` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__tags` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__template_styles` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__ucm_base` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__ucm_content` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__ucm_history` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__updates` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__update_sites` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__update_sites_extensions` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__usergroups` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__users` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__user_keys` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__user_notes` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__user_profiles` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__user_usergroup_map` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__utf8_conversion` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__viewlevels` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+
+--
+-- Step 2.3: Set collation to utf8mb4_bin for formerly utf8_bin collated columns
+-- and for the lang_code column of the languages table
+--
+
+ALTER TABLE `#__banners` MODIFY `alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
+ALTER TABLE `#__categories` MODIFY `alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
+ALTER TABLE `#__contact_details` MODIFY `alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
+ALTER TABLE `#__content` MODIFY `alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
+ALTER TABLE `#__languages` MODIFY `lang_code` char(7) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
+ALTER TABLE `#__menu` MODIFY `alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'The SEF alias of the menu item.';
+ALTER TABLE `#__newsfeeds` MODIFY `alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
+ALTER TABLE `#__tags` MODIFY `alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
+ALTER TABLE `#__ucm_content` MODIFY `core_alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
+
+--
+-- Step 2.4: Set default character set and collation for all tables
+--
+
+ALTER TABLE `#__assets` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__associations` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__banners` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__banner_clients` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__banner_tracks` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__categories` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__contact_details` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__content` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__content_frontpage` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__content_rating` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__content_types` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__contentitem_tag_map` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__core_log_searches` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__extensions` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__finder_filters` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms0` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms1` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms2` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms3` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms4` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms5` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms6` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms7` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms8` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_terms9` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsa` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsb` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsc` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsd` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termse` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_links_termsf` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_taxonomy` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_taxonomy_map` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_terms` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_terms_common` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_tokens` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_tokens_aggregate` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__finder_types` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
+ALTER TABLE `#__languages` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__menu` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__menu_types` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__messages` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__messages_cfg` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__modules` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__modules_menu` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__newsfeeds` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__overrider` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__postinstall_messages` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__redirect_links` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__schemas` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__session` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__tags` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__template_styles` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__ucm_base` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__ucm_content` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__ucm_history` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__updates` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__update_sites` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__update_sites_extensions` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__usergroups` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__users` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__user_keys` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__user_notes` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__user_profiles` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__user_usergroup_map` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__utf8_conversion` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+ALTER TABLE `#__viewlevels` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+
+--
+-- Step 2.5: Limit indexes to first 100 so their max allowed lengths would not get exceeded with utf8mb4
+--
+
+ALTER TABLE `#__banners` ADD KEY `idx_metakey_prefix` (`metakey_prefix`(100));
+ALTER TABLE `#__banner_clients` ADD KEY `idx_metakey_prefix` (`metakey_prefix`(100));
+ALTER TABLE `#__categories` ADD KEY `idx_path` (`path`(100));
+ALTER TABLE `#__categories` ADD KEY `idx_alias` (`alias`(100));
+ALTER TABLE `#__content_types` ADD KEY `idx_alias` (`type_alias`(100));
+ALTER TABLE `#__finder_links` ADD KEY `idx_title` (`title`(100));
+ALTER TABLE `#__menu` ADD KEY `idx_alias` (`alias`(100));
+ALTER TABLE `#__menu` ADD UNIQUE `idx_client_id_parent_id_alias_language` (`client_id`,`parent_id`,`alias`(100),`language`);
+ALTER TABLE `#__menu` ADD KEY `idx_path` (`path`(100));
+ALTER TABLE `#__redirect_links` ADD KEY `idx_old_url` (`old_url`(100));
+ALTER TABLE `#__tags` ADD KEY `idx_path` (`path`(100));
+ALTER TABLE `#__tags` ADD KEY `idx_alias` (`alias`(100));
+ALTER TABLE `#__ucm_content` ADD KEY `idx_alias` (`core_alias`(100));
+ALTER TABLE `#__ucm_content` ADD KEY `idx_title` (`core_title`(100));
+ALTER TABLE `#__ucm_content` ADD KEY `idx_content_type` (`core_type_alias`(100));
+ALTER TABLE `#__users` ADD KEY `idx_name` (`name`(100));
diff --git a/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-21-1.sql b/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-21-1.sql
index b5f69d4ceb7db..933e10eea633f 100644
--- a/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-21-1.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-21-1.sql
@@ -2,7 +2,7 @@ INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`
(27, 'com_finder', 'component', 'com_finder', '', 1, 1, 0, 0, '', '{"show_description":"1","description_length":255,"allow_empty_query":"0","show_url":"1","show_advanced":"1","expand_advanced":"0","show_date_filters":"0","highlight_terms":"1","opensearch_name":"","opensearch_description":"","batch_size":"50","memory_table_limit":30000,"title_multiplier":"1.7","text_multiplier":"0.7","meta_multiplier":"1.2","path_multiplier":"2.0","misc_multiplier":"0.3","stemmer":"porter_en"}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
(439, 'plg_captcha_recaptcha', 'plugin', 'recaptcha', 'captcha', 0, 1, 1, 0, '{}', '{"public_key":"","private_key":"","theme":"clean"}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
(440, 'plg_system_highlight', 'plugin', 'highlight', 'system', 0, 1, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 7, 0),
-(441, 'plg_content_finder', 'plugin', 'finder', 'content', 0, 0, 1, 0, '{"legacy":false,"name":"plg_content_finder","type":"plugin","creationDate":"December 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"1.7.0","description":"PLG_CONTENT_FINDER_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+(441, 'plg_content_finder', 'plugin', 'finder', 'content', 0, 0, 1, 0, '{"legacy":false,"name":"plg_content_finder","type":"plugin","creationDate":"December 2011","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"1.7.0","description":"PLG_CONTENT_FINDER_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
(442, 'plg_finder_categories', 'plugin', 'categories', 'finder', 0, 1, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 1, 0),
(443, 'plg_finder_contacts', 'plugin', 'contacts', 'finder', 0, 1, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 2, 0),
(444, 'plg_finder_content', 'plugin', 'content', 'finder', 0, 1, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 3, 0),
diff --git a/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-24.sql b/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-24.sql
index 8f7014c7014f2..bbaaff3f6193c 100644
--- a/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-24.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/2.5.0-2011-12-24.sql
@@ -1,3 +1,8 @@
ALTER TABLE `#__menu` DROP INDEX `idx_client_id_parent_id_alias`;
-ALTER TABLE `#__menu` ADD UNIQUE `idx_client_id_parent_id_alias_language` ( `client_id` , `parent_id` , `alias` , `language` );
\ No newline at end of file
+--
+-- The following statment had to be modified for utf8mb4 in Joomla! 3.5.1, changing
+-- `alias` to `alias`(100)
+--
+
+ALTER TABLE `#__menu` ADD UNIQUE `idx_client_id_parent_id_alias_language` ( `client_id` , `parent_id` , `alias`(100) , `language` );
\ No newline at end of file
diff --git a/administrator/components/com_admin/sql/updates/mysql/2.5.1-2012-01-26.sql b/administrator/components/com_admin/sql/updates/mysql/2.5.1-2012-01-26.sql
index 45b1b32f9ae08..4a7484a0dc568 100644
--- a/administrator/components/com_admin/sql/updates/mysql/2.5.1-2012-01-26.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/2.5.1-2012-01-26.sql
@@ -1,5 +1,5 @@
INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
-(314, 'mod_version', 'module', 'mod_version', '', 1, 1, 1, 0, '{"legacy":false,"name":"mod_version","type":"module","creationDate":"January 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.0","description":"MOD_VERSION_XML_DESCRIPTION","group":""}', '{"format":"short","product":"1","cache":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
+(314, 'mod_version', 'module', 'mod_version', '', 1, 1, 1, 0, '{"legacy":false,"name":"mod_version","type":"module","creationDate":"January 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.0","description":"MOD_VERSION_XML_DESCRIPTION","group":""}', '{"format":"short","product":"1","cache":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
INSERT INTO `#__modules` (`title`, `note`, `content`, `ordering`, `position`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `published`, `module`, `access`, `showtitle`, `params`, `client_id`, `language`) VALUES
('Joomla Version', '', '', 1, 'footer', 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 1, 'mod_version', 3, 1, '{"format":"short","product":"1","layout":"_:default","moduleclass_sfx":"","cache":"0"}', 1, '*');
diff --git a/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-18.sql b/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-18.sql
index b0f720f91929b..578e3b4405853 100644
--- a/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-18.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-18.sql
@@ -1,5 +1,5 @@
INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
-(28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
+(28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
INSERT INTO `#__menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `ordering`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES
('menu', 'com_joomlaupdate', 'Joomla! Update', '', 'Joomla! Update', 'index.php?option=com_joomlaupdate', 'component', 0, 1, 1, 28, 0, 0, '0000-00-00 00:00:00', 0, 0, 'class:joomlaupdate', 0, '', 41, 42, 0, '*', 1);
diff --git a/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-19.sql b/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-19.sql
index 91535684a87b5..1f43a493b7030 100644
--- a/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-19.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/2.5.4-2012-03-19.sql
@@ -1,6 +1,6 @@
ALTER TABLE `#__languages` ADD COLUMN `access` integer unsigned NOT NULL default 0 AFTER `published`;
-ALTER TABLE `#__languages` ADD KEY `idx_access` (`access`);
+ALTER TABLE `#__languages` ADD INDEX `idx_access` (`access`);
UPDATE `#__categories` SET `extension` = 'com_users.notes' WHERE `extension` = 'com_users';
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.0.0.sql b/administrator/components/com_admin/sql/updates/mysql/3.0.0.sql
index b157675f083cd..3c0deb57c80c0 100644
--- a/administrator/components/com_admin/sql/updates/mysql/3.0.0.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/3.0.0.sql
@@ -1,5 +1,5 @@
-ALTER TABLE `#__users` DROP KEY `usertype`;
-ALTER TABLE `#__session` DROP KEY `whosonline`;
+ALTER TABLE `#__users` DROP INDEX `usertype`;
+ALTER TABLE `#__session` DROP INDEX `whosonline`;
DROP TABLE IF EXISTS `#__update_categories`;
@@ -114,9 +114,9 @@ ALTER TABLE `#__finder_tokens_aggregate` ADD COLUMN `language` char(3) NOT NULL
INSERT INTO `#__extensions`
(`name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`)
VALUES
- ('isis', 'template', 'isis', '', 1, 1, 1, 0, '{"name":"isis","type":"template","creationDate":"3\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_ISIS_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
- ('protostar', 'template', 'protostar', '', 0, 1, 1, 0, '{"name":"protostar","type":"template","creationDate":"4\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_PROTOSTAR_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
- ('beez3', 'template', 'beez3', '', 0, 1, 1, 0, '{"legacy":false,"name":"beez3","type":"template","creationDate":"25 November 2009","author":"Angie Radtke","copyright":"Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.","authorEmail":"a.radtke@derauftritt.de","authorUrl":"http:\\/\\/www.der-auftritt.de","version":"1.6.0","description":"TPL_BEEZ3_XML_DESCRIPTION","group":""}', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
+ ('isis', 'template', 'isis', '', 1, 1, 1, 0, '{"name":"isis","type":"template","creationDate":"3\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_ISIS_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":""}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+ ('protostar', 'template', 'protostar', '', 0, 1, 1, 0, '{"name":"protostar","type":"template","creationDate":"4\\/30\\/2012","author":"Kyle Ledbetter","copyright":"Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"","version":"1.0","description":"TPL_PROTOSTAR_XML_DESCRIPTION","group":""}', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+ ('beez3', 'template', 'beez3', '', 0, 1, 1, 0, '{"legacy":false,"name":"beez3","type":"template","creationDate":"25 November 2009","author":"Angie Radtke","copyright":"Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.","authorEmail":"a.radtke@derauftritt.de","authorUrl":"http:\\/\\/www.der-auftritt.de","version":"1.6.0","description":"TPL_BEEZ3_XML_DESCRIPTION","group":""}', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
INSERT INTO `#__template_styles` (`template`, `client_id`, `home`, `title`, `params`) VALUES
('protostar', 0, '0', 'protostar - Default', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}'),
@@ -139,7 +139,7 @@ SET home = 0
WHERE template = 'bluestork';
INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
-(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
+(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
UPDATE `#__update_sites`
SET location = 'http://update.joomla.org/language/translationlist_3.xml'
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.1.0.sql b/administrator/components/com_admin/sql/updates/mysql/3.1.0.sql
index 1e181ca2fc79f..01b93ec654c73 100644
--- a/administrator/components/com_admin/sql/updates/mysql/3.1.0.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/3.1.0.sql
@@ -156,10 +156,10 @@ CREATE TABLE IF NOT EXISTS `#__ucm_content` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Contains core content data in name spaced fields';
INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
-(29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"legacy":false,"name":"com_tags","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
-(316, 'mod_tags_popular', 'module', 'mod_tags_popular', '', 0, 1, 1, 0, '{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","timeframe":"alltime","owncache":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
-(317, 'mod_tags_similar', 'module', 'mod_tags_similar', '', 0, 1, 1, 0, '{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","matchtype":"any","owncache":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
-(447, 'plg_finder_tags', 'plugin', 'tags', 'finder', 0, 1, 1, 0, '{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
+(29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"legacy":false,"name":"com_tags","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+(316, 'mod_tags_popular', 'module', 'mod_tags_popular', '', 0, 1, 1, 0, '{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","timeframe":"alltime","owncache":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+(317, 'mod_tags_similar', 'module', 'mod_tags_similar', '', 0, 1, 1, 0, '{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","matchtype":"any","owncache":"1"}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+(447, 'plg_finder_tags', 'plugin', 'tags', 'finder', 0, 1, 1, 0, '{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
INSERT INTO `#__menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES
('main', 'com_tags', 'Tags', '', 'Tags', 'index.php?option=com_tags', 'component', 0, 1, 1, 29, 0, '0000-00-00 00:00:00', 0, 1, 'class:tags', 0, '', 45, 46, 0, '', 1);
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql b/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql
index a7eeeb18a65ef..20efac2137959 100644
--- a/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql
@@ -19,13 +19,13 @@ UPDATE `#__extensions` SET `params` = '{"template_positions_display":"0","upload
UPDATE `#__extensions` SET `params` = '{"lineNumbers":"1","lineWrapping":"1","matchTags":"1","matchBrackets":"1","marker-gutter":"1","autoCloseTags":"1","autoCloseBrackets":"1","autoFocus":"1","theme":"default","tabmode":"indent"}' WHERE `extension_id` = 410;
INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
-(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
-(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
(32, 'com_postinstall', 'component', 'com_postinstall', '', 1, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0),
(105, 'FOF', 'library', 'fof', '', 0, 1, 1, 1, '{"legacy":false,"name":"FOF","type":"library","creationDate":"2013-10-08","author":"Nicholas K. Dionysopoulos \/ Akeeba Ltd","copyright":"(C)2011-2013 Nicholas K. Dionysopoulos","authorEmail":"nicholas@akeebabackup.com","authorUrl":"https:\/\/www.akeebabackup.com","version":"2.1.rc4","description":"Framework-on-Framework (FOF) - A rapid component development framework for Joomla!","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
-(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
-(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
-(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
+(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0),
+(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0);
INSERT INTO `#__menu` (`menutype`, `title`, `alias`, `note`, `path`, `link`, `type`, `published`, `parent_id`, `level`, `component_id`, `checked_out`, `checked_out_time`, `browserNav`, `access`, `img`, `template_style_id`, `params`, `lft`, `rgt`, `home`, `language`, `client_id`) VALUES
('main', 'com_postinstall', 'Post-installation messages', '', 'Post-installation messages', 'index.php?option=com_postinstall', 'component', 0, 1, 1, 32, 0, '0000-00-00 00:00:00', 0, 1, 'class:postinstall', 0, '', 45, 46, 0, '*', 1);
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.4.0-2014-09-16.sql b/administrator/components/com_admin/sql/updates/mysql/3.4.0-2014-09-16.sql
index ae45c099bc09f..37620c9c50f00 100644
--- a/administrator/components/com_admin/sql/updates/mysql/3.4.0-2014-09-16.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/3.4.0-2014-09-16.sql
@@ -1,2 +1,6 @@
-ALTER TABLE `#__redirect_links` ADD header smallint(3) NOT NULL DEFAULT 301;
-ALTER TABLE `#__redirect_links` MODIFY new_url varchar(255);
+ALTER TABLE `#__redirect_links` ADD COLUMN `header` smallint(3) NOT NULL DEFAULT 301;
+--
+-- The following statement has to be disabled because it conflicts with
+-- a later change added with Joomla! 3.5.0 for long URLs in this table
+--
+-- ALTER TABLE `#__redirect_links` MODIFY `new_url` varchar(255);
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-07-01.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-07-01.sql
index 7ee66ff2de6c4..e76947836f087 100644
--- a/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-07-01.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-07-01.sql
@@ -1,89 +1,2 @@
--- WARNING: Do not rename this file with a different date. It MUST run before any other table updates when upgrading to Joomla! 3.5.0
-
--- Index and field changes to cater for UTF-8 Multibyte (utf8mb4)
-ALTER TABLE `#__menu` DROP KEY `idx_client_id_parent_id_alias_language`, ADD UNIQUE KEY `idx_client_id_parent_id_alias_language` (`client_id`,`parent_id`,`alias`(191),`language`);
-
-ALTER TABLE `#__redirect_links` DROP KEY `idx_link_old`, ADD UNIQUE KEY `idx_link_old` (`old_url`(191));
-
ALTER TABLE `#__session` MODIFY `session_id` varchar(191) NOT NULL DEFAULT '';
-
ALTER TABLE `#__user_keys` MODIFY `series` varchar(191) NOT NULL;
-
--- Convert utf8_bin collated columns to utf8mb4_bin collation
-ALTER TABLE `#__banners` MODIFY `alias` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
-ALTER TABLE `#__categories` MODIFY `alias` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
-ALTER TABLE `#__contact_details` MODIFY `alias` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
-ALTER TABLE `#__content` MODIFY `alias` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
-ALTER TABLE `#__menu` MODIFY `alias` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'The SEF alias of the menu item.';
-ALTER TABLE `#__newsfeeds` MODIFY `alias` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
-ALTER TABLE `#__tags` MODIFY `alias` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
-ALTER TABLE `#__ucm_content` MODIFY `core_alias` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '';
-
--- Convert all tables to UTF-8 Multibyte (utf8mb4)
-ALTER TABLE `#__assets` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__associations` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__banners` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__banner_clients` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__banner_tracks` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__categories` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__contact_details` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__content` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__content_frontpage` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__content_rating` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__content_types` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__contentitem_tag_map` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__core_log_searches` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__extensions` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_filters` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms0` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms3` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms4` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms5` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms6` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms7` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms8` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_terms9` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_termsa` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_termsb` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_termsc` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_termsd` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_termse` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_links_termsf` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_taxonomy` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_taxonomy_map` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_terms` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_terms_common` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_tokens` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_tokens_aggregate` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__finder_types` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__languages` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__menu_types` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__messages` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__messages_cfg` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__modules` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__modules_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__newsfeeds` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__overrider` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__postinstall_messages` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__redirect_links` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__schemas` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__session` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__tags` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__template_styles` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__ucm_base` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__ucm_content` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__ucm_history` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__updates` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__update_sites` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__update_sites_extensions` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__usergroups` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__users` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__user_keys` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__user_notes` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__user_profiles` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__user_usergroup_map` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-ALTER TABLE `#__viewlevels` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
\ No newline at end of file
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-10-26.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-10-26.sql
index 43051a47355d3..dfc9043ae9c8b 100644
--- a/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-10-26.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-10-26.sql
@@ -1,2 +1,2 @@
-AlTER TABLE `#__contentitem_tag_map` DROP INDEX `idx_tag`;
-AlTER TABLE `#__contentitem_tag_map` DROP INDEX `idx_type`;
+ALTER TABLE `#__contentitem_tag_map` DROP INDEX `idx_tag`;
+ALTER TABLE `#__contentitem_tag_map` DROP INDEX `idx_type`;
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-10-30.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-10-30.sql
new file mode 100644
index 0000000000000..a3fbadebb349c
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-10-30.sql
@@ -0,0 +1 @@
+UPDATE `#__menu` SET `title` = 'com_contact_contacts' WHERE `id` = 8;
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.4.2-2015-05-03.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-11-04.sql
similarity index 83%
rename from administrator/components/com_admin/sql/updates/mysql/3.4.2-2015-05-03.sql
rename to administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-11-04.sql
index e2921fc346193..41eb98fccb3b7 100644
--- a/administrator/components/com_admin/sql/updates/mysql/3.4.2-2015-05-03.sql
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-11-04.sql
@@ -1,2 +1,4 @@
+DELETE FROM `#__menu` WHERE `title` = 'com_messages_read' AND `client_id` = 1;
+
INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
(452, 'plg_system_updatenotification', 'plugin', 'updatenotification', 'system', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-11-05.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-11-05.sql
new file mode 100644
index 0000000000000..4f75f640e3a56
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2015-11-05.sql
@@ -0,0 +1,6 @@
+INSERT INTO `#__extensions` (`extension_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES
+(454, 'plg_system_stats', 'plugin', 'stats', 'system', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);
+
+INSERT INTO `#__postinstall_messages` (`extension_id`, `title_key`, `description_key`, `action_key`, `language_extension`, `language_client_id`, `type`, `action_file`, `action`, `condition_file`, `condition_method`, `version_introduced`, `enabled`)
+VALUES
+(700, 'COM_CPANEL_MSG_STATS_COLLECTION_TITLE', 'COM_CPANEL_MSG_STATS_COLLECTION_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/statscollection.php', 'admin_postinstall_statscollection_condition', '3.5.0', 1);
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.5.0-2016-02-26.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2016-02-26.sql
new file mode 100644
index 0000000000000..0aa843cbfbc91
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2016-02-26.sql
@@ -0,0 +1,14 @@
+--
+-- Create a table for UTF-8 Multibyte (utf8mb4) conversion for MySQL in
+-- order to check if the conversion has been performed and if not show a
+-- message about database problem in the database schema view.
+--
+-- The value of `converted` can be 0 (not converted yet after update),
+-- 1 (converted to utf8), or 2 (converted to utf8mb4).
+--
+
+CREATE TABLE IF NOT EXISTS `#__utf8_conversion` (
+ `converted` tinyint(4) NOT NULL DEFAULT 0
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci;
+
+INSERT INTO `#__utf8_conversion` (`converted`) VALUES (0);
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.5.0-2016-03-01.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2016-03-01.sql
new file mode 100644
index 0000000000000..38ab528a6cadd
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.0-2016-03-01.sql
@@ -0,0 +1,5 @@
+ALTER TABLE `#__redirect_links` DROP INDEX `idx_link_old`;
+ALTER TABLE `#__redirect_links` MODIFY `old_url` VARCHAR(2048) NOT NULL;
+ALTER TABLE `#__redirect_links` MODIFY `new_url` VARCHAR(2048) NOT NULL;
+ALTER TABLE `#__redirect_links` MODIFY `referer` VARCHAR(2048) NOT NULL;
+ALTER TABLE `#__redirect_links` ADD INDEX `idx_old_url` (`old_url`(100));
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.5.1-2016-03-25.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.1-2016-03-25.sql
new file mode 100644
index 0000000000000..f6c320b8cc24e
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.1-2016-03-25.sql
@@ -0,0 +1,5 @@
+--
+-- Make #__user_keys.user_id fit to #__users.username
+--
+
+ALTER TABLE `#__user_keys` MODIFY `user_id` varchar(150) NOT NULL;
diff --git a/administrator/components/com_admin/sql/updates/mysql/3.5.1-2016-03-29.sql b/administrator/components/com_admin/sql/updates/mysql/3.5.1-2016-03-29.sql
new file mode 100644
index 0000000000000..86ecda89c6258
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/mysql/3.5.1-2016-03-29.sql
@@ -0,0 +1,7 @@
+--
+-- Reset UTF-8 Multibyte (utf8mb4) or UTF-8 conversion status
+-- to force a new conversion when updating from version 3.5.0
+--
+
+UPDATE `#__utf8_conversion` SET `converted` = 0
+ WHERE (SELECT COUNT(*) FROM `#__schemas` WHERE `extension_id`=700 AND `version_id` LIKE '3.5.0%') = 1;
\ No newline at end of file
diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.1.0.sql b/administrator/components/com_admin/sql/updates/postgresql/3.1.0.sql
index 202896757b60f..fe5c364e0a808 100644
--- a/administrator/components/com_admin/sql/updates/postgresql/3.1.0.sql
+++ b/administrator/components/com_admin/sql/updates/postgresql/3.1.0.sql
@@ -47,7 +47,7 @@ CREATE TABLE "#__contentitem_tag_map" (
CONSTRAINT "uc_ItemnameTagid" UNIQUE ("type_alias", "content_item_id", "tag_id")
);
-CREATE INDEX "#__contentitem_tag_map_idx_tag_name" ON "#__contentitem_tag_map" ("tag_id", "type_alias");
+CREATE INDEX "#__contentitem_tag_map_idx_tag_type" ON "#__contentitem_tag_map" ("tag_id", "type_alias");
CREATE INDEX "#__contentitem_tag_map_idx_date_id" ON "#__contentitem_tag_map" ("tag_date", "tag_id");
CREATE INDEX "#__contentitem_tag_map_idx_tag" ON "#__contentitem_tag_map" ("tag_id");
CREATE INDEX "#__contentitem_tag_map_idx_core_content_id" ON "#__contentitem_tag_map" ("core_content_id");
@@ -183,11 +183,11 @@ CREATE INDEX "#__ucm_content_idx_core_type_id" ON "#__ucm_content" ("core_type_i
-- Add extensions table records
--
INSERT INTO "#__extensions" ("extension_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES
-(29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"legacy":false,"name":"com_tags","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
-(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
-(316, 'mod_tags_popular', 'module', 'mod_tags_popular', '', 0, 1, 1, 0, '{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","timeframe":"alltime","owncache":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
-(317, 'mod_tags_similar', 'module', 'mod_tags_similar', '', 0, 1, 1, 0, '{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","matchtype":"any","owncache":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
-(447, 'plg_finder_tags', 'plugin', 'tags', 'finder', 0, 1, 1, 0, '{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0);
+(29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"legacy":false,"name":"com_tags","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
+(315, 'mod_stats_admin', 'module', 'mod_stats_admin', '', 1, 1, 1, 0, '{"name":"mod_stats_admin","type":"module","creationDate":"September 2012","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"MOD_STATS_XML_DESCRIPTION","group":""}', '{"serverinfo":"0","siteinfo":"0","counter":"0","increase":"0","cache":"1","cache_time":"900","cachemode":"static"}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
+(316, 'mod_tags_popular', 'module', 'mod_tags_popular', '', 0, 1, 1, 0, '{"name":"mod_tags_popular","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_POPULAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","timeframe":"alltime","owncache":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
+(317, 'mod_tags_similar', 'module', 'mod_tags_similar', '', 0, 1, 1, 0, '{"name":"mod_tags_similar","type":"module","creationDate":"January 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"MOD_TAGS_SIMILAR_XML_DESCRIPTION","group":""}', '{"maximum":"5","matchtype":"any","owncache":"1"}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
+(447, 'plg_finder_tags', 'plugin', 'tags', 'finder', 0, 1, 1, 0, '{"name":"plg_finder_tags","type":"plugin","creationDate":"February 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_FINDER_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0);
--
-- Add menu table records
diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql b/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql
index d16dc8f2f9dcd..82047821dfbb2 100644
--- a/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql
+++ b/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql
@@ -19,13 +19,13 @@ UPDATE "#__extensions" SET "params" = '{"template_positions_display":"0","upload
UPDATE "#__extensions" SET "params" = '{"lineNumbers":"1","lineWrapping":"1","matchTags":"1","matchBrackets":"1","marker-gutter":"1","autoCloseTags":"1","autoCloseBrackets":"1","autoFocus":"1","theme":"default","tabmode":"indent"}' WHERE "extension_id" = 410;
INSERT INTO "#__extensions" ("extension_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES
-(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
-(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
+(30, 'com_contenthistory', 'component', 'com_contenthistory', '', 1, 1, 1, 0, '{"name":"com_contenthistory","type":"component","creationDate":"May 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.\\n\\t","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_CONTENTHISTORY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
+(31, 'com_ajax', 'component', 'com_ajax', '', 1, 1, 1, 0, '{"name":"com_ajax","type":"component","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"COM_AJAX_DESC","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
(32, 'com_postinstall', 'component', 'com_postinstall', '', 1, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0),
(105, 'FOF', 'library', 'fof', '', 0, 1, 1, 1, '{"legacy":false,"name":"FOF","type":"library","creationDate":"2013-10-08","author":"Nicholas K. Dionysopoulos \/ Akeeba Ltd","copyright":"(C)2011-2013 Nicholas K. Dionysopoulos","authorEmail":"nicholas@akeebabackup.com","authorUrl":"https:\/\/www.akeebabackup.com","version":"2.1.rc4","description":"Framework-on-Framework (FOF) - A rapid component development framework for Joomla!","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
-(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
-(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
-(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0);
+(448, 'plg_twofactorauth_totp', 'plugin', 'totp', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_totp","type":"plugin","creationDate":"August 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_TOTP_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
+(449, 'plg_authentication_cookie', 'plugin', 'cookie', 'authentication', 0, 1, 1, 0, '{"name":"plg_authentication_cookie","type":"plugin","creationDate":"July 2013","author":"Joomla! Project","copyright":"Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"PLG_AUTH_COOKIE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0),
+(450, 'plg_twofactorauth_yubikey', 'plugin', 'yubikey', 'twofactorauth', 0, 0, 1, 0, '{"name":"plg_twofactorauth_yubikey","type":"plugin","creationDate":"Se[ptember 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.2.0","description":"PLG_TWOFACTORAUTH_YUBIKEY_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0);
INSERT INTO "#__menu" ("menutype", "title", "alias", "note", "path", "link", "type", "published", "parent_id", "level", "component_id", "checked_out", "checked_out_time", "browserNav", "access", "img", "template_style_id", "params", "lft", "rgt", "home", "language", "client_id") VALUES
('main', 'com_postinstall', 'Post-installation messages', '', 'Post-installation messages', 'index.php?option=com_postinstall', 'component', 0, 1, 1, 32, 0, '1970-01-01 00:00:00', 0, 1, 'class:postinstall', 0, '', 45, 46, 0, '*', 1);
diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.4.0-2014-09-16.sql b/administrator/components/com_admin/sql/updates/postgresql/3.4.0-2014-09-16.sql
index d9c98a189b2f8..0419468e8bb46 100644
--- a/administrator/components/com_admin/sql/updates/postgresql/3.4.0-2014-09-16.sql
+++ b/administrator/components/com_admin/sql/updates/postgresql/3.4.0-2014-09-16.sql
@@ -1,2 +1,6 @@
ALTER TABLE "#__redirect_links" ADD COLUMN "header" INTEGER DEFAULT 301 NOT NULL;
-ALTER TABLE "#__redirect_links" ALTER COLUMN "new_url" DROP NOT NULL;
+--
+-- The following statement has to be disabled because it conflicts with
+-- a later change added with Joomla! 3.5.0 for long URLs in this table
+--
+-- ALTER TABLE "#__redirect_links" ALTER COLUMN "new_url" DROP NOT NULL;
diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-10-26.sql b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-10-26.sql
index 2b7791e332d54..05080ce112570 100644
--- a/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-10-26.sql
+++ b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-10-26.sql
@@ -1,2 +1,2 @@
-AlTER TABLE "#__contentitem_tag_map" DROP INDEX "#__contentitem_tag_map_idx_tag";
-AlTER TABLE "#__contentitem_tag_map" DROP INDEX "#__contentitem_tag_map_idx_type";
+DROP INDEX "#__contentitem_tag_map_idx_tag";
+DROP INDEX "#__contentitem_tag_map_idx_type";
diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-10-30.sql b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-10-30.sql
new file mode 100644
index 0000000000000..ce62b18de2f06
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-10-30.sql
@@ -0,0 +1 @@
+UPDATE "#__menu" SET "title" = 'com_contact_contacts' WHERE "id" = 8;
diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.4.2-2015-05-03.sql b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-11-04.sql
similarity index 83%
rename from administrator/components/com_admin/sql/updates/postgresql/3.4.2-2015-05-03.sql
rename to administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-11-04.sql
index 895cf8faf99e6..492e6a06219fd 100644
--- a/administrator/components/com_admin/sql/updates/postgresql/3.4.2-2015-05-03.sql
+++ b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-11-04.sql
@@ -1,2 +1,4 @@
+DELETE FROM "#__menu" WHERE "title" = 'com_messages_read' AND "client_id" = 1;
+
INSERT INTO "#__extensions" ("extension_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES
(452, 'plg_system_updatenotification', 'plugin', 'updatenotification', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0);
diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-11-05.sql b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-11-05.sql
new file mode 100644
index 0000000000000..e099d77e49c1d
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2015-11-05.sql
@@ -0,0 +1,5 @@
+INSERT INTO "#__extensions" ("extension_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES
+(454, 'plg_system_stats', 'plugin', 'stats', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0);
+
+INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description_key", "action_key", "language_extension", "language_client_id", "type", "action_file", "action", "condition_file", "condition_method", "version_introduced", "enabled") VALUES
+(700, 'COM_CPANEL_MSG_STATS_COLLECTION_TITLE', 'COM_CPANEL_MSG_STATS_COLLECTION_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/statscollection.php', 'admin_postinstall_statscollection_condition', '3.5.0', 1);
diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2016-03-01.sql b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2016-03-01.sql
new file mode 100644
index 0000000000000..804efa3edd1dc
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/postgresql/3.5.0-2016-03-01.sql
@@ -0,0 +1,5 @@
+ALTER TABLE "#__redirect_links" DROP CONSTRAINT "#__redirect_links_idx_link_old";
+ALTER TABLE "#__redirect_links" ALTER COLUMN "old_url" TYPE character varying(2048);
+ALTER TABLE "#__redirect_links" ALTER COLUMN "new_url" TYPE character varying(2048);
+ALTER TABLE "#__redirect_links" ALTER COLUMN "referer" TYPE character varying(2048);
+CREATE INDEX "#__idx_link_old" ON "#__redirect_links" ("old_url");
diff --git a/administrator/components/com_admin/sql/updates/sqlazure/2.5.4-2012-03-18.sql b/administrator/components/com_admin/sql/updates/sqlazure/2.5.4-2012-03-18.sql
index 2c896d3cbcefa..4d1dd335e032d 100644
--- a/administrator/components/com_admin/sql/updates/sqlazure/2.5.4-2012-03-18.sql
+++ b/administrator/components/com_admin/sql/updates/sqlazure/2.5.4-2012-03-18.sql
@@ -1,7 +1,7 @@
SET IDENTITY_INSERT #__extensions ON;
INSERT INTO #__extensions (extension_id, name, type, element, folder, client_id, enabled, access, protected, manifest_cache, params, custom_data, system_data, checked_out, checked_out_time, ordering, state)
-SELECT 28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0;
+SELECT 28, 'com_joomlaupdate', 'component', 'com_joomlaupdate', '', 1, 1, 0, 1, '{"legacy":false,"name":"com_joomlaupdate","type":"component","creationDate":"February 2012","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"2.5.2","description":"COM_JOOMLAUPDATE_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0;
SET IDENTITY_INSERT #__extensions OFF;
diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.1.0.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.1.0.sql
index a6c32d0497914..250e50631bcb3 100644
--- a/administrator/components/com_admin/sql/updates/sqlazure/3.1.0.sql
+++ b/administrator/components/com_admin/sql/updates/sqlazure/3.1.0.sql
@@ -320,7 +320,7 @@ CREATE NONCLUSTERED INDEX [idx_core_type_id] ON [#__ucm_content]
SET IDENTITY_INSERT #__extensions ON;
INSERT INTO #__extensions (extension_id, name, type, element, folder, client_id, enabled, access, protected, manifest_cache, params, custom_data, system_data, checked_out, checked_out_time, ordering, state)
- SELECT 29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"name":"com_joomlaupdate","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2015 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0;
+ SELECT 29, 'com_tags', 'component', 'com_tags', '', 1, 1, 1, 1, '{"name":"com_joomlaupdate","type":"component","creationDate":"March 2013","author":"Joomla! Project","copyright":"(C) 2005 - 2016 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.1.0","description":"COM_TAGS_XML_DESCRIPTION","group":""}', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0;
SET IDENTITY_INSERT #__extensions OFF;
diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.4.0-2014-09-16.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.4.0-2014-09-16.sql
index ac849cc922a3f..0238aa251b9b7 100644
--- a/administrator/components/com_admin/sql/updates/sqlazure/3.4.0-2014-09-16.sql
+++ b/administrator/components/com_admin/sql/updates/sqlazure/3.4.0-2014-09-16.sql
@@ -1,2 +1,6 @@
ALTER TABLE [#__redirect_links] ADD [header] [smallint] NOT NULL DEFAULT 301;
-ALTER TABLE [#__redirect_links] ALTER COLUMN [new_url] [nvarchar](255) NULL;
\ No newline at end of file
+--
+-- The following statement has to be disabled because it conflicts with
+-- a later change added with Joomla! 3.5.0 for long URLs in this table
+--
+-- ALTER TABLE [#__redirect_links] ALTER COLUMN [new_url] [nvarchar](255) NULL;
diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-10-26.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-10-26.sql
index 05ed505765d1e..b3adba686e7e1 100644
--- a/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-10-26.sql
+++ b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-10-26.sql
@@ -1,3 +1,3 @@
-AlTER TABLE [#__contentitem_tag_map] DROP INDEX [idx_tag_name];
-AlTER TABLE [#__contentitem_tag_map] DROP INDEX [idx_tag];
-AlTER TABLE [#__contentitem_tag_map] DROP INDEX [idx_type];
+ALTER TABLE [#__contentitem_tag_map] DROP INDEX [idx_tag_name];
+ALTER TABLE [#__contentitem_tag_map] DROP INDEX [idx_tag];
+ALTER TABLE [#__contentitem_tag_map] DROP INDEX [idx_type];
diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-10-30.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-10-30.sql
new file mode 100644
index 0000000000000..c652a5057f9f1
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-10-30.sql
@@ -0,0 +1 @@
+UPDATE [#__menu] SET [title] = 'com_contact_contacts' WHERE [id] = 8;
diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.4.2-2015-05-03.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-11-04.sql
similarity index 85%
rename from administrator/components/com_admin/sql/updates/sqlazure/3.4.2-2015-05-03.sql
rename to administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-11-04.sql
index 0435fa8fa6402..4403fa83d4575 100644
--- a/administrator/components/com_admin/sql/updates/sqlazure/3.4.2-2015-05-03.sql
+++ b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-11-04.sql
@@ -1,3 +1,5 @@
+DELETE FROM [#__menu] WHERE [title] = 'com_messages_read' AND [client_id] = 1;
+
SET IDENTITY_INSERT [#__extensions] ON;
INSERT [#__extensions] ([extension_id], [name], [type], [element], [folder], [client_id], [enabled], [access], [protected], [manifest_cache], [params], [custom_data], [system_data], [checked_out], [checked_out_time], [ordering], [state])
diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-11-05.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-11-05.sql
new file mode 100644
index 0000000000000..225b844bd91d9
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2015-11-05.sql
@@ -0,0 +1,9 @@
+SET IDENTITY_INSERT [#__extensions] ON;
+
+INSERT [#__extensions] ([extension_id], [name], [type], [element], [folder], [client_id], [enabled], [access], [protected], [manifest_cache], [params], [custom_data], [system_data], [checked_out], [checked_out_time], [ordering], [state])
+SELECT 454, 'plg_system_stats', 'plugin', 'stats', 'system', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0;
+
+SET IDENTITY_INSERT [#__extensions] OFF;
+
+INSERT INTO #__postinstall_messages ([extension_id], [title_key], [description_key], [action_key], [language_extension], [language_client_id], [type], [action_file], [action], [condition_file], [condition_method], [version_introduced], [enabled])
+SELECT 700, 'COM_CPANEL_MSG_STATS_COLLECTION_TITLE', 'COM_CPANEL_MSG_STATS_COLLECTION_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/statscollection.php', 'admin_postinstall_statscollection_condition', '3.5.0', 1;
diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2016-03-01.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2016-03-01.sql
new file mode 100644
index 0000000000000..e0a8f66108285
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/sqlazure/3.5.0-2016-03-01.sql
@@ -0,0 +1,8 @@
+ALTER TABLE [#__redirect_links] DROP CONSTRAINT [#__redirect_links$idx_link_old];
+ALTER TABLE [#__redirect_links] ALTER COLUMN [old_url] [nvarchar](2048) NOT NULL;
+ALTER TABLE [#__redirect_links] ALTER COLUMN [new_url] [nvarchar](2048) NOT NULL;
+ALTER TABLE [#__redirect_links] ALTER COLUMN [referer] [nvarchar](2048) NOT NULL;
+CREATE NONCLUSTERED INDEX [idx_old_url] ON [#__redirect_links]
+(
+ [old_url] ASC
+)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF);
diff --git a/administrator/components/com_admin/views/help/tmpl/default.php b/administrator/components/com_admin/views/help/tmpl/default.php
index cceef76a1b191..16ac0bf336023 100644
--- a/administrator/components/com_admin/views/help/tmpl/default.php
+++ b/administrator/components/com_admin/views/help/tmpl/default.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/views/help/view.html.php b/administrator/components/com_admin/views/help/view.html.php
index 6b1f5971f6bed..ea30135a52781 100644
--- a/administrator/components/com_admin/views/help/view.html.php
+++ b/administrator/components/com_admin/views/help/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/views/profile/tmpl/edit.php b/administrator/components/com_admin/views/profile/tmpl/edit.php
index 61b890fa98553..1e75bf73e83a2 100644
--- a/administrator/components/com_admin/views/profile/tmpl/edit.php
+++ b/administrator/components/com_admin/views/profile/tmpl/edit.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -40,7 +40,7 @@
label; ?>
fieldname == 'password2') : ?>
-
+
input; ?>
diff --git a/administrator/components/com_admin/views/profile/view.html.php b/administrator/components/com_admin/views/profile/view.html.php
index 05962b0c1fb15..88a556cfaaba5 100644
--- a/administrator/components/com_admin/views/profile/view.html.php
+++ b/administrator/components/com_admin/views/profile/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default.php b/administrator/components/com_admin/views/sysinfo/tmpl/default.php
index d1aa1eb6fb2c3..0cc9d6a344f20 100644
--- a/administrator/components/com_admin/views/sysinfo/tmpl/default.php
+++ b/administrator/components/com_admin/views/sysinfo/tmpl/default.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -13,7 +13,7 @@
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
?>
-
diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_config.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_config.php
index ed149a9637ada..322ca6f2f5d22 100644
--- a/administrator/components/com_admin/views/sysinfo/tmpl/default_config.php
+++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_config.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_directory.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_directory.php
index 30a54988d7c78..4d4d32534c5fb 100644
--- a/administrator/components/com_admin/views/sysinfo/tmpl/default_directory.php
+++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_directory.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_phpinfo.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_phpinfo.php
index 739859f41ea03..74d77a04c524a 100644
--- a/administrator/components/com_admin/views/sysinfo/tmpl/default_phpinfo.php
+++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_phpinfo.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_phpsettings.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_phpsettings.php
index 7e0096c1c59d7..3be760867ba62 100644
--- a/administrator/components/com_admin/views/sysinfo/tmpl/default_phpsettings.php
+++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_phpsettings.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -157,6 +157,14 @@
php_settings['iconv']); ?>
+
+
+
+
+
+ php_settings['max_input_vars']); ?>
+
+
diff --git a/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php b/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php
index f9f49d75cadcd..359622981a71c 100644
--- a/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php
+++ b/administrator/components/com_admin/views/sysinfo/tmpl/default_system.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_admin/views/sysinfo/view.html.php b/administrator/components/com_admin/views/sysinfo/view.html.php
index b9c465c516f42..ea3f5d2b0a4dc 100644
--- a/administrator/components/com_admin/views/sysinfo/view.html.php
+++ b/administrator/components/com_admin/views/sysinfo/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_admin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -116,6 +116,8 @@ protected function _setSubMenu()
protected function addToolbar()
{
JToolbarHelper::title(JText::_('COM_ADMIN_SYSTEM_INFORMATION'), 'info-2 systeminfo');
+ JToolbarHelper::link(JRoute::_('index.php?option=com_admin&view=sysinfo&format=text'), 'COM_ADMIN_DOWNLOAD_SYSTEM_INFORMATION_TEXT', 'download');
+ JToolbarHelper::link(JRoute::_('index.php?option=com_admin&view=sysinfo&format=json'), 'COM_ADMIN_DOWNLOAD_SYSTEM_INFORMATION_JSON', 'download');
JToolbarHelper::help('JHELP_SITE_SYSTEM_INFORMATION');
}
}
diff --git a/administrator/components/com_admin/views/sysinfo/view.json.php b/administrator/components/com_admin/views/sysinfo/view.json.php
new file mode 100644
index 0000000000000..ac787f1bb206d
--- /dev/null
+++ b/administrator/components/com_admin/views/sysinfo/view.json.php
@@ -0,0 +1,67 @@
+authorise('core.admin'))
+ {
+ return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
+ }
+
+ header('MIME-Version: 1.0');
+ header('Content-Disposition: attachment; filename="systeminfo-' . date("c") . '.json"');
+ header('Content-Transfer-Encoding: binary');
+
+ $data = $this->getLayoutData();
+
+ echo json_encode($data);
+
+ JFactory::getApplication()->close();
+ }
+
+ /**
+ * Get the data for the view
+ *
+ * @return array
+ *
+ * @since 3.5
+ */
+ protected function getLayoutData()
+ {
+ $model = $this->getModel();
+
+ return array(
+ 'info' => $model->getSafeData('info'),
+ 'phpSettings' => $model->getSafeData('phpSettings'),
+ 'config' => $model->getSafeData('config'),
+ 'directories' => $model->getSafeData('directory', true),
+ 'phpInfo' => $model->getSafeData('phpInfoArray'),
+ 'extensions' => $model->getSafeData('extensions')
+ );
+ }
+}
diff --git a/administrator/components/com_admin/views/sysinfo/view.text.php b/administrator/components/com_admin/views/sysinfo/view.text.php
new file mode 100644
index 0000000000000..e71c9bf622f81
--- /dev/null
+++ b/administrator/components/com_admin/views/sysinfo/view.text.php
@@ -0,0 +1,176 @@
+authorise('core.admin'))
+ {
+ return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
+ }
+
+ header('Content-Type: text/plain; charset=utf-8');
+ header('Content-Description: File Transfer');
+ header('Content-Disposition: attachment; filename="systeminfo-' . date("c") . '.txt"');
+ header('Cache-Control: must-revalidate');
+
+ $data = $this->getLayoutData();
+
+ $lines = array();
+
+ foreach ($data as $sectionName => $section)
+ {
+ $customRenderingMethod = 'render' . ucfirst($sectionName);
+
+ if (method_exists($this, $customRenderingMethod))
+ {
+ $lines[] = $this->$customRenderingMethod($section['title'], $section['data']);
+ }
+ else
+ {
+ $lines[] = $this->renderSection($section['title'], $section['data']);
+ }
+ }
+
+ echo str_replace(JPATH_ROOT, 'xxxxxx', implode("\n\n", $lines));
+
+ JFactory::getApplication()->close();
+ }
+
+ /**
+ * Get the data for the view
+ *
+ * @return array
+ *
+ * @since 3.5
+ */
+ protected function getLayoutData()
+ {
+ $model = $this->getModel();
+
+ return array(
+ 'info' => array(
+ 'title' => JText::_('COM_ADMIN_SYSTEM_INFORMATION', true),
+ 'data' => $model->getSafeData('info')
+ ),
+ 'phpSettings' => array(
+ 'title' => JText::_('COM_ADMIN_PHP_SETTINGS', true),
+ 'data' => $model->getSafeData('phpSettings')
+ ),
+ 'config' => array(
+ 'title' => JText::_('COM_ADMIN_CONFIGURATION_FILE', true),
+ 'data' => $model->getSafeData('config')
+ ),
+ 'directories' => array(
+ 'title' => JText::_('COM_ADMIN_DIRECTORY_PERMISSIONS', true),
+ 'data' => $model->getSafeData('directory', true)
+ ),
+ 'phpInfo' => array(
+ 'title' => JText::_('COM_ADMIN_PHP_INFORMATION', true),
+ 'data' => $model->getSafeData('phpInfoArray')
+ ),
+ 'extensions' => array(
+ 'title' => JText::_('COM_ADMIN_EXTENSIONS', true),
+ 'data' => $model->getSafeData('extensions')
+ )
+ );
+ }
+
+ /**
+ * Render a section
+ *
+ * @param string $sectionName Name of the section to render
+ * @param array $sectionData Data of the section to render
+ * @param integer $level Depth level for indentation
+ *
+ * @return string
+ *
+ * @since 3.5
+ */
+ protected function renderSection($sectionName, $sectionData, $level = 0)
+ {
+ $lines = array();
+
+ $margin = ($level > 0) ? str_repeat("\t", $level) : null;
+
+ $lines[] = $margin . "=============";
+ $lines[] = $margin . $sectionName;
+ $lines[] = $margin . "=============";
+ $level++;
+
+ foreach ($sectionData as $name => $value)
+ {
+ if (is_array($value))
+ {
+ if ($name == 'Directive')
+ {
+ continue;
+ }
+
+ $lines[] = "";
+ $lines[] = $this->renderSection($name, $value, $level);
+ }
+ else
+ {
+ if (is_bool($value))
+ {
+ $value = $value ? 'true' : 'false';
+ }
+
+ if (is_int($name) && ($name == 0 || $name == 1))
+ {
+ $name = ($name == 0 ? 'Local Value' : 'Master Value');
+ }
+
+ $lines[] = $margin . $name . ': ' . $value;
+ }
+ }
+
+ return implode("\n", $lines);
+ }
+
+ /**
+ * Specific rendering for directories
+ *
+ * @param string $sectionName Name of the section
+ * @param array $sectionData Directories information
+ * @param integer $level Starting level
+ *
+ * @return string
+ *
+ * @since 3.5
+ */
+ protected function renderDirectories($sectionName, $sectionData, $level = -1)
+ {
+ foreach ($sectionData as $directory => $data)
+ {
+ $sectionData[$directory] = $data['writable'] ? ' writable' : ' NOT writable';
+ }
+
+ return $this->renderSection($sectionName, $sectionData, $level);
+ }
+}
diff --git a/administrator/components/com_ajax/ajax.php b/administrator/components/com_ajax/ajax.php
index a6558dfff4755..17d705d268047 100644
--- a/administrator/components/com_ajax/ajax.php
+++ b/administrator/components/com_ajax/ajax.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_ajax
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_ajax/ajax.xml b/administrator/components/com_ajax/ajax.xml
index c3bdf97582af8..45a1a3c17753c 100644
--- a/administrator/components/com_ajax/ajax.xml
+++ b/administrator/components/com_ajax/ajax.xml
@@ -3,7 +3,7 @@
com_ajaxJoomla! ProjectAugust 2013
- (C) 2005 - 2015 Open Source Matters. All rights reserved.
+ (C) 2005 - 2016 Open Source Matters. All rights reserved.GNU General Public License version 2 or later; see LICENSE.txtadmin@joomla.orgwww.joomla.org
diff --git a/administrator/components/com_banners/banners.php b/administrator/components/com_banners/banners.php
index d24679d0f6cd3..2f2891af53155 100644
--- a/administrator/components/com_banners/banners.php
+++ b/administrator/components/com_banners/banners.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/banners.xml b/administrator/components/com_banners/banners.xml
index efd87b79315f0..bcb02355da5e2 100644
--- a/administrator/components/com_banners/banners.xml
+++ b/administrator/components/com_banners/banners.xml
@@ -3,7 +3,7 @@
com_bannersJoomla! ProjectApril 2006
- (C) 2005 - 2015 Open Source Matters. All rights reserved.
+ (C) 2005 - 2016 Open Source Matters. All rights reserved.GNU General Public License version 2 or later; see LICENSE.txtadmin@joomla.orgwww.joomla.org
diff --git a/administrator/components/com_banners/config.xml b/administrator/components/com_banners/config.xml
index 1e056e3777ec2..2c9f298c9523c 100644
--- a/administrator/components/com_banners/config.xml
+++ b/administrator/components/com_banners/config.xml
@@ -12,15 +12,15 @@
default="0"
>
+ value="1">COM_BANNERS_FIELD_VALUE_UNLIMITED
+ value="2">COM_BANNERS_FIELD_VALUE_YEARLY
+ value="3">COM_BANNERS_FIELD_VALUE_MONTHLY
+ value="4">COM_BANNERS_FIELD_VALUE_WEEKLY
+ value="5">COM_BANNERS_FIELD_VALUE_DAILY
select('COUNT(DISTINCT cp.id) AS count_published');
- $query->join('LEFT', '#__banners AS cp ON cp.catid = a.id AND cp.state = 1');
-
- // Count unpublished items
- $query->select('COUNT(DISTINCT cu.id) AS count_unpublished');
- $query->join('LEFT', '#__banners AS cu ON cu.catid = a.id AND cu.state = 0');
+ $db = JFactory::getDbo();
- // Count archived items
- $query->select('COUNT(DISTINCT ca.id) AS count_archived');
- $query->join('LEFT', '#__banners AS ca ON ca.catid = a.id AND ca.state = 2');
+ foreach ($items as $item)
+ {
+ $item->count_trashed = 0;
+ $item->count_archived = 0;
+ $item->count_unpublished = 0;
+ $item->count_published = 0;
+ $query = $db->getQuery(true);
+ $query->select('state, count(*) AS count')
+ ->from($db->qn('#__banners'))
+ ->where('catid = ' . (int) $item->id)
+ ->group('state');
+ $db->setQuery($query);
+ $banners = $db->loadObjectList();
- // Count trashed items
- $query->select('COUNT(DISTINCT ct.id) AS count_trashed');
- $query->join('LEFT', '#__banners AS ct ON ct.catid = a.id AND ct.state = -2');
+ foreach ($banners as $banner)
+ {
+ if ($banner->state == 1)
+ {
+ $item->count_published = $banner->count;
+ }
+
+ if ($banner->state == 0)
+ {
+ $item->count_unpublished = $banner->count;
+ }
+
+ if ($banner->state == 2)
+ {
+ $item->count_archived = $banner->count;
+ }
+
+ if ($banner->state == -2)
+ {
+ $item->count_trashed = $banner->count;
+ }
+ }
+ }
- return $query;
+ return $items;
}
-
}
diff --git a/administrator/components/com_banners/helpers/html/banner.php b/administrator/components/com_banners/helpers/html/banner.php
index 2027e1c841302..0203da6d42156 100644
--- a/administrator/components/com_banners/helpers/html/banner.php
+++ b/administrator/components/com_banners/helpers/html/banner.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/banner.php b/administrator/components/com_banners/models/banner.php
index 57cd7d93ca485..be1048ac9672c 100644
--- a/administrator/components/com_banners/models/banner.php
+++ b/administrator/components/com_banners/models/banner.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/banners.php b/administrator/components/com_banners/models/banners.php
index d42997ba3674c..8c2c686dcc49c 100644
--- a/administrator/components/com_banners/models/banners.php
+++ b/administrator/components/com_banners/models/banners.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -117,7 +117,7 @@ protected function getListQuery()
$query->from($db->quoteName('#__banners') . ' AS a');
// Join over the language
- $query->select('l.title AS language_title')
+ $query->select('l.title AS language_title, l.image AS language_image')
->join('LEFT', $db->quoteName('#__languages') . ' AS l ON l.lang_code = a.language');
// Join over the users for the checked out user.
diff --git a/administrator/components/com_banners/models/client.php b/administrator/components/com_banners/models/client.php
index 2c83b4a0a6ea0..4cec12149b146 100644
--- a/administrator/components/com_banners/models/client.php
+++ b/administrator/components/com_banners/models/client.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/clients.php b/administrator/components/com_banners/models/clients.php
index 975890ef01ebf..34594a3fa377c 100644
--- a/administrator/components/com_banners/models/clients.php
+++ b/administrator/components/com_banners/models/clients.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/download.php b/administrator/components/com_banners/models/download.php
index 561e8c9f1ebdb..f810cb098d535 100644
--- a/administrator/components/com_banners/models/download.php
+++ b/administrator/components/com_banners/models/download.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/fields/bannerclient.php b/administrator/components/com_banners/models/fields/bannerclient.php
index 140719936ee12..ec9281ed9a341 100644
--- a/administrator/components/com_banners/models/fields/bannerclient.php
+++ b/administrator/components/com_banners/models/fields/bannerclient.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/fields/clicks.php b/administrator/components/com_banners/models/fields/clicks.php
index f302f59cb71bc..63011d33d2bdd 100644
--- a/administrator/components/com_banners/models/fields/clicks.php
+++ b/administrator/components/com_banners/models/fields/clicks.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/fields/impmade.php b/administrator/components/com_banners/models/fields/impmade.php
index fe36a6220b305..796500c9e7a7d 100644
--- a/administrator/components/com_banners/models/fields/impmade.php
+++ b/administrator/components/com_banners/models/fields/impmade.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/fields/imptotal.php b/administrator/components/com_banners/models/fields/imptotal.php
index 0824c8899410a..b68ac67251060 100644
--- a/administrator/components/com_banners/models/fields/imptotal.php
+++ b/administrator/components/com_banners/models/fields/imptotal.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/models/forms/banner.xml b/administrator/components/com_banners/models/forms/banner.xml
index 77e591087bae2..b4d5607f64044 100644
--- a/administrator/components/com_banners/models/forms/banner.xml
+++ b/administrator/components/com_banners/models/forms/banner.xml
@@ -50,8 +50,8 @@
labelclass="control-label"
/>
-
-
-
-
-
-
diff --git a/administrator/components/com_banners/models/forms/client.xml b/administrator/components/com_banners/models/forms/client.xml
index a14cc0ac8bf21..0ff3a5bedb428 100644
--- a/administrator/components/com_banners/models/forms/client.xml
+++ b/administrator/components/com_banners/models/forms/client.xml
@@ -47,15 +47,15 @@
>
-
-
-
-
-
diff --git a/administrator/components/com_banners/models/forms/filter_banners.xml b/administrator/components/com_banners/models/forms/filter_banners.xml
index 7dcec86178fcd..a470c4bd65ff8 100644
--- a/administrator/components/com_banners/models/forms/filter_banners.xml
+++ b/administrator/components/com_banners/models/forms/filter_banners.xml
@@ -66,6 +66,8 @@
+
+
diff --git a/administrator/components/com_banners/models/forms/filter_clients.xml b/administrator/components/com_banners/models/forms/filter_clients.xml
index 2609e159f3975..83f7b1fdbb1cd 100644
--- a/administrator/components/com_banners/models/forms/filter_clients.xml
+++ b/administrator/components/com_banners/models/forms/filter_clients.xml
@@ -25,11 +25,11 @@
onchange="this.form.submit();"
>
-
-
-
-
-
+
+
+
+
+
@@ -45,12 +45,10 @@
-
-
+
+
-
-
diff --git a/administrator/components/com_banners/models/forms/filter_tracks.xml b/administrator/components/com_banners/models/forms/filter_tracks.xml
new file mode 100644
index 0000000000000..d0f601b096d77
--- /dev/null
+++ b/administrator/components/com_banners/models/forms/filter_tracks.xml
@@ -0,0 +1,76 @@
+
+
\ No newline at end of file
diff --git a/administrator/components/com_banners/models/tracks.php b/administrator/components/com_banners/models/tracks.php
index 9a20870adbd07..7689f402d8cd4 100644
--- a/administrator/components/com_banners/models/tracks.php
+++ b/administrator/components/com_banners/models/tracks.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/tables/banner.php b/administrator/components/com_banners/tables/banner.php
index 90a171e2fcddf..f853ec9b7619a 100644
--- a/administrator/components/com_banners/tables/banner.php
+++ b/administrator/components/com_banners/tables/banner.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -92,6 +92,21 @@ public function check()
$this->ordering = self::getNextOrder($this->_db->quoteName('catid') . '=' . $this->_db->quote($this->catid) . ' AND state>=0');
}
+ if (empty($this->publish_up))
+ {
+ $this->publish_up = $this->getDbo()->getNullDate();
+ }
+
+ if (empty($this->publish_down))
+ {
+ $this->publish_down = $this->getDbo()->getNullDate();
+ }
+
+ if (empty($this->modified))
+ {
+ $this->modified = $this->getDbo()->getNullDate();
+ }
+
return true;
}
@@ -178,19 +193,19 @@ public function store($updateNulls = false)
break;
case 2:
$date = JFactory::getDate('+1 year ' . date('Y-m-d', strtotime('now')));
- $this->reset = $this->_db->quote($date->toSql());
+ $this->reset = $date->toSql();
break;
case 3:
$date = JFactory::getDate('+1 month ' . date('Y-m-d', strtotime('now')));
- $this->reset = $this->_db->quote($date->toSql());
+ $this->reset = $date->toSql();
break;
case 4:
$date = JFactory::getDate('+7 day ' . date('Y-m-d', strtotime('now')));
- $this->reset = $this->_db->quote($date->toSql());
+ $this->reset = $date->toSql();
break;
case 5:
$date = JFactory::getDate('+1 day ' . date('Y-m-d', strtotime('now')));
- $this->reset = $this->_db->quote($date->toSql());
+ $this->reset = $date->toSql();
break;
}
diff --git a/administrator/components/com_banners/tables/client.php b/administrator/components/com_banners/tables/client.php
index e57a801efe52c..ae0e62f1fe4b9 100644
--- a/administrator/components/com_banners/tables/client.php
+++ b/administrator/components/com_banners/tables/client.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/banner/tmpl/edit.php b/administrator/components/com_banners/views/banner/tmpl/edit.php
index 0c19270abd2be..2a16281941ec4 100644
--- a/administrator/components/com_banners/views/banner/tmpl/edit.php
+++ b/administrator/components/com_banners/views/banner/tmpl/edit.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/banner/view.html.php b/administrator/components/com_banners/views/banner/view.html.php
index ace9e45b16e9e..e6c289e23ff14 100644
--- a/administrator/components/com_banners/views/banner/view.html.php
+++ b/administrator/components/com_banners/views/banner/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/banners/tmpl/default.php b/administrator/components/com_banners/views/banners/tmpl/default.php
index 62c6410944cce..0c8054c75309a 100644
--- a/administrator/components/com_banners/views/banners/tmpl/default.php
+++ b/administrator/components/com_banners/views/banners/tmpl/default.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -151,7 +151,7 @@
escape($item->alias)); ?>
diff --git a/administrator/components/com_banners/views/banners/tmpl/default_batch.php b/administrator/components/com_banners/views/banners/tmpl/default_batch.php
index 2c7ac73742556..133dfd5e13683 100644
--- a/administrator/components/com_banners/views/banners/tmpl/default_batch.php
+++ b/administrator/components/com_banners/views/banners/tmpl/default_batch.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* @deprecated 3.4 Use default_batch_body and default_batch_footer
diff --git a/administrator/components/com_banners/views/banners/tmpl/default_batch_body.php b/administrator/components/com_banners/views/banners/tmpl/default_batch_body.php
index d24864eb90199..65970763025fd 100644
--- a/administrator/components/com_banners/views/banners/tmpl/default_batch_body.php
+++ b/administrator/components/com_banners/views/banners/tmpl/default_batch_body.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/banners/tmpl/default_batch_footer.php b/administrator/components/com_banners/views/banners/tmpl/default_batch_footer.php
index 6082476dd8eda..36609599d9bc0 100644
--- a/administrator/components/com_banners/views/banners/tmpl/default_batch_footer.php
+++ b/administrator/components/com_banners/views/banners/tmpl/default_batch_footer.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/banners/view.html.php b/administrator/components/com_banners/views/banners/view.html.php
index 5946f188ff6ae..dc842b884bb39 100644
--- a/administrator/components/com_banners/views/banners/view.html.php
+++ b/administrator/components/com_banners/views/banners/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -111,19 +111,19 @@ protected function addToolbar()
if ($canDo->get('core.edit.state'))
{
- if ($this->state->get('filter.state') != 2)
+ if ($this->state->get('filter.published') != 2)
{
JToolbarHelper::publish('banners.publish', 'JTOOLBAR_PUBLISH', true);
JToolbarHelper::unpublish('banners.unpublish', 'JTOOLBAR_UNPUBLISH', true);
}
- if ($this->state->get('filter.state') != -1)
+ if ($this->state->get('filter.published') != -1)
{
- if ($this->state->get('filter.state') != 2)
+ if ($this->state->get('filter.published') != 2)
{
JToolbarHelper::archiveList('banners.archive');
}
- elseif ($this->state->get('filter.state') == 2)
+ elseif ($this->state->get('filter.published') == 2)
{
JToolbarHelper::unarchiveList('banners.publish');
}
@@ -149,9 +149,9 @@ protected function addToolbar()
JToolbar::getInstance('toolbar')->appendButton('Custom', $dhtml, 'batch');
}
- if ($this->state->get('filter.state') == -2 && $canDo->get('core.delete'))
+ if ($this->state->get('filter.published') == -2 && $canDo->get('core.delete'))
{
- JToolbarHelper::deleteList('', 'banners.delete', 'JTOOLBAR_EMPTY_TRASH');
+ JToolbarHelper::deleteList('JGLOBAL_CONFIRM_DELETE', 'banners.delete', 'JTOOLBAR_EMPTY_TRASH');
}
elseif ($canDo->get('core.edit.state'))
{
diff --git a/administrator/components/com_banners/views/client/tmpl/edit.php b/administrator/components/com_banners/views/client/tmpl/edit.php
index 867343414cb97..172c0bc4cb68e 100644
--- a/administrator/components/com_banners/views/client/tmpl/edit.php
+++ b/administrator/components/com_banners/views/client/tmpl/edit.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/client/view.html.php b/administrator/components/com_banners/views/client/view.html.php
index ed6def5ae32aa..cc3e9f6b730e6 100644
--- a/administrator/components/com_banners/views/client/view.html.php
+++ b/administrator/components/com_banners/views/client/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/clients/tmpl/default.php b/administrator/components/com_banners/views/clients/tmpl/default.php
index 7a10ba60e56ab..8449a6ad38696 100644
--- a/administrator/components/com_banners/views/clients/tmpl/default.php
+++ b/administrator/components/com_banners/views/clients/tmpl/default.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/clients/view.html.php b/administrator/components/com_banners/views/clients/view.html.php
index 497d46f7a8e3e..c5f7e0e3a3154 100644
--- a/administrator/components/com_banners/views/clients/view.html.php
+++ b/administrator/components/com_banners/views/clients/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -103,7 +103,7 @@ protected function addToolbar()
if ($this->state->get('filter.state') == -2 && $canDo->get('core.delete'))
{
- JToolbarHelper::deleteList('', 'clients.delete', 'JTOOLBAR_EMPTY_TRASH');
+ JToolbarHelper::deleteList('JGLOBAL_CONFIRM_DELETE', 'clients.delete', 'JTOOLBAR_EMPTY_TRASH');
}
elseif ($canDo->get('core.edit.state'))
{
diff --git a/administrator/components/com_banners/views/download/tmpl/default.php b/administrator/components/com_banners/views/download/tmpl/default.php
index 1f5d88f3e7e4a..85277d11c0dc8 100644
--- a/administrator/components/com_banners/views/download/tmpl/default.php
+++ b/administrator/components/com_banners/views/download/tmpl/default.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/download/view.html.php b/administrator/components/com_banners/views/download/view.html.php
index c6c28bdde0f46..3066e0c9660ba 100644
--- a/administrator/components/com_banners/views/download/view.html.php
+++ b/administrator/components/com_banners/views/download/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_banners/views/tracks/tmpl/default.php b/administrator/components/com_banners/views/tracks/tmpl/default.php
index 5263e732564a4..80cbda1cd9471 100644
--- a/administrator/components/com_banners/views/tracks/tmpl/default.php
+++ b/administrator/components/com_banners/views/tracks/tmpl/default.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_banners
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -22,8 +22,8 @@
JFactory::getDocument()->addScriptDeclaration('
Joomla.orderTable = function()
{
- table = document.getElementById("sortTable");
- direction = document.getElementById("directionTable");
+ table = document.getElementById("list_sortTable");
+ direction = document.getElementById("list_directionTable");
order = table.options[table.selectedIndex].value;
if (order != "' . $listOrder . '")
{
@@ -57,27 +57,9 @@
state->get('filter.end'), 'filter_end', 'filter_end', '%Y-%m-%d', array('size' => 10, 'onchange' => "this.form.fireEvent('submit');this.form.submit()")); ?>
-
diff --git a/administrator/components/com_categories/views/categories/tmpl/default_batch.php b/administrator/components/com_categories/views/categories/tmpl/default_batch.php
index fe70569a01f9f..c2266fe9795c9 100644
--- a/administrator/components/com_categories/views/categories/tmpl/default_batch.php
+++ b/administrator/components/com_categories/views/categories/tmpl/default_batch.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* @deprecated 3.4 Use default_batch_body and default_batch_footer
@@ -11,8 +11,6 @@
defined('_JEXEC') or die;
-JHtml::_('formbehavior.chosen', 'select');
-
$options = array(
JHtml::_('select.option', 'c', JText::_('JLIB_HTML_BATCH_COPY')),
JHtml::_('select.option', 'm', JText::_('JLIB_HTML_BATCH_MOVE'))
diff --git a/administrator/components/com_categories/views/categories/tmpl/default_batch_body.php b/administrator/components/com_categories/views/categories/tmpl/default_batch_body.php
index 2dec9adc40cf7..6e614f078f997 100644
--- a/administrator/components/com_categories/views/categories/tmpl/default_batch_body.php
+++ b/administrator/components/com_categories/views/categories/tmpl/default_batch_body.php
@@ -3,13 +3,11 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
-JHtml::_('formbehavior.chosen', 'select');
-
$options = array(
JHtml::_('select.option', 'c', JText::_('JLIB_HTML_BATCH_COPY')),
JHtml::_('select.option', 'm', JText::_('JLIB_HTML_BATCH_MOVE'))
@@ -55,4 +53,4 @@
-
\ No newline at end of file
+
diff --git a/administrator/components/com_categories/views/categories/tmpl/default_batch_footer.php b/administrator/components/com_categories/views/categories/tmpl/default_batch_footer.php
index f409abc221e22..5f4d1005de53f 100644
--- a/administrator/components/com_categories/views/categories/tmpl/default_batch_footer.php
+++ b/administrator/components/com_categories/views/categories/tmpl/default_batch_footer.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
diff --git a/administrator/components/com_categories/views/categories/tmpl/modal.php b/administrator/components/com_categories/views/categories/tmpl/modal.php
index 95fb0d54f5379..3c0b2d56620dd 100644
--- a/administrator/components/com_categories/views/categories/tmpl/modal.php
+++ b/administrator/components/com_categories/views/categories/tmpl/modal.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -86,7 +86,7 @@
diff --git a/administrator/components/com_categories/views/categories/view.html.php b/administrator/components/com_categories/views/categories/view.html.php
index 13f8a8645c844..7c0ceee11dbe9 100644
--- a/administrator/components/com_categories/views/categories/view.html.php
+++ b/administrator/components/com_categories/views/categories/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -218,7 +218,7 @@ protected function addToolbar()
if ($this->state->get('filter.published') == -2 && $canDo->get('core.delete', $component))
{
- JToolbarHelper::deleteList('', 'categories.delete', 'JTOOLBAR_EMPTY_TRASH');
+ JToolbarHelper::deleteList('JGLOBAL_CONFIRM_DELETE', 'categories.delete', 'JTOOLBAR_EMPTY_TRASH');
}
elseif ($canDo->get('core.edit.state'))
{
diff --git a/administrator/components/com_categories/views/category/tmpl/edit.php b/administrator/components/com_categories/views/category/tmpl/edit.php
index f2e3cb1a4612b..648e0c303860b 100644
--- a/administrator/components/com_categories/views/category/tmpl/edit.php
+++ b/administrator/components/com_categories/views/category/tmpl/edit.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -20,12 +20,15 @@
$input = $app->input;
$assoc = JLanguageAssociations::isEnabled();
+// Are associations implemented for this extension?
+$extensionassoc = array_key_exists('item_associations', $this->form->getFieldsets());
JFactory::getDocument()->addScriptDeclaration('
Joomla.submitbutton = function(task)
{
if (task == "category.cancel" || document.formvalidator.isValid(document.getElementById("item-form")))
{
+ jQuery("#permissions-sliders select").attr("disabled", "disabled");
' . $this->form->getField("description")->save() . '
Joomla.submitform(task, document.getElementById("item-form"));
}
@@ -67,7 +70,7 @@
-
+
loadTemplate('associations'); ?>
diff --git a/administrator/components/com_categories/views/category/tmpl/edit_associations.php b/administrator/components/com_categories/views/category/tmpl/edit_associations.php
index 48449b3a3d226..b8751b02e7143 100644
--- a/administrator/components/com_categories/views/category/tmpl/edit_associations.php
+++ b/administrator/components/com_categories/views/category/tmpl/edit_associations.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_categories/views/category/tmpl/edit_extrafields.php b/administrator/components/com_categories/views/category/tmpl/edit_extrafields.php
index 7b6f9bb87a3a5..5f3b6e5115efa 100644
--- a/administrator/components/com_categories/views/category/tmpl/edit_extrafields.php
+++ b/administrator/components/com_categories/views/category/tmpl/edit_extrafields.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* @deprecated 3.2
diff --git a/administrator/components/com_categories/views/category/tmpl/edit_metadata.php b/administrator/components/com_categories/views/category/tmpl/edit_metadata.php
index 28e4ecf7033d2..9b229292958cc 100644
--- a/administrator/components/com_categories/views/category/tmpl/edit_metadata.php
+++ b/administrator/components/com_categories/views/category/tmpl/edit_metadata.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_categories/views/category/tmpl/edit_options.php b/administrator/components/com_categories/views/category/tmpl/edit_options.php
index 7b6f9bb87a3a5..5f3b6e5115efa 100644
--- a/administrator/components/com_categories/views/category/tmpl/edit_options.php
+++ b/administrator/components/com_categories/views/category/tmpl/edit_options.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* @deprecated 3.2
diff --git a/administrator/components/com_categories/views/category/tmpl/modal.php b/administrator/components/com_categories/views/category/tmpl/modal.php
index 28a73f99d7b19..c56c4f0f626c1 100644
--- a/administrator/components/com_categories/views/category/tmpl/modal.php
+++ b/administrator/components/com_categories/views/category/tmpl/modal.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_categories/views/category/tmpl/modal_associations.php b/administrator/components/com_categories/views/category/tmpl/modal_associations.php
index 48449b3a3d226..b8751b02e7143 100644
--- a/administrator/components/com_categories/views/category/tmpl/modal_associations.php
+++ b/administrator/components/com_categories/views/category/tmpl/modal_associations.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_categories/views/category/tmpl/modal_extrafields.php b/administrator/components/com_categories/views/category/tmpl/modal_extrafields.php
index 69c0bfe170edc..bb2b8dfd6d714 100644
--- a/administrator/components/com_categories/views/category/tmpl/modal_extrafields.php
+++ b/administrator/components/com_categories/views/category/tmpl/modal_extrafields.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_categories/views/category/tmpl/modal_metadata.php b/administrator/components/com_categories/views/category/tmpl/modal_metadata.php
index 28e4ecf7033d2..9b229292958cc 100644
--- a/administrator/components/com_categories/views/category/tmpl/modal_metadata.php
+++ b/administrator/components/com_categories/views/category/tmpl/modal_metadata.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_categories/views/category/tmpl/modal_options.php b/administrator/components/com_categories/views/category/tmpl/modal_options.php
index 500bbabca9887..2642ce5a16229 100644
--- a/administrator/components/com_categories/views/category/tmpl/modal_options.php
+++ b/administrator/components/com_categories/views/category/tmpl/modal_options.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_categories/views/category/view.html.php b/administrator/components/com_categories/views/category/view.html.php
index 0a0da7a7573fa..8afb511250e7a 100644
--- a/administrator/components/com_categories/views/category/view.html.php
+++ b/administrator/components/com_categories/views/category/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_categories
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_checkin/checkin.php b/administrator/components/com_checkin/checkin.php
index 1381ee8716f5b..911bb2603dc5d 100644
--- a/administrator/components/com_checkin/checkin.php
+++ b/administrator/components/com_checkin/checkin.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_checkin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_checkin/checkin.xml b/administrator/components/com_checkin/checkin.xml
index 0b191bfa44364..ac1b240d73955 100644
--- a/administrator/components/com_checkin/checkin.xml
+++ b/administrator/components/com_checkin/checkin.xml
@@ -2,7 +2,7 @@
com_checkinJoomla! Project
- (C) 2005 - 2015 Open Source Matters. All rights reserved.
+ (C) 2005 - 2016 Open Source Matters. All rights reserved.GNU General Public License version 2 or later; see LICENSE.txtadmin@joomla.orgwww.joomla.org
diff --git a/administrator/components/com_checkin/controller.php b/administrator/components/com_checkin/controller.php
index e0031239e715f..10c98ab196783 100644
--- a/administrator/components/com_checkin/controller.php
+++ b/administrator/components/com_checkin/controller.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_checkin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -40,7 +40,7 @@ public function display($cachable = false, $urlparams = array())
public function checkin()
{
// Check for request forgeries
- JSession::checkToken() or jexit(JText::_('JInvalid_Token'));
+ JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$ids = $this->input->get('cid', array(), 'array');
diff --git a/administrator/components/com_checkin/models/checkin.php b/administrator/components/com_checkin/models/checkin.php
index e0be698e30408..b686166b0b85e 100644
--- a/administrator/components/com_checkin/models/checkin.php
+++ b/administrator/components/com_checkin/models/checkin.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_checkin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -31,6 +31,27 @@ class CheckinModelCheckin extends JModelList
*/
protected $tables;
+ /**
+ * Constructor.
+ *
+ * @param array $config An optional associative array of configuration settings.
+ *
+ * @see JController
+ * @since 3.5
+ */
+ public function __construct($config = array())
+ {
+ if (empty($config['filter_fields']))
+ {
+ $config['filter_fields'] = array(
+ 'table',
+ 'count',
+ );
+ }
+
+ parent::__construct($config);
+ }
+
/**
* Method to auto-populate the model state.
*
@@ -45,8 +66,7 @@ class CheckinModelCheckin extends JModelList
*/
protected function populateState($ordering = null, $direction = null)
{
- $search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
- $this->setState('filter.search', $search);
+ $this->setState('filter.search', $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search'));
// List state information.
parent::populateState('table', 'asc');
@@ -185,9 +205,10 @@ public function getItems()
$this->total = count($results);
+ // Order items by table
if ($this->getState('list.ordering') == 'table')
{
- if ($this->getState('list.direction') == 'asc')
+ if (strtolower($this->getState('list.direction')) == 'asc')
{
ksort($results);
}
@@ -196,9 +217,10 @@ public function getItems()
krsort($results);
}
}
+ // Order items by number of items
else
{
- if ($this->getState('list.direction') == 'asc')
+ if (strtolower($this->getState('list.direction')) == 'asc')
{
asort($results);
}
@@ -208,7 +230,16 @@ public function getItems()
}
}
- $this->items = array_slice($results, $this->getState('list.start'), $this->getState('list.limit'));
+ // Pagination
+ $limit = (int) $this->getState('list.limit');
+ if ($limit !== 0)
+ {
+ $this->items = array_slice($results, $this->getState('list.start'), $limit);
+ }
+ else
+ {
+ $this->items = $results;
+ }
}
return $this->items;
diff --git a/administrator/components/com_checkin/models/forms/filter_checkin.xml b/administrator/components/com_checkin/models/forms/filter_checkin.xml
new file mode 100644
index 0000000000000..9c9b67ff14f99
--- /dev/null
+++ b/administrator/components/com_checkin/models/forms/filter_checkin.xml
@@ -0,0 +1,37 @@
+
+
diff --git a/administrator/components/com_checkin/views/checkin/tmpl/default.php b/administrator/components/com_checkin/views/checkin/tmpl/default.php
index 69c6df7694aff..bd05ba4c48e12 100644
--- a/administrator/components/com_checkin/views/checkin/tmpl/default.php
+++ b/administrator/components/com_checkin/views/checkin/tmpl/default.php
@@ -3,71 +3,75 @@
* @package Joomla.Administrator
* @subpackage com_checkin
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('bootstrap.tooltip');
+JHtml::_('behavior.multiselect');
+JHtml::_('formbehavior.chosen', 'select');
$listOrder = $this->escape($this->state->get('list.ordering'));
-$listDirn = $this->escape($this->state->get('list.direction'));
+$listDirn = $this->escape($this->state->get('list.direction'));
?>
diff --git a/administrator/components/com_contact/views/contacts/tmpl/default_batch.php b/administrator/components/com_contact/views/contacts/tmpl/default_batch.php
index 535e8e5ef0f97..109711418af92 100644
--- a/administrator/components/com_contact/views/contacts/tmpl/default_batch.php
+++ b/administrator/components/com_contact/views/contacts/tmpl/default_batch.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contact
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contact/views/contacts/tmpl/default_batch_body.php b/administrator/components/com_contact/views/contacts/tmpl/default_batch_body.php
index fe5531d26cb99..3a4c521afe4d9 100644
--- a/administrator/components/com_contact/views/contacts/tmpl/default_batch_body.php
+++ b/administrator/components/com_contact/views/contacts/tmpl/default_batch_body.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contact
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
diff --git a/administrator/components/com_contact/views/contacts/tmpl/default_batch_footer.php b/administrator/components/com_contact/views/contacts/tmpl/default_batch_footer.php
index b645fb8863ec5..9d7c2b1d04cea 100644
--- a/administrator/components/com_contact/views/contacts/tmpl/default_batch_footer.php
+++ b/administrator/components/com_contact/views/contacts/tmpl/default_batch_footer.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contact
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
diff --git a/administrator/components/com_contact/views/contacts/tmpl/modal.php b/administrator/components/com_contact/views/contacts/tmpl/modal.php
index 06d9a39c6ba24..fcbad26c1bcf7 100644
--- a/administrator/components/com_contact/views/contacts/tmpl/modal.php
+++ b/administrator/components/com_contact/views/contacts/tmpl/modal.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contact
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -14,7 +14,6 @@
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
JHtml::_('bootstrap.tooltip');
-JHtml::_('behavior.framework', true);
JHtml::_('formbehavior.chosen', 'select');
$input = JFactory::getApplication()->input;
@@ -91,7 +90,7 @@
diff --git a/administrator/components/com_contact/views/contacts/view.html.php b/administrator/components/com_contact/views/contacts/view.html.php
index 92210567d1921..7308cb0880da8 100644
--- a/administrator/components/com_contact/views/contacts/view.html.php
+++ b/administrator/components/com_contact/views/contacts/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contact
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -145,7 +145,7 @@ protected function addToolbar()
if ($this->state->get('filter.published') == -2 && $canDo->get('core.delete'))
{
- JToolbarHelper::deleteList('', 'contacts.delete', 'JTOOLBAR_EMPTY_TRASH');
+ JToolbarHelper::deleteList('JGLOBAL_CONFIRM_DELETE', 'contacts.delete', 'JTOOLBAR_EMPTY_TRASH');
}
elseif ($canDo->get('core.edit.state'))
{
diff --git a/administrator/components/com_content/content.php b/administrator/components/com_content/content.php
index 38d2aa111f93a..516564ec579fe 100644
--- a/administrator/components/com_content/content.php
+++ b/administrator/components/com_content/content.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_content/content.xml b/administrator/components/com_content/content.xml
index 743146fb40bb0..304834e462a4a 100644
--- a/administrator/components/com_content/content.xml
+++ b/administrator/components/com_content/content.xml
@@ -3,7 +3,7 @@
com_contentJoomla! ProjectApril 2006
- (C) 2005 - 2015 Open Source Matters. All rights reserved.
+ (C) 2005 - 2016 Open Source Matters. All rights reserved.GNU General Public License version 2 or later; see LICENSE.txtadmin@joomla.orgwww.joomla.org
diff --git a/administrator/components/com_content/controller.php b/administrator/components/com_content/controller.php
index 5ce1e85f22dbb..065a54952d5f0 100644
--- a/administrator/components/com_content/controller.php
+++ b/administrator/components/com_content/controller.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_content/controllers/article.php b/administrator/components/com_content/controllers/article.php
index c04346006d7da..c633d649a11b5 100644
--- a/administrator/components/com_content/controllers/article.php
+++ b/administrator/components/com_content/controllers/article.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_content/controllers/articles.php b/administrator/components/com_content/controllers/articles.php
index 412f11429913c..3e28c237ed5e1 100644
--- a/administrator/components/com_content/controllers/articles.php
+++ b/administrator/components/com_content/controllers/articles.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_content/controllers/featured.php b/administrator/components/com_content/controllers/featured.php
index 67a3b8c828399..089df321927db 100644
--- a/administrator/components/com_content/controllers/featured.php
+++ b/administrator/components/com_content/controllers/featured.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -91,6 +91,7 @@ public function publish()
public function getModel($name = 'Feature', $prefix = 'ContentModel', $config = array('ignore_request' => true))
{
$model = parent::getModel($name, $prefix, $config);
+
return $model;
}
}
diff --git a/administrator/components/com_content/helpers/content.php b/administrator/components/com_content/helpers/content.php
index 7d677c069371d..e6ed1099741c5 100644
--- a/administrator/components/com_content/helpers/content.php
+++ b/administrator/components/com_content/helpers/content.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -53,7 +53,7 @@ public static function addSubmenu($vName)
* @return string The filtered string
*
* @deprecated 4.0 Use JComponentHelper::filterText() instead.
- */
+ */
public static function filterText($text)
{
JLog::add('ContentHelper::filterText() is deprecated. Use JComponentHelper::filterText() instead.', JLog::WARNING, 'deprecated');
@@ -64,31 +64,54 @@ public static function filterText($text)
/**
* Adds Count Items for Category Manager.
*
- * @param JDatabaseQuery &$query The query object of com_categories
+ * @param stdClass[] &$items The banner category objects
*
- * @return JDatabaseQuery
+ * @return stdClass[]
*
- * @since 3.4
+ * @since 3.5
*/
- public static function countItems(&$query)
+ public static function countItems(&$items)
{
- // Join articles to categories and count published items
- $query->select('COUNT(DISTINCT cp.id) AS count_published');
- $query->join('LEFT', '#__content AS cp ON cp.catid = a.id AND cp.state = 1');
+ $db = JFactory::getDbo();
- // Count unpublished items
- $query->select('COUNT(DISTINCT cu.id) AS count_unpublished');
- $query->join('LEFT', '#__content AS cu ON cu.catid = a.id AND cu.state = 0');
+ foreach ($items as $item)
+ {
+ $item->count_trashed = 0;
+ $item->count_archived = 0;
+ $item->count_unpublished = 0;
+ $item->count_published = 0;
+ $query = $db->getQuery(true);
+ $query->select('state, count(*) AS count')
+ ->from($db->qn('#__content'))
+ ->where('catid = ' . (int) $item->id)
+ ->group('state');
+ $db->setQuery($query);
+ $articles = $db->loadObjectList();
- // Count archived items
- $query->select('COUNT(DISTINCT ca.id) AS count_archived');
- $query->join('LEFT', '#__content AS ca ON ca.catid = a.id AND ca.state = 2');
+ foreach ($articles as $article)
+ {
+ if ($article->state == 1)
+ {
+ $item->count_published = $article->count;
+ }
- // Count trashed items
- $query->select('COUNT(DISTINCT ct.id) AS count_trashed');
- $query->join('LEFT', '#__content AS ct ON ct.catid = a.id AND ct.state = -2');
+ if ($article->state == 0)
+ {
+ $item->count_unpublished = $article->count;
+ }
- return $query;
- }
+ if ($article->state == 2)
+ {
+ $item->count_archived = $article->count;
+ }
+ if ($article->state == -2)
+ {
+ $item->count_trashed = $article->count;
+ }
+ }
+ }
+
+ return $items;
+ }
}
diff --git a/administrator/components/com_content/helpers/html/contentadministrator.php b/administrator/components/com_content/helpers/html/contentadministrator.php
index 3f70c8c5a038a..8d25ff1198f7b 100644
--- a/administrator/components/com_content/helpers/html/contentadministrator.php
+++ b/administrator/components/com_content/helpers/html/contentadministrator.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_content/models/article.php b/administrator/components/com_content/models/article.php
index 75e401854f7ae..ecb9555427681 100644
--- a/administrator/components/com_content/models/article.php
+++ b/administrator/components/com_content/models/article.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -117,6 +117,7 @@ protected function batchCopy($value, $pks, $contexts)
if (!$this->table->check())
{
$this->setError($this->table->getError());
+
return false;
}
@@ -126,6 +127,7 @@ protected function batchCopy($value, $pks, $contexts)
if (!$this->table->store())
{
$this->setError($this->table->getError());
+
return false;
}
@@ -170,6 +172,7 @@ protected function canDelete($record)
{
return false;
}
+
$user = JFactory::getUser();
return $user->authorise('core.delete', 'com_content.article.' . (int) $record->id);
@@ -332,10 +335,12 @@ public function getForm($data = array(), $loadData = true)
{
// Get the form.
$form = $this->loadForm('com_content.article', 'article', array('control' => 'jform', 'load_data' => $loadData));
+
if (empty($form))
{
return false;
}
+
$jinput = JFactory::getApplication()->input;
// The front end calls this model and uses a_id to avoid id clashes so we need to check for that first.
@@ -348,6 +353,7 @@ public function getForm($data = array(), $loadData = true)
{
$id = $jinput->get('id', 0);
}
+
// Determine correct permissions to check.
if ($this->getState('article.id'))
{
@@ -663,6 +669,7 @@ public function featured($pks, $value = 0)
catch (Exception $e)
{
$this->setError($e->getMessage());
+
return false;
}
@@ -735,6 +742,7 @@ protected function preprocessForm(JForm $form, $data, $group = 'content')
$field->addAttribute('clear', 'true');
}
}
+
if ($add)
{
$form->load($addform, false);
diff --git a/administrator/components/com_content/models/articles.php b/administrator/components/com_content/models/articles.php
index ea58c35031545..824f24d4ae07e 100644
--- a/administrator/components/com_content/models/articles.php
+++ b/administrator/components/com_content/models/articles.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -74,7 +74,7 @@ public function __construct($config = array())
*
* @since 1.6
*/
- protected function populateState($ordering = null, $direction = null)
+ protected function populateState($ordering = 'a.id', $direction = 'desc')
{
$app = JFactory::getApplication();
@@ -109,7 +109,7 @@ protected function populateState($ordering = null, $direction = null)
$this->setState('filter.tag', $tag);
// List state information.
- parent::populateState('a.id', 'desc');
+ parent::populateState($ordering, $direction);
// Force a language
$forcedLanguage = $app->input->get('forcedLanguage');
@@ -174,7 +174,7 @@ protected function getListQuery()
$query->from('#__content AS a');
// Join over the language
- $query->select('l.title AS language_title')
+ $query->select('l.title AS language_title, l.image AS language_image')
->join('LEFT', $db->quoteName('#__languages') . ' AS l ON l.lang_code = a.language');
// Join over the users for the checked out user.
@@ -199,7 +199,7 @@ protected function getListQuery()
$query->select('COUNT(asso2.id)>1 as association')
->join('LEFT', '#__associations AS asso ON asso.id = a.id AND asso.context=' . $db->quote('com_content.item'))
->join('LEFT', '#__associations AS asso2 ON asso2.key = asso.key')
- ->group('a.id, l.title, uc.name, ag.title, c.title, ua.name');
+ ->group('a.id, l.title, l.image, uc.name, ag.title, c.title, ua.name');
}
// Filter by access level.
diff --git a/administrator/components/com_content/models/feature.php b/administrator/components/com_content/models/feature.php
index 8498fe8b369c4..f3730034575d5 100644
--- a/administrator/components/com_content/models/feature.php
+++ b/administrator/components/com_content/models/feature.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_content/models/featured.php b/administrator/components/com_content/models/featured.php
index 34f40a941a7d8..2603f5377207d 100644
--- a/administrator/components/com_content/models/featured.php
+++ b/administrator/components/com_content/models/featured.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -86,7 +86,7 @@ protected function getListQuery($resolveFKs = true)
$query->from('#__content AS a');
// Join over the language
- $query->select('l.title AS language_title')
+ $query->select('l.title AS language_title, l.image AS language_image')
->join('LEFT', $db->quoteName('#__languages') . ' AS l ON l.lang_code = a.language');
// Join over the content table.
@@ -202,4 +202,21 @@ protected function getListQuery($resolveFKs = true)
return $query;
}
+
+ /**
+ * Method to auto-populate the model state.
+ *
+ * Note. Calling getState in this method will result in recursion.
+ *
+ * @param string $ordering An optional ordering field.
+ * @param string $direction An optional direction (asc|desc).
+ *
+ * @return void
+ *
+ * @since 3.5
+ */
+ protected function populateState($ordering = 'a.title', $direction = 'asc')
+ {
+ parent::populateState($ordering, $direction);
+ }
}
diff --git a/administrator/components/com_content/models/fields/modal/article.php b/administrator/components/com_content/models/fields/modal/article.php
index 659d402e3f437..fbefc0d4411d3 100644
--- a/administrator/components/com_content/models/fields/modal/article.php
+++ b/administrator/components/com_content/models/fields/modal/article.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -178,7 +178,7 @@ protected function getInput()
'title' => JText::_('COM_CONTENT_CHANGE_ARTICLE'),
'width' => '800px',
'height' => '300px',
- 'footer' => '
diff --git a/administrator/components/com_content/views/articles/tmpl/default_batch.php b/administrator/components/com_content/views/articles/tmpl/default_batch.php
index d863b93bcbd32..5bff3050cc0b9 100644
--- a/administrator/components/com_content/views/articles/tmpl/default_batch.php
+++ b/administrator/components/com_content/views/articles/tmpl/default_batch.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* @deprecated 3.4 Use default_batch_body and default_batch_footer
diff --git a/administrator/components/com_content/views/articles/tmpl/default_batch_body.php b/administrator/components/com_content/views/articles/tmpl/default_batch_body.php
index 339700b176991..a7e3ce264e4e8 100644
--- a/administrator/components/com_content/views/articles/tmpl/default_batch_body.php
+++ b/administrator/components/com_content/views/articles/tmpl/default_batch_body.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
diff --git a/administrator/components/com_content/views/articles/tmpl/default_batch_footer.php b/administrator/components/com_content/views/articles/tmpl/default_batch_footer.php
index 988e50d0b3524..dbb91d518fad1 100644
--- a/administrator/components/com_content/views/articles/tmpl/default_batch_footer.php
+++ b/administrator/components/com_content/views/articles/tmpl/default_batch_footer.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
diff --git a/administrator/components/com_content/views/articles/tmpl/modal.php b/administrator/components/com_content/views/articles/tmpl/modal.php
index cba1e5f2899c6..6bec07110bb99 100644
--- a/administrator/components/com_content/views/articles/tmpl/modal.php
+++ b/administrator/components/com_content/views/articles/tmpl/modal.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -20,7 +20,6 @@
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
JHtml::_('bootstrap.tooltip');
-JHtml::_('behavior.framework', true);
JHtml::_('formbehavior.chosen', 'select');
$function = $app->input->getCmd('function', 'jSelectArticle');
@@ -95,7 +94,7 @@
diff --git a/administrator/components/com_content/views/articles/view.html.php b/administrator/components/com_content/views/articles/view.html.php
index 7f1580a5736ff..5ab4e34a9b9c0 100644
--- a/administrator/components/com_content/views/articles/view.html.php
+++ b/administrator/components/com_content/views/articles/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -130,7 +130,7 @@ protected function addToolbar()
if ($this->state->get('filter.published') == -2 && $canDo->get('core.delete'))
{
- JToolbarHelper::deleteList('', 'articles.delete', 'JTOOLBAR_EMPTY_TRASH');
+ JToolbarHelper::deleteList('JGLOBAL_CONFIRM_DELETE', 'articles.delete', 'JTOOLBAR_EMPTY_TRASH');
}
elseif ($canDo->get('core.edit.state'))
{
diff --git a/administrator/components/com_content/views/featured/tmpl/default.php b/administrator/components/com_content/views/featured/tmpl/default.php
index 91731ed00b1fd..5eb8e932d9e16 100644
--- a/administrator/components/com_content/views/featured/tmpl/default.php
+++ b/administrator/components/com_content/views/featured/tmpl/default.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -67,7 +67,7 @@
diff --git a/administrator/components/com_content/views/featured/view.html.php b/administrator/components/com_content/views/featured/view.html.php
index f9b0d4b2d2e8b..d47b64a54b258 100644
--- a/administrator/components/com_content/views/featured/view.html.php
+++ b/administrator/components/com_content/views/featured/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_content
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -102,7 +102,7 @@ protected function addToolbar()
if ($state->get('filter.published') == -2 && $canDo->get('core.delete'))
{
- JToolbarHelper::deleteList('', 'articles.delete', 'JTOOLBAR_EMPTY_TRASH');
+ JToolbarHelper::deleteList('JGLOBAL_CONFIRM_DELETE', 'articles.delete', 'JTOOLBAR_EMPTY_TRASH');
}
elseif ($canDo->get('core.edit.state'))
{
diff --git a/administrator/components/com_contenthistory/contenthistory.php b/administrator/components/com_contenthistory/contenthistory.php
index 6b9d367eaf29e..5e76938a84ef3 100644
--- a/administrator/components/com_contenthistory/contenthistory.php
+++ b/administrator/components/com_contenthistory/contenthistory.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/contenthistory.xml b/administrator/components/com_contenthistory/contenthistory.xml
index 69575ae61fe24..c0dc5a0424ec2 100644
--- a/administrator/components/com_contenthistory/contenthistory.xml
+++ b/administrator/components/com_contenthistory/contenthistory.xml
@@ -3,7 +3,7 @@
com_contenthistoryJoomla! ProjectMay 2013
- (C) 2005 - 2015 Open Source Matters. All rights reserved.
+ (C) 2005 - 2016 Open Source Matters. All rights reserved.GNU General Public License version 2 or later; see LICENSE.txtadmin@joomla.orgwww.joomla.org
diff --git a/administrator/components/com_contenthistory/controller.php b/administrator/components/com_contenthistory/controller.php
index fc29c460e449f..341e1db177d4e 100644
--- a/administrator/components/com_contenthistory/controller.php
+++ b/administrator/components/com_contenthistory/controller.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/controllers/history.php b/administrator/components/com_contenthistory/controllers/history.php
index b13c322368070..2cd1108e441fc 100644
--- a/administrator/components/com_contenthistory/controllers/history.php
+++ b/administrator/components/com_contenthistory/controllers/history.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/controllers/preview.php b/administrator/components/com_contenthistory/controllers/preview.php
index 13cc9461ebd8c..54da2cddf759e 100644
--- a/administrator/components/com_contenthistory/controllers/preview.php
+++ b/administrator/components/com_contenthistory/controllers/preview.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/helpers/contenthistory.php b/administrator/components/com_contenthistory/helpers/contenthistory.php
index ea5ea3484512b..f18da818c0fcd 100644
--- a/administrator/components/com_contenthistory/helpers/contenthistory.php
+++ b/administrator/components/com_contenthistory/helpers/contenthistory.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/helpers/html/textdiff.php b/administrator/components/com_contenthistory/helpers/html/textdiff.php
index 1b956464079ce..b202c5bad6d1b 100644
--- a/administrator/components/com_contenthistory/helpers/html/textdiff.php
+++ b/administrator/components/com_contenthistory/helpers/html/textdiff.php
@@ -3,7 +3,7 @@
* @package Joomla.Libraries
* @subpackage HTML
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
diff --git a/administrator/components/com_contenthistory/models/compare.php b/administrator/components/com_contenthistory/models/compare.php
index 6394eea7161fa..f1847762ae03c 100644
--- a/administrator/components/com_contenthistory/models/compare.php
+++ b/administrator/components/com_contenthistory/models/compare.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/models/history.php b/administrator/components/com_contenthistory/models/history.php
index e110278e20f7c..d91429362a167 100644
--- a/administrator/components/com_contenthistory/models/history.php
+++ b/administrator/components/com_contenthistory/models/history.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -67,7 +67,7 @@ protected function canEdit($record)
* Make sure user has edit privileges for this content item. Note that we use edit permissions
* for the content item, not delete permissions for the content history row.
*/
- $user = JFactory::getUser();
+ $user = JFactory::getUser();
$result = $user->authorise('core.edit', $typeAlias . '.' . (int) $record->ucm_item_id);
}
}
diff --git a/administrator/components/com_contenthistory/models/preview.php b/administrator/components/com_contenthistory/models/preview.php
index 81831f07aecde..c93e16bbfd205 100644
--- a/administrator/components/com_contenthistory/models/preview.php
+++ b/administrator/components/com_contenthistory/models/preview.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/views/compare/tmpl/compare.php b/administrator/components/com_contenthistory/views/compare/tmpl/compare.php
index a83d22c300313..abafce3d744be 100644
--- a/administrator/components/com_contenthistory/views/compare/tmpl/compare.php
+++ b/administrator/components/com_contenthistory/views/compare/tmpl/compare.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_users
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/views/compare/view.html.php b/administrator/components/com_contenthistory/views/compare/view.html.php
index c31fc90fcfde2..5fae9f48afaaa 100644
--- a/administrator/components/com_contenthistory/views/compare/view.html.php
+++ b/administrator/components/com_contenthistory/views/compare/view.html.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_contenthistory
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
diff --git a/administrator/components/com_contenthistory/views/history/tmpl/modal.php b/administrator/components/com_contenthistory/views/history/tmpl/modal.php
index 56b249f84a99e..45c1c0569a5fe 100644
--- a/administrator/components/com_contenthistory/views/history/tmpl/modal.php
+++ b/administrator/components/com_contenthistory/views/history/tmpl/modal.php
@@ -3,7 +3,7 @@
* @package Joomla.Administrator
* @subpackage com_users
*
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -91,19 +91,19 @@