diff --git a/.gitignore b/.gitignore index 55e06f6078..6a72e5e047 100644 --- a/.gitignore +++ b/.gitignore @@ -7,8 +7,9 @@ # Local System Files (i.e. cache, logs, etc.) # /administrator/cache +/administrator/logs /cache -/logs +/installation/cache /tmp /configuration.php /.htaccess @@ -131,3 +132,13 @@ Desktop.ini /libraries/vendor/symfony/yaml/composer.json /libraries/vendor/symfony/yaml/phpunit.xml.dist /libraries/vendor/symfony/yaml/README.md +/libraries/vendor/simplepie/simplepie/demo +/libraries/vendor/simplepie/simplepie/tests +/libraries/vendor/simplepie/simplepie/README.markdown +/libraries/vendor/simplepie/simplepie/phpunit.xml.dist +/libraries/vendor/simplepie/simplepie/.gitignore +/libraries/vendor/simplepie/simplepie/.travis.yml +/libraries/vendor/simplepie/simplepie/compatibility_test +/libraries/vendor/simplepie/simplepie/build +/libraries/vendor/simplepie/simplepie/idn/ReadMe.txt +/libraries/vendor/simplepie/simplepie/composer.json diff --git a/.travis.yml b/.travis.yml index 6aafc4336c..df5689d5a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,7 @@ env: - INSTALL_REDIS="yes" matrix: + fast_finish: true include: - php: 5.3 env: INSTALL_APC="yes" @@ -20,7 +21,20 @@ matrix: - 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 + sudo: true + dist: trusty + group: edge # until the next update + addons: + apt: + packages: + - mysql-server-5.6 + - mysql-client-core-5.6 + - mysql-client-5.6 + services: + - mysql + - postgresql + - redis-server + env: INSTALL_APCU_BC_BETA="no" INSTALL_MEMCACHE="no" INSTALL_MEMCACHED="no" # Disabled items that currently do not work in travis-ci hhvm allow_failures: - php: hhvm @@ -33,8 +47,10 @@ before_script: # Make sure all dev dependencies are installed - composer install # Set up databases for testing - - mysql -e 'create database joomla_ut;' - - mysql joomla_ut < tests/unit/schema/mysql.sql + - if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then mysql -e 'create database joomla_ut;'; fi + - if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then mysql joomla_ut < tests/unit/schema/mysql.sql; fi + - if [[ $TRAVIS_PHP_VERSION = hhvm ]]; then mysql -u root -e 'create database joomla_ut;'; fi + - if [[ $TRAVIS_PHP_VERSION = hhvm ]]; then mysql -u root joomla_ut < tests/unit/schema/mysql.sql; fi - psql -c 'create database joomla_ut;' -U postgres - psql -d joomla_ut -a -f tests/unit/schema/postgresql.sql # Set up Apache @@ -46,7 +62,8 @@ before_script: - 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 + - if [[ $INSTALL_REDIS == "yes" && $TRAVIS_PHP_VERSION != hhvm ]]; then phpenv config-add build/travis/phpenv/redis.ini; fi + - if [[ $INSTALL_REDIS == "yes" && $TRAVIS_PHP_VERSION = hhvm ]]; then cat build/travis/phpenv/redis.ini >> /etc/hhvm/php.ini; fi # Xvfb - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" diff --git a/README.md b/README.md index 6ade44bbbb..e069380e9e 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ What is this? --------------------- * This is a Joomla! 3.x installation/upgrade package. * Joomla's [Official website](https://www.joomla.org). -* Joomla! 3.5 [version history](https://docs.joomla.org/Joomla_3.5_version_history). +* Joomla! 3.6 [version history](https://docs.joomla.org/Joomla_3.6_version_history). * Detailed changes are in the [changelog](https://github.com/joomla/joomla-cms/commits/master). What is Joomla? @@ -49,7 +49,7 @@ Is it easy to change the layout display? Ready to install Joomla? --------------------- -* Check the [minimum requirements](https://www.joomla.org/technical-requirements.html). +* Check the [minimum requirements](https://www.joomla.org/about-joomla/technical-requirements.html). * How do you [install Joomla](https://docs.joomla.org/Installing_Joomla!)? * You could start your Joomla! experience by [building your site on a local test server](https://docs.joomla.org/Installing_Joomla_locally). When ready, it can be moved to an on-line hosting account of your choice. diff --git a/README.txt b/README.txt index 741ce6ac10..72b246a63c 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.5 version history - https://docs.joomla.org/Joomla_3.5_version_history + * Joomla! 3.6 version history - https://docs.joomla.org/Joomla_3.6_version_history * Detailed changes in the Changelog: https://github.com/joomla/joomla-cms/commits/master 2- What is Joomla? @@ -33,7 +33,7 @@ * There are lots of ready made templates that you can download. 8- Ready to install Joomla? - * See minimum requirements here: https://www.joomla.org/technical-requirements.html + * See minimum requirements here: https://www.joomla.org/about-joomla/technical-requirements.html * How do you install Joomla! ? - https://docs.joomla.org/Installing_Joomla! * Start your Joomla experience building your site with a local test server. When ready it can be moved to an on-line hosting account of your choice. diff --git a/administrator/components/com_admin/models/sysinfo.php b/administrator/components/com_admin/models/sysinfo.php index e618573e93..e13a05092e 100644 --- a/administrator/components/com_admin/models/sysinfo.php +++ b/administrator/components/com_admin/models/sysinfo.php @@ -102,7 +102,7 @@ class AdminModelSysInfo extends JModelLegacy 'session.save_path', 'upload_tmp_dir', 'User/Group', - 'open_basedir' + 'open_basedir', ), 'other' => array( 'db', @@ -126,7 +126,7 @@ class AdminModelSysInfo extends JModelLegacy 'sitename', 'smtphost', 'tmp_path', - 'open_basedir' + 'open_basedir', ) ); @@ -274,7 +274,7 @@ public function &getConfig() $registry = new Registry(new JConfig); $this->config = $registry->toArray(); - $hidden = array('host', 'user', 'password', 'ftp_user', 'ftp_pass', 'smtpuser', 'smtppass'); + $hidden = array('host', 'user', 'password', 'ftp_user', 'ftp_pass', 'smtpuser', 'smtppass',); foreach ($hidden as $key) { @@ -312,7 +312,7 @@ public function &getInfo() 'sapi_name' => php_sapi_name(), 'version' => $version->getLongVersion(), 'platform' => $platform->getLongVersion(), - 'useragent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "" + 'useragent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "", ); return $this->info; @@ -464,10 +464,11 @@ public function getExtensions() $installed[$extension->name] = array( 'name' => $extension->name, 'type' => $extension->type, + 'state' => $extension->enabled ? JText::_('JENABLED') : JText::_('JDISABLED'), 'author' => 'unknown', 'version' => 'unknown', 'creationDate' => 'unknown', - 'authorUrl' => 'unknown' + 'authorUrl' => 'unknown', ); $manifest = json_decode($extension->manifest_cache); @@ -481,7 +482,7 @@ public function getExtensions() 'author' => $manifest->author, 'version' => $manifest->version, 'creationDate' => $manifest->creationDate, - 'authorUrl' => $manifest->authorUrl + 'authorUrl' => $manifest->authorUrl, ); $installed[$extension->name] = array_merge($installed[$extension->name], $extraData); @@ -524,7 +525,10 @@ public function getDirectory($public = false) continue; } - $this->addDirectory('administrator/language/' . $folder->getFilename(), JPATH_ADMINISTRATOR . '/language/' . $folder->getFilename()); + $this->addDirectory( + 'administrator/language/' . $folder->getFilename(), + JPATH_ADMINISTRATOR . '/language/' . $folder->getFilename() + ); } // List all manifests folders @@ -537,7 +541,10 @@ public function getDirectory($public = false) continue; } - $this->addDirectory('administrator/manifests/' . $folder->getFilename(), JPATH_ADMINISTRATOR . '/manifests/' . $folder->getFilename()); + $this->addDirectory( + 'administrator/manifests/' . $folder->getFilename(), + JPATH_ADMINISTRATOR . '/manifests/' . $folder->getFilename() + ); } $this->addDirectory('administrator/modules', JPATH_ADMINISTRATOR . '/modules'); @@ -557,7 +564,10 @@ public function getDirectory($public = false) continue; } - $this->addDirectory('images/' . $folder->getFilename(), JPATH_SITE . '/' . $cparams->get('image_path') . '/' . $folder->getFilename()); + $this->addDirectory( + 'images/' . $folder->getFilename(), + JPATH_SITE . '/' . $cparams->get('image_path') . '/' . $folder->getFilename() + ); } $this->addDirectory('language', JPATH_SITE . '/language'); @@ -610,13 +620,29 @@ public function getDirectory($public = false) 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'); + $this->addDirectory( + 'log', + $registry->get('log_path', JPATH_ADMINISTRATOR . '/logs'), + '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'); + $this->addDirectory( + $registry->get('log_path', JPATH_ADMINISTRATOR . '/logs'), + $registry->get('log_path', JPATH_ADMINISTRATOR . '/logs'), + '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; @@ -635,7 +661,7 @@ public function getDirectory($public = false) */ private function addDirectory($name, $path, $message = '') { - $this->directories[$name] = array('writable' => is_writable($path), 'message' => $message); + $this->directories[$name] = array('writable' => is_writable($path), 'message' => $message,); } /** @@ -692,7 +718,7 @@ protected function parsePhpInfo($html) // 3cols if (preg_match($p2, $val, $matchs)) { - $r[$name][trim($matchs[1])] = array(trim($matchs[2]), trim($matchs[3])); + $r[$name][trim($matchs[1])] = array(trim($matchs[2]), trim($matchs[3]),); } // 2cols elseif (preg_match($p3, $val, $matchs)) diff --git a/administrator/components/com_admin/script.php b/administrator/components/com_admin/script.php index ca7c12d30e..37fd7aa329 100644 --- a/administrator/components/com_admin/script.php +++ b/administrator/components/com_admin/script.php @@ -36,7 +36,7 @@ public function update($installer) $this->clearRadCache(); $this->updateAssets(); $this->clearStatsCache(); - $this->convertTablesToUtf8mb4(); + $this->convertTablesToUtf8mb4(true); $this->cleanJoomlaCache(); // VERY IMPORTANT! THIS METHOD SHOULD BE CALLED LAST, SINCE IT COULD @@ -235,13 +235,13 @@ protected function updateManifestCaches() array('component', 'com_config', '', 1), array('component', 'com_redirect', '', 1), array('component', 'com_users', '', 1), + array('component', 'com_finder', '', 1), array('component', 'com_tags', '', 1), array('component', 'com_contenthistory', '', 1), array('component', 'com_postinstall', '', 1), + array('component', 'com_joomlaupdate', '', 1), // Libraries - array('library', 'phpmailer', '', 0), - array('library', 'simplepie', '', 0), array('library', 'phputf8', '', 0), array('library', 'joomla', '', 0), array('library', 'idna_convert', '', 0), @@ -341,6 +341,9 @@ protected function updateManifestCaches() array('plugin', 'updatenotification', 'system', 0), array('plugin', 'module', 'editors-xtd', 0), array('plugin', 'stats', 'system', 0), + array('plugin', 'packageinstaller','installer',0), + array('plugin', 'folderinstaller','installer', 0), + array('plugin', 'urlinstaller','installer', 0), // Templates array('template', 'beez3', '', 0), @@ -356,7 +359,7 @@ protected function updateManifestCaches() array('file', 'joomla', '', 0), // Packages - // None in core at this time + array('package', 'pkg_en-GB', '', 0), ); // Attempt to refresh manifest caches @@ -1409,6 +1412,18 @@ public function deleteUnexistingFiles() '/libraries/joomla/document/xml/xml.php', '/administrator/components/com_installer/views/languages/tmpl/default_filter.php', '/administrator/components/com_joomlaupdate/helpers/download.php', + // Joomla 3.6.0 + '/libraries/simplepie/README.txt', + '/libraries/simplepie/simplepie.php', + '/libraries/simplepie/LICENSE.txt', + '/libraries/simplepie/idn/LICENCE', + '/libraries/simplepie/idn/ReadMe.txt', + '/libraries/simplepie/idn/idna_convert.class.php', + '/libraries/simplepie/idn/npdata.ser', + '/administrator/manifests/libraries/simplepie.xml', + '/administrator/templates/isis/js/jquery.js', + '/administrator/templates/isis/js/bootstrap.min.js', + '/media/system/js/permissions.min.js', ); // TODO There is an issue while deleting folders using the ftp mode @@ -1502,6 +1517,9 @@ public function deleteUnexistingFiles() '/libraries/joomla/document/opensearch', '/libraries/joomla/document/raw', '/libraries/joomla/document/xml', + // Joomla 3.6 + '/libraries/simplepie/idn', + '/libraries/simplepie', ); jimport('joomla.filesystem.file'); @@ -1617,8 +1635,8 @@ public function flushSessions() $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. + * Restarting the Session require a new login for the current user so lets check if we have an active session + * and only restart it if not. * For B/C reasons we need to use getState as isActive is not available in 2.5 */ if ($session->getState() !== 'active') @@ -1666,32 +1684,27 @@ public function flushSessions() /** * 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 + * @param boolean $doDbFixMsg Flag if message to be shown to check db fix * * @return void * * @since 3.5 */ - private function convertTablesToUtf8mb4() + public function convertTablesToUtf8mb4($doDbFixMsg = false) { $db = JFactory::getDbo(); // This is only required for MySQL databases - $name = $db->getName(); + $serverType = $db->getServerType(); - if (stristr($name, 'mysql') === false) + if ($serverType != 'mysql') { return; } - // Check if utf8mb4 is supported and set required conversion status - $utf8mb4Support = false; - - if ($this->serverClaimsUtf8mb4Support($name)) + // Set required conversion status + if ($db->hasUTF8mb4Support()) { - $utf8mb4Support = true; $converted = 2; } else @@ -1710,7 +1723,14 @@ private function convertTablesToUtf8mb4() } catch (Exception $e) { - JFactory::getApplication()->enqueueMessage(JText::_('JLIB_DATABASE_ERROR_DATABASE_UPGRADE_FAILED'), 'error'); + // Render the error message from the Exception object + JFactory::getApplication()->enqueueMessage($e->getMessage(), 'error'); + + if ($doDbFixMsg) + { + // Show an error message telling to check database problems + JFactory::getApplication()->enqueueMessage(JText::_('JLIB_DATABASE_ERROR_DATABASE_UPGRADE_FAILED'), 'error'); + } return; } @@ -1757,15 +1777,9 @@ private function convertTablesToUtf8mb4() { foreach ($queries2 as $query2) { - // Downgrade the query if utf8mb4 isn't supported - if (!$utf8mb4Support) - { - $query2 = $this->convertUtf8mb4QueryToUtf8($query2); - } - try { - $db->setQuery($query2)->execute(); + $db->setQuery($db->convertUtf8mb4QueryToUtf8($query2))->execute(); } catch (Exception $e) { @@ -1778,8 +1792,7 @@ private function convertTablesToUtf8mb4() } } - // Show if there was some error - if ($converted == 0) + if ($doDbFixMsg && $converted == 0) { // Show an error message telling to check database problems JFactory::getApplication()->enqueueMessage(JText::_('JLIB_DATABASE_ERROR_DATABASE_UPGRADE_FAILED'), 'error'); @@ -1790,89 +1803,6 @@ private function convertTablesToUtf8mb4() . ' 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 * 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 index a3fbadebb3..299347e6d5 100644 --- 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 @@ -1 +1 @@ -UPDATE `#__menu` SET `title` = 'com_contact_contacts' WHERE `id` = 8; +UPDATE `#__menu` SET `title` = 'com_contact_contacts' WHERE `client_id` = 1 AND `level` = 2 AND `title` = 'com_contact'; 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 index 38ab528a6c..ff8c69105f 100644 --- 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 @@ -1,5 +1,12 @@ 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; + +-- +-- The following statement had to be modified for 3.6.0 by removing the +-- NOT NULL, which was wrong because not consistent with new install. +-- See also 3.6.0-2016-04-06.sql for updating 3.5.0 or 3.5.1 +-- +ALTER TABLE `#__redirect_links` MODIFY `new_url` VARCHAR(2048); + 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.2-2016-04-01.sql b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-01.sql similarity index 70% rename from administrator/components/com_admin/sql/updates/mysql/3.5.2-2016-04-01.sql rename to administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-01.sql index 3a607f8bb3..0ac34df324 100644 --- a/administrator/components/com_admin/sql/updates/mysql/3.5.2-2016-04-01.sql +++ b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-01.sql @@ -1,3 +1,7 @@ +-- Rename update site names +UPDATE `#__update_sites` SET `name` = 'Joomla! Core' WHERE `name` = 'Joomla Core' AND `type` = 'collection'; +UPDATE `#__update_sites` SET `name` = 'Joomla! Extension Directory' WHERE `name` = 'Joomla Extension Directory' AND `type` = 'collection'; + UPDATE `#__update_sites` SET `location` = 'https://update.joomla.org/core/list.xml' WHERE `name` = 'Joomla! Core' AND `type` = 'collection'; UPDATE `#__update_sites` SET `location` = 'https://update.joomla.org/jed/list.xml' WHERE `name` = 'Joomla! Extension Directory' AND `type` = 'collection'; UPDATE `#__update_sites` SET `location` = 'https://update.joomla.org/language/translationlist_3.xml' WHERE `name` = 'Accredited Joomla! Translations' AND `type` = 'collection'; diff --git a/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-06.sql b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-06.sql new file mode 100644 index 0000000000..e7df517ad4 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-06.sql @@ -0,0 +1 @@ +ALTER TABLE `#__redirect_links` MODIFY `new_url` VARCHAR(2048); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-08.sql b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-08.sql new file mode 100644 index 0000000000..6714529c32 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-08.sql @@ -0,0 +1,14 @@ +-- Insert the missing en-GB package extension. +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 (802, 'English (United Kingdom)', 'package', 'pkg_en-GB', '', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0); + +-- Change update site extension id to the new extension. +UPDATE `#__update_sites_extensions` +SET `extension_id` = 802 +WHERE `update_site_id` IN ( + SELECT `update_site_id` + FROM `#__update_sites` + WHERE `name` = 'Accredited Joomla! Translations' + AND `type` = 'collection' + ) +AND `extension_id` = 600; diff --git a/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-09.sql b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-09.sql new file mode 100644 index 0000000000..95678415b6 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-04-09.sql @@ -0,0 +1,5 @@ +-- +-- Add ACL check for to #__menu_types +-- + +ALTER TABLE `#__menu_types` ADD COLUMN `asset_id` INT(11) NOT NULL AFTER `id`; \ No newline at end of file diff --git a/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-05-06.sql b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-05-06.sql new file mode 100644 index 0000000000..a53c9b18e4 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-05-06.sql @@ -0,0 +1,5 @@ +DELETE FROM `#__extensions` WHERE `type` = 'library' AND `element` = 'simplepie'; +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 +(455, 'plg_installer_packageinstaller', 'plugin', 'packageinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 1, 0), +(456, 'plg_installer_folderinstaller', 'plugin', 'folderinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 2, 0), +(457, 'plg_installer_urlinstaller', 'plugin', 'urlinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 3, 0); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-06-01.sql b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-06-01.sql new file mode 100644 index 0000000000..511d7cbac1 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-06-01.sql @@ -0,0 +1 @@ +UPDATE `#__extensions` SET `protected` = 1, `enabled` = 1 WHERE `name` = 'com_ajax'; diff --git a/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-06-05.sql b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-06-05.sql new file mode 100644 index 0000000000..4fcc47c42f --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.6.0-2016-06-05.sql @@ -0,0 +1,5 @@ +-- +-- Add ACL check for to #__languages +-- + +ALTER TABLE `#__languages` ADD COLUMN `asset_id` INT(11) NOT NULL AFTER `lang_id`; \ No newline at end of file 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 index ce62b18de2..ae4b418e3b 100644 --- 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 @@ -1 +1 @@ -UPDATE "#__menu" SET "title" = 'com_contact_contacts' WHERE "id" = 8; +UPDATE "#__menu" SET "title" = 'com_contact_contacts' WHERE "client_id" = 1 AND "level" = 2 AND "title" = 'com_contact'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.5.2-2016-04-01.sql b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-01.sql similarity index 70% rename from administrator/components/com_admin/sql/updates/postgresql/3.5.2-2016-04-01.sql rename to administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-01.sql index ff3d61ce21..50d35bbd85 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/3.5.2-2016-04-01.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-01.sql @@ -1,3 +1,7 @@ +-- Rename update site names +UPDATE "#__update_sites" SET "name" = 'Joomla! Core' WHERE "name" = 'Joomla Core' AND "type" = 'collection'; +UPDATE "#__update_sites" SET "name" = 'Joomla! Extension Directory' WHERE "name" = 'Joomla Extension Directory' AND "type" = 'collection'; + UPDATE "#__update_sites" SET "location" = 'https://update.joomla.org/core/list.xml' WHERE "name" = 'Joomla! Core' AND "type" = 'collection'; UPDATE "#__update_sites" SET "location" = 'https://update.joomla.org/jed/list.xml' WHERE "name" = 'Joomla! Extension Directory' AND "type" = 'collection'; UPDATE "#__update_sites" SET "location" = 'https://update.joomla.org/language/translationlist_3.xml' WHERE "name" = 'Accredited Joomla! Translations' AND "type" = 'collection'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-08.sql b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-08.sql new file mode 100644 index 0000000000..a9b1bfea26 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-08.sql @@ -0,0 +1,12 @@ +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 +(802, 'English (United Kingdom)', 'package', 'pkg_en-GB', '', 0, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0); + +UPDATE "#__update_sites_extensions" +SET "extension_id" = 802 +WHERE "update_site_id" IN ( + SELECT "update_site_id" + FROM "#__update_sites" + WHERE "name" = 'Accredited Joomla! Translations' + AND "type" = 'collection' + ) +AND "extension_id" = 600; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-09.sql b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-09.sql new file mode 100644 index 0000000000..31b785b059 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-04-09.sql @@ -0,0 +1,5 @@ +-- +-- Add ACL check for to #__menu_types +-- + +ALTER TABLE "#__menu_types" ADD COLUMN "asset_id" bigint DEFAULT 0 NOT NULL; \ No newline at end of file diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-05-06.sql b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-05-06.sql new file mode 100644 index 0000000000..9d58322a88 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-05-06.sql @@ -0,0 +1,6 @@ +DELETE FROM "#__extensions" WHERE "type" = 'library' AND "element" = 'simplepie'; + +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 +(455, 'plg_installer_packageinstaller', 'plugin', 'packageinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 1, 0), +(456, 'plg_installer_folderinstaller', 'plugin', 'folderinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 2, 0), +(457, 'plg_installer_urlinstaller', 'plugin', 'urlinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '1970-01-01 00:00:00', 3, 0); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-06-01.sql b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-06-01.sql new file mode 100644 index 0000000000..a8c3f145ab --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-06-01.sql @@ -0,0 +1 @@ +UPDATE "#__extensions" SET "protected" = 1, "enabled" = 1 WHERE "name" = 'com_ajax'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-06-05.sql b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-06-05.sql new file mode 100644 index 0000000000..3d4aac8976 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.6.0-2016-06-05.sql @@ -0,0 +1,5 @@ +-- +-- Add ACL check for to #__languages +-- + +ALTER TABLE "#__languages" ADD COLUMN "asset_id" bigint DEFAULT 0 NOT NULL; \ No newline at end of file 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 index c652a5057f..48ddf71b98 100644 --- 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 @@ -1 +1 @@ -UPDATE [#__menu] SET [title] = 'com_contact_contacts' WHERE [id] = 8; +UPDATE [#__menu] SET [title] = 'com_contact_contacts' WHERE [client_id] = 1 AND [level] = 2 AND [title] = 'com_contact'; 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 index e0a8f66108..898025eaf9 100644 --- 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 @@ -1,6 +1,13 @@ 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; + +-- +-- The following statement had to be modified for 3.6.0 by removing the +-- NOT NULL, which was wrong because not consistent with new install. +-- See also 3.6.0-2016-04-06.sql for updating 3.5.0 or 3.5.1 +-- +ALTER TABLE [#__redirect_links] ALTER COLUMN [new_url] [nvarchar](2048); + ALTER TABLE [#__redirect_links] ALTER COLUMN [referer] [nvarchar](2048) NOT NULL; CREATE NONCLUSTERED INDEX [idx_old_url] ON [#__redirect_links] ( diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.5.2-2016-04-01.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-01.sql similarity index 70% rename from administrator/components/com_admin/sql/updates/sqlazure/3.5.2-2016-04-01.sql rename to administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-01.sql index 59d5fb4c38..45dcf467e5 100644 --- a/administrator/components/com_admin/sql/updates/sqlazure/3.5.2-2016-04-01.sql +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-01.sql @@ -1,3 +1,7 @@ +-- Rename update site names +UPDATE [#__update_sites] SET [name] = 'Joomla! Core' WHERE [name] = 'Joomla Core' AND [type] = 'collection'; +UPDATE [#__update_sites] SET [name] = 'Joomla! Extension Directory' WHERE [name] = 'Joomla Extension Directory' AND [type] = 'collection'; + UPDATE [#__update_sites] SET [location] = 'https://update.joomla.org/core/list.xml' WHERE [name] = 'Joomla! Core' AND [type] = 'collection'; UPDATE [#__update_sites] SET [location] = 'https://update.joomla.org/jed/list.xml' WHERE [name] = 'Joomla! Extension Directory' AND [type] = 'collection'; UPDATE [#__update_sites] SET [location] = 'https://update.joomla.org/language/translationlist_3.xml' WHERE [name] = 'Accredited Joomla! Translations' AND [type] = 'collection'; diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-06.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-06.sql new file mode 100644 index 0000000000..fe7dc8e6b9 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-06.sql @@ -0,0 +1 @@ +ALTER TABLE [#__redirect_links] ALTER COLUMN [new_url] [nvarchar](2048); diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-08.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-08.sql new file mode 100644 index 0000000000..c900ed2e98 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-08.sql @@ -0,0 +1,16 @@ +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 802, 'English (United Kingdom)', 'package', 'pkg_en-GB', '', 0, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0; + +SET IDENTITY_INSERT [#__extensions] OFF; + +UPDATE [#__update_sites_extensions] +SET [extension_id] = 802 +WHERE [update_site_id] IN ( + SELECT [update_site_id] + FROM [#__update_sites] + WHERE [name] = 'Accredited Joomla! Translations' + AND [type] = 'collection' + ) +AND [extension_id] = 600; diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-09.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-09.sql new file mode 100644 index 0000000000..33fab71ec6 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-04-09.sql @@ -0,0 +1,5 @@ +-- +-- Add ACL check for to #__menu_types +-- + +ALTER TABLE [#__menu_types] ADD [asset_id] [bigint] NOT NULL DEFAULT 0; \ No newline at end of file diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-05-06.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-05-06.sql new file mode 100644 index 0000000000..481dc74ae0 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-05-06.sql @@ -0,0 +1,11 @@ +DELETE FROM [#__extensions] WHERE [type] = "library" AND [element] = "simplepie"; +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 455, 'plg_installer_packageinstaller', 'plugin', 'packageinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 1, 0 +UNION ALL +SELECT 456, 'plg_installer_folderinstaller', 'plugin', 'folderinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 2, 0 +UNION ALL +SELECT 457, 'plg_installer_urlinstaller', 'plugin', 'urlinstaller', 'installer', 0, 1, 1, 1, '', '', '', '', 0, '1900-01-01 00:00:00', 3, 0; + +SET IDENTITY_INSERT #__extensions OFF; \ No newline at end of file diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-06-01.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-06-01.sql new file mode 100644 index 0000000000..3a547b5537 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-06-01.sql @@ -0,0 +1 @@ +UPDATE [#__extensions] SET [protected] = 1, [enabled] = 1 WHERE [name] = 'com_ajax'; diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-06-05.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-06-05.sql new file mode 100644 index 0000000000..9355db71a3 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.6.0-2016-06-05.sql @@ -0,0 +1,5 @@ +-- +-- Add ACL check for to #__languages +-- + +ALTER TABLE [#__languages] ADD [asset_id] [bigint] NOT NULL DEFAULT 0; \ No newline at end of file diff --git a/administrator/components/com_admin/views/help/view.html.php b/administrator/components/com_admin/views/help/view.html.php index ea30135a52..c24445530c 100644 --- a/administrator/components/com_admin/views/help/view.html.php +++ b/administrator/components/com_admin/views/help/view.html.php @@ -69,7 +69,7 @@ class AdminViewHelp extends JViewLegacy * * @param string $tpl The name of the template file to parse; automatically searches through the template paths. * - * @return mixed A string if successful, otherwise a Error object. + * @return mixed A string if successful, otherwise an Error object. * * @since 1.6 */ diff --git a/administrator/components/com_admin/views/profile/tmpl/edit.php b/administrator/components/com_admin/views/profile/tmpl/edit.php index 1e75bf73e8..7e7c15d950 100644 --- a/administrator/components/com_admin/views/profile/tmpl/edit.php +++ b/administrator/components/com_admin/views/profile/tmpl/edit.php @@ -34,7 +34,7 @@