diff --git a/.appveyor.yml b/.appveyor.yml index ba159debdd42d..87f9dae4c0180 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -15,12 +15,14 @@ environment: matrix: - php_ver_target: 7.2 DLLVersion: "5.3.0" + WINCACHE: "2.0.0.8" - php_ver_target: 7.3 + WINCACHE: "2.0.0.8" init: - SET PATH=C:\Program Files\OpenSSL;C:\tools\php;%PATH% - SET COMPOSER_NO_INTERACTION=1 - - SET PHP=1 # This var relates to caching the php install + - SET PHP=1 # This var relates to caching the php install - SET ANSICON=121x90 (121x90) services: - mssql2014 @@ -52,10 +54,11 @@ install: $source = "https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($env:DLLVersion)/php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip" $destination = "c:\tools\php\ext\php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip" Invoke-WebRequest $source -OutFile $destination - #appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($env:DLLVersion)/php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip + #appveyor-retry appveyor DownloadFile https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($env:DLLVersion)/php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip 7z x -y php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip > $null Remove-Item c:\tools\php\ext* -include .zip - cd c:\tools\php} + cd c:\tools\php + } - IF %PHP%==1 copy php.ini-production php.ini /Y - IF %PHP%==1 echo date.timezone="UTC" >> php.ini - IF %PHP%==1 echo extension_dir=ext >> php.ini @@ -80,18 +83,19 @@ install: - IF %PHP%==1 echo extension=php_curl.dll >> php.ini # Get the Wincache DLLs - ps: >- - If ($env:PHP -eq "1") { - $wincache = "2.0.0.8" + If ($env:PHP -eq "1" -and $env:WINCACHE) { cd c:\tools\php\ext - $source = "http://windows.php.net/downloads/pecl/releases/wincache/$($wincache)/php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip" - $destination = "c:\tools\php\ext\php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip" + $source = "https://windows.php.net/downloads/pecl/releases/wincache/$($env:WINCACHE)/php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip" + $destination = "c:\tools\php\ext\php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip" Invoke-WebRequest $source -OutFile $destination - #appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/wincache/$($wincache)/php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip - 7z x -y php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip > $null + #appveyor-retry appveyor DownloadFile https://windows.php.net/downloads/pecl/releases/wincache/$($env:WINCACHE)/php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip + 7z x -y php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip > $null Remove-Item C:\tools\php\ext* -include .zip - cd c:\tools\php} - - IF %PHP%==1 echo extension=php_wincache.dll >> php.ini - - IF %PHP%==1 echo wincache.enablecli = 1 >> php.ini + cd c:\tools\php + Add-Content php.ini "`nextension=php_wincache.dll" + Add-Content php.ini "`wincache.enablecli = 1" + Add-Content php.ini "`n" + } - IF %PHP%==1 echo zend_extension=php_opcache.dll >> php.ini - IF %PHP%==1 echo opcache.enable_cli=1 >> php.ini - IF %PHP%==1 echo extension=php_ldap.dll >> php.ini diff --git a/.drone.yml b/.drone.yml index 4b7343060d3f1..3325ab50fc724 100644 --- a/.drone.yml +++ b/.drone.yml @@ -40,6 +40,34 @@ steps: commands: - npm ci --unsafe-perm + - name: publish-diff + image: joomlaprojects/docker-images:patchtester + depends_on: [ npm ] + environment: + CMP_ARCHIVE_NAME: "build" + CMP_MASTER_FOLDER: "/reference" + CMP_SLAVE_FOLDER: "." # The directory the current repo is in + FTP_USERNAME: + from_secret: ftpusername + FTP_PASSWORD: + from_secret: ftppassword + FTP_HOSTNAME: ci.joomla.org + FTP_PORT: "21" + FTP_DEST_DIR: /artifacts + FTP_VERIFY: "false" + FTP_SECURE: "true" + BRANCH_NAME: "4.0-dev" # Current branch to check against (from repo joomla/joomla-cms) + DRONE_PULL_REQUEST: DRONE_PULL_REQUEST + commands: + - export PULL_ID=$DRONE_PULL_REQUEST + - /bin/compare.sh + volumes: + - name: reference + path: /reference + when: + branch: + - 4.0-dev + - name: rebuild-cache image: drillster/drone-volume-cache depends_on: [ npm ] @@ -56,21 +84,21 @@ steps: - name: php72-unit depends_on: [ phpcs ] - image: php:7.2 + image: joomlaprojects/docker-images:php7.2 commands: - php -v - ./libraries/vendor/bin/phpunit --testsuite Unit - name: php73-unit depends_on: [ phpcs ] - image: php:7.3 + image: joomlaprojects/docker-images:php7.3 commands: - php -v - ./libraries/vendor/bin/phpunit --testsuite Unit - name: php74-unit depends_on: [ phpcs ] - image: phpdaily/php:7.4-dev + image: joomlaprojects/docker-images:php7.4 failure: ignore commands: - php -v @@ -78,7 +106,7 @@ steps: - name: php80-unit depends_on: [ phpcs ] - image: phpdaily/php:8.0-dev + image: joomlaprojects/docker-images:php8.0 failure: ignore commands: - php -v @@ -197,7 +225,7 @@ steps: PLUGIN_SECURE: false PLUGIN_EXCLUDE: ^\.git/$ commands: - - export PLUGIN_DEST_DIR=$PLUGIN_DEST_DIR/$DRONE_REPO/$DRONE_BRANCH/$DRONE_PULL_REQUEST_$DRONE_BUILD_NUMBER/system-tests + - export PLUGIN_DEST_DIR=$PLUGIN_DEST_DIR/$DRONE_REPO/$DRONE_BRANCH/$DRONE_PULL_REQUEST/system-tests/$DRONE_BUILD_NUMBER - echo https://ci.joomla.org:444$PLUGIN_DEST_DIR - /bin/upload.sh when: @@ -234,6 +262,9 @@ volumes: - name: cache host: path: /tmp/cache +- name: reference + host: + path: /tmp/reference services: - name: mysql @@ -270,6 +301,6 @@ services: --- kind: signature -hmac: af5f0783363fae3f8876585fff87e08dd470ee9a81599f20e4c0e8d2d0836801 +hmac: f17f253b02d7a16535d706a31f99d678dcdc595d5bc2ca1e8c2889c3eae2a51b ... diff --git a/.editorconfig b/.editorconfig index 287896868eaa4..59d8eec2608ae 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,3 +10,7 @@ end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true + +[*.{js,scss,css}] +indent_style = space +indent_size = 2 diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000000000..0be9be57ae051 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: https://community.joomla.org/sponsorship-campaigns.html diff --git a/SECURITY.md b/.github/SECURITY.md similarity index 87% rename from SECURITY.md rename to .github/SECURITY.md index 449c2a5978fdd..52af74f0b6c0a 100644 --- a/SECURITY.md +++ b/.github/SECURITY.md @@ -9,9 +9,7 @@ This document outlines security procedures and policies for the `Joomla! Project ## Reporting a Bug -The `Joomla` team and community take all security bugs in `Joomla` seriously. - -The Joomla! Project takes security vulnerabilities very seriously. As such, the Joomla! Security Strike Team (JSST) oversees the project's security issues and follows some specific procedures when dealing with these issues. +The `Joomla` team and community take all security bugs in `Joomla` seriously. The Joomla! Security Strike Team (JSST) oversees the project's security issues and follows some specific procedures when dealing with these issues. If you find a possible vulnerability, please report it to the JSST using the [online form](https://developer.joomla.org/security/contact-the-team.html) or via email at security@joomla.org @@ -25,7 +23,7 @@ Thank you for improving the security of `Joomla`. ## Response Handling -The JSST aims to ensure all issues are handled in a timely manner and for clear communication between the team and issue reporters. As such, we have established the following guidelines for responding to issue reports: +The JSST aims to ensure all issues are handled in a timely manner and for clear communication between the team and issue reporters. We have established the following guidelines for responding to issue reports: * Within 24 hours every report gets acknowledged * Within 7 days every report gets a further response stating either diff --git a/administrator/components/com_actionlogs/Field/LogcreatorField.php b/administrator/components/com_actionlogs/Field/LogcreatorField.php index 28ff4cb68da0b..133e1ece5080a 100644 --- a/administrator/components/com_actionlogs/Field/LogcreatorField.php +++ b/administrator/components/com_actionlogs/Field/LogcreatorField.php @@ -58,12 +58,12 @@ protected function getOptions() // Construct the query $query = $db->getQuery(true) ->select($db->quoteName('u.id', 'value')) - ->select($db->quoteName('u.name', 'text')) + ->select($db->quoteName('u.username', 'text')) ->from($db->quoteName('#__users', 'u')) ->join('INNER', $db->quoteName('#__action_logs', 'c') . ' ON ' . $db->quoteName('c.user_id') . ' = ' . $db->quoteName('u.id')) ->group($db->quoteName('u.id')) - ->group($db->quoteName('u.name')) - ->order($db->quoteName('u.name')); + ->group($db->quoteName('u.username')) + ->order($db->quoteName('u.username')); // Setup the query $db->setQuery($query); diff --git a/administrator/components/com_actionlogs/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/Helper/ActionlogsHelper.php index dfa7388bc795b..eaa35bde142dc 100644 --- a/administrator/components/com_actionlogs/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/Helper/ActionlogsHelper.php @@ -26,6 +26,14 @@ */ class ActionlogsHelper { + /** + * Array of characters starting a formula + * + * @var array + * @since 3.9.7 + */ + private static $characters = array('=', '+', '-', '@'); + /** * Method to convert logs objects array to an iterable type for use with a CSV export * @@ -49,6 +57,8 @@ public static function getCsvData($data): Generator ); } + $disabledText = Text::_('COM_ACTIONLOGS_DISABLED'); + // Header row yield ['Id', 'Message', 'Date', 'Extension', 'User', 'Ip']; @@ -58,14 +68,14 @@ public static function getCsvData($data): Generator static::loadTranslationFiles($extension); - yield [ + yield array( 'id' => $log->id, - 'message' => strip_tags(static::getHumanReadableLogMessage($log, false)), + 'message' => self::escapeCsvFormula(strip_tags(static::getHumanReadableLogMessage($log, false))), 'date' => (new Date($log->log_date, new \DateTimeZone('UTC')))->format('Y-m-d H:i:s T'), - 'extension' => Text::_($extension), - 'name' => $log->name, - 'ip_address' => Text::_($log->ip_address), - ]; + 'extension' => self::escapeCsvFormula(Text::_($extension)), + 'name' => self::escapeCsvFormula($log->name), + 'ip_address' => self::escapeCsvFormula($log->ip_address === 'COM_ACTIONLOGS_DISABLED' ? $disabledText : $log->ip_address) + ); } } @@ -196,7 +206,7 @@ public static function getHumanReadableLogMessage($log, $generateLinks = true) $messageData['type'] = Text::_($messageData['type']); } - $linkMode = Factory::getApplication()->get('force_ssl', 0) >= 1 ? 1 : -1; + $linkMode = Factory::getApplication()->get('force_ssl', 0) >= 1 ? Route::TLS_FORCE : Route::TLS_IGNORE; foreach ($messageData as $key => $value) { @@ -330,4 +340,28 @@ public static function loadActionLogPluginsLanguage() // Load com_privacy too. $lang->load('com_privacy', JPATH_ADMINISTRATOR, null, false, true); } + + /** + * Escapes potential characters that start a formula in a CSV value to prevent injection attacks + * + * @param mixed $value csv field value + * + * @return mixed + * + * @since 3.9.7 + */ + protected static function escapeCsvFormula($value) + { + if ($value == '') + { + return $value; + } + + if (in_array($value[0], self::$characters, true)) + { + $value = ' ' . $value; + } + + return $value; + } } diff --git a/administrator/components/com_actionlogs/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/Model/ActionlogsModel.php index 563882a8771e2..4b2a9b504fbd8 100644 --- a/administrator/components/com_actionlogs/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/Model/ActionlogsModel.php @@ -426,7 +426,7 @@ public function getFilterForm($data = array(), $loadData = true) // Add ip sort options to sort dropdown if ($form && $ipLogging) { - /* @var JFormFieldList $field */ + /* @var \Joomla\CMS\Form\Field\ListField $field */ $field = $form->getField('fullordering', 'list'); $field->addOption(Text::_('COM_ACTIONLOGS_IP_ADDRESS_ASC'), array('value' => 'a.ip_address ASC')); $field->addOption(Text::_('COM_ACTIONLOGS_IP_ADDRESS_DESC'), array('value' => 'a.ip_address DESC')); diff --git a/administrator/components/com_actionlogs/View/Actionlogs/HtmlView.php b/administrator/components/com_actionlogs/View/Actionlogs/HtmlView.php index dd42b5e14f53c..0e9385a365301 100644 --- a/administrator/components/com_actionlogs/View/Actionlogs/HtmlView.php +++ b/administrator/components/com_actionlogs/View/Actionlogs/HtmlView.php @@ -101,7 +101,7 @@ public function display($tpl = null) $params = ComponentHelper::getParams('com_actionlogs'); $this->showIpColumn = (bool) $params->get('ip_logging', 0); - if (count($errors = $this->get('Errors'))) + if (count($errors = $model->getErrors())) { throw new GenericDataException(implode("\n", $errors), 500); } diff --git a/administrator/components/com_actionlogs/tmpl/actionlogs/default.php b/administrator/components/com_actionlogs/tmpl/actionlogs/default.php index 9679d1023061a..5d582634cc903 100644 --- a/administrator/components/com_actionlogs/tmpl/actionlogs/default.php +++ b/administrator/components/com_actionlogs/tmpl/actionlogs/default.php @@ -9,7 +9,6 @@ defined('_JEXEC') or die; -use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Layout\LayoutHelper; @@ -22,13 +21,13 @@ $listOrder = $this->escape($this->state->get('list.ordering')); $listDirn = $this->escape($this->state->get('list.direction')); -Factory::getDocument()->addScriptDeclaration(' +$this->document->addScriptDeclaration(' Joomla.submitbutton = function(task) { if (task == "actionlogs.exportLogs") { Joomla.submitform(task, document.getElementById("exportForm")); - + return; } @@ -71,24 +70,24 @@ - + - + - + - + showIpColumn) : ?> - + - + @@ -101,27 +100,27 @@ id); ?> - + - + escape(Text::_($extension)); ?> - + log_date); ?>
log_date, Text::_('DATE_FORMAT_LC6')); ?>
- + name; ?> showIpColumn) : ?> - + escape($item->ip_address)); ?> - + id; ?> diff --git a/administrator/components/com_admin/Model/SysinfoModel.php b/administrator/components/com_admin/Model/SysinfoModel.php index e699a022a9e10..0bba09c258748 100644 --- a/administrator/components/com_admin/Model/SysinfoModel.php +++ b/administrator/components/com_admin/Model/SysinfoModel.php @@ -530,7 +530,7 @@ public function getDirectory($public = false) foreach ($admin_langs as $folder) { - if (!$folder->isDir() || $folder->isDot()) + if ($folder->isDot() || !$folder->isDir()) { continue; } @@ -546,7 +546,7 @@ public function getDirectory($public = false) foreach ($manifests as $folder) { - if (!$folder->isDir() || $folder->isDot()) + if ($folder->isDot() || !$folder->isDir()) { continue; } @@ -569,7 +569,7 @@ public function getDirectory($public = false) foreach ($image_folders as $folder) { - if (!$folder->isDir() || $folder->isDot()) + if ($folder->isDot() || !$folder->isDir()) { continue; } @@ -587,7 +587,7 @@ public function getDirectory($public = false) foreach ($site_langs as $folder) { - if (!$folder->isDir() || $folder->isDot()) + if ($folder->isDot() || !$folder->isDir()) { continue; } @@ -605,7 +605,7 @@ public function getDirectory($public = false) foreach ($plugin_groups as $folder) { - if (!$folder->isDir() || $folder->isDot()) + if ($folder->isDot() || !$folder->isDir()) { continue; } diff --git a/administrator/components/com_admin/script.php b/administrator/components/com_admin/script.php index eac43e8fe4a1c..979dd0e0f6187 100644 --- a/administrator/components/com_admin/script.php +++ b/administrator/components/com_admin/script.php @@ -784,6 +784,7 @@ public function deleteUnexistingFiles() '/administrator/components/com_contact/models/forms/fields/mail.xml', '/administrator/components/com_contact/models/forms/filter_contacts.xml', '/administrator/components/com_contact/tables/contact.php', + '/administrator/components/com_contact/tmpl/contacts/default_batch.php', '/administrator/components/com_contact/views/contact/tmpl/edit.php', '/administrator/components/com_contact/views/contact/tmpl/edit_associations.php', '/administrator/components/com_contact/views/contact/tmpl/edit_metadata.php', @@ -1502,8 +1503,6 @@ public function deleteUnexistingFiles() '/administrator/language/en-GB/en-GB.com_search.sys.ini', '/administrator/language/en-GB/en-GB.com_weblinks.ini', '/administrator/language/en-GB/en-GB.com_weblinks.sys.ini', - '/administrator/language/en-GB/en-GB.mod_submenu.ini', - '/administrator/language/en-GB/en-GB.mod_submenu.sys.ini', '/administrator/language/en-GB/en-GB.plg_authentication_gmail.ini', '/administrator/language/en-GB/en-GB.plg_authentication_gmail.sys.ini', '/administrator/language/en-GB/en-GB.plg_finder_weblinks.ini', @@ -1540,9 +1539,9 @@ public function deleteUnexistingFiles() '/administrator/modules/mod_quickicon/mod_quickicon.php', '/administrator/modules/mod_sampledata/helper.php', '/administrator/modules/mod_stats_admin/helper.php', - '/administrator/modules/mod_submenu/mod_submenu.php', - '/administrator/modules/mod_submenu/mod_submenu.xml', - '/administrator/modules/mod_submenu/tmpl/default.php', + '/administrator/modules/mod_status/mod_status.php', + '/administrator/modules/mod_status/mod_status.xml', + '/administrator/modules/mod_status/tmpl/default.php', '/administrator/modules/mod_version/helper.php', '/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.ini', '/administrator/modules/mod_version/language/en-GB/en-GB.mod_version.sys.ini', @@ -4952,8 +4951,8 @@ public function deleteUnexistingFiles() '/administrator/components/com_users/views/user/tmpl', '/administrator/components/com_users/views/users', '/administrator/components/com_users/views/users/tmpl', - '/administrator/modules/mod_submenu', - '/administrator/modules/mod_submenu/tmpl', + '/administrator/modules/mod_status', + '/administrator/modules/mod_status/tmpl', '/administrator/modules/mod_version/language', '/administrator/modules/mod_version/language/en-GB', '/administrator/templates/hathor', diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-28.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-28.sql deleted file mode 100644 index 3ea86df61fc79..0000000000000 --- a/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-28.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE `#__fields_groups` ADD COLUMN `params` TEXT NOT NULL AFTER `ordering`; diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-31.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-31.sql deleted file mode 100644 index 08693d56b7c5b..0000000000000 --- a/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-31.sql +++ /dev/null @@ -1,5 +0,0 @@ -INSERT INTO `#__extensions` -(`package_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 - (0, 'mod_sampledata', 'module', 'mod_sampledata', '', 1, 0, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), - (0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.2-2017-10-14.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.2-2017-10-14.sql deleted file mode 100644 index d379ef208d611..0000000000000 --- a/administrator/components/com_admin/sql/updates/mysql/3.8.2-2017-10-14.sql +++ /dev/null @@ -1,5 +0,0 @@ --- --- Add index for alias check #__content --- - -ALTER TABLE `#__content` ADD INDEX `idx_alias` (`alias`(191)); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.4-2018-01-16.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.4-2018-01-16.sql deleted file mode 100644 index 1d204b7f63f13..0000000000000 --- a/administrator/components/com_admin/sql/updates/mysql/3.8.4-2018-01-16.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `#__user_keys` DROP INDEX `series_2`; -ALTER TABLE `#__user_keys` DROP INDEX `series_3`; diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.8-2018-05-18.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.8-2018-05-18.sql deleted file mode 100644 index 981549dd05ab5..0000000000000 --- a/administrator/components/com_admin/sql/updates/mysql/3.8.8-2018-05-18.sql +++ /dev/null @@ -1,3 +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_UPDATEDEFAULTSETTINGS_TITLE', 'COM_CPANEL_MSG_UPDATEDEFAULTSETTINGS_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/updatedefaultsettings.php', 'admin_postinstall_updatedefaultsettings_condition', '3.8.8', 1); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.9-2018-06-19.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.9-2018-06-19.sql deleted file mode 100644 index cd46b4624a2ac..0000000000000 --- a/administrator/components/com_admin/sql/updates/mysql/3.8.9-2018-06-19.sql +++ /dev/null @@ -1,2 +0,0 @@ --- Enable Sample Data Module. -UPDATE `#__extensions` SET `enabled` = '1' WHERE `name` = 'mod_sampledata'; diff --git a/administrator/components/com_admin/sql/updates/mysql/3.9.10-2019-07-09.sql b/administrator/components/com_admin/sql/updates/mysql/3.9.10-2019-07-09.sql new file mode 100644 index 0000000000000..3738ee367d0ac --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.9.10-2019-07-09.sql @@ -0,0 +1 @@ +ALTER TABLE `#__template_styles` MODIFY `home` char(7) NOT NULL DEFAULT '0'; diff --git a/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-04-23.sql b/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-04-23.sql new file mode 100644 index 0000000000000..8250cfbcb04e7 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-04-23.sql @@ -0,0 +1 @@ +ALTER TABLE `#__session` ADD INDEX `client_id_guest` (`client_id`, `guest`); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-04-26.sql b/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-04-26.sql new file mode 100644 index 0000000000000..5a13011beeae1 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-04-26.sql @@ -0,0 +1 @@ +UPDATE `#__content_types` SET `content_history_options` = REPLACE(`content_history_options`, '\"ignoreChanges\":[\"modified_by\", \"modified\", \"checked_out\", \"checked_out_time\", \"version\", \"hits\"]', '\"ignoreChanges\":[\"modified_by\", \"modified\", \"checked_out\", \"checked_out_time\", \"version\", \"hits\", \"ordering\"]'); diff --git a/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-05-16.sql b/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-05-16.sql new file mode 100644 index 0000000000000..e03422239c89e --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.9.7-2019-05-16.sql @@ -0,0 +1 @@ +# Query removed, see https://github.com/joomla/joomla-cms/pull/25177 diff --git a/administrator/components/com_admin/sql/updates/mysql/3.9.8-2019-06-11.sql b/administrator/components/com_admin/sql/updates/mysql/3.9.8-2019-06-11.sql new file mode 100644 index 0000000000000..61d79e585edb8 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.9.8-2019-06-11.sql @@ -0,0 +1 @@ +UPDATE #__users SET params = REPLACE(params, '",,"', '","'); \ No newline at end of file diff --git a/administrator/components/com_admin/sql/updates/mysql/3.9.8-2019-06-15.sql b/administrator/components/com_admin/sql/updates/mysql/3.9.8-2019-06-15.sql new file mode 100644 index 0000000000000..33df450aa00ca --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/3.9.8-2019-06-15.sql @@ -0,0 +1,4 @@ +ALTER TABLE `#__template_styles` DROP INDEX `idx_home`; +# Query removed, see https://github.com/joomla/joomla-cms/pull/25484 +ALTER TABLE `#__template_styles` ADD INDEX `idx_client_id` (`client_id`); +ALTER TABLE `#__template_styles` ADD INDEX `idx_client_id_home` (`client_id`, `home`); diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql index d265768211547..7bbedc437e6d4 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql @@ -12,10 +12,12 @@ CREATE TABLE IF NOT EXISTS `#__workflows` ( `default` tinyint(1) NOT NULL DEFAULT 0, `core` tinyint(1) NOT NULL DEFAULT 0, `ordering` int(11) NOT NULL DEFAULT 0, - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` datetime NOT NULL, `created_by` int(10) NOT NULL DEFAULT 0, - `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `modified` datetime NOT NULL, `modified_by` int(10) NOT NULL DEFAULT 0, + `checked_out_time` datetime, + `checked_out` int(10) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `idx_asset_id` (`asset_id`), KEY `idx_title` (`title`(191)), @@ -24,15 +26,16 @@ CREATE TABLE IF NOT EXISTS `#__workflows` ( KEY `idx_created` (`created`), KEY `idx_created_by` (`created_by`), KEY `idx_modified` (`modified`), - KEY `idx_modified_by` (`modified_by`) + KEY `idx_modified_by` (`modified_by`), + KEY `idx_checked_out` (`checked_out`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; -- -- Dumping data for table `#__workflows` -- -INSERT INTO `#__workflows` (`id`, `asset_id`, `published`, `title`, `description`, `extension`, `default`, `core`, `ordering`, `created`, `created_by`, `modified`, `modified_by`) VALUES -(1, 0, 1, 'COM_WORKFLOW_DEFAULT_WORKFLOW', '', 'com_content', 1, 1, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0); +INSERT INTO `#__workflows` (`id`, `asset_id`, `published`, `title`, `description`, `extension`, `default`, `core`,`ordering`, `created`, `created_by`, `modified`, `modified_by`, `checked_out_time`, `checked_out`) VALUES +(1, 0, 1, 'COM_WORKFLOW_DEFAULT_WORKFLOW', '', 'com_content', 1, 1, 1, CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0, NULL, 0); -- -- Table structure for table `#__workflow_associations` @@ -63,8 +66,11 @@ CREATE TABLE IF NOT EXISTS `#__workflow_stages` ( `description` text NOT NULL, `condition` int(10) DEFAULT 0, `default` tinyint(1) NOT NULL DEFAULT 0, + `checked_out_time` datetime, + `checked_out` int(10) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `idx_workflow_id` (`workflow_id`), + KEY `idx_checked_out` (`checked_out`), KEY `idx_title` (`title`(191)), KEY `idx_asset_id` (`asset_id`), KEY `idx_default` (`default`) @@ -74,11 +80,11 @@ CREATE TABLE IF NOT EXISTS `#__workflow_stages` ( -- Dumping data for table `#__workflow_stages` -- -INSERT INTO `#__workflow_stages` (`id`, `asset_id`, `ordering`, `workflow_id`, `published`, `title`, `description`, `condition`, `default`) VALUES -(1, 0, 1, 1, 1, 'JUNPUBLISHED', '', 0, 1), -(2, 0, 2, 1, 1, 'JPUBLISHED', '', 1, 0), -(3, 0, 3, 1, 1, 'JTRASHED', '', -2, 0), -(4, 0, 4, 1, 1, 'JARCHIVED', '', 2, 0); +INSERT INTO `#__workflow_stages` (`id`, `asset_id`, `ordering`, `workflow_id`, `published`, `title`, `description`, `condition`, `default`, `checked_out_time`, `checked_out`) VALUES +(1, 0, 1, 1, 1, 'JUNPUBLISHED', '', 0, 1, NULL, 0), +(2, 0, 2, 1, 1, 'JPUBLISHED', '', 1, 0, NULL, 0), +(3, 0, 3, 1, 1, 'JTRASHED', '', -2, 0, NULL, 0), +(4, 0, 4, 1, 1, 'JARCHIVED', '', 2, 0, NULL, 0); -- -- Table structure for table `#__workflow_transitions` @@ -94,9 +100,12 @@ CREATE TABLE IF NOT EXISTS `#__workflow_transitions` ( `description` text NOT NULL, `from_stage_id` int(10) NOT NULL, `to_stage_id` int(10) NOT NULL, + `checked_out_time` datetime, + `checked_out` int(10) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `idx_title` (`title`(191)), KEY `idx_asset_id` (`asset_id`), + KEY `idx_checked_out` (`checked_out`), KEY `idx_from_stage_id` (`from_stage_id`), KEY `idx_to_stage_id` (`to_stage_id`), KEY `idx_workflow_id` (`workflow_id`) @@ -106,11 +115,11 @@ CREATE TABLE IF NOT EXISTS `#__workflow_transitions` ( -- Dumping data for table `#__workflow_transitions` -- -INSERT INTO `#__workflow_transitions` (`id`, `asset_id`, `published`, `ordering`, `workflow_id`, `title`, `description`, `from_stage_id`, `to_stage_id`) VALUES -(1, 0, 1, 1, 1, 'Unpublish', '', -1, 1), -(2, 0, 1, 2, 1, 'Publish', '', -1, 2), -(3, 0, 1, 3, 1, 'Trash', '', -1, 3), -(4, 0, 1, 4, 1, 'Archive', '', -1, 4); +INSERT INTO `#__workflow_transitions` (`id`, `asset_id`, `published`, `ordering`, `workflow_id`, `title`, `description`, `from_stage_id`, `to_stage_id`, `checked_out_time`, `checked_out`) VALUES +(1, 0, 1, 1, 1, 'Unpublish', '', -1, 1, NULL, 0), +(2, 0, 1, 2, 1, 'Publish', '', -1, 2, NULL, 0), +(3, 0, 1, 3, 1, 'Trash', '', -1, 3, NULL, 0), +(4, 0, 1, 4, 1, 'Archive', '', -1, 4, NULL, 0); -- -- Creating extension entry diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-06-03.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-06-03.sql index fd6dff11bb9d7..a89f316264c58 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-06-03.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-06-03.sql @@ -8,8 +8,8 @@ CREATE TABLE IF NOT EXISTS `#__csp` ( `blocked_uri` varchar(500) NOT NULL DEFAULT '', `directive` varchar(500) NOT NULL DEFAULT '', `client` varchar(500) NOT NULL DEFAULT '', - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` datetime NOT NULL, + `modified` datetime NOT NULL, `published` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-07-29.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-07-29.sql index daad748af9d11..ef8a4055edfc8 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-07-29.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-07-29.sql @@ -76,14 +76,17 @@ TRUNCATE TABLE `#__finder_terms`; ALTER TABLE `#__finder_terms` CHANGE `language` `language` CHAR(7) NOT NULL DEFAULT '' AFTER `links`; ALTER TABLE `#__finder_terms` MODIFY `stem` varchar(75) NOT NULL DEFAULT ''; ALTER TABLE `#__finder_terms` MODIFY `soundex` varchar(75) NOT NULL DEFAULT ''; -ALTER TABLE `#__finder_terms` DROP INDEX `idx_term`, ADD INDEX `idx_stem` (`stem`), ADD INDEX `idx_language` (`language`), ADD INDEX `language` (`language`), ADD UNIQUE INDEX `idx_term` (`term`, `language`); +ALTER TABLE `#__finder_terms` DROP INDEX `idx_term`; +ALTER TABLE `#__finder_terms` ADD INDEX `idx_stem` (`stem`); +ALTER TABLE `#__finder_terms` ADD INDEX `idx_language` (`language`); +ALTER TABLE `#__finder_terms` ADD UNIQUE INDEX `idx_term_language` (`term`, `language`); DROP TABLE IF EXISTS `#__finder_terms_common`; CREATE TABLE `#__finder_terms_common` ( `term` varchar(75) NOT NULL DEFAULT '', `language` char(7) NOT NULL DEFAULT '', `custom` int(11) NOT NULL DEFAULT '0', - UNIQUE KEY `idx_word_lang` (`term`,`language`), + UNIQUE KEY `idx_term_language` (`term`,`language`), KEY `idx_lang` (`language`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_bin; INSERT INTO `#__finder_terms_common` (`term`, `language`, `custom`) VALUES diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-08-01.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-08-01.sql new file mode 100644 index 0000000000000..72a50731c9444 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-08-01.sql @@ -0,0 +1,8 @@ +ALTER TABLE `#__ucm_content` MODIFY `core_created_time` datetime NOT NULL; +ALTER TABLE `#__ucm_content` MODIFY `core_modified_time` datetime NOT NULL; + +ALTER TABLE `#__ucm_content` MODIFY `core_publish_up` datetime NULL DEFAULT NULL; +ALTER TABLE `#__ucm_content` MODIFY `core_publish_down` datetime NULL DEFAULT NULL; +ALTER TABLE `#__ucm_content` MODIFY `core_checked_out_time` datetime NULL DEFAULT NULL; + +ALTER TABLE `#__ucm_history` MODIFY `save_date` datetime NOT NULL; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-08-29.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-08-29.sql index 3786f39217d21..210f1dc1d55eb 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-08-29.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-08-29.sql @@ -3,7 +3,6 @@ ALTER TABLE `#__modules` MODIFY `publish_down` datetime NULL DEFAULT NULL; ALTER TABLE `#__modules` MODIFY `checked_out_time` datetime NULL DEFAULT NULL; -- Use 0 instead of '0000-00-00 00:00:00' if you get 'Invalid default value for ...' -UPDATE `#__modules` SET - `publish_up` = CASE WHEN `publish_up` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `publish_up` END, - `publish_down` = CASE WHEN `publish_down` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `publish_down` END, - `checked_out_time` = CASE WHEN `checked_out_time` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `checked_out_time` END; +UPDATE `#__modules` SET `publish_up` = NULL WHERE `publish_up` = '0000-00-00 00:00:00'; +UPDATE `#__modules` SET `publish_down` = NULL WHERE `publish_down` = '0000-00-00 00:00:00'; +UPDATE `#__modules` SET `checked_out_time` = NULL WHERE `checked_out_time` = '0000-00-00 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-01-16.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-01-16.sql new file mode 100644 index 0000000000000..2e0610b517402 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-01-16.sql @@ -0,0 +1,15 @@ +INSERT INTO `#__extensions` (`name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES +('com_mails', 'component', 'com_mails', '', 1, 1, 1, 1, '{"name":"com_mails","type":"component","creationDate":"January 2019","author":"Joomla! Project","copyright":"(C) 2005 - 2018 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"4.0.0","description":"COM_MAILS_XML_DESCRIPTION","group":""}', '{}', 0, '0000-00-00 00:00:00', 0, 0); + +CREATE TABLE IF NOT EXISTS `#__mail_templates` ( + `template_id` VARCHAR(127) NOT NULL DEFAULT '', + `language` char(7) NOT NULL DEFAULT '', + `subject` VARCHAR(255) NOT NULL DEFAULT '', + `body` TEXT NOT NULL, + `htmlbody` TEXT NOT NULL, + `attachments` TEXT NOT NULL, + `params` TEXT NOT NULL, + PRIMARY KEY (`template_id`, `language`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; + +INSERT INTO `#__mail_templates` (`template_id`, `language`, `subject`, `body`, `htmlbody`, `attachments`, `params`) VALUES ('com_config.test_mail', '', 'COM_CONFIG_SENDMAIL_SUBJECT', 'COM_CONFIG_SENDMAIL_BODY', '', '', '{"tags":["sitename","method"]}'); diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-03-30.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-03-30.sql index 6fb809e2d9353..61c154232e5fe 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-03-30.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-03-30.sql @@ -1,2 +1,6 @@ -ALTER TABLE `#__menu` ADD COLUMN `publish_up` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'; -ALTER TABLE `#__menu` ADD COLUMN `publish_down` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'; +ALTER TABLE `#__menu` ADD COLUMN `publish_up` datetime; +ALTER TABLE `#__menu` ADD COLUMN `publish_down` datetime; + +ALTER TABLE `#__menu` MODIFY `checked_out_time` datetime NULL DEFAULT NULL; + +UPDATE `#__menu` SET `checked_out_time` = NULL WHERE `checked_out_time` = '0000-00-00 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-04-22.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-04-22.sql index 9459c3d8abaaa..ec3bc4dd67fd4 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-04-22.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-04-22.sql @@ -2,7 +2,6 @@ ALTER TABLE `#__contact_details` MODIFY `publish_up` datetime NULL DEFAULT NULL; ALTER TABLE `#__contact_details` MODIFY `publish_down` datetime NULL DEFAULT NULL; ALTER TABLE `#__contact_details` MODIFY `checked_out_time` datetime NULL DEFAULT NULL; -UPDATE `#__contact_details` SET - `publish_up` = CASE WHEN `publish_up` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `publish_up` END, - `publish_down` = CASE WHEN `publish_down` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `publish_down` END, - `checked_out_time` = CASE WHEN `checked_out_time` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `checked_out_time` END; +UPDATE `#__contact_details` SET `publish_up` = NULL WHERE `publish_up` = '0000-00-00 00:00:00'; +UPDATE `#__contact_details` SET `publish_down` = NULL WHERE `publish_down` = '0000-00-00 00:00:00'; +UPDATE `#__contact_details` SET `checked_out_time` = NULL WHERE `checked_out_time` = '0000-00-00 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-05-05.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-05-05.sql index 8f423a14366bc..703c54dd30a6f 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-05-05.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-05-05.sql @@ -1,5 +1,6 @@ UPDATE `#__menu` SET `link`='index.php?option=com_banners&view=banners' WHERE `id`=3; UPDATE `#__menu` SET `link`='index.php?option=com_categories&view=categories&extension=com_banners' WHERE `id`=4; +UPDATE `#__menu` SET `link`='index.php?option=com_contact&view=contacts' WHERE `id`=8; UPDATE `#__menu` SET `link`='index.php?option=com_categories&view=categories&extension=com_contact' WHERE `id`=9; UPDATE `#__menu` SET `link`='index.php?option=com_newsfeeds&view=newsfeeds' WHERE `id`=14; UPDATE `#__menu` SET `link`='index.php?option=com_categories&view=categories&extension=com_newsfeeds' WHERE `id`=15; @@ -7,4 +8,4 @@ UPDATE `#__menu` SET `link`='index.php?option=com_redirect&view=links' WHERE `id UPDATE `#__menu` SET `link`='index.php?option=com_search&view=searches' WHERE `id`=17; UPDATE `#__menu` SET `link`='index.php?option=com_finder&view=index' WHERE `id`=18; UPDATE `#__menu` SET `link`='index.php?option=com_tags&view=tags' WHERE `id`=20; -UPDATE `#__menu` SET `link`='index.php?option=com_associations&view=associations' WHERE `id`=22; \ No newline at end of file +UPDATE `#__menu` SET `link`='index.php?option=com_associations&view=associations' WHERE `id`=22; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-06-28.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-06-28.sql index d100360692c15..b2bb1f01cdfd6 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-06-28.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-06-28.sql @@ -1,8 +1,32 @@ +ALTER TABLE `#__banners` MODIFY `created` datetime NOT NULL; +ALTER TABLE `#__banners` MODIFY `modified` datetime NOT NULL; + +ALTER TABLE `#__banners` MODIFY `reset` datetime NULL DEFAULT NULL; ALTER TABLE `#__banners` MODIFY `publish_up` datetime NULL DEFAULT NULL; ALTER TABLE `#__banners` MODIFY `publish_down` datetime NULL DEFAULT NULL; ALTER TABLE `#__banners` MODIFY `checked_out_time` datetime NULL DEFAULT NULL; - UPDATE `#__banners` SET - `publish_up` = CASE WHEN `publish_up` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `publish_up` END, - `publish_down` = CASE WHEN `publish_down` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `publish_down` END, - `checked_out_time` = CASE WHEN `checked_out_time` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `checked_out_time` END; \ No newline at end of file +ALTER TABLE `#__banner_clients` MODIFY `checked_out_time` datetime NULL DEFAULT NULL; + +UPDATE `#__banners` SET `modified` = `created` WHERE `modified` = '0000-00-00 00:00:00'; + +UPDATE `#__banners` SET `reset` = NULL WHERE `reset` = '0000-00-00 00:00:00'; +UPDATE `#__banners` SET `publish_up` = NULL WHERE `publish_up` = '0000-00-00 00:00:00'; +UPDATE `#__banners` SET `publish_down` = NULL WHERE `publish_down` = '0000-00-00 00:00:00'; +UPDATE `#__banners` SET `checked_out_time` = NULL WHERE `checked_out_time` = '0000-00-00 00:00:00'; + +UPDATE `#__banner_clients` SET `checked_out_time` = NULL WHERE `checked_out_time` = '0000-00-00 00:00:00'; + +UPDATE `#__ucm_content` SET `core_modified_time` = `core_created_time` + WHERE `core_type_alias` = 'com_banners.banner' + AND `core_modified_time` = '0000-00-00 00:00:00'; + +UPDATE `#__ucm_content` SET `core_publish_up` = NULL + WHERE `core_type_alias` = 'com_banners.banner' + AND `core_publish_up` = '0000-00-00 00:00:00'; +UPDATE `#__ucm_content` SET `core_publish_down` = NULL + WHERE `core_type_alias` = 'com_banners.banner' + AND `core_publish_down` = '0000-00-00 00:00:00'; +UPDATE `#__ucm_content` SET `core_checked_out_time` = NULL + WHERE `core_type_alias` = 'com_banners.banner' + AND `core_checked_out_time` = '0000-00-00 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-06-29.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-06-29.sql index 02424cf0e2376..d7c5e1e0d9e9d 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-06-29.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-06-29.sql @@ -1,8 +1,26 @@ +ALTER TABLE `#__newsfeeds` MODIFY `created` datetime NOT NULL; +ALTER TABLE `#__newsfeeds` MODIFY `modified` datetime NOT NULL; + ALTER TABLE `#__newsfeeds` MODIFY `publish_up` datetime NULL DEFAULT NULL; ALTER TABLE `#__newsfeeds` MODIFY `publish_down` datetime NULL DEFAULT NULL; ALTER TABLE `#__newsfeeds` MODIFY `checked_out_time` datetime NULL DEFAULT NULL; -UPDATE `#__newsfeeds` SET - `publish_up` = CASE WHEN `publish_up` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `publish_up` END, - `publish_down` = CASE WHEN `publish_down` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `publish_down` END, - `checked_out_time` = CASE WHEN `checked_out_time` IN ('0000-00-00 00:00:00', '1000-01-01 00:00:00') THEN NULL ELSE `checked_out_time` END; \ No newline at end of file +UPDATE `#__newsfeeds` SET `modified` = `created` WHERE `modified` = '0000-00-00 00:00:00'; + +UPDATE `#__newsfeeds` SET `publish_up` = NULL WHERE `publish_up` = '0000-00-00 00:00:00'; +UPDATE `#__newsfeeds` SET `publish_down` = NULL WHERE `publish_down` = '0000-00-00 00:00:00'; +UPDATE `#__newsfeeds` SET `checked_out_time` = NULL WHERE `checked_out_time` = '0000-00-00 00:00:00'; + +UPDATE `#__ucm_content` SET `core_modified_time` = `core_created_time` + WHERE `core_type_alias` = 'com_newsfeeds.newsfeed' + AND `core_modified_time` = '0000-00-00 00:00:00'; + +UPDATE `#__ucm_content` SET `core_publish_up` = NULL + WHERE `core_type_alias` = 'com_newsfeeds.newsfeed' + AND `core_publish_up` = '0000-00-00 00:00:00'; +UPDATE `#__ucm_content` SET `core_publish_down` = NULL + WHERE `core_type_alias` = 'com_newsfeeds.newsfeed' + AND `core_publish_down` = '0000-00-00 00:00:00'; +UPDATE `#__ucm_content` SET `core_checked_out_time` = NULL + WHERE `core_type_alias` = 'com_newsfeeds.newsfeed' + AND `core_checked_out_time` = '0000-00-00 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-07-13.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-07-13.sql new file mode 100644 index 0000000000000..6096aeff05a8d --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-07-13.sql @@ -0,0 +1,91 @@ +INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES +(0, 'mod_loginsupport', 'module', 'mod_loginsupport', '', 1, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_frontend', 'module', 'mod_frontend', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_messages', 'module', 'mod_messages', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_post_installation_messages', 'module', 'mod_post_installation_messages', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_user', 'module', 'mod_user', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_submenu', 'module', 'mod_submenu', '', 1, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_privacy_status', 'module', 'mod_privacy_status', '', 1, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0); + +DELETE FROM `#__extensions` WHERE `element` = 'mod_status' AND `client_id` = 1; + + +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 +('Login Support', '', '', 1, 'sidebar', 0, NULL, NULL, NULL, 1, 'mod_loginsupport', 1, 1, '{"forum_url":"https://forum.joomla.org/","documentation_url":"https://docs.joomla.org/","news_url":"https://www.joomla.org/","automatic_title":1,"prepare_content":1,"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":"","style":"0"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('System Dashboard', '', '', 1, 'cpanel-system', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"system","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Content Dashboard', '', '', 1, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"content","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"3","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Menus Dashboard', '', '', 1, 'cpanel-menus', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"menus","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Components Dashboard', '', '', 1, 'cpanel-components', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"components","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Users Dashboard', '', '', 1, 'cpanel-users', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"users","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Popular Articles', '', '', 3, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_popular', 3, 1, '{"count":"5","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Recently Added Articles', '', '', 4, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_latest', 3, 1, '{"count":"5","ordering":"c_dsc","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Logged-in Users', '', '', 2, 'cpanel-users', 0, NULL, NULL, NULL, 1, 'mod_logged', 3, 1, '{"count":"5","name":"1","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Frontend Link', '', '', 5, 'status', 0, NULL, NULL, NULL, 1, 'mod_frontend', 1, 1, '', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Messages', '', '', 4, 'status', 0, NULL, NULL, NULL, 1, 'mod_messages', 3, 1, '', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Post Install Messages', '', '', 3, 'status', 0, NULL, NULL, NULL, 1, 'mod_post_installation_messages', 3, 1, '', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('User Status', '', '', 6, 'status', 0, NULL, NULL, NULL, 1, 'mod_user', 3, 1, '', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Site', '', '', 1, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"site_quickicon","header_icon":"fa fa-desktop","show_users":"1","show_articles":"1","show_categories":"1","show_media":"1","show_menuItems":"1","show_modules":"1","show_plugins":"1","show_templates":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('System', '', '', 2, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"system_quickicon","header_icon":"fa fa-wrench","show_global":"1","show_checkin":"1","show_cache":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('3rd Party', '', '', 4, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"mod_quickicon","header_icon":"fa fa-boxes","load_plugins":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 0); + +UPDATE `#__modules` SET `title` = 'Update Checks',`ordering` = 3,`position` = 'icon',`showtitle` = 1,`params` = '{"context":"update_quickicon","header_icon":"fa fa-sync","show_global":"0","show_checkin":"0","show_cache":"0","show_users":"0","show_articles":"0","show_categories":"0","show_media":"0","show_menuItems":"0","show_modules":"0","show_plugins":"0","show_templates":"0","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":""}' WHERE `#__modules`.`id` = 9; + +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 +('Help Dashboard', '', '', 1, 'cpanel-help', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"help","layout":"_:default","moduleclass_sfx":"","style":"System-none","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 0); + +UPDATE `#__modules` SET `ordering` = 2,`position` = 'status' WHERE `#__modules`.`id` = 79; + +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 +('Privacy Requests', '', '', 1, 'cpanel-privacy', 0, NULL, NULL, NULL, 1, 'mod_privacy_dashboard', 1, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"cachemode":"static","style":"0","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 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 +('Privacy Status', '', '', 1, 'cpanel-privacy', 0, NULL, NULL, NULL, 1, 'mod_privacy_status', 1, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"cachemode":"static","style":"0","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (LAST_INSERT_ID(), 0); diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-08-03.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-08-03.sql new file mode 100644 index 0000000000000..a8df63a72d80c --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-08-03.sql @@ -0,0 +1,2 @@ +ALTER TABLE `#__update_sites` ADD COLUMN `checked_out` int(10) unsigned NOT NULL DEFAULT 0; +ALTER TABLE `#__update_sites` ADD COLUMN `checked_out_time` datetime NULL DEFAULT NULL; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-08-21.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-08-21.sql new file mode 100644 index 0000000000000..49b8e0564acc7 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-08-21.sql @@ -0,0 +1,15 @@ +INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES +(0, 'plg_webservices_banners', 'plugin', 'banners', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_config', 'plugin', 'config', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_contact', 'plugin', 'contact', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_languages', 'plugin', 'languages', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_menus', 'plugin', 'menus', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_messages', 'plugin', 'messages', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_modules', 'plugin', 'modules', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_newsfeeds', 'plugin', 'newsfeeds', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_plugins', 'plugin', 'plugins', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_privacy', 'plugin', 'privacy', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_redirect', 'plugin', 'redirect', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_tags', 'plugin', 'tags', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_templates', 'plugin', 'templates', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_users', 'plugin', 'users', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0); diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-13.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-13.sql new file mode 100644 index 0000000000000..911dddca67723 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-13.sql @@ -0,0 +1,2 @@ +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`, `publish_up`, `publish_down`) +SELECT 'main', 'com_messages_manager', 'Private Messages', '', 'Messaging/Private Messages', 'index.php?option=com_messages&view=messages', 'component', 1, 10, 2, `extension_id`, 0, NULL, 0, 0, 'class:messages-add', 0, '', 18, 19, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_messages'; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-14.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-14.sql new file mode 100644 index 0000000000000..655d9ac166366 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-14.sql @@ -0,0 +1,26 @@ +ALTER TABLE `#__content` MODIFY `created` datetime NOT NULL; +ALTER TABLE `#__content` MODIFY `modified` datetime NOT NULL; + +ALTER TABLE `#__content` MODIFY `publish_up` datetime NULL DEFAULT NULL; +ALTER TABLE `#__content` MODIFY `publish_down` datetime NULL DEFAULT NULL; +ALTER TABLE `#__content` MODIFY `checked_out_time` datetime NULL DEFAULT NULL; + +UPDATE `#__content` SET `modified` = `created` WHERE `modified` = '0000-00-00 00:00:00'; + +UPDATE `#__content` SET `publish_up` = NULL WHERE `publish_up` = '0000-00-00 00:00:00'; +UPDATE `#__content` SET `publish_down` = NULL WHERE `publish_down` = '0000-00-00 00:00:00'; +UPDATE `#__content` SET `checked_out_time` = NULL WHERE `checked_out_time` = '0000-00-00 00:00:00'; + +UPDATE `#__ucm_content` SET `core_modified_time` = `core_created_time` + WHERE `core_type_alias` = 'com_content.article' + AND `core_modified_time` = '0000-00-00 00:00:00'; + +UPDATE `#__ucm_content` SET `core_publish_up` = NULL + WHERE `core_type_alias` = 'com_content.article' + AND `core_publish_up` = '0000-00-00 00:00:00'; +UPDATE `#__ucm_content` SET `core_publish_down` = NULL + WHERE `core_type_alias` = 'com_content.article' + AND `core_publish_down` = '0000-00-00 00:00:00'; +UPDATE `#__ucm_content` SET `core_checked_out_time` = NULL + WHERE `core_type_alias` = 'com_content.article' + AND `core_checked_out_time` = '0000-00-00 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-22.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-22.sql new file mode 100644 index 0000000000000..0a057c91842f9 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-22.sql @@ -0,0 +1 @@ +ALTER TABLE `#__messages` MODIFY `date_time` datetime NOT NULL; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-23.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-23.sql new file mode 100644 index 0000000000000..1e7592530f8a7 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-23.sql @@ -0,0 +1,4 @@ +ALTER TABLE `#__redirect_links` MODIFY `created_date` datetime NOT NULL; +ALTER TABLE `#__redirect_links` MODIFY `modified_date` datetime NOT NULL; + +UPDATE `#__redirect_links` SET `modified_date` = `created_date` WHERE `modified_date` = '0000-00-00 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-24.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-24.sql new file mode 100644 index 0000000000000..758702a5773b6 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-24.sql @@ -0,0 +1 @@ +ALTER TABLE `#__action_logs` MODIFY `log_date` datetime NOT NULL; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-28.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-28.sql deleted file mode 100644 index 6b88b64d45039..0000000000000 --- a/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-28.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE "#__fields_groups" ADD COLUMN "params" TEXT NOT NULL; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-31.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-31.sql deleted file mode 100644 index e98b0248b1fea..0000000000000 --- a/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-31.sql +++ /dev/null @@ -1,5 +0,0 @@ -INSERT INTO "#__extensions" -("package_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 - (0, 'mod_sampledata', 'module', 'mod_sampledata', '', 1, 0, 1, 0, '', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), - (0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.2-2017-10-14.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.2-2017-10-14.sql deleted file mode 100644 index f7183db8bd2a3..0000000000000 --- a/administrator/components/com_admin/sql/updates/postgresql/3.8.2-2017-10-14.sql +++ /dev/null @@ -1,5 +0,0 @@ --- --- Add index for alias check #__content --- - -CREATE INDEX "#__content_idx_alias" ON "#__content" ("alias"); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.4-2018-01-16.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.4-2018-01-16.sql deleted file mode 100644 index 4546bab50b54a..0000000000000 --- a/administrator/components/com_admin/sql/updates/postgresql/3.8.4-2018-01-16.sql +++ /dev/null @@ -1,2 +0,0 @@ -DROP INDEX "#__user_keys_series_2"; -DROP INDEX "#__user_keys_series_3"; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.8-2018-05-18.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.8-2018-05-18.sql deleted file mode 100644 index 975876d250321..0000000000000 --- a/administrator/components/com_admin/sql/updates/postgresql/3.8.8-2018-05-18.sql +++ /dev/null @@ -1,3 +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_UPDATEDEFAULTSETTINGS_TITLE', 'COM_CPANEL_MSG_UPDATEDEFAULTSETTINGS_BODY', '', 'com_cpanel', 1, 'message', '', '', 'admin://components/com_admin/postinstall/updatedefaultsettings.php', 'admin_postinstall_updatedefaultsettings_condition', '3.8.8', 1); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.9-2018-06-19.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.9-2018-06-19.sql deleted file mode 100644 index 666def7ad577b..0000000000000 --- a/administrator/components/com_admin/sql/updates/postgresql/3.8.9-2018-06-19.sql +++ /dev/null @@ -1,2 +0,0 @@ --- Enable Sample Data Module. -UPDATE "#__extensions" SET "enabled" = '1' WHERE "name" = 'mod_sampledata'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.9.10-2019-07-09.sql b/administrator/components/com_admin/sql/updates/postgresql/3.9.10-2019-07-09.sql new file mode 100644 index 0000000000000..b1a394cd5c582 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.9.10-2019-07-09.sql @@ -0,0 +1,2 @@ +ALTER TABLE "#__template_styles" ALTER COLUMN "home" TYPE character varying(7); +ALTER TABLE "#__template_styles" ALTER COLUMN "home" SET DEFAULT '0'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-04-23.sql b/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-04-23.sql new file mode 100644 index 0000000000000..88dc5d39f8d5e --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-04-23.sql @@ -0,0 +1 @@ +CREATE INDEX "#__session_idx_client_id_guest" ON "#__session" ("client_id", "guest"); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-04-26.sql b/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-04-26.sql new file mode 100644 index 0000000000000..0439a87b08e84 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-04-26.sql @@ -0,0 +1 @@ +UPDATE "#__content_types" SET "content_history_options" = REPLACE("content_history_options", '\"ignoreChanges\":[\"modified_by\", \"modified\", \"checked_out\", \"checked_out_time\", \"version\", \"hits\"]', '\"ignoreChanges\":[\"modified_by\", \"modified\", \"checked_out\", \"checked_out_time\", \"version\", \"hits\", \"ordering\"]'); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-05-16.sql b/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-05-16.sql new file mode 100644 index 0000000000000..e03422239c89e --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.9.7-2019-05-16.sql @@ -0,0 +1 @@ +# Query removed, see https://github.com/joomla/joomla-cms/pull/25177 diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.9.8-2019-06-11.sql b/administrator/components/com_admin/sql/updates/postgresql/3.9.8-2019-06-11.sql new file mode 100644 index 0000000000000..018e8d73c3bde --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.9.8-2019-06-11.sql @@ -0,0 +1 @@ +UPDATE "#__users" SET "params" = REPLACE("params", '",,"', '","'); \ No newline at end of file diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.9.8-2019-06-15.sql b/administrator/components/com_admin/sql/updates/postgresql/3.9.8-2019-06-15.sql new file mode 100644 index 0000000000000..3acf06149c527 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/3.9.8-2019-06-15.sql @@ -0,0 +1,4 @@ +DROP INDEX IF EXISTS "#__template_styles_idx_home"; +# Queries removed, see https://github.com/joomla/joomla-cms/pull/25484 +CREATE INDEX "#__template_styles_idx_client_id" ON "#__template_styles" ("client_id"); +CREATE INDEX "#__template_styles_idx_client_id_home" ON "#__template_styles" ("client_id", "home"); diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-05-15.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-05-15.sql index f7e6cca7fd917..a41ff39e4f764 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-05-15.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-05-15.sql @@ -12,10 +12,12 @@ CREATE TABLE IF NOT EXISTS "#__workflows" ( "default" smallint NOT NULL DEFAULT 0, "core" smallint NOT NULL DEFAULT 0, "ordering" bigint NOT NULL DEFAULT 0, - "created" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "created" timestamp without time zone NOT NULL, "created_by" bigint DEFAULT 0 NOT NULL, - "modified" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "modified" timestamp without time zone NOT NULL, "modified_by" bigint DEFAULT 0 NOT NULL, + "checked_out_time" timestamp without time zone, + "checked_out" bigint DEFAULT 0 NOT NULL, PRIMARY KEY ("id") ); @@ -27,9 +29,10 @@ CREATE INDEX "#__workflows_idx_created" ON "#__workflows" ("created"); CREATE INDEX "#__workflows_idx_created_by" ON "#__workflows" ("created_by"); CREATE INDEX "#__workflows_idx_modified" ON "#__workflows" ("modified"); CREATE INDEX "#__workflows_idx_modified_by" ON "#__workflows" ("modified_by"); +CREATE INDEX "#__workflows_idx_checked_out" ON "#__workflows" ("checked_out"); -INSERT INTO "#__workflows" ("id", "asset_id", "published", "title", "description", "extension", "default", "core", "ordering", "created", "created_by", "modified", "modified_by") VALUES -(1, 0, 1, 'COM_WORKFLOW_DEFAULT_WORKFLOW', '', 'com_content', 1, 1, 1, '1970-01-01 00:00:00', 0, '1970-01-01 00:00:00', 0); +INSERT INTO "#__workflows" ("id", "asset_id", "published", "title", "description", "extension", "default", "core", "ordering", "created", "created_by", "modified", "modified_by", "checked_out_time", "checked_out") VALUES +(1, 0, 1, 'COM_WORKFLOW_DEFAULT_WORKFLOW', '', 'com_content', 1, 1, 1, CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0, NULL, 0); -- -- Table structure for table "#__workflow_associations" @@ -63,22 +66,25 @@ CREATE TABLE IF NOT EXISTS "#__workflow_stages" ( "description" text NOT NULL, "condition" bigint DEFAULT 0 NOT NULL, "default" smallint NOT NULL DEFAULT 0, + "checked_out_time" timestamp without time zone, + "checked_out" bigint DEFAULT 0 NOT NULL, PRIMARY KEY ("id") ); CREATE INDEX "#__workflow_stages_idx_workflow_id" ON "#__workflow_stages" ("workflow_id"); CREATE INDEX "#__workflow_stages_idx_title" ON "#__workflow_stages" ("title"); CREATE INDEX "#__workflow_stages_idx_asset_id" ON "#__workflow_stages" ("asset_id"); CREATE INDEX "#__workflow_stages_idx_default" ON "#__workflow_stages" ("default"); +CREATE INDEX "#__workflow_stages_idx_checked_out" ON "#__workflow_stages" ("checked_out"); -- -- Dumping data for table "#__workflow_stages" -- -INSERT INTO "#__workflow_stages" ("id", "asset_id", "ordering", "workflow_id", "published", "title", "description", "condition", "default") VALUES -(1, 0, 1, 1, 1, 'JUNPUBLISHED', '', 0, 1), -(2, 0, 2, 1, 1, 'JPUBLISHED', '', 1, 0), -(3, 0, 3, 1, 1, 'JTRASHED', '', -2, 0), -(4, 0, 4, 1, 1, 'JARCHIVED', '', 2, 0); +INSERT INTO "#__workflow_stages" ("id", "asset_id", "ordering", "workflow_id", "published", "title", "description", "condition", "default", "checked_out_time", "checked_out") VALUES +(1, 0, 1, 1, 1, 'JUNPUBLISHED', '', 0, 1, NULL, 0), +(2, 0, 2, 1, 1, 'JPUBLISHED', '', 1, 0, NULL, 0), +(3, 0, 3, 1, 1, 'JTRASHED', '', -2, 0, NULL, 0), +(4, 0, 4, 1, 1, 'JARCHIVED', '', 2, 0, NULL, 0); -- -- Table structure for table "#__workflow_transitions" @@ -94,6 +100,8 @@ CREATE TABLE IF NOT EXISTS "#__workflow_transitions" ( "description" text NOT NULL, "from_stage_id" bigint DEFAULT 0 NOT NULL, "to_stage_id" bigint DEFAULT 0 NOT NULL, + "checked_out_time" timestamp without time zone, + "checked_out" bigint DEFAULT 0 NOT NULL, PRIMARY KEY ("id") ); CREATE INDEX "#__workflow_transitions_idx_title" ON "#__workflow_transitions" ("title"); @@ -101,12 +109,13 @@ CREATE INDEX "#__workflow_transitions_idx_asset_id" ON "#__workflow_transitions" CREATE INDEX "#__workflow_transitions_idx_from_stage_id" ON "#__workflow_transitions" ("from_stage_id"); CREATE INDEX "#__workflow_transitions_idx_to_stage_id" ON "#__workflow_transitions" ("to_stage_id"); CREATE INDEX "#__workflow_transitions_idx_workflow_id" ON "#__workflow_transitions" ("workflow_id"); +CREATE INDEX "#__workflow_transitions_idx_checked_out" ON "#__workflow_transitions" ("checked_out"); -INSERT INTO "#__workflow_transitions" ("id", "asset_id", "published", "ordering", "workflow_id", "title", "description", "from_stage_id", "to_stage_id") VALUES -(1, 0, 1, 1, 1, 'Unpublish', '', -1, 1), -(2, 0, 1, 2, 1, 'Publish', '', -1, 2), -(3, 0, 1, 3, 1, 'Trash', '', -1, 3), -(4, 0, 1, 4, 1, 'Archive', '', -1, 4); +INSERT INTO "#__workflow_transitions" ("id", "asset_id", "published", "ordering", "workflow_id", "title", "description", "from_stage_id", "to_stage_id", "checked_out_time", "checked_out") VALUES +(1, 0, 1, 1, 1, 'Unpublish', '', -1, 1, NULL, 0), +(2, 0, 1, 2, 1, 'Publish', '', -1, 2, NULL, 0), +(3, 0, 1, 3, 1, 'Trash', '', -1, 3, NULL, 0), +(4, 0, 1, 4, 1, 'Archive', '', -1, 4, NULL, 0); -- -- Creating extension entry diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-06-03.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-06-03.sql index 2c37e314ef6f8..cd09733ade30a 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-06-03.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-06-03.sql @@ -8,8 +8,8 @@ CREATE TABLE IF NOT EXISTS "#__csp" ( "blocked_uri" varchar(500) NOT NULL DEFAULT '', "directive" varchar(500) NOT NULL DEFAULT '', "client" varchar(500) NOT NULL DEFAULT '', - "created" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, - "modified" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "created" timestamp without time zone NOT NULL, + "modified" timestamp without time zone NOT NULL, "published" smallint DEFAULT 0 NOT NULL, PRIMARY KEY ("id") ); diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-07-29.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-07-29.sql index 53d9a7aa586ec..c540fc32d659d 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-07-29.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-07-29.sql @@ -8,7 +8,8 @@ ALTER TABLE "#__finder_filters" ALTER COLUMN "created_by_alias" SET DEFAULT ''; TRUNCATE TABLE "#__finder_links"; ALTER TABLE "#__finder_links" ALTER COLUMN "state" SET NOT NULL; ALTER TABLE "#__finder_links" ALTER COLUMN "access" SET NOT NULL; -ALTER TABLE "#__finder_links" ALTER COLUMN "language" TYPE VARCHAR(7), ALTER COLUMN "language" SET DEFAULT ''; +ALTER TABLE "#__finder_links" ALTER COLUMN "language" TYPE character varying(7); +ALTER TABLE "#__finder_links" ALTER COLUMN "language" SET DEFAULT ''; CREATE INDEX "#__finder_links_idx_language" on "#__finder_links" ("language"); CREATE TABLE "#__finder_links_terms" ( @@ -75,21 +76,22 @@ INSERT INTO "#__finder_taxonomy" ("id", "parent_id", "lft", "rgt", "level", "pat SELECT setval('#__finder_taxonomy_id_seq', 2, false); TRUNCATE TABLE "#__finder_terms"; -ALTER TABLE "#__finder_terms" ALTER COLUMN "language" TYPE CHAR(7), ALTER COLUMN "language" SET DEFAULT ''; +ALTER TABLE "#__finder_terms" ALTER COLUMN "language" TYPE character varying(7); +ALTER TABLE "#__finder_terms" ALTER COLUMN "language" SET DEFAULT ''; ALTER TABLE "#__finder_terms" ALTER COLUMN "stem" SET DEFAULT ''; ALTER TABLE "#__finder_terms" ALTER COLUMN "soundex" SET DEFAULT ''; CREATE INDEX "#__finder_terms_idx_stem" on "#__finder_terms" ("stem"); CREATE INDEX "#__finder_terms_idx_language" on "#__finder_terms" ("language"); -ALTER TABLE "#__finder_terms" DROP CONSTRAINT "#__finder_terms_idx_term", ADD CONSTRAINT "#__finder_terms_idx_term_language" UNIQUE ("term", "language"); +ALTER TABLE "#__finder_terms" DROP CONSTRAINT "#__finder_terms_idx_term"; +ALTER TABLE "#__finder_terms" ADD CONSTRAINT "#__finder_terms_idx_term_language" UNIQUE ("term", "language"); DROP TABLE IF EXISTS "#__finder_terms_common"; CREATE TABLE "#__finder_terms_common" ( "term" varchar(75) NOT NULL, "language" varchar(7) DEFAULT '' NOT NULL, "custom" integer DEFAULT 0 NOT NULL, - CONSTRAINT "#__finder_terms_idx_term" UNIQUE ("term", "language") + CONSTRAINT "#__finder_terms_common_idx_term_language" UNIQUE ("term", "language") ); -CREATE INDEX "#__finder_terms_common_idx_word_lang" on "#__finder_terms_common" ("term", "language"); CREATE INDEX "#__finder_terms_common_idx_lang" on "#__finder_terms_common" ("language"); INSERT INTO "#__finder_terms_common" ("term", "language", "custom") VALUES ('i', 'en', 0), @@ -267,12 +269,14 @@ INSERT INTO "#__finder_terms_common" ("term", "language", "custom") VALUES ('too', 'en', 0), ('very', 'en', 0); -ALTER TABLE "#__finder_tokens" ALTER COLUMN "language" TYPE VARCHAR(7), ALTER COLUMN "language" SET DEFAULT ''; +ALTER TABLE "#__finder_tokens" ALTER COLUMN "language" TYPE character varying(7); +ALTER TABLE "#__finder_tokens" ALTER COLUMN "language" SET DEFAULT ''; ALTER TABLE "#__finder_tokens" ALTER COLUMN "stem" SET DEFAULT ''; CREATE INDEX "#__finder_tokens_idx_stem" on "#__finder_tokens" ("stem"); CREATE INDEX "#__finder_tokens_idx_language" on "#__finder_tokens" ("language"); -ALTER TABLE "#__finder_tokens_aggregate" ALTER COLUMN "language" TYPE VARCHAR(7), ALTER COLUMN "language" SET DEFAULT ''; +ALTER TABLE "#__finder_tokens_aggregate" ALTER COLUMN "language" TYPE character varying(7); +ALTER TABLE "#__finder_tokens_aggregate" ALTER COLUMN "language" SET DEFAULT ''; ALTER TABLE "#__finder_tokens_aggregate" DROP COLUMN "map_suffix"; ALTER TABLE "#__finder_tokens_aggregate" ALTER COLUMN "stem" SET DEFAULT ''; ALTER TABLE "#__finder_tokens_aggregate" ALTER COLUMN "term_weight" SET DEFAULT 0; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-08-01.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-08-01.sql new file mode 100644 index 0000000000000..e0958379aa79f --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-08-01.sql @@ -0,0 +1,14 @@ +ALTER TABLE "#__ucm_content" ALTER COLUMN "core_created_time" DROP DEFAULT; + +ALTER TABLE "#__ucm_content" ALTER COLUMN "core_modified_time" DROP DEFAULT; + +ALTER TABLE "#__ucm_content" ALTER COLUMN "core_publish_up" DROP NOT NULL; +ALTER TABLE "#__ucm_content" ALTER COLUMN "core_publish_up" DROP DEFAULT; + +ALTER TABLE "#__ucm_content" ALTER COLUMN "core_publish_down" DROP NOT NULL; +ALTER TABLE "#__ucm_content" ALTER COLUMN "core_publish_down" DROP DEFAULT; + +ALTER TABLE "#__ucm_content" ALTER COLUMN "core_checked_out_time" DROP NOT NULL; +ALTER TABLE "#__ucm_content" ALTER COLUMN "core_checked_out_time" DROP DEFAULT; + +ALTER TABLE "#__ucm_history" ALTER COLUMN "save_date" DROP DEFAULT; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-08-29.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-08-29.sql index 723794f171d25..80c8a1b3f7349 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-08-29.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2018-08-29.sql @@ -7,7 +7,6 @@ ALTER TABLE "#__modules" ALTER COLUMN "publish_down" DROP DEFAULT; ALTER TABLE "#__modules" ALTER COLUMN "checked_out_time" DROP NOT NULL; ALTER TABLE "#__modules" ALTER COLUMN "checked_out_time" DROP DEFAULT; -UPDATE "#__modules" SET - "publish_up" = CASE WHEN "publish_up" = '1970-01-01 00:00:00' THEN NULL ELSE "publish_up" END, - "publish_down" = CASE WHEN "publish_down" = '1970-01-01 00:00:00' THEN NULL ELSE "publish_down" END, - "checked_out_time" = CASE WHEN "checked_out_time" = '1970-01-01 00:00:00' THEN NULL ELSE "checked_out_time" END; +UPDATE "#__modules" SET "publish_up" = NULL WHERE "publish_up" = '1970-01-01 00:00:00'; +UPDATE "#__modules" SET "publish_down" = NULL WHERE "publish_down" = '1970-01-01 00:00:00'; +UPDATE "#__modules" SET "checked_out_time" = NULL WHERE "checked_out_time" = '1970-01-01 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-01-16.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-01-16.sql new file mode 100644 index 0000000000000..5b93fae6ad192 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-01-16.sql @@ -0,0 +1,17 @@ +INSERT INTO "#__extensions" ("name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "checked_out", "checked_out_time", "ordering", "state") VALUES +('com_mails', 'component', 'com_mails', '', 1, 1, 1, 1, '{"name":"com_mails","type":"component","creationDate":"January 2019","author":"Joomla! Project","copyright":"(C) 2005 - 2019 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"4.0.0","description":"COM_MAILS_XML_DESCRIPTION","group":""}', '{}', 0, '1970-01-01 00:00:00', 0, 0); + +CREATE TABLE IF NOT EXISTS "#__mail_templates" ( + "template_id" varchar(127) NOT NULL DEFAULT '', + "language" char(7) NOT NULL DEFAULT '', + "subject" varchar(255) NOT NULL DEFAULT '', + "body" TEXT NOT NULL, + "htmlbody" TEXT NOT NULL, + "attachments" TEXT NOT NULL, + "params" TEXT NOT NULL, + CONSTRAINT "#__mail_templates_idx_template_id_language" UNIQUE ("template_id", "language") +); +CREATE INDEX "#__mail_templates_idx_template_id" ON "#__mail_templates" ("template_id"); +CREATE INDEX "#__mail_templates_idx_language" ON "#__mail_templates" ("language"); + +INSERT INTO "#__mail_templates" ("template_id", "language", "subject", "body", "htmlbody", "attachments", "params") VALUES ('com_config.test_mail', '', 'COM_CONFIG_SENDMAIL_SUBJECT', 'COM_CONFIG_SENDMAIL_BODY', '', '', '{"tags":["sitename","method"]}'); diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-03-30.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-03-30.sql index f3ce56ffcb477..9601b6b1dd693 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-03-30.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-03-30.sql @@ -1,2 +1,7 @@ -ALTER TABLE "#__menu" ADD COLUMN "publish_up" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL; -ALTER TABLE "#__menu" ADD COLUMN "publish_down" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL; +ALTER TABLE "#__menu" ADD COLUMN "publish_up" timestamp without time zone; +ALTER TABLE "#__menu" ADD COLUMN "publish_down" timestamp without time zone; + +ALTER TABLE "#__menu" ALTER COLUMN "checked_out_time" DROP NOT NULL; +ALTER TABLE "#__menu" ALTER COLUMN "checked_out_time" DROP DEFAULT; + +UPDATE "#__menu" SET "checked_out_time" = NULL WHERE "checked_out_time" = '1970-01-01 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-04-22.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-04-22.sql index 32d91acc14636..d7917bdb2635d 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-04-22.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-04-22.sql @@ -7,7 +7,6 @@ ALTER TABLE "#__contact_details" ALTER COLUMN "publish_down" DROP DEFAULT; ALTER TABLE "#__contact_details" ALTER COLUMN "checked_out_time" DROP NOT NULL; ALTER TABLE "#__contact_details" ALTER COLUMN "checked_out_time" DROP DEFAULT; -UPDATE "#__contact_details" SET - "publish_up" = CASE WHEN "publish_up" = '1970-01-01 00:00:00' THEN NULL ELSE "publish_up" END, - "publish_down" = CASE WHEN "publish_down" = '1970-01-01 00:00:00' THEN NULL ELSE "publish_down" END, - "checked_out_time" = CASE WHEN "checked_out_time" = '1970-01-01 00:00:00' THEN NULL ELSE "checked_out_time" END; +UPDATE "#__contact_details" SET "publish_up" = NULL WHERE "publish_up" = '1970-01-01 00:00:00'; +UPDATE "#__contact_details" SET "publish_down" = NULL WHERE "publish_down" = '1970-01-01 00:00:00'; +UPDATE "#__contact_details" SET "checked_out_time" = NULL WHERE "checked_out_time" = '1970-01-01 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-05-05.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-05-05.sql index 2771acade7344..2bd47982fa756 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-05-05.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-05-05.sql @@ -1,5 +1,6 @@ UPDATE "#__menu" SET "link"='index.php?option=com_banners&view=banners' WHERE "id"=3; UPDATE "#__menu" SET "link"='index.php?option=com_categories&view=categories&extension=com_banners' WHERE "id"=4; +UPDATE "#__menu" SET "link"='index.php?option=com_contact&view=contacts' WHERE "id"=8; UPDATE "#__menu" SET "link"='index.php?option=com_categories&view=categories&extension=com_contact' WHERE "id"=9; UPDATE "#__menu" SET "link"='index.php?option=com_newsfeeds&view=newsfeeds' WHERE "id"=14; UPDATE "#__menu" SET "link"='index.php?option=com_categories&view=categories&extension=com_newsfeeds' WHERE "id"=15; @@ -7,4 +8,4 @@ UPDATE "#__menu" SET "link"='index.php?option=com_redirect&view=links' WHERE "id UPDATE "#__menu" SET "link"='index.php?option=com_search&view=searches' WHERE "id"=17; UPDATE "#__menu" SET "link"='index.php?option=com_finder&view=index' WHERE "id"=18; UPDATE "#__menu" SET "link"='index.php?option=com_tags&view=tags' WHERE "id"=20; -UPDATE "#__menu" SET "link"='index.php?option=com_associations&view=associations' WHERE "id"=22; \ No newline at end of file +UPDATE "#__menu" SET "link"='index.php?option=com_associations&view=associations' WHERE "id"=22; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-05-20.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-05-20.sql index b88dee5e25b83..a97c2aff35325 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-05-20.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-05-20.sql @@ -1 +1 @@ -ALTER TABLE "#__extensions" ADD COLUMN "note" varchar(255); +ALTER TABLE "#__extensions" ADD COLUMN "note" character varying(255); diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-06-28.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-06-28.sql index 279ea358b3a9b..44a37e0c1fb98 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-06-28.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-06-28.sql @@ -1,3 +1,10 @@ +ALTER TABLE "#__banners" ALTER COLUMN "created" DROP DEFAULT; + +ALTER TABLE "#__banners" ALTER COLUMN "modified" DROP DEFAULT; + +ALTER TABLE "#__banners" ALTER COLUMN "reset" DROP NOT NULL; +ALTER TABLE "#__banners" ALTER COLUMN "reset" DROP DEFAULT; + ALTER TABLE "#__banners" ALTER COLUMN "publish_up" DROP NOT NULL; ALTER TABLE "#__banners" ALTER COLUMN "publish_up" DROP DEFAULT; @@ -7,7 +14,28 @@ ALTER TABLE "#__banners" ALTER COLUMN "publish_down" DROP DEFAULT; ALTER TABLE "#__banners" ALTER COLUMN "checked_out_time" DROP NOT NULL; ALTER TABLE "#__banners" ALTER COLUMN "checked_out_time" DROP DEFAULT; - UPDATE "#__banners" SET - "publish_up" = CASE WHEN "publish_up" = '1970-01-01 00:00:00' THEN NULL ELSE "publish_up" END, - "publish_down" = CASE WHEN "publish_down" = '1970-01-01 00:00:00' THEN NULL ELSE "publish_down" END, - "checked_out_time" = CASE WHEN "checked_out_time" = '1970-01-01 00:00:00' THEN NULL ELSE "checked_out_time" END; \ No newline at end of file +ALTER TABLE "#__banner_clients" ALTER COLUMN "checked_out_time" DROP NOT NULL; +ALTER TABLE "#__banner_clients" ALTER COLUMN "checked_out_time" DROP DEFAULT; + +UPDATE "#__banners" SET "modified" = "created" WHERE "modified" = '1970-01-01 00:00:00'; + +UPDATE "#__banners" SET "reset" = NULL WHERE "reset" = '1970-01-01 00:00:00'; +UPDATE "#__banners" SET "publish_up" = NULL WHERE "publish_up" = '1970-01-01 00:00:00'; +UPDATE "#__banners" SET "publish_down" = NULL WHERE "publish_down" = '1970-01-01 00:00:00'; +UPDATE "#__banners" SET "checked_out_time" = NULL WHERE "checked_out_time" = '1970-01-01 00:00:00'; + +UPDATE "#__banner_clients" SET "checked_out_time" = NULL WHERE "checked_out_time" = '1970-01-01 00:00:00'; + +UPDATE "#__ucm_content" SET "core_modified_time" = "core_created_time" + WHERE "core_type_alias" = 'com_banners.banner' + AND "core_modified_time" = '1970-01-01 00:00:00'; + +UPDATE "#__ucm_content" SET "core_publish_up" = NULL + WHERE "core_type_alias" = 'com_banners.banner' + AND "core_publish_up" = '1970-01-01 00:00:00'; +UPDATE "#__ucm_content" SET "core_publish_down" = NULL + WHERE "core_type_alias" = 'com_banners.banner' + AND "core_publish_down" = '1970-01-01 00:00:00'; +UPDATE "#__ucm_content" SET "core_checked_out_time" = NULL + WHERE "core_type_alias" = 'com_banners.banner' + AND "core_checked_out_time" = '1970-01-01 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-06-29.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-06-29.sql index ed15ad49b04cf..df9bb2c27d00c 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-06-29.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-06-29.sql @@ -1,3 +1,7 @@ +ALTER TABLE "#__newsfeeds" ALTER COLUMN "created" DROP DEFAULT; + +ALTER TABLE "#__newsfeeds" ALTER COLUMN "modified" DROP DEFAULT; + ALTER TABLE "#__newsfeeds" ALTER COLUMN "publish_up" DROP NOT NULL; ALTER TABLE "#__newsfeeds" ALTER COLUMN "publish_up" DROP DEFAULT; @@ -7,7 +11,22 @@ ALTER TABLE "#__newsfeeds" ALTER COLUMN "publish_down" DROP DEFAULT; ALTER TABLE "#__newsfeeds" ALTER COLUMN "checked_out_time" DROP NOT NULL; ALTER TABLE "#__newsfeeds" ALTER COLUMN "checked_out_time" DROP DEFAULT; -UPDATE "#__newsfeeds" SET - "publish_up" = CASE WHEN "publish_up" = '1970-01-01 00:00:00' THEN NULL ELSE "publish_up" END, - "publish_down" = CASE WHEN "publish_down" = '1970-01-01 00:00:00' THEN NULL ELSE "publish_down" END, - "checked_out_time" = CASE WHEN "checked_out_time" = '1970-01-01 00:00:00' THEN NULL ELSE "checked_out_time" END; \ No newline at end of file +UPDATE "#__newsfeeds" SET "modified" = "created" WHERE "modified" = '1970-01-01 00:00:00'; + +UPDATE "#__newsfeeds" SET "publish_up" = NULL WHERE "publish_up" = '1970-01-01 00:00:00'; +UPDATE "#__newsfeeds" SET "publish_down" = NULL WHERE "publish_down" = '1970-01-01 00:00:00'; +UPDATE "#__newsfeeds" SET "checked_out_time" = NULL WHERE "checked_out_time" = '1970-01-01 00:00:00'; + +UPDATE "#__ucm_content" SET "core_modified_time" = "core_created_time" + WHERE "core_type_alias" = 'com_newsfeeds.newsfeed' + AND "core_modified_time" = '1970-01-01 00:00:00'; + +UPDATE "#__ucm_content" SET "core_publish_up" = NULL + WHERE "core_type_alias" = 'com_newsfeeds.newsfeed' + AND "core_publish_up" = '1970-01-01 00:00:00'; +UPDATE "#__ucm_content" SET "core_publish_down" = NULL + WHERE "core_type_alias" = 'com_newsfeeds.newsfeed' + AND "core_publish_down" = '1970-01-01 00:00:00'; +UPDATE "#__ucm_content" SET "core_checked_out_time" = NULL + WHERE "core_type_alias" = 'com_newsfeeds.newsfeed' + AND "core_checked_out_time" = '1970-01-01 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-07-13.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-07-13.sql new file mode 100644 index 0000000000000..29f3f92c8f7cc --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-07-13.sql @@ -0,0 +1,90 @@ +INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "checked_out", "checked_out_time", "ordering", "state") VALUES +(0, 'mod_loginsupport', 'module', 'mod_loginsupport', '', 1, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_frontend', 'module', 'mod_frontend', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_messages', 'module', 'mod_messages', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_post_installation_messages', 'module', 'mod_post_installation_messages', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_user', 'module', 'mod_user', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_submenu', 'module', 'mod_submenu', '', 1, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_privacy_status', 'module', 'mod_privacy_status', '', 1, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0); + +DELETE FROM "#__extensions" WHERE "element" = 'mod_status' AND "client_id" = 1; + +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 +('Login Support', '', '', 1, 'sidebar', 0, NULL, NULL, NULL, 1, 'mod_loginsupport', 1, 1, '{"forum_url":"https://forum.joomla.org/","documentation_url":"https://docs.joomla.org/","news_url":"https://www.joomla.org/","automatic_title":1,"prepare_content":1,"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":"","style":"0"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('System Dashboard', '', '', 1, 'cpanel-system', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"system","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Content Dashboard', '', '', 1, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"content","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"3","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Menus Dashboard', '', '', 1, 'cpanel-menus', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"menus","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Components Dashboard', '', '', 1, 'cpanel-components', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"components","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Users Dashboard', '', '', 1, 'cpanel-users', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"users","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Popular Articles', '', '', 3, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_popular', 3, 1, '{"count":"5","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Recently Added Articles', '', '', 4, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_latest', 3, 1, '{"count":"5","ordering":"c_dsc","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Logged-in Users', '', '', 2, 'cpanel-users', 0, NULL, NULL, NULL, 1, 'mod_logged', 3, 1, '{"count":"5","name":"1","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Frontend Link', '', '', 5, 'status', 0, NULL, NULL, NULL, 1, 'mod_frontend', 1, 1, '', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Messages', '', '', 4, 'status', 0, NULL, NULL, NULL, 1, 'mod_messages', 3, 1, '', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Post Install Messages', '', '', 3, 'status', 0, NULL, NULL, NULL, 1, 'mod_post_installation_messages', 3, 1, '', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('User Status', '', '', 6, 'status', 0, NULL, NULL, NULL, 1, 'mod_user', 3, 1, '', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Site', '', '', 1, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"site_quickicon","header_icon":"fa fa-desktop","show_users":"1","show_articles":"1","show_categories":"1","show_media":"1","show_menuItems":"1","show_modules":"1","show_plugins":"1","show_templates":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('System', '', '', 2, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"system_quickicon","header_icon":"fa fa-wrench","show_global":"1","show_checkin":"1","show_cache":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('3rd Party', '', '', 4, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"mod_quickicon","header_icon":"fa fa-boxes","load_plugins":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 0); + +UPDATE "#__modules" SET "title" = 'Update Checks',"ordering" = 3,"position" = 'icon',"showtitle" = 1,"params" = '{"context":"update_quickicon","header_icon":"fa fa-sync","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":""}' WHERE "#__modules"."id" = 9; + +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 +('Help Dashboard', '', '', 1, 'cpanel-help', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"help","layout":"_:default","moduleclass_sfx":"","style":"System-none","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 0); + +UPDATE "#__modules" SET "ordering" = 2,"position" = 'status' WHERE "#__modules"."id" = 79; + +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 +('Privacy Requests', '', '', 1, 'cpanel-privacy', 0, NULL, NULL, NULL, 1, 'mod_privacy_dashboard', 1, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"cachemode":"static","style":"0","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 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 +('Privacy Status', '', '', 1, 'cpanel-privacy', 0, NULL, NULL, NULL, 1, 'mod_privacy_status', 1, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"cachemode":"static","style":"0","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'); +INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (currval(pg_get_serial_sequence('#__modules','id')), 0); diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-08-03.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-08-03.sql new file mode 100644 index 0000000000000..a09ac565d03a7 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-08-03.sql @@ -0,0 +1,2 @@ +ALTER TABLE "#__update_sites" ADD COLUMN "checked_out" bigint DEFAULT 0 NOT NULL; +ALTER TABLE "#__update_sites" ADD COLUMN "checked_out_time" timestamp without time zone DEFAULT NULL; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-08-21.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-08-21.sql new file mode 100644 index 0000000000000..76161234bfa1e --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-08-21.sql @@ -0,0 +1,15 @@ +INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "checked_out", "checked_out_time", "ordering", "state") VALUES +(0, 'plg_webservices_banners', 'plugin', 'banners', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_config', 'plugin', 'config', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_contact', 'plugin', 'contact', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_languages', 'plugin', 'languages', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_menus', 'plugin', 'menus', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_messages', 'plugin', 'messages', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_modules', 'plugin', 'modules', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_newsfeeds', 'plugin', 'newsfeeds', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_plugins', 'plugin', 'plugins', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_privacy', 'plugin', 'privacy', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_redirect', 'plugin', 'redirect', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_tags', 'plugin', 'tags', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_templates', 'plugin', 'templates', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_users', 'plugin', 'users', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0); diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-13.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-13.sql new file mode 100644 index 0000000000000..04dc591e0c4f1 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-13.sql @@ -0,0 +1,2 @@ +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", "publish_up", "publish_down") +SELECT 'main', 'com_messages_manager', 'Private Messages', '', 'Messaging/Private Messages', 'index.php?option=com_messages&view=messages', 'component', 1, 10, 2, "extension_id", 0, NULL, 0, 0, 'class:messages-add', 0, '', 18, 19, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_messages'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-14.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-14.sql new file mode 100644 index 0000000000000..3c2ae8a310bf5 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-14.sql @@ -0,0 +1,32 @@ +ALTER TABLE "#__content" ALTER COLUMN "created" DROP DEFAULT; + +ALTER TABLE "#__content" ALTER COLUMN "modified" DROP DEFAULT; + +ALTER TABLE "#__content" ALTER COLUMN "publish_up" DROP NOT NULL; +ALTER TABLE "#__content" ALTER COLUMN "publish_up" DROP DEFAULT; + +ALTER TABLE "#__content" ALTER COLUMN "publish_down" DROP NOT NULL; +ALTER TABLE "#__content" ALTER COLUMN "publish_down" DROP DEFAULT; + +ALTER TABLE "#__content" ALTER COLUMN "checked_out_time" DROP NOT NULL; +ALTER TABLE "#__content" ALTER COLUMN "checked_out_time" DROP DEFAULT; + +UPDATE "#__content" SET "modified" = "created" WHERE "modified" = '1970-01-01 00:00:00'; + +UPDATE "#__content" SET "publish_up" = NULL WHERE "publish_up" = '1970-01-01 00:00:00'; +UPDATE "#__content" SET "publish_down" = NULL WHERE "publish_down" = '1970-01-01 00:00:00'; +UPDATE "#__content" SET "checked_out_time" = NULL WHERE "checked_out_time" = '1970-01-01 00:00:00'; + +UPDATE "#__ucm_content" SET "core_modified_time" = "core_created_time" + WHERE "core_type_alias" = 'com_content.article' + AND "core_modified_time" = '1970-01-01 00:00:00'; + +UPDATE "#__ucm_content" SET "core_publish_up" = NULL + WHERE "core_type_alias" = 'com_content.article' + AND "core_publish_up" = '1970-01-01 00:00:00'; +UPDATE "#__ucm_content" SET "core_publish_down" = NULL + WHERE "core_type_alias" = 'com_content.article' + AND "core_publish_down" = '1970-01-01 00:00:00'; +UPDATE "#__ucm_content" SET "core_checked_out_time" = NULL + WHERE "core_type_alias" = 'com_content.article' + AND "core_checked_out_time" = '1970-01-01 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-22.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-22.sql new file mode 100644 index 0000000000000..517cd37548144 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-22.sql @@ -0,0 +1 @@ +ALTER TABLE "#__messages" ALTER COLUMN "date_time" DROP DEFAULT; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-23.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-23.sql new file mode 100644 index 0000000000000..9b99ebe5874fb --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-23.sql @@ -0,0 +1,4 @@ +ALTER TABLE "#__redirect_links" ALTER COLUMN "created_date" DROP DEFAULT; +ALTER TABLE "#__redirect_links" ALTER COLUMN "modified_date" DROP DEFAULT; + +UPDATE "#__redirect_links" SET "modified_date" = "created_date" WHERE "modified_date" = '1970-01-01 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-24.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-24.sql new file mode 100644 index 0000000000000..fadf8a2e693ee --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-24.sql @@ -0,0 +1 @@ +ALTER TABLE "#__action_logs" ALTER COLUMN "log_date" DROP DEFAULT; diff --git a/administrator/components/com_associations/Field/ItemtypeField.php b/administrator/components/com_associations/Field/ItemtypeField.php index cdbe2f89887d1..36da82d7399a6 100644 --- a/administrator/components/com_associations/Field/ItemtypeField.php +++ b/administrator/components/com_associations/Field/ItemtypeField.php @@ -11,18 +11,16 @@ defined('JPATH_BASE') or die; -use Joomla\CMS\Form\FormHelper; +use Joomla\CMS\Form\Field\GroupedlistField; use Joomla\CMS\HTML\HTMLHelper; use Joomla\Component\Associations\Administrator\Helper\AssociationsHelper; -FormHelper::loadFieldClass('groupedlist'); - /** * A drop down containing all component item types that implement associations. * * @since 3.7.0 */ -class ItemtypeField extends \JFormFieldGroupedList +class ItemtypeField extends GroupedlistField { /** * The form field type. diff --git a/administrator/components/com_associations/View/Association/HtmlView.php b/administrator/components/com_associations/View/Association/HtmlView.php index 7d347567005bf..3569ef1207081 100644 --- a/administrator/components/com_associations/View/Association/HtmlView.php +++ b/administrator/components/com_associations/View/Association/HtmlView.php @@ -11,13 +11,21 @@ defined('_JEXEC') or die; +use Joomla\CMS\Application\AdministratorApplication; use Joomla\CMS\Factory; +use Joomla\CMS\Form\Form; use Joomla\CMS\Language\Text; +use Joomla\CMS\MVC\View\GenericDataException; use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView; +use Joomla\CMS\Object\CMSObject; +use Joomla\CMS\Pagination\Pagination; use Joomla\CMS\Router\Route; use Joomla\CMS\Toolbar\Toolbar; use Joomla\CMS\Toolbar\ToolbarHelper; use Joomla\Component\Associations\Administrator\Helper\AssociationsHelper; +use Joomla\Component\Associations\Administrator\Model\AssociationModel; +use Joomla\Input\Input; +use Joomla\Registry\Registry; use Joomla\Utilities\ArrayHelper; /** @@ -34,12 +42,12 @@ class HtmlView extends BaseHtmlView * * @since 3.7.0 */ - protected $items; + protected $items = []; /** * The pagination object * - * @var \Joomla\CMS\Pagination\Pagination + * @var Pagination * * @since 3.7.0 */ @@ -48,7 +56,7 @@ class HtmlView extends BaseHtmlView /** * The model state * - * @var object + * @var CMSObject * * @since 3.7.0 */ @@ -57,11 +65,147 @@ class HtmlView extends BaseHtmlView /** * Selected item type properties. * - * @var \Joomla\Registry\Registry + * @var Registry * * @since 3.7.0 */ - public $itemType = null; + protected $itemType; + + /** + * The application + * + * @var AdministratorApplication + * @since 3.7.0 + */ + protected $app; + + /** + * The ID of the reference language + * + * @var integer + * @since 3.7.0 + */ + protected $referenceId = 0; + + /** + * The type name + * + * @var string + * @since 3.7.0 + */ + protected $typeName = ''; + + /** + * The reference language + * + * @var string + * @since 3.7.0 + */ + protected $referenceLanguage = ''; + + /** + * The title of the reference language + * + * @var string + * @since 3.7.0 + */ + protected $referenceTitle = ''; + + /** + * The value of the reference title + * + * @var string + * @since 3.7.0 + */ + protected $referenceTitleValue = ''; + + /** + * The URL to the edit screen + * + * @var string + * @since 3.7.0 + */ + protected $editUri = ''; + + /** + * The ID of the target field + * + * @var string + * @since 3.7.0 + */ + protected $targetId = ''; + + /** + * The target language + * + * @var string + * @since 3.7.0 + */ + protected $targetLanguage = ''; + + /** + * The source of the target field + * + * @var string + * @since 3.7.0 + */ + protected $defaultTargetSrc = ''; + + /** + * The action to perform for the target field + * + * @var string + * @since 3.7.0 + */ + protected $targetAction = ''; + + /** + * The title of the target field + * + * @var string + * @since 3.7.0 + */ + protected $targetTitle = ''; + + /** + * The edit form + * + * @var Form + * @since 3.7.0 + */ + protected $form; + + /** + * Set if the option is set to save as copy + * + * @var boolean + * @since 3.7.0 + */ + private $save2copy = false; + + /** + * The type of language + * + * @var Registry + * @since 3.7.0 + */ + private $type; + + /** + * The supported types + * + * @var array + * @since 3.7.0 + */ + private $typeSupports = []; + + /** + * The extension name + * + * @var string + * @since 3.7.0 + */ + private $extensionName = ''; /** * Display the view @@ -71,36 +215,42 @@ class HtmlView extends BaseHtmlView * @return void * * @since 3.7.0 + * * @throws \Exception */ - public function display($tpl = null) + public function display($tpl = null): void { + /** @var AssociationModel $model */ + $model = $this->getModel(); + // Check for errors. - if (count($errors = $this->get('Errors'))) + if (count($errors = $model->getErrors())) { - throw new \Exception(implode("\n", $errors), 500); + throw new GenericDataException(implode("\n", $errors), 500); } $this->app = Factory::getApplication(); - $this->form = $this->get('Form'); - $input = $this->app->input; + $this->form = $model->getForm(); + /** @var Input $input */ + $input = $this->app->input; $this->referenceId = $input->get('id', 0, 'int'); - list($extensionName, $typeName) = explode('.', $input->get('itemtype', '', 'string'), 2); + [$extensionName, $typeName] = explode('.', $input->get('itemtype', '', 'string'), 2); + /** @var Registry $extension */ $extension = AssociationsHelper::getSupportedExtension($extensionName); $types = $extension->get('types'); if (array_key_exists($typeName, $types)) { - $this->type = $types[$typeName]; - $this->typeSupports = array(); - $details = $this->type->get('details'); - $this->save2copy = false; + $this->type = $types[$typeName]; + $this->typeSupports = []; + $details = $this->type->get('details'); + $this->save2copy = false; if (array_key_exists('support', $details)) { - $support = $details['support']; + $support = $details['support']; $this->typeSupports = $support; } @@ -112,14 +262,15 @@ public function display($tpl = null) $this->extensionName = $extensionName; $this->typeName = $typeName; - $this->itemtype = $extensionName . '.' . $typeName; + $this->itemType = $extensionName . '.' . $typeName; $languageField = AssociationsHelper::getTypeFieldName($extensionName, $typeName, 'language'); $referenceId = $input->get('id', 0, 'int'); $reference = ArrayHelper::fromObject(AssociationsHelper::getItem($extensionName, $typeName, $referenceId)); - $this->referenceLanguage = $reference[$languageField]; - $this->referenceTitle = AssociationsHelper::getTypeFieldName($extensionName, $typeName, 'title'); + $this->referenceLanguage = $reference[$languageField]; + $this->referenceTitle = AssociationsHelper::getTypeFieldName($extensionName, $typeName, 'title'); + $this->referenceTitleValue = $reference[$this->referenceTitle]; // Check for special case category $typeNameExploded = explode('.', $typeName); @@ -133,21 +284,21 @@ public function display($tpl = null) $extensionName .= '.' . implode('.', $typeNameExploded); } - $options = array( + $options = [ 'option' => 'com_categories', 'view' => 'category', 'extension' => $extensionName, 'tmpl' => 'component', - ); + ]; } else { - $options = array( + $options = [ 'option' => $extensionName, 'view' => $typeName, 'extension' => $extensionName, 'tmpl' => 'component', - ); + ]; } // Reference and target edit links. @@ -162,19 +313,18 @@ public function display($tpl = null) if ($target = $input->get('target', '', 'string')) { - $matches = preg_split("#[\:]+#", $target); - $this->targetAction = $matches[2]; - $this->targetId = $matches[1]; - $this->targetLanguage = $matches[0]; - $this->targetTitle = AssociationsHelper::getTypeFieldName($extensionName, $typeName, 'title'); - $task = $typeName . '.' . $this->targetAction; - - /* + $matches = preg_split("#[\:]+#", $target); + $this->targetAction = $matches[2]; + $this->targetId = $matches[1]; + $this->targetLanguage = $matches[0]; + $this->targetTitle = AssociationsHelper::getTypeFieldName($extensionName, $typeName, 'title'); + $task = $typeName . '.' . $this->targetAction; + + /** * Let's put the target src into a variable to use in the javascript code - * to avoid race conditions when the reference iframe loads. + * to avoid race conditions when the reference iframe loads. */ - $document = Factory::getDocument(); - $document->addScriptOptions('targetSrc', Route::_($this->editUri . '&task=' . $task . '&id=' . (int) $this->targetId)); + $this->document->addScriptOptions('targetSrc', Route::_($this->editUri . '&task=' . $task . '&id=' . (int) $this->targetId)); $this->form->setValue('itemlanguage', '', $this->targetLanguage . ':' . $this->targetId . ':' . $this->targetAction); } @@ -189,11 +339,13 @@ public function display($tpl = null) * @return void * * @since 3.7.0 + * + * @throws \Exception */ - protected function addToolbar() + protected function addToolbar(): void { // Hide main menu. - Factory::getApplication()->input->set('hidemainmenu', 1); + $this->app->input->set('hidemainmenu', 1); $helper = AssociationsHelper::getExtensionHelper($this->extensionName); $title = $helper->getTypeTitle($this->typeName); @@ -205,9 +357,16 @@ protected function addToolbar() $languageKey = strtoupper($this->extensionName) . '_CATEGORIES'; } - ToolbarHelper::title(Text::sprintf('COM_ASSOCIATIONS_TITLE_EDIT', Text::_($this->extensionName), Text::_($languageKey)), 'contract assoc'); + ToolbarHelper::title( + Text::sprintf( + 'COM_ASSOCIATIONS_TITLE_EDIT', + Text::_($this->extensionName), + Text::_($languageKey) + ), + 'language assoc' + ); - $bar = Toolbar::getInstance('toolbar'); + $bar = Toolbar::getInstance(); $bar->appendButton( 'Custom', ' diff --git a/administrator/modules/mod_stats_admin/Helper/StatsAdminHelper.php b/administrator/modules/mod_stats_admin/Helper/StatsAdminHelper.php index a8093089415b5..6dfd16befa0e4 100644 --- a/administrator/modules/mod_stats_admin/Helper/StatsAdminHelper.php +++ b/administrator/modules/mod_stats_admin/Helper/StatsAdminHelper.php @@ -9,7 +9,7 @@ namespace Joomla\Module\StatsAdmin\Administrator\Helper; -defined('_JEXEC') or die; +\defined('_JEXEC') or die; use Joomla\CMS\Application\CMSApplication; use Joomla\CMS\Language\Text; diff --git a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini deleted file mode 100644 index 7634ba48a8a50..0000000000000 --- a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini +++ /dev/null @@ -1,14 +0,0 @@ -; Joomla! Project -; Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - -MOD_STATS_ADMIN="Statistics" -MOD_STATS_ARTICLES="Articles" -MOD_STATS_CACHING="Caching" -MOD_STATS_FIELD_SERVERINFO_LABEL="Server Information" -MOD_STATS_FIELD_SITEINFO_LABEL="Site Information" -MOD_STATS_GZIP="Gzip" -MOD_STATS_PHP="PHP" -MOD_STATS_USERS="Users" -MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database." diff --git a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini deleted file mode 100644 index ab79bffe73cf0..0000000000000 --- a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini +++ /dev/null @@ -1,9 +0,0 @@ -; Joomla! Project -; Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - -MOD_STATS_ADMIN="Statistics" -MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database." -MOD_STATS_LAYOUT_DEFAULT="Default" - diff --git a/administrator/modules/mod_stats_admin/mod_stats_admin.xml b/administrator/modules/mod_stats_admin/mod_stats_admin.xml index ed3d80a15556e..ae9f4e870f88c 100644 --- a/administrator/modules/mod_stats_admin/mod_stats_admin.xml +++ b/administrator/modules/mod_stats_admin/mod_stats_admin.xml @@ -13,7 +13,6 @@ mod_stats_admin.php tmpl - language helper.php diff --git a/administrator/modules/mod_status/tmpl/default.php b/administrator/modules/mod_status/tmpl/default.php deleted file mode 100644 index 850e6603a0658..0000000000000 --- a/administrator/modules/mod_status/tmpl/default.php +++ /dev/null @@ -1,96 +0,0 @@ -input->getBool('hidemainmenu'); -?> -
- -
diff --git a/administrator/modules/mod_submenu/Menu/Menu.php b/administrator/modules/mod_submenu/Menu/Menu.php new file mode 100644 index 0000000000000..dbbebfd8009ea --- /dev/null +++ b/administrator/modules/mod_submenu/Menu/Menu.php @@ -0,0 +1,207 @@ +getIdentity(); + $children = $parent->getChildren(); + $language = Factory::getLanguage(); + + /** + * Trigger onPreprocessMenuItems for the current level of backend menu items. + * $children is an array of MenuItem objects. A plugin can traverse the whole tree, + * but new nodes will only be run through this method if their parents have not been processed yet. + */ + $app->triggerEvent('onPreprocessMenuItems', array('administrator.module.mod_submenu', $children)); + + foreach ($children as $item) + { + // Exclude item with menu item option set to exclude from menu modules + if ($item->permission) + { + @list($action, $asset) = explode(';', $item->permission); + + if (!$user->authorise($action, $asset)) + { + $parent->removeChild($item); + continue; + } + } + + // Populate automatic children for container items + if ($item->type === 'container') + { + $exclude = (array) $item->params->get('hideitems') ?: array(); + $components = MenusHelper::getMenuItems('main', false, $exclude); + + // We are adding the nodes first to preprocess them, then sort them and add them again. + foreach ($components->getChildren() as $c) + { + if (!$c->hasChildren()) + { + $temp = clone $c; + $c->addChild($temp); + } + + $item->addChild($c); + } + + self::preprocess($item); + $children = ArrayHelper::sortObjects($item->getChildren(), 'text', 1, false, true); + + foreach ($children as $c) + { + $parent->addChild($c); + } + + $parent->removeChild($item); + continue; + } + + // Exclude Mass Mail if disabled in global configuration + if ($item->scope === 'massmail' && ($app->get('massmailoff', 0) == 1)) + { + $parent->removeChild($item); + continue; + } + + if ($item->element === 'com_fields') + { + parse_str($item->link, $query); + + // Only display Fields menus when enabled in the component + $createFields = null; + + if (isset($query['context'])) + { + $createFields = ComponentHelper::getParams(strstr($query['context'], '.', true))->get('custom_fields_enable', 1); + } + + if (!$createFields) + { + $parent->removeChild($item); + continue; + } + } + elseif ($item->element === 'com_workflow') + { + parse_str($item->link, $query); + + // Only display Workflow menus when enabled in the component + $workflow = null; + + if (isset($query['extension'])) + { + $workflow = ComponentHelper::getParams($query['extension'])->get('workflows_enable', 1); + } + + if (!$workflow) + { + $parent->removeChild($item); + continue; + } + + list($assetName) = isset($query['extension']) ? explode('.', $query['extension'], 2) : array('com_workflow'); + } + // Special case for components which only allow super user access + elseif (\in_array($item->element, array('com_config', 'com_privacy', 'com_actionlogs'), true) && !$user->authorise('core.admin')) + { + $parent->removeChild($item); + continue; + } + elseif ($item->element === 'com_joomlaupdate' && !$user->authorise('core.admin')) + { + $parent->removeChild($item); + continue; + } + elseif ($item->element === 'com_admin') + { + parse_str($item->link, $query); + + if (isset($query['view']) && $query['view'] === 'sysinfo' && !$user->authorise('core.admin')) + { + $parent->removeChild($item); + continue; + } + } + elseif ($item->element === 'com_menus') + { + // Get badges for Menus containing a Home page. + $iconImage = $item->icon; + + if ($iconImage) + { + if (substr($iconImage, 0, 6) === 'class:' && substr($iconImage, 6) === 'icon-home') + { + $iconImage = ''; + } + elseif (substr($iconImage, 0, 6) === 'image:') + { + $iconImage = ' ' . substr($iconImage, 6) . ''; + } + else + { + $iconImage = '' . HTMLHelper::_('image', $iconImage, null) . ''; + } + + $item->title = $item->title . $iconImage; + } + } + + if ($item->hasChildren()) + { + self::preprocess($item); + } + + // Ok we passed everything, load language at last only + if ($item->element) + { + $language->load($item->element . '.sys', JPATH_ADMINISTRATOR, null, false, true) || + $language->load($item->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $item->element, null, false, true); + } + + if ($item->type === 'separator' && $item->params->get('text_separator') == 0) + { + $item->title = ''; + } + + $item->text = Text::_($item->title); + } + } +} diff --git a/administrator/modules/mod_submenu/mod_submenu.php b/administrator/modules/mod_submenu/mod_submenu.php new file mode 100644 index 0000000000000..eab2801f1d55b --- /dev/null +++ b/administrator/modules/mod_submenu/mod_submenu.php @@ -0,0 +1,43 @@ +get('menutype', '*'); +$root = false; + +if ($menutype === '*') +{ + $name = $params->get('preset', 'system'); + $root = MenusHelper::loadPreset($name); +} +else +{ + $root = MenusHelper::getMenuItems($menutype, true); +} + +if ($root && $root->hasChildren()) +{ + Factory::getLanguage()->load( + 'mod_menu', + JPATH_ADMINISTRATOR, + Factory::getLanguage()->getTag(), + true + ); + + Menu::preprocess($root); + + // Render the module layout + require ModuleHelper::getLayoutPath('mod_submenu', $params->get('layout', 'default')); +} diff --git a/administrator/modules/mod_submenu/mod_submenu.xml b/administrator/modules/mod_submenu/mod_submenu.xml new file mode 100644 index 0000000000000..58ac9b472a5aa --- /dev/null +++ b/administrator/modules/mod_submenu/mod_submenu.xml @@ -0,0 +1,61 @@ + + + mod_submenu + Joomla! Project + February 2019 + Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved. + GNU General Public License version 2 or later; see LICENSE.txt + admin@joomla.org + www.joomla.org + 3.0.0 + MOD_SUBMENU_XML_DESCRIPTION + Joomla\Module\Submenu + + mod_submenu.php + Menu + tmpl + + + en-GB.mod_submenu.ini + en-GB.mod_submenu.sys.ini + + + + +
+ + + + + +
+ +
+ + + +
+
+
+
diff --git a/administrator/modules/mod_submenu/tmpl/default.php b/administrator/modules/mod_submenu/tmpl/default.php new file mode 100644 index 0000000000000..a0f053b4c68ac --- /dev/null +++ b/administrator/modules/mod_submenu/tmpl/default.php @@ -0,0 +1,125 @@ + 'auto', 'relative' => true]); +$bootstrapSize = (int) $params->get('bootstrap_size', 6); +$columns = (int) ($bootstrapSize ? $bootstrapSize : 3) / 3; +$columnSize = 12 / $columns; +$columnsSmall = (int) ($bootstrapSize ? $bootstrapSize : 4) / 4; +$columnSizeSmall = 12 / $columnsSmall; +$app = JFactory::getApplication(); +$user = $app->getIdentity(); + +$id = $module->id; + +$canEdit = $user->authorise('core.edit', 'com_modules.module.' . $id) && $user->authorise('core.manage', 'com_modules'); +$canChange = $user->authorise('core.edit.state', 'com_modules.module.' . $id) && $user->authorise('core.manage', 'com_modules'); + +/** @var \Joomla\CMS\Menu\MenuItem $root */ +?> + authorise('core.edit', 'com_modules')) : ?> + + getChildren() as $child) : ?> + hasChildren()) : ?> +
+ + isRTL() ? 'left' : 'right'; ?> + + +

+ icon) : ?> + title); ?> +

+ +
+ + + diff --git a/administrator/modules/mod_title/tmpl/default.php b/administrator/modules/mod_title/tmpl/default.php index 569fb677950c7..7ace4e83b8d70 100644 --- a/administrator/modules/mod_title/tmpl/default.php +++ b/administrator/modules/mod_title/tmpl/default.php @@ -10,7 +10,7 @@ defined('_JEXEC') or die; ?> -
+
diff --git a/administrator/modules/mod_status/mod_status.php b/administrator/modules/mod_user/mod_user.php similarity index 57% rename from administrator/modules/mod_status/mod_status.php rename to administrator/modules/mod_user/mod_user.php index 026004133eb78..9676f6085ca27 100644 --- a/administrator/modules/mod_status/mod_status.php +++ b/administrator/modules/mod_user/mod_user.php @@ -1,7 +1,7 @@ getIdentity(); $sitename = htmlspecialchars($app->get('sitename', ''), ENT_QUOTES, 'UTF-8'); -// Try to get the items from the post-installation model -try -{ - $messagesModel = $app->bootComponent('com_postinstall')->getMVCFactory()->createModel('Messages', 'Administrator', ['ignore_request' => true]); - $messages = $messagesModel->getItems(); -} -catch (RuntimeException $e) -{ - $messages = []; - - // Still render the error message from the Exception object - $app->enqueueMessage($e->getMessage(), 'error'); -} - -$joomlaFilesExtensionId = ExtensionHelper::getExtensionRecord('files_joomla')->extension_id; - -// Load the com_postinstall language file -$app->getLanguage()->load('com_postinstall', JPATH_ADMINISTRATOR, 'en-GB', true); - -$multilanguageStatusModuleOutput = ''; - // Check if the multilangstatus module is present and enabled in the site if (class_exists(MultilangstatusAdminHelper::class) && MultilangstatusAdminHelper::isEnabled($app, $db)) { @@ -54,4 +32,4 @@ } } -require ModuleHelper::getLayoutPath('mod_status', $params->get('layout', 'default')); +require ModuleHelper::getLayoutPath('mod_user', $params->get('layout', 'default')); diff --git a/administrator/modules/mod_status/mod_status.xml b/administrator/modules/mod_user/mod_user.xml similarity index 68% rename from administrator/modules/mod_status/mod_status.xml rename to administrator/modules/mod_user/mod_user.xml index 254a086f96ff6..6a0ac39743cf7 100644 --- a/administrator/modules/mod_status/mod_status.xml +++ b/administrator/modules/mod_user/mod_user.xml @@ -1,23 +1,23 @@ - mod_status + mod_user Joomla! Project - February 2006 + July 2019 (C) 2005 - 2019 Open Source Matters. All rights reserved. GNU General Public License version 2 or later; see LICENSE.txt admin@joomla.org www.joomla.org - 3.0.0 - MOD_STATUS_XML_DESCRIPTION + 4.0.0 + MOD_USER_XML_DESCRIPTION - mod_status.php + mod_user.php tmpl - en-GB.mod_status.ini - en-GB.mod_status.sys.ini + en-GB.mod_user.ini + en-GB.mod_user.sys.ini - +
diff --git a/administrator/modules/mod_user/tmpl/default.php b/administrator/modules/mod_user/tmpl/default.php new file mode 100644 index 0000000000000..aaebc66166277 --- /dev/null +++ b/administrator/modules/mod_user/tmpl/default.php @@ -0,0 +1,56 @@ +input->getBool('hidemainmenu'); +?> + + diff --git a/administrator/modules/mod_version/Helper/VersionHelper.php b/administrator/modules/mod_version/Helper/VersionHelper.php index 9bfba34f1c3d0..c0a6c4d50f012 100644 --- a/administrator/modules/mod_version/Helper/VersionHelper.php +++ b/administrator/modules/mod_version/Helper/VersionHelper.php @@ -9,7 +9,7 @@ namespace Joomla\Module\Version\Administrator\Helper; -defined('_JEXEC') or die; +\defined('_JEXEC') or die; use Joomla\CMS\Version; @@ -21,7 +21,7 @@ abstract class VersionHelper { /** - * Get the member items of the submenu. + * Get the Joomla version number. * * @return string String containing the current Joomla version. */ @@ -29,6 +29,6 @@ public static function getVersion() { $version = new Version; - return $version::PRODUCT . ' ' . $version->getShortVersion(); + return '‎' . $version->getShortVersion(); } } diff --git a/administrator/modules/mod_version/mod_version.xml b/administrator/modules/mod_version/mod_version.xml index 8ec2571e52713..6c6cd3755d125 100644 --- a/administrator/modules/mod_version/mod_version.xml +++ b/administrator/modules/mod_version/mod_version.xml @@ -12,7 +12,6 @@ Joomla\Module\Version mod_version.php - language tmpl helper.php diff --git a/administrator/modules/mod_version/tmpl/default.php b/administrator/modules/mod_version/tmpl/default.php index 4c405060462cd..16ccab9dac52c 100644 --- a/administrator/modules/mod_version/tmpl/default.php +++ b/administrator/modules/mod_version/tmpl/default.php @@ -8,9 +8,18 @@ */ defined('_JEXEC') or die; + +use Joomla\CMS\Language\Text; + ?> - -
-

+
+
+
+ +
+
+ + +
+
- diff --git a/administrator/templates/atum/Service/HTML/Atum.php b/administrator/templates/atum/Service/HTML/Atum.php new file mode 100644 index 0000000000000..a28602f055e17 --- /dev/null +++ b/administrator/templates/atum/Service/HTML/Atum.php @@ -0,0 +1,243 @@ +get('hue')) + { + $root = static::bgdarkcalc($params->get('hue')); + } + + $bgLight = $params->get('bg-light'); + + if (static::isHex($bgLight)) + { + try + { + $bgLight = new Hex($bgLight); + + $root[] = '--atum-bg-light: ' . $bgLight . ';'; + $root[] = '--toolbar-bg: ' . $bgLight->lighten(5) . ';'; + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + + $textDark = $params->get('text-dark'); + + if (static::isHex($textDark)) + { + try + { + $textDark = new Hex($textDark); + $root[] = '--atum-text-dark: ' . $textDark . ';'; + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + + $textLight = $params->get('text-light'); + + if (static::isHex($textLight)) + { + try + { + $textLight = new Hex($textLight); + $root[] = '--atum-text-light: ' . $textLight . ';'; + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + + $linkColor = $params->get('link-color'); + + if (static::isHex($linkColor)) + { + try + { + $linkColor = new Hex($linkColor); + + $root[] = '--atum-link-color: ' . $linkColor . ';'; + + $root[] = '--atum-link-hover-color: ' . $linkColor->darken(20) . ';'; + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + + $specialColor = $params->get('special-color'); + + if (static::isHex($specialColor)) + { + try + { + $specialcolor = new Hex($specialColor); + $root[] = '--atum-special-color: ' . $specialcolor . ';'; + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + + if (count($root)) + { + Factory::getDocument()->addStyleDeclaration(':root {' . implode($root) . '}'); + } + } + + /** + * Calculates the different template colors + * + * @param string $color Template parameter color. + * @param boolean $monochrome Template parameter monochrome. + * + * @return array An array of calculated color values and css variables + * + * @since 4.0.0 + */ + protected static function bgdarkcalc($color): array + { + $hue = 207; + + if (strpos($color, 'hsl(') !== false) + { + try + { + $hue = (new Hsl($color))->hue(); + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + elseif (static::isHex($color)) + { + try + { + $hue = (new Hex($color))->toHsl()->hue(); + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + elseif (strpos($color, 'hsla(') !== false) + { + try + { + $hue = (new Hsla($color))->toHsl()->hue(); + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + elseif (strpos($color, 'rgb(') !== false) + { + try + { + $hue = (new Rgb($color))->toHsl()->hue(); + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + } + + $hue = min(359, max(0, (int) $hue)); + $root = []; + + // No need to calculate if we have the default value + if ($hue === 207) + { + return $root; + } + + try + { + $bgcolor = new Hsl('hsl(' . $hue . ', ' . 61 . ', 26)'); + + $root[] = '--atum-bg-dark: ' . (new Hsl('hsl(' . $hue . ', 61, 26)'))->toHex() . ';'; + $root[] = '--atum-contrast: ' . (new Hsl('hsl(' . $hue . ', 61, 26)'))->spin(-40)->lighten(18)->toHex() . ';'; + $root[] = '--atum-bg-dark-0: ' . (clone $bgcolor)->desaturate(86)->lighten(71.4)->spin(-6)->toHex() . ';'; + $root[] = '--atum-bg-dark-5: ' . (clone $bgcolor)->desaturate(85)->lighten(65.1)->spin(-6)->toHex() . ';'; + $root[] = '--atum-bg-dark-10: ' . (clone $bgcolor)->desaturate(80)->lighten(59.4)->spin(-6)->toHex() . ';'; + $root[] = '--atum-bg-dark-20: ' . (clone $bgcolor)->desaturate(75)->lighten(47.3)->spin(-6)->toHex() . ';'; + $root[] = '--atum-bg-dark-30: ' . (clone $bgcolor)->desaturate(55)->lighten(34.3)->spin(-5)->toHex() . ';'; + $root[] = '--atum-bg-dark-40: ' . (clone $bgcolor)->desaturate(40)->lighten(21.4)->spin(-3)->toHex() . ';'; + $root[] = '--atum-bg-dark-50: ' . (clone $bgcolor)->desaturate(15)->lighten(10)->spin(-1)->toHex() . ';'; + $root[] = '--atum-bg-dark-70: ' . (clone $bgcolor)->lighten(-6)->spin(4)->toHex() . ';'; + $root[] = '--atum-bg-dark-80: ' . (clone $bgcolor)->lighten(-11.5)->spin(7)->toHex() . ';'; + $root[] = '--atum-bg-dark-90: ' . (clone $bgcolor)->desaturate(-1)->lighten(-17)->spin(10)->toHex() . ';'; + } + catch (\Exception $ex) + { + // Just ignore exceptions + } + + return $root; + } + + /** + * Determinates if the given string is a color hex value + * + * @param string $hex The string to test + * + * @return boolean True when color hex value otherwise false + * + * @since 4.0.0 + */ + protected static function isHex($hex): bool + { + if (substr($hex, 0, 1) !== '#') + { + return false; + } + + $value = ltrim($hex, '#'); + + return (strlen($value) == 6 || strlen($value) == 3) && ctype_xdigit($value); + } +} diff --git a/administrator/templates/atum/error_full.php b/administrator/templates/atum/error_full.php index c21b21c79b806..5d6fa13535091 100644 --- a/administrator/templates/atum/error_full.php +++ b/administrator/templates/atum/error_full.php @@ -13,157 +13,187 @@ use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Router\Route; +use Joomla\CMS\Uri\Uri; /** @var JDocumentError $this */ $app = Factory::getApplication(); -$lang = Factory::getLanguage(); +$lang = $app->getLanguage(); $input = $app->input; +$wa = $this->getWebAssetManager(); // Detecting Active Variables -$option = $input->get('option', ''); -$view = $input->get('view', ''); -$layout = $input->get('layout', ''); -$task = $input->get('task', ''); -$itemid = $input->get('Itemid', ''); -$cpanel = $option === 'com_cpanel'; -$hidden = $app->input->get('hidemainmenu'); -$logo = $this->baseurl . '/templates/' . $this->template . '/images/logo.svg'; -$logoBlue = $this->baseurl . '/templates/' . $this->template . '/images/logo-blue.svg'; - -// Add JavaScript -HTMLHelper::_('script', 'vendor/focus-visible/focus-visible.min.js', ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('script', 'vendor/css-vars-ponyfill/css-vars-ponyfill.min.js', ['version' => 'auto', 'relative' => true]); - -// Load template CSS file -HTMLHelper::_('stylesheet', 'bootstrap.css', ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('stylesheet', 'fontawesome.css', ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('stylesheet', 'template' . ($this->direction === 'rtl' ? '-rtl' : '') . '.css', ['version' => 'auto', 'relative' => true]); - -// Load custom CSS file -HTMLHelper::_('stylesheet', 'user.css', array('version' => 'auto', 'relative' => true)); +$option = $input->get('option', ''); +$view = $input->get('view', ''); +$layout = $input->get('layout', 'default'); +$task = $input->get('task', 'display'); +$itemid = $input->get('Itemid', ''); +$cpanel = $option === 'com_cpanel'; +$hiddenMenu = $app->input->get('hidemainmenu'); +$joomlaLogo = $this->baseurl . '/templates/' . $this->template . '/images/logo.svg'; + +require_once __DIR__ . '/Service/HTML/Atum.php'; + +// Template params +$siteLogo = $this->params->get('siteLogo') + ? Uri::root() . $this->params->get('siteLogo') + : $this->baseurl . '/templates/' . $this->template . '/images/logo-joomla-blue.svg'; +$smallLogo = $this->params->get('smallLogo') + ? Uri::root() . $this->params->get('smallLogo') + : $this->baseurl . '/templates/' . $this->template . '/images/logo-blue.svg'; + +$logoAlt = htmlspecialchars($this->params->get('altSiteLogo', ''), ENT_COMPAT, 'UTF-8'); +$logoSmallAlt = htmlspecialchars($this->params->get('altSmallLogo', ''), ENT_COMPAT, 'UTF-8'); + +// Enable assets +$wa->enableAsset('template.atum.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr')); // Load specific language related CSS -HTMLHelper::_('stylesheet', 'administrator/language/' . $lang->getTag() . '/' . $lang->getTag() . '.css', array('version' => 'auto')); +HTMLHelper::_('stylesheet', 'administrator/language/' . $lang->getTag() . '/' . $lang->getTag() . '.css', ['version' => 'auto']); + +// Load customer stylesheet if available +HTMLHelper::_('stylesheet', 'custom.css', array('version' => 'auto', 'relative' => true)); + +// Load specific template related JS +// TODO: Adapt refactored build tools pt.2 @see https://issues.joomla.org/tracker/joomla-cms/23786 +HTMLHelper::_('script', 'media/templates/' . $this->template . '/js/template.min.js', ['version' => 'auto']); // Set some meta data $this->setMetaData('viewport', 'width=device-width, initial-scale=1'); // @TODO sync with _variables.scss $this->setMetaData('theme-color', '#1c3d5c'); +$this->addScriptDeclaration('cssVars();'); + +// Opacity must be set before displaying the DOM, so don't move to a CSS file +$css = ' + .container-main > * { + opacity: 0; + } + .sidebar-wrapper > * { + opacity: 0; + } +'; -$this->addScriptDeclaration('cssVars();') +$this->addStyleDeclaration($css); +$monochrome = (bool) $this->params->get('monochrome'); + +HTMLHelper::getServiceRegistry()->register('atum', 'JHtmlAtum'); +HTMLHelper::_('atum.rootcolors', $this->params); ?> - - + - - - - - -
+ +
- - - + + diff --git a/administrator/templates/atum/error_login.php b/administrator/templates/atum/error_login.php index 2aff9839c58d6..505a7d9d1265a 100644 --- a/administrator/templates/atum/error_login.php +++ b/administrator/templates/atum/error_login.php @@ -14,41 +14,71 @@ use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; -/** @var JDocumentError $this */ +/** @var JDocumentHtml $this */ -$app = Factory::getApplication(); -$lang = Factory::getLanguage(); +$app = Factory::getApplication(); +$lang = $app->getLanguage(); +$input = $app->input; +$wa = $this->getWebAssetManager(); -// Add JavaScript Frameworks -HTMLHelper::_('script', 'vendor/focus-visible/focus-visible.min.js', ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('script', 'vendor/css-vars-ponyfill/css-vars-ponyfill.min.js', ['version' => 'auto', 'relative' => true]); - -// Load template CSS file -HTMLHelper::_('stylesheet', 'bootstrap.min.css', ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('stylesheet', 'fontawesome.min.css', ['version' => 'auto', 'relative' => true]); -HTMLHelper::_('stylesheet', 'template' . ($this->direction === 'rtl' ? '-rtl' : '') . '.min.css', ['version' => 'auto', 'relative' => true]); - -// Load custom CSS file -HTMLHelper::_('stylesheet', 'user.css', array('version' => 'auto', 'relative' => true)); +// Detecting Active Variables +$option = $input->get('option', ''); +$view = $input->get('view', ''); +$layout = $input->get('layout', 'default'); +$task = $input->get('task', 'display'); +$itemid = $input->get('Itemid', ''); +$cpanel = $option === 'com_cpanel'; +$hiddenMenu = $app->input->get('hidemainmenu'); +$joomlaLogo = $this->baseurl . '/templates/' . $this->template . '/images/logo.svg'; + +require_once __DIR__ . '/Service/HTML/Atum.php'; + +// Template params +$siteLogo = $this->params->get('siteLogo') + ? Uri::root() . $this->params->get('siteLogo') + : $this->baseurl . '/templates/' . $this->template . '/images/logo-joomla-blue.svg'; +$smallLogo = $this->params->get('smallLogo') + ? Uri::root() . $this->params->get('smallLogo') + : $this->baseurl . '/templates/' . $this->template . '/images/logo-blue.svg'; + +$logoAlt = htmlspecialchars($this->params->get('altSiteLogo', ''), ENT_COMPAT, 'UTF-8'); +$logoSmallAlt = htmlspecialchars($this->params->get('altSmallLogo', ''), ENT_COMPAT, 'UTF-8'); + +// Enable assets +$wa->enableAsset('template.atum.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr')); // Load specific language related CSS -HTMLHelper::_('stylesheet', 'administrator/language/' . $lang->getTag() . '/' . $lang->getTag() . '.css', array('version' => 'auto')); +HTMLHelper::_('stylesheet', 'administrator/language/' . $lang->getTag() . '/' . $lang->getTag() . '.css', ['version' => 'auto']); -// Detecting Active Variables -$option = $app->input->getCmd('option', ''); -$view = $app->input->getCmd('view', ''); -$layout = $app->input->getCmd('layout', ''); -$task = $app->input->getCmd('task', ''); -$itemid = $app->input->getCmd('Itemid', ''); -$sitename = htmlspecialchars($app->get('sitename'), ENT_QUOTES, 'UTF-8'); +// Load customer stylesheet if available +HTMLHelper::_('stylesheet', 'custom.css', array('version' => 'auto', 'relative' => true)); + +// Load specific template related JS +// TODO: Adapt refactored build tools pt.2 @see https://issues.joomla.org/tracker/joomla-cms/23786 +HTMLHelper::_('script', 'media/templates/' . $this->template . '/js/template.min.js', ['version' => 'auto']); // Set some meta data $this->setMetaData('viewport', 'width=device-width, initial-scale=1'); // @TODO sync with _variables.scss $this->setMetaData('theme-color', '#1c3d5c'); +$this->addScriptDeclaration('cssVars();'); + +// Opacity must be set before displaying the DOM, so don't move to a CSS file +$css = ' + .container-main > * { + opacity: 0; + } + .sidebar-wrapper > * { + opacity: 0; + } +'; -$this->addScriptDeclaration('cssVars();') +$this->addStyleDeclaration($css); +$monochrome = (bool) $this->params->get('monochrome'); + +HTMLHelper::getServiceRegistry()->register('atum', 'JHtmlAtum'); +HTMLHelper::_('atum.rootcolors', $this->params); ?> @@ -57,26 +87,59 @@ - - -
-
J50 - +
diff --git a/components/com_config/forms/modules.xml b/components/com_config/forms/modules.xml index ae34158defd3a..a29398742a88d 100644 --- a/components/com_config/forms/modules.xml +++ b/components/com_config/forms/modules.xml @@ -114,7 +114,6 @@ type="editor" label="COM_MODULES_FIELD_CONTENT_LABEL" buttons="true" - class="inputbox" filter="JComponentHelper::filterText" hide="readmore,pagebreak" /> diff --git a/components/com_config/forms/templates.xml b/components/com_config/forms/templates.xml index 0f8f6c75e670c..3de144959f199 100644 --- a/components/com_config/forms/templates.xml +++ b/components/com_config/forms/templates.xml @@ -17,7 +17,7 @@ label="COM_TEMPLATES_FIELD_TEMPLATE_LABEL" class="readonly" size="30" - readonly="true" + readonly="true" /> diff --git a/components/com_contact/Controller/ContactController.php b/components/com_contact/Controller/ContactController.php index a2d1846e3bfda..c7f39acf64b7d 100644 --- a/components/com_contact/Controller/ContactController.php +++ b/components/com_contact/Controller/ContactController.php @@ -11,7 +11,6 @@ defined('_JEXEC') or die; -use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\Log\Log; @@ -60,7 +59,6 @@ public function submit() $app = Factory::getApplication(); $model = $this->getModel('contact'); - $params = ComponentHelper::getParams('com_contact'); $stub = $this->input->getString('id'); $id = (int) $stub; @@ -105,7 +103,7 @@ public function submit() } // Check for a valid session cookie - if ($params->get('validate_session', 0)) + if ($contact->params->get('validate_session', 0)) { if (Factory::getSession()->getState() !== 'active') { @@ -174,20 +172,18 @@ public function submit() // Send the email $sent = false; - if (!$params->get('custom_reply')) + if (!$contact->params->get('custom_reply')) { - $sent = $this->_sendEmail($data, $contact, $params->get('show_email_copy', 0)); + $sent = $this->_sendEmail($data, $contact, $contact->params->get('show_email_copy', 0)); } + $msg = ''; + // Set the success message if it was a success - if (!($sent instanceof \Exception)) + if ($sent) { $msg = Text::_('COM_CONTACT_EMAIL_THANKS'); } - else - { - $msg = ''; - } // Flush the data from the session $this->app->setUserState('com_contact.contact.data', null); diff --git a/components/com_contact/Model/CategoryModel.php b/components/com_contact/Model/CategoryModel.php index 391181d921a55..6e02389906b4e 100644 --- a/components/com_contact/Model/CategoryModel.php +++ b/components/com_contact/Model/CategoryModel.php @@ -474,7 +474,7 @@ private function getSlugColumn($query, $id, $alias) . ' THEN ' . $query->concatenate(array($query->castAsChar($id), $alias), ':') . ' ELSE ' - . $id . ' END'; + . $query->castAsChar($id) . ' END'; } /** diff --git a/components/com_contact/Model/ContactModel.php b/components/com_contact/Model/ContactModel.php index 3f9efbccd5e8e..8a7fdae6ac0d3 100644 --- a/components/com_contact/Model/ContactModel.php +++ b/components/com_contact/Model/ContactModel.php @@ -68,9 +68,19 @@ class ContactModel extends FormModel protected function populateState() { /** @var SiteApplication $app */ - $app = Factory::getApplication(); + $app = Factory::getContainer()->get(SiteApplication::class); + + if (\JFactory::getApplication()->isClient('api')) + { + // TODO: remove this + $app->loadLanguage(); + $this->setState('contact.id', \JFactory::getApplication()->input->post->getInt('id')); + } + else + { + $this->setState('contact.id', $app->input->getInt('id')); + } - $this->setState('contact.id', $app->input->getInt('id')); $this->setState('params', $app->getParams()); $user = Factory::getUser(); @@ -104,7 +114,7 @@ public function getForm($data = array(), $loadData = true) $temp = clone $this->getState('params'); $contact = $this->_item[$this->getState('contact.id')]; - $active = Factory::getApplication()->getMenu()->getActive(); + $active = Factory::getContainer()->get(SiteApplication::class)->getMenu()->getActive(); if ($active) { @@ -382,7 +392,8 @@ protected function buildContactExtendedData($contact) } } - $db->setQuery($query, 0, (int) $articles_display_num); + $query->setLimit((int) $articles_display_num); + $db->setQuery($query); $contact->articles = $db->loadObjectList(); } else @@ -431,7 +442,7 @@ private function getSlugColumn($query, $id, $alias) . ' THEN ' . $query->concatenate(array($query->castAsChar($id), $alias), ':') . ' ELSE ' - . $id . ' END'; + . $query->castAsChar($id) . ' END'; } /** diff --git a/components/com_contact/Service/Router.php b/components/com_contact/Service/Router.php index 25107034507e2..5fe22600eae28 100644 --- a/components/com_contact/Service/Router.php +++ b/components/com_contact/Service/Router.php @@ -144,9 +144,9 @@ public function getContactSegment($id, $query) if (!strpos($id, ':')) { $dbquery = $this->db->getQuery(true); - $dbquery->select($dbquery->quoteName('alias')) - ->from($dbquery->quoteName('#__contact_details')) - ->where('id = ' . $dbquery->quote((int) $id)); + $dbquery->select($this->db->quoteName('alias')) + ->from($this->db->quoteName('#__contact_details')) + ->where('id = ' . $this->db->quote((int) $id)); $this->db->setQuery($dbquery); $id .= ':' . $this->db->loadResult(); @@ -227,10 +227,10 @@ public function getContactId($segment, $query) if ($this->noIDs) { $dbquery = $this->db->getQuery(true); - $dbquery->select($dbquery->quoteName('id')) - ->from($dbquery->quoteName('#__contact_details')) - ->where('alias = ' . $dbquery->quote($segment)) - ->where('catid = ' . $dbquery->quote($query['id'])); + $dbquery->select($this->db->quoteName('id')) + ->from($this->db->quoteName('#__contact_details')) + ->where('alias = ' . $this->db->quote($segment)) + ->where('catid = ' . $this->db->quote($query['id'])); $this->db->setQuery($dbquery); return (int) $this->db->loadResult(); diff --git a/components/com_contact/View/Contact/VcfView.php b/components/com_contact/View/Contact/VcfView.php index 416f8e08a951a..62e4cf01888f4 100644 --- a/components/com_contact/View/Contact/VcfView.php +++ b/components/com_contact/View/Contact/VcfView.php @@ -47,7 +47,7 @@ public function display($tpl = null) throw new GenericDataException(implode("\n", $errors), 500); } - Factory::getDocument()->setMimeEncoding('text/directory', true); + $this->document->setMimeEncoding('text/directory', true); // Compute lastname, firstname and middlename $item->name = trim($item->name); diff --git a/components/com_content/Helper/AssociationHelper.php b/components/com_content/Helper/AssociationHelper.php index 6a3f6d3d7b966..a1e9021604333 100644 --- a/components/com_content/Helper/AssociationHelper.php +++ b/components/com_content/Helper/AssociationHelper.php @@ -65,13 +65,12 @@ public static function getAssociations($id = 0, $view = null, $layout = null) if (!$user->authorise('core.edit.state', 'com_content') && !$user->authorise('core.edit', 'com_content')) { // Filter by start and end dates. - $nullDate = $db->quote($db->getNullDate()); $date = Factory::getDate(); $nowDate = $db->quote($date->toSql()); - $advClause[] = '(c2.publish_up = ' . $nullDate . ' OR c2.publish_up <= ' . $nowDate . ')'; - $advClause[] = '(c2.publish_down = ' . $nullDate . ' OR c2.publish_down >= ' . $nowDate . ')'; + $advClause[] = '(c2.publish_up IS NULL OR c2.publish_up <= ' . $nowDate . ')'; + $advClause[] = '(c2.publish_down IS NULL OR c2.publish_down >= ' . $nowDate . ')'; // Filter by published $advClause[] = 'c2.state = 1'; diff --git a/components/com_content/Helper/QueryHelper.php b/components/com_content/Helper/QueryHelper.php index 02e7e5a1c3b40..1bf2081436dbc 100644 --- a/components/com_content/Helper/QueryHelper.php +++ b/components/com_content/Helper/QueryHelper.php @@ -189,11 +189,11 @@ public static function getQueryDate($orderDate, DatabaseInterface $db = null) // Use created if publish_up is not set case 'published' : - $queryDate = ' CASE WHEN a.publish_up = ' . $db->quote($db->getNullDate()) . ' THEN a.created ELSE a.publish_up END '; + $queryDate = ' CASE WHEN a.publish_up IS NULL THEN a.created ELSE a.publish_up END '; break; case 'unpublished' : - $queryDate = ' CASE WHEN a.publish_down = ' . $db->quote($db->getNullDate()) . ' THEN a.created ELSE a.publish_down END '; + $queryDate = ' CASE WHEN a.publish_down IS NULL THEN a.created ELSE a.publish_down END '; break; case 'created' : default : diff --git a/components/com_content/Model/ArchiveModel.php b/components/com_content/Model/ArchiveModel.php index 4a7e472848865..47f55386769e0 100644 --- a/components/com_content/Model/ArchiveModel.php +++ b/components/com_content/Model/ArchiveModel.php @@ -187,11 +187,12 @@ protected function _getList($query, $limitstart=0, $limit=0) public function getYears() { $db = $this->getDbo(); - $nullDate = $db->quote($db->getNullDate()); - $nowDate = $db->quote(Factory::getDate()->toSql()); + + $nowDate = $db->quote(Factory::getDate()->toSql()); $query = $db->getQuery(true); $years = $query->year($db->quoteName('c.created')); + $query->select('DISTINCT (' . $years . ')') ->from($db->quoteName('#__content', 'c')) ->from($db->quoteName('#__workflow_associations', 'wa')) @@ -199,8 +200,8 @@ public function getYears() ->where($db->quoteName('c.id') . ' = ' . $db->quoteName('wa.item_id')) ->where($db->quoteName('ws.id') . ' = ' . $db->quoteName('wa.stage_id')) ->where($db->quoteName('ws.condition') . '= ' . (int) ContentComponent::CONDITION_ARCHIVED) - ->where('(c.publish_up = ' . $nullDate . ' OR c.publish_up <= ' . $nowDate . ')') - ->where('(c.publish_down = ' . $nullDate . ' OR c.publish_down >= ' . $nowDate . ')') + ->where('(c.publish_up IS NULL OR c.publish_up <= ' . $nowDate . ')') + ->where('(c.publish_down IS NULL OR c.publish_down >= ' . $nowDate . ')') ->order('1 ASC'); $db->setQuery($query); @@ -226,6 +227,6 @@ private function getSlugColumn($query, $id, $alias) . ' THEN ' . $query->concatenate(array($query->castAsChar($id), $alias), ':') . ' ELSE ' - . $id . ' END'; + . $query->castAsChar($id) . ' END'; } } diff --git a/components/com_content/Model/ArticleModel.php b/components/com_content/Model/ArticleModel.php index 1064ed0659200..7dbbe71b47244 100644 --- a/components/com_content/Model/ArticleModel.php +++ b/components/com_content/Model/ArticleModel.php @@ -100,9 +100,7 @@ public function getItem($pk = null) $this->getState( 'item.select', 'a.id, a.asset_id, a.title, a.alias, a.introtext, a.fulltext, ' . 'a.state, a.catid, a.created, a.created_by, a.created_by_alias, ' . - // Use created if modified is 0 - 'CASE WHEN a.modified = ' . $db->quote($db->getNullDate()) . ' THEN a.created ELSE a.modified END as modified, ' . - 'a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, ' . + 'a.modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, ' . 'a.images, a.urls, a.attribs, a.version, a.ordering, ' . 'a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language' ) @@ -155,13 +153,12 @@ public function getItem($pk = null) ) { // Filter by start and end dates. - $nullDate = $db->quote($db->getNullDate()); $date = Factory::getDate(); $nowDate = $db->quote($date->toSql()); - $query->where('(a.publish_up = ' . $nullDate . ' OR a.publish_up <= ' . $nowDate . ')') - ->where('(a.publish_down = ' . $nullDate . ' OR a.publish_down >= ' . $nowDate . ')'); + $query->where('(a.publish_up IS NULL OR a.publish_up <= ' . $nowDate . ')') + ->where('(a.publish_down IS NULL OR a.publish_down >= ' . $nowDate . ')'); } // Filter by published state. @@ -380,6 +377,8 @@ public function storeVote($pk = 0, $rate = 0) } } + $this->cleanCache(); + return true; } @@ -387,4 +386,25 @@ public function storeVote($pk = 0, $rate = 0) return false; } + + /** + * Cleans the cache of com_content and content modules + * + * @param string $group The cache group + * @param integer $clientId The ID of the client + * + * @return void + * + * @since 3.9.9 + */ + protected function cleanCache($group = null, $clientId = 0) + { + parent::cleanCache('com_content'); + parent::cleanCache('mod_articles_archive'); + parent::cleanCache('mod_articles_categories'); + parent::cleanCache('mod_articles_category'); + parent::cleanCache('mod_articles_latest'); + parent::cleanCache('mod_articles_news'); + parent::cleanCache('mod_articles_popular'); + } } diff --git a/components/com_content/Model/ArticlesModel.php b/components/com_content/Model/ArticlesModel.php index 21cbe7833dbf8..deedc29cf7686 100644 --- a/components/com_content/Model/ArticlesModel.php +++ b/components/com_content/Model/ArticlesModel.php @@ -207,11 +207,9 @@ protected function getListQuery() // If category is not published then force 0 'CASE WHEN c.published = 2 AND ws.condition > 0 THEN ' . (int) ContentComponent::CONDITION_ARCHIVED . ' WHEN c.published != 1 THEN ' . (int) ContentComponent::CONDITION_UNPUBLISHED . ' ELSE ws.condition END as state,' . - // Use created if modified is 0 - 'CASE WHEN a.modified = ' . $db->quote($db->getNullDate()) . ' THEN a.created ELSE a.modified END as modified, ' . - 'a.modified_by, uam.name as modified_by_name,' . - // Use created if publish_up is 0 - 'CASE WHEN a.publish_up = ' . $db->quote($db->getNullDate()) . ' THEN a.created ELSE a.publish_up END as publish_up,' . + 'a.modified, a.modified_by, uam.name as modified_by_name,' . + // Use created if publish_up is null + 'CASE WHEN a.publish_up IS NULL THEN a.created ELSE a.publish_up END as publish_up,' . 'a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, ' . 'a.hits, a.featured, a.language, ' . $query->length('a.fulltext') . ' AS readmore, a.ordering' ) @@ -466,15 +464,13 @@ function ($data) use ($db) $query->where($authorWhere . $authorAliasWhere); } - // Define null and now dates - $nullDate = $db->quote($db->getNullDate()); $nowDate = $db->quote(Factory::getDate()->toSql()); // Filter by start and end dates. if ((!$user->authorise('core.edit.state', 'com_content')) && (!$user->authorise('core.edit', 'com_content'))) { - $query->where('(a.publish_up = ' . $nullDate . ' OR a.publish_up <= ' . $nowDate . ')') - ->where('(a.publish_down = ' . $nullDate . ' OR a.publish_down >= ' . $nowDate . ')'); + $query->where('(a.publish_up IS NULL OR a.publish_up <= ' . $nowDate . ')') + ->where('(a.publish_down IS NULL OR a.publish_down >= ' . $nowDate . ')'); } // Filter by Date Range or Relative Date @@ -484,8 +480,8 @@ function ($data) use ($db) switch ($dateFiltering) { case 'range': - $startDateRange = $db->quote($this->getState('filter.start_date_range', $nullDate)); - $endDateRange = $db->quote($this->getState('filter.end_date_range', $nullDate)); + $startDateRange = $db->quote($this->getState('filter.start_date_range')); + $endDateRange = $db->quote($this->getState('filter.end_date_range')); $query->where( '(' . $dateField . ' >= ' . $startDateRange . ' AND ' . $dateField . ' <= ' . $endDateRange . ')' @@ -530,13 +526,13 @@ function ($data) use ($db) if ($monthFilter != '') { $query->where( - $db->quote(date("Y-m-d", strtotime($monthFilter)) . ' 00:00:00') . ' <= CASE WHEN a.publish_up = ' . - $db->quote($db->getNullDate()) . ' THEN a.created ELSE a.publish_up END' + $db->quote(date("Y-m-d", strtotime($monthFilter)) . ' 00:00:00') + . ' <= CASE WHEN a.publish_up IS NULL THEN a.created ELSE a.publish_up END' ); $query->where( - $db->quote(date("Y-m-t", strtotime($monthFilter)) . ' 23:59:59') . ' >= CASE WHEN a.publish_up = ' . - $db->quote($db->getNullDate()) . ' THEN a.created ELSE a.publish_up END' + $db->quote(date("Y-m-t", strtotime($monthFilter)) . ' 23:59:59') + . ' >= CASE WHEN a.publish_up IS NULL THEN a.created ELSE a.publish_up END' ); } break; @@ -776,17 +772,17 @@ public function countItemsByMonth() ->select('DATE(' . $query->concatenate( array( - $query->year($query->quoteName('publish_up')), - $query->quote('-'), - $query->month($query->quoteName('publish_up')), - $query->quote('-01') + $query->year($db->quoteName('publish_up')), + $db->quote('-'), + $query->month($db->quoteName('publish_up')), + $db->quote('-01') ) ) . ') as d' ) ->select('COUNT(*) as c') ->from('(' . $this->getListQuery() . ') as b') - ->group($query->quoteName('d')) - ->order($query->quoteName('d') . ' desc'); + ->group($db->quoteName('d')) + ->order($db->quoteName('d') . ' desc'); return $db->setQuery($query)->loadObjectList(); } diff --git a/components/com_content/Service/Router.php b/components/com_content/Service/Router.php index abcafabbac38c..1a6986a8e98a1 100644 --- a/components/com_content/Service/Router.php +++ b/components/com_content/Service/Router.php @@ -148,9 +148,9 @@ public function getArticleSegment($id, $query) if (!strpos($id, ':')) { $dbquery = $this->db->getQuery(true); - $dbquery->select($dbquery->quoteName('alias')) - ->from($dbquery->quoteName('#__content')) - ->where('id = ' . $dbquery->quote($id)); + $dbquery->select($this->db->quoteName('alias')) + ->from($this->db->quoteName('#__content')) + ->where('id = ' . $this->db->quote($id)); $this->db->setQuery($dbquery); $id .= ':' . $this->db->loadResult(); @@ -246,10 +246,10 @@ public function getArticleId($segment, $query) if ($this->noIDs) { $dbquery = $this->db->getQuery(true); - $dbquery->select($dbquery->quoteName('id')) - ->from($dbquery->quoteName('#__content')) - ->where('alias = ' . $dbquery->quote($segment)) - ->where('catid = ' . $dbquery->quote($query['id'])); + $dbquery->select($this->db->quoteName('id')) + ->from($this->db->quoteName('#__content')) + ->where('alias = ' . $this->db->quote($segment)) + ->where('catid = ' . $this->db->quote($query['id'])); $this->db->setQuery($dbquery); return (int) $this->db->loadResult(); diff --git a/components/com_content/View/Archive/HtmlView.php b/components/com_content/View/Archive/HtmlView.php index 2fb43684585f1..30ad6db42ac82 100644 --- a/components/com_content/View/Archive/HtmlView.php +++ b/components/com_content/View/Archive/HtmlView.php @@ -14,6 +14,7 @@ use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; +use Joomla\CMS\MVC\View\GenericDataException; use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView; use Joomla\CMS\Plugin\PluginHelper; @@ -99,7 +100,9 @@ class HtmlView extends BaseHtmlView * * @param string $tpl The name of the template file to parse; automatically searches through the template paths. * - * @return mixed A string if successful, otherwise an Error object. + * @return void + * + * @throws GenericDataException */ public function display($tpl = null) { @@ -108,6 +111,11 @@ public function display($tpl = null) $items = $this->get('Items'); $pagination = $this->get('Pagination'); + if ($errors = $this->getModel()->getErrors()) + { + throw new GenericDataException(implode("\n", $errors), 500); + } + // Flag indicates to not add limitstart=0 to URL $pagination->hideEmptyLimitstart = true; diff --git a/components/com_content/View/Category/FeedView.php b/components/com_content/View/Category/FeedView.php index 32351b0f4d588..8eb79707c0ab5 100644 --- a/components/com_content/View/Category/FeedView.php +++ b/components/com_content/View/Category/FeedView.php @@ -15,6 +15,7 @@ use Joomla\CMS\Language\Text; use Joomla\CMS\MVC\View\CategoryFeedView; use Joomla\CMS\Router\Route; +use Joomla\CMS\Uri\Uri; /** * HTML View class for the Content component @@ -50,7 +51,7 @@ protected function reconcileNames($item) if (isset($introImage) && ($introImage != '')) { - $image = preg_match('/http/', $introImage) ? $introImage : \JURI::root() . $introImage; + $image = preg_match('/http/', $introImage) ? $introImage : Uri::root() . $introImage; $item->description = '

'; } diff --git a/components/com_content/View/Featured/FeedView.php b/components/com_content/View/Featured/FeedView.php index a846477f2a652..b73a2016d672c 100644 --- a/components/com_content/View/Featured/FeedView.php +++ b/components/com_content/View/Featured/FeedView.php @@ -17,6 +17,7 @@ use Joomla\CMS\Language\Text; use Joomla\CMS\MVC\View\AbstractView; use Joomla\CMS\Router\Route; +use Joomla\CMS\Uri\Uri; /** * Frontpage View class @@ -36,11 +37,11 @@ public function display($tpl = null) { // Parameters $app = Factory::getApplication(); - $doc = Factory::getDocument(); $params = $app->getParams(); $feedEmail = $app->get('feed_email', 'none'); $siteEmail = $app->get('mailfrom'); - $doc->link = Route::_('index.php?option=com_content&view=featured'); + + $this->document->link = Route::_('index.php?option=com_content&view=featured'); // Get some data from the model $app->input->set('limit', $app->get('feed_limit')); @@ -50,7 +51,7 @@ public function display($tpl = null) foreach ($rows as $row) { // Strip html from feed item title - $title = $this->escape($row->title); + $title = htmlspecialchars($row->title, ENT_QUOTES, 'UTF-8'); $title = html_entity_decode($title, ENT_COMPAT, 'UTF-8'); // Compute the article slug @@ -74,7 +75,7 @@ public function display($tpl = null) if (isset($introImage) && ($introImage != '')) { - $image = preg_match('/http/', $introImage) ? $introImage : JURI::root() . $introImage; + $image = preg_match('/http/', $introImage) ? $introImage : Uri::root() . $introImage; $description = '

'; } @@ -122,7 +123,7 @@ public function display($tpl = null) $item->description = '
' . $description . '
'; // Loads item info into rss array - $doc->addItem($item); + $this->document->addItem($item); } } } diff --git a/components/com_content/forms/article.xml b/components/com_content/forms/article.xml index 6752e2ed5bcb0..8d42a8d388fe6 100644 --- a/components/com_content/forms/article.xml +++ b/components/com_content/forms/article.xml @@ -5,7 +5,6 @@ name="id" type="hidden" label="COM_CONTENT_ID_LABEL" - class="inputbox" id="id" size="10" default="0" @@ -31,7 +30,6 @@ type="text" label="JGLOBAL_TITLE" id="title" - class="inputbox" size="30" required="true" /> @@ -42,7 +40,6 @@ label="JFIELD_ALIAS_LABEL" id="alias" hint="JFIELD_ALIAS_PLACEHOLDER" - class="inputbox" size="45" /> @@ -52,7 +49,6 @@ label="CONTENT_TEXT_LABEL" description="CONTENT_TEXT_DESC" buttons="true" - class="inputbox" filter="JComponentHelper::filterText" asset_id="com_content" /> @@ -71,7 +67,6 @@ type="list" label="JGLOBAL_FIELD_FEATURED_LABEL" id="featured" - class="inputbox" default="0" > @@ -84,7 +79,6 @@ label="JCATEGORY" id="catid" extension="com_content" - class="inputbox" required="true" /> @@ -108,7 +102,6 @@ type="text" label="JGLOBAL_FIELD_CREATED_BY_ALIAS_LABEL" id="created_by_alias" - class="inputbox" size="20" /> @@ -116,7 +109,6 @@ name="note" type="text" label="COM_CONTENT_FIELD_NOTE_LABEL" - class="inputbox" size="40" maxlength="255" /> @@ -125,7 +117,6 @@ name="version_note" type="text" label="JGLOBAL_FIELD_VERSION_NOTE_LABEL" - class="inputbox" maxlength="255" size="45" /> @@ -135,7 +126,6 @@ type="calendar" label="JGLOBAL_FIELD_PUBLISH_UP_LABEL" id="publish_up" - class="inputbox" translateformat="true" showtime="true" size="22" @@ -147,7 +137,6 @@ type="calendar" label="JGLOBAL_FIELD_PUBLISH_DOWN_LABEL" id="publish_down" - class="inputbox" translateformat="true" showtime="true" size="22" @@ -158,7 +147,6 @@ name="language" type="contentlanguage" label="JFIELD_LANGUAGE_LABEL" - class="inputbox" >
@@ -167,7 +155,6 @@ name="tags" type="tag" label="JTAG" - class="inputbox" multiple="true" size="45" /> @@ -177,7 +164,6 @@ type="textarea" label="JFIELD_META_KEYWORDS_LABEL" id="metakey" - class="inputbox" rows="5" cols="50" /> @@ -187,7 +173,6 @@ type="textarea" label="JFIELD_META_DESCRIPTION_LABEL" id="metadesc" - class="inputbox" rows="5" cols="50" /> @@ -197,7 +182,6 @@ type="accesslevel" label="JFIELD_ACCESS_LABEL" id="access" - class="inputbox" size="1" /> @@ -221,7 +205,6 @@ name="image_intro_alt" type="text" label="COM_CONTENT_FIELD_IMAGE_ALT_LABEL" - class="inputbox" size="20" /> @@ -229,7 +212,6 @@ name="image_intro_caption" type="text" label="COM_CONTENT_FIELD_IMAGE_CAPTION_LABEL" - class="inputbox" size="20" /> @@ -255,7 +237,6 @@ name="image_fulltext_alt" type="text" label="COM_CONTENT_FIELD_IMAGE_ALT_LABEL" - class="inputbox" size="20" /> @@ -263,7 +244,6 @@ name="image_fulltext_caption" type="text" label="COM_CONTENT_FIELD_IMAGE_CAPTION_LABEL" - class="inputbox" size="20" /> @@ -293,7 +273,6 @@ name="urlatext" type="text" label="COM_CONTENT_FIELD_URLA_LINK_TEXT_LABEL" - class="inputbox" size="20" /> @@ -315,7 +294,6 @@ name="urlbtext" type="text" label="COM_CONTENT_FIELD_URLB_LINK_TEXT_LABEL" - class="inputbox" size="20" /> @@ -337,7 +315,6 @@ name="urlctext" type="text" label="COM_CONTENT_FIELD_URLC_LINK_TEXT_LABEL" - class="inputbox" size="20" /> diff --git a/components/com_content/tmpl/article/default.php b/components/com_content/tmpl/article/default.php index 973c7689cc159..5c8a58052d3a3 100644 --- a/components/com_content/tmpl/article/default.php +++ b/components/com_content/tmpl/article/default.php @@ -61,7 +61,7 @@ item->publish_up) > strtotime(Factory::getDate())) : ?> - item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate()) : ?> + item->publish_down) && (strtotime($this->item->publish_down) < strtotime(Factory::getDate()))) : ?>
diff --git a/components/com_content/tmpl/categories/default.php b/components/com_content/tmpl/categories/default.php index d6415c01fd167..9bfd55e597d4f 100644 --- a/components/com_content/tmpl/categories/default.php +++ b/components/com_content/tmpl/categories/default.php @@ -9,7 +9,6 @@ defined('_JEXEC') or die; -use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Layout\LayoutHelper; @@ -49,7 +48,7 @@ JS; // @todo move script to a file -Factory::getDocument()->addScriptDeclaration($js); +$this->document->addScriptDeclaration($js); ?>
-
- JSHOW - - J5 - JSHOW - JSHOW -
- - JSHOW - JSHOW - JSHOW - J5 - JSHOW - JSHOW - JSHOW -
- - - - - - JGLOBAL_CATEGORY_MANAGER_ORDER - JGLOBAL_RATINGS_ASC -
- - JSHOW - JGLOBAL_HITS - JSHOW - JPUBLISHED - - JSHOW - JSHOW - - JGLOBAL_AUTO - - JSHOW - JYES - JSHOW - JSHOW - JYES - JSHOW - JYES - JYES - JSHOW - JSHOW - JSHOW - JSHOW -
- JSHOW - item->stage_condition == ContentComponent::CONDITION_UNPUBLISHED || strtotime($this->item->publish_up) > strtotime(Factory::getDate()) - || ((strtotime($this->item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate())) : ?> + || (!is_null($this->item->publish_down) && strtotime($this->item->publish_down) < strtotime(Factory::getDate()))) : ?>
@@ -86,7 +86,7 @@ item->stage_condition == ContentComponent::CONDITION_UNPUBLISHED || strtotime($this->item->publish_up) > strtotime(Factory::getDate()) - || ((strtotime($this->item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate())) : ?> + || (!is_null($this->item->publish_down) && strtotime($this->item->publish_down) < strtotime(Factory::getDate()))) : ?>
diff --git a/components/com_content/tmpl/category/default.xml b/components/com_content/tmpl/category/default.xml index 050115148f6ba..c9dc136575e41 100644 --- a/components/com_content/tmpl/category/default.xml +++ b/components/com_content/tmpl/category/default.xml @@ -32,8 +32,8 @@
- JSHOW - JSHOW - JSHOW - J5 - JSHOW - JSHOW - JSHOW - JSHOW - JSHOW - JSHOW -
- JSHOW - JMONTH_PUBLISHED - JSHOW - JPUBLISHED - - JSHOW - JSHOW - JSHOW - - JGLOBAL_CATEGORY_MANAGER_ORDER - JGLOBAL_RATINGS_ASC - JPUBLISHED - JGLOBAL_AUTO - JSHOW - JALL - - JSHOW - JYES - JSHOW - JSHOW - - JSHOW - JHIDE - JSHOW - JYES - JSHOW - JSHOW - JSHOW - JSHOW - JSHOW -
- JSHOW - - publish_down) < strtotime(Factory::getDate())) && $article->publish_down != Factory::getDbo()->getNullDate()) : ?> + publish_down) && strtotime($article->publish_down) < strtotime(Factory::getDate())) : ?> diff --git a/components/com_content/tmpl/featured/default.xml b/components/com_content/tmpl/featured/default.xml index c49566a201626..c637612cc2dc2 100644 --- a/components/com_content/tmpl/featured/default.xml +++ b/components/com_content/tmpl/featured/default.xml @@ -24,15 +24,15 @@ - - @@ -53,22 +53,22 @@ size="3" /> - - - - JGLOBAL_CATEGORY_MANAGER_ORDER - JGLOBAL_RATINGS_ASC - JPUBLISHED - JGLOBAL_AUTO - - JSHOW - JYES - JSHOW - JSHOW - JYES - JSHOW - JHIDE - JSHOW - JYES - JSHOW - JSHOW - JSHOW - JSHOW - JSHOW - JSHOW -
- JSHOW - item->state == Workflow::CONDITION_UNPUBLISHED || strtotime($this->item->publish_up) > strtotime(Factory::getDate()) - || ((strtotime($this->item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate())) : ?> + || (!is_null($this->item->publish_down) && strtotime($this->item->publish_down) < strtotime(Factory::getDate()))) : ?>
@@ -52,7 +52,7 @@ item->publish_up) > strtotime(Factory::getDate())) : ?> - item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate()) : ?> + item->publish_down) && strtotime($this->item->publish_down) < strtotime(Factory::getDate())) : ?> @@ -104,7 +104,7 @@ item->state == Workflow::CONDITION_UNPUBLISHED || strtotime($this->item->publish_up) > strtotime(Factory::getDate()) - || ((strtotime($this->item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != $this->db->getNullDate() )) : ?> + || (!is_null($this->item->publish_down) && strtotime($this->item->publish_down) < strtotime(Factory::getDate()))) : ?>
diff --git a/components/com_fields/forms/filter_fields.xml b/components/com_fields/forms/filter_fields.xml index 5ee502d040f78..ea44375f6f4dc 100644 --- a/components/com_fields/forms/filter_fields.xml +++ b/components/com_fields/forms/filter_fields.xml @@ -78,12 +78,12 @@ - - + + - - + +
diff --git a/components/com_fields/layouts/fields/render.php b/components/com_fields/layouts/fields/render.php index 2b4b84e1d53a9..be7eacaeeb327 100644 --- a/components/com_fields/layouts/fields/render.php +++ b/components/com_fields/layouts/fields/render.php @@ -54,7 +54,7 @@ foreach ($fields as $field) { // If the value is empty do nothing - if (!isset($field->value) || $field->value == '') + if (!isset($field->value) || trim($field->value) === '') { continue; } @@ -63,6 +63,12 @@ $layout = $field->params->get('layout', 'render'); $content = FieldsHelper::render($context, 'field.' . $layout, array('field' => $field)); + // If the content is empty do nothing + if (trim($content) === '') + { + continue; + } + $output[] = '
' . $content . '
'; } diff --git a/components/com_finder/View/Search/HtmlView.php b/components/com_finder/View/Search/HtmlView.php index 2024fa4e83ed0..66c00838132f9 100644 --- a/components/com_finder/View/Search/HtmlView.php +++ b/components/com_finder/View/Search/HtmlView.php @@ -343,7 +343,7 @@ protected function prepareDocument($query) $ostitle = $this->params->get('opensearch_name', Text::_('COM_FINDER_OPENSEARCH_NAME') . ' ' . Factory::getApplication()->get('sitename') ); - Factory::getDocument()->addHeadLink( + $this->document->addHeadLink( Uri::getInstance()->toString(array('scheme', 'host', 'port')) . Route::_('index.php?option=com_finder&view=search&format=opensearch'), 'search', 'rel', array('title' => $ostitle, 'type' => 'application/opensearchdescription+xml') ); diff --git a/components/com_finder/View/Search/OpensearchView.php b/components/com_finder/View/Search/OpensearchView.php index 57ee00ac3a9d5..5c66cb3420e2e 100644 --- a/components/com_finder/View/Search/OpensearchView.php +++ b/components/com_finder/View/Search/OpensearchView.php @@ -36,12 +36,11 @@ class OpensearchView extends AbstractView */ public function display($tpl = null) { - $doc = Factory::getDocument(); $app = Factory::getApplication(); $params = ComponentHelper::getParams('com_finder'); - $doc->setShortName($params->get('opensearch_name', $app->get('sitename'))); - $doc->setDescription($params->get('opensearch_description', $app->get('MetaDesc'))); + $this->document->setShortName($params->get('opensearch_name', $app->get('sitename'))); + $this->document->setDescription($params->get('opensearch_description', $app->get('MetaDesc'))); // Prevent any output when OpenSearch Support is disabled if (!$params->get('opensearch', 1)) @@ -64,19 +63,19 @@ public function display($tpl = null) // Add the HTML result view $htmlSearch = new OpenSearchUrl; $htmlSearch->template = $baseUrl . Route::_($searchUri, false); - $doc->addUrl($htmlSearch); + $this->document->addUrl($htmlSearch); // Add the RSS result view $htmlSearch = new OpenSearchUrl; $htmlSearch->template = $baseUrl . Route::_($searchUri . '&format=feed&type=rss', false); $htmlSearch->type = 'application/rss+xml'; - $doc->addUrl($htmlSearch); + $this->document->addUrl($htmlSearch); // Add the Atom result view $htmlSearch = new OpenSearchUrl; $htmlSearch->template = $baseUrl . Route::_($searchUri . '&format=feed&type=atom', false); $htmlSearch->type = 'application/atom+xml'; - $doc->addUrl($htmlSearch); + $this->document->addUrl($htmlSearch); // Add suggestions URL if ($params->get('show_autosuggest', 1)) @@ -84,7 +83,7 @@ public function display($tpl = null) $htmlSearch = new OpenSearchUrl; $htmlSearch->template = $baseUrl . Route::_($suggestionsUri, false); $htmlSearch->type = 'application/x-suggestions+json'; - $doc->addUrl($htmlSearch); + $this->document->addUrl($htmlSearch); } } } diff --git a/components/com_menus/Dispatcher/Dispatcher.php b/components/com_menus/Dispatcher/Dispatcher.php index a0f7c5faa5433..aea535fa72b1c 100644 --- a/components/com_menus/Dispatcher/Dispatcher.php +++ b/components/com_menus/Dispatcher/Dispatcher.php @@ -31,7 +31,6 @@ class Dispatcher extends ComponentDispatcher */ protected function loadLanguage() { - $this->app->getLanguage()->load('joomla', JPATH_ADMINISTRATOR); $this->app->getLanguage()->load('com_menus', JPATH_ADMINISTRATOR); } diff --git a/components/com_modules/Dispatcher/Dispatcher.php b/components/com_modules/Dispatcher/Dispatcher.php index 95de39486a2f3..8b9ddf2193537 100644 --- a/components/com_modules/Dispatcher/Dispatcher.php +++ b/components/com_modules/Dispatcher/Dispatcher.php @@ -31,7 +31,6 @@ class Dispatcher extends ComponentDispatcher */ protected function loadLanguage() { - $this->app->getLanguage()->load('joomla', JPATH_ADMINISTRATOR); $this->app->getLanguage()->load('com_modules', JPATH_ADMINISTRATOR); } diff --git a/components/com_newsfeeds/Model/CategoryModel.php b/components/com_newsfeeds/Model/CategoryModel.php index a0be4b3b44c05..e45e26bc4a099 100644 --- a/components/com_newsfeeds/Model/CategoryModel.php +++ b/components/com_newsfeeds/Model/CategoryModel.php @@ -181,8 +181,8 @@ protected function getListQuery() if ($this->getState('filter.publish_date')) { - $query->where('(' . $query->isNullDatetime('a.publish_up') . ' OR a.publish_up <= ' . $db->quote($nowDate) . ')') - ->where('(' . $query->isNullDatetime('a.publish_down') . ' OR a.publish_down >= ' . $db->quote($nowDate) . ')'); + $query->where('(a.publish_up IS NULL OR a.publish_up <= ' . $db->quote($nowDate) . ')') + ->where('(a.publish_down IS NULL OR a.publish_down >= ' . $db->quote($nowDate) . ')'); } // Filter by search in title diff --git a/components/com_newsfeeds/Model/NewsfeedModel.php b/components/com_newsfeeds/Model/NewsfeedModel.php index 9b0ca782731c9..eac112b932cf7 100644 --- a/components/com_newsfeeds/Model/NewsfeedModel.php +++ b/components/com_newsfeeds/Model/NewsfeedModel.php @@ -115,8 +115,8 @@ public function &getItem($pk = null) if (is_numeric($published)) { $query->where('(a.published = ' . (int) $published . ' OR a.published =' . (int) $archived . ')') - ->where('(' . $query->isNullDatetime('a.publish_up') . ' OR a.publish_up <= ' . $db->quote($nowDate) . ')') - ->where('(' . $query->isNullDatetime('a.publish_down') . ' OR a.publish_down >= ' . $db->quote($nowDate) . ')') + ->where('(a.publish_up IS NULL OR a.publish_up <= ' . $db->quote($nowDate) . ')') + ->where('(a.publish_down IS NULL OR a.publish_down >= ' . $db->quote($nowDate) . ')') ->where('(c.published = ' . (int) $published . ' OR c.published =' . (int) $archived . ')'); } diff --git a/components/com_newsfeeds/Service/Router.php b/components/com_newsfeeds/Service/Router.php index 0b92797dbc58c..3f81c7ce07f91 100644 --- a/components/com_newsfeeds/Service/Router.php +++ b/components/com_newsfeeds/Service/Router.php @@ -143,9 +143,9 @@ public function getNewsfeedSegment($id, $query) if (!strpos($id, ':')) { $dbquery = $this->db->getQuery(true); - $dbquery->select($dbquery->quoteName('alias')) - ->from($dbquery->quoteName('#__newsfeeds')) - ->where('id = ' . $dbquery->quote((int) $id)); + $dbquery->select($this->db->quoteName('alias')) + ->from($this->db->quoteName('#__newsfeeds')) + ->where('id = ' . $this->db->quote((int) $id)); $this->db->setQuery($dbquery); $id .= ':' . $this->db->loadResult(); @@ -226,10 +226,10 @@ public function getNewsfeedId($segment, $query) if ($this->noIDs) { $dbquery = $this->db->getQuery(true); - $dbquery->select($dbquery->quoteName('id')) - ->from($dbquery->quoteName('#__newsfeeds')) - ->where('alias = ' . $dbquery->quote($segment)) - ->where('catid = ' . $dbquery->quote($query['id'])); + $dbquery->select($this->db->quoteName('id')) + ->from($this->db->quoteName('#__newsfeeds')) + ->where('alias = ' . $this->db->quote($segment)) + ->where('catid = ' . $this->db->quote($query['id'])); $this->db->setQuery($dbquery); return (int) $this->db->loadResult(); diff --git a/components/com_newsfeeds/tmpl/categories/default.xml b/components/com_newsfeeds/tmpl/categories/default.xml index de2fff3e46ed1..b3e1ea9d98d3f 100644 --- a/components/com_newsfeeds/tmpl/categories/default.xml +++ b/components/com_newsfeeds/tmpl/categories/default.xml @@ -13,8 +13,8 @@
-
- JSHOW - - J5 - JSHOW - JSHOW -
- - JSHOW - JSHOW - JSHOW - J5 - JSHOW - JSHOW -
- @@ -206,7 +206,7 @@ - JSHOW -
- JSHOW - JSHOW - JSHOW - - -
- +
+ - JSHOW - JSHOW - JSHOW - J5 - JSHOW - JSHOW -
- @@ -136,13 +136,13 @@ label="JGLOBAL_FILTER_FIELD_LABEL" default="" useglobal="true" - class="chzn-color" + class="chzn-color" > - JSHOW -
- - JSHOW - JSHOW - JSHOW - - - -
- JSHOW - JSHOW - JSHOW - JSHOW - - JGLOBAL_MOST_RECENT_FIRST - +
diff --git a/components/com_privacy/Model/RequestModel.php b/components/com_privacy/Model/RequestModel.php index f181023929c92..f85bb280a48f2 100644 --- a/components/com_privacy/Model/RequestModel.php +++ b/components/com_privacy/Model/RequestModel.php @@ -140,13 +140,13 @@ public function createRequest($data) { $app = Factory::getApplication(); - $linkMode = $app->get('force_ssl', 0) == 2 ? 1 : -1; + $linkMode = $app->get('force_ssl', 0) == 2 ? Route::TLS_FORCE : Route::TLS_IGNORE; $substitutions = [ '[SITENAME]' => $app->get('sitename'), '[URL]' => Uri::root(), - '[TOKENURL]' => Route::link('site', 'index.php?option=com_privacy&view=confirm&confirm_token=' . $token, false, $linkMode), - '[FORMURL]' => Route::link('site', 'index.php?option=com_privacy&view=confirm', false, $linkMode), + '[TOKENURL]' => Route::link('site', 'index.php?option=com_privacy&view=confirm&confirm_token=' . $token, false, $linkMode, true), + '[FORMURL]' => Route::link('site', 'index.php?option=com_privacy&view=confirm', false, $linkMode, true), '[TOKEN]' => $token, '\\n' => "\n", ]; diff --git a/components/com_tags/Model/TagModel.php b/components/com_tags/Model/TagModel.php index 467bf81d8bfb5..432bf235dffdb 100644 --- a/components/com_tags/Model/TagModel.php +++ b/components/com_tags/Model/TagModel.php @@ -188,7 +188,14 @@ protected function populateState($ordering = 'c.core_title', $direction = 'ASC') $this->setState('params', $params); // Load state from the request. - $ids = ArrayHelper::toInteger($app->input->get('id', array(), 'array')); + $ids = $app->input->get('id', array(), 'array'); + + if (count($ids) == 1) + { + $ids = explode(',', $ids[0]); + } + + $ids = ArrayHelper::toInteger($ids); $pkString = implode(',', $ids); diff --git a/components/com_tags/View/Tag/FeedView.php b/components/com_tags/View/Tag/FeedView.php index ee9be79dc685a..71eecbc3bf8db 100644 --- a/components/com_tags/View/Tag/FeedView.php +++ b/components/com_tags/View/Tag/FeedView.php @@ -33,12 +33,11 @@ class FeedView extends BaseHtmlView */ public function display($tpl = null) { - $app = Factory::getApplication(); - $document = Factory::getDocument(); - $ids = $app->input->get('id', array(), 'array'); - $i = 0; - $tagIds = ''; - $filter = new InputFilter; + $app = Factory::getApplication(); + $ids = $app->input->get('id', array(), 'array'); + $i = 0; + $tagIds = ''; + $filter = new InputFilter; foreach ($ids as $id) { @@ -52,17 +51,18 @@ public function display($tpl = null) $i++; } - $document->link = Route::_('index.php?option=com_tags&view=tag&' . $tagIds); + $this->document->link = Route::_('index.php?option=com_tags&view=tag&' . $tagIds); $app->input->set('limit', $app->get('feed_limit')); - $siteEmail = $app->get('mailfrom'); - $fromName = $app->get('fromname'); - $feedEmail = $app->get('feed_email', 'none'); - $document->editor = $fromName; + $siteEmail = $app->get('mailfrom'); + $fromName = $app->get('fromname'); + $feedEmail = $app->get('feed_email', 'none'); + + $this->document->editor = $fromName; if ($feedEmail !== 'none') { - $document->editorEmail = $siteEmail; + $this->document->editorEmail = $siteEmail; } // Get some data from the model @@ -100,7 +100,7 @@ public function display($tpl = null) } // Loads item info into RSS array - $document->addItem($feeditem); + $this->document->addItem($feeditem); } } } diff --git a/components/com_tags/View/Tags/FeedView.php b/components/com_tags/View/Tags/FeedView.php index bdec1576a68c7..6420c6d005c29 100644 --- a/components/com_tags/View/Tags/FeedView.php +++ b/components/com_tags/View/Tags/FeedView.php @@ -32,19 +32,19 @@ class FeedView extends BaseHtmlView */ public function display($tpl = null) { - $app = Factory::getApplication(); - $document = Factory::getDocument(); - $document->link = Route::_('index.php?option=com_tags&view=tags'); + $app = Factory::getApplication(); + $this->document->link = Route::_('index.php?option=com_tags&view=tags'); $app->input->set('limit', $app->get('feed_limit')); - $siteEmail = $app->get('mailfrom'); - $fromName = $app->get('fromname'); - $feedEmail = $app->get('feed_email', 'none'); - $document->editor = $fromName; + $siteEmail = $app->get('mailfrom'); + $fromName = $app->get('fromname'); + $feedEmail = $app->get('feed_email', 'none'); + + $this->document->editor = $fromName; if ($feedEmail !== 'none') { - $document->editorEmail = $siteEmail; + $this->document->editorEmail = $siteEmail; } // Get some data from the model @@ -81,7 +81,7 @@ public function display($tpl = null) } // Loads item info into RSS array - $document->addItem($feeditem); + $this->document->addItem($feeditem); } } } diff --git a/components/com_tags/tmpl/tag/default.xml b/components/com_tags/tmpl/tag/default.xml index 9851b06508d00..0d1c2fb37a869 100644 --- a/components/com_tags/tmpl/tag/default.xml +++ b/components/com_tags/tmpl/tag/default.xml @@ -89,7 +89,6 @@ get('useractivation') == 2) && !$user->getParam('activate', 0)) { - $linkMode = $app->get('force_ssl', 0) == 2 ? 1 : -1; + $linkMode = $app->get('force_ssl', 0) == 2 ? Route::TLS_FORCE : Route::TLS_IGNORE; // Compile the admin notification mail values. $data = $user->getProperties(); $data['activation'] = ApplicationHelper::getHash(UserHelper::genRandomPassword()); $user->set('activation', $data['activation']); $data['siteurl'] = Uri::base(); - $data['activate'] = Route::link('site', + $data['activate'] = Route::link( + 'site', 'index.php?option=com_users&task=registration.activate&token=' . $data['activation'], false, - $linkMode + $linkMode, + true ); $data['fromname'] = $app->get('fromname'); @@ -320,7 +322,7 @@ public function getData() // Here we could have a grouped field, let's check it if (is_array($v)) { - $this->data->$k = new stdClass; + $this->data->$k = new \stdClass; foreach ($v as $key => $val) { @@ -527,12 +529,14 @@ public function register($temp) if ($useractivation == 2) { // Set the link to confirm the user email. - $linkMode = $app->get('force_ssl', 0) == 2 ? 1 : -1; + $linkMode = $app->get('force_ssl', 0) == 2 ? Route::TLS_FORCE : Route::TLS_IGNORE; - $data['activate'] = Route::link('site', + $data['activate'] = Route::link( + 'site', 'index.php?option=com_users&task=registration.activate&token=' . $data['activation'], false, - $linkMode + $linkMode, + true ); $emailSubject = Text::sprintf( @@ -568,12 +572,14 @@ public function register($temp) elseif ($useractivation == 1) { // Set the link to activate the user account. - $linkMode = $app->get('force_ssl', 0) == 2 ? 1 : -1; + $linkMode = $app->get('force_ssl', 0) == 2 ? Route::TLS_FORCE : Route::TLS_IGNORE; - $data['activate'] = Route::link('site', + $data['activate'] = Route::link( + 'site', 'index.php?option=com_users&task=registration.activate&token=' . $data['activation'], false, - $linkMode + $linkMode, + true ); $emailSubject = Text::sprintf( diff --git a/components/com_users/forms/frontend_admin.xml b/components/com_users/forms/frontend_admin.xml index cd9557652387d..a11aa2a91543b 100644 --- a/components/com_users/forms/frontend_admin.xml +++ b/components/com_users/forms/frontend_admin.xml @@ -22,15 +22,6 @@ > - - - - -
diff --git a/components/com_users/forms/registration.xml b/components/com_users/forms/registration.xml index 11d907e56e986..9ee2aaa79f547 100644 --- a/components/com_users/forms/registration.xml +++ b/components/com_users/forms/registration.xml @@ -32,7 +32,7 @@ /> def('height_auto')) { - $wrapper->load = 'onload="iFrameHeight()"'; + $wrapper->load = 'onload="iFrameHeight(this)"'; } else { diff --git a/components/com_wrapper/tmpl/wrapper/default.xml b/components/com_wrapper/tmpl/wrapper/default.xml index 8555508e6f562..cc5592631dfec 100644 --- a/components/com_wrapper/tmpl/wrapper/default.xml +++ b/components/com_wrapper/tmpl/wrapper/default.xml @@ -10,25 +10,23 @@ - +
-
-
- - COM_WRAPPER_FIELD_VALUE_AUTO - - -
- JYES - JYES - JNO -
diff --git a/composer.json b/composer.json index 6b94b475439cd..dc6055090b78e 100644 --- a/composer.json +++ b/composer.json @@ -81,7 +81,8 @@ "doctrine/inflector": "1.2.0", "fig/link-util": "~1.0", "google/recaptcha": "~1.1", - "paragonie/sodium_compat": "~1.6", + "ozdemirburak/iris": "1.2.*", + "paragonie/sodium_compat": "~1.9.1", "phpmailer/phpmailer": "~6.0", "psr/link": "~1.0", "symfony/console": "4.3.*", @@ -108,7 +109,7 @@ "squizlabs/php_codesniffer": "~3.0", "joomla-projects/joomla-browser": "~4.0@dev", "joomla-projects/robo-joomla": "dev-develop", - "joomla-projects/selenium-server-standalone": "~v3", + "joomla-projects/selenium-server-standalone": "3.14.0", "codeception/codeception": "~3.0", "consolidation/robo": "^1.0.0", "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0" diff --git a/composer.lock b/composer.lock index c3afd1663fccc..7a0f5e2e2ab2f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "623c3bf75f3c0db7a46d3b745bfab5a1", + "content-hash": "c2d9521396bad250579701210f92c251", "packages": [ { "name": "algo26-matthias/idna-convert", @@ -60,25 +60,25 @@ }, { "name": "composer/ca-bundle", - "version": "1.1.4", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d" + "reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d", - "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/10bb96592168a0f8e8f6dcde3532d9fa50b0b527", + "reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527", "shasum": "" }, "require": { "ext-openssl": "*", "ext-pcre": "*", - "php": "^5.3.2 || ^7.0" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", "psr/log": "^1.0", "symfony/process": "^2.5 || ^3.0 || ^4.0" }, @@ -112,7 +112,7 @@ "ssl", "tls" ], - "time": "2019-01-28T09:30:10+00:00" + "time": "2019-08-30T08:44:50+00:00" }, { "name": "defuse/php-encryption", @@ -300,16 +300,16 @@ }, { "name": "google/recaptcha", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/google/recaptcha.git", - "reference": "c4a17d6af648d4f3814430cd103cba50b75b571c" + "reference": "98c4a6573b27e8b0990ea8789c74ea378795134c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/google/recaptcha/zipball/c4a17d6af648d4f3814430cd103cba50b75b571c", - "reference": "c4a17d6af648d4f3814430cd103cba50b75b571c", + "url": "https://api.github.com/repos/google/recaptcha/zipball/98c4a6573b27e8b0990ea8789c74ea378795134c", + "reference": "98c4a6573b27e8b0990ea8789c74ea378795134c", "shasum": "" }, "require": { @@ -343,7 +343,7 @@ "recaptcha", "spam" ], - "time": "2019-05-24T12:44:03+00:00" + "time": "2019-08-16T15:48:25+00:00" }, { "name": "jakeasmith/http_build_url", @@ -552,12 +552,12 @@ "source": { "type": "git", "url": "https://github.com/joomla-framework/console.git", - "reference": "58b6a5545c87cb1eaf82bd9fd703e8c332ca89e3" + "reference": "7032ec021d1bec2c37e1067b148590a4a7d3ec83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/console/zipball/58b6a5545c87cb1eaf82bd9fd703e8c332ca89e3", - "reference": "58b6a5545c87cb1eaf82bd9fd703e8c332ca89e3", + "url": "https://api.github.com/repos/joomla-framework/console/zipball/7032ec021d1bec2c37e1067b148590a4a7d3ec83", + "reference": "7032ec021d1bec2c37e1067b148590a4a7d3ec83", "shasum": "" }, "require": { @@ -597,7 +597,7 @@ "framework", "joomla" ], - "time": "2019-07-18T00:30:45+00:00" + "time": "2019-08-02T02:00:10+00:00" }, { "name": "joomla/controller", @@ -758,12 +758,12 @@ "source": { "type": "git", "url": "https://github.com/joomla-framework/database.git", - "reference": "60a7df9e4df83c2269fbc229a396cb6a324e417f" + "reference": "493ee1d08f28ff1f6a39369ce1099a504c0f5900" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/database/zipball/60a7df9e4df83c2269fbc229a396cb6a324e417f", - "reference": "60a7df9e4df83c2269fbc229a396cb6a324e417f", + "url": "https://api.github.com/repos/joomla-framework/database/zipball/493ee1d08f28ff1f6a39369ce1099a504c0f5900", + "reference": "493ee1d08f28ff1f6a39369ce1099a504c0f5900", "shasum": "" }, "require": { @@ -815,7 +815,7 @@ "framework", "joomla" ], - "time": "2019-07-22T20:04:16+00:00" + "time": "2019-08-21T16:21:26+00:00" }, { "name": "joomla/di", @@ -1323,12 +1323,12 @@ "source": { "type": "git", "url": "https://github.com/joomla-framework/registry.git", - "reference": "e3bf30e95849d29f9c446e350916b27bbe69c0ad" + "reference": "dd6397bc1f7bc6e619924fdb348b07862ab4c71e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/registry/zipball/e3bf30e95849d29f9c446e350916b27bbe69c0ad", - "reference": "e3bf30e95849d29f9c446e350916b27bbe69c0ad", + "url": "https://api.github.com/repos/joomla-framework/registry/zipball/dd6397bc1f7bc6e619924fdb348b07862ab4c71e", + "reference": "dd6397bc1f7bc6e619924fdb348b07862ab4c71e", "shasum": "" }, "require": { @@ -1365,7 +1365,7 @@ "joomla", "registry" ], - "time": "2019-07-14T17:12:29+00:00" + "time": "2019-08-02T02:00:59+00:00" }, { "name": "joomla/router", @@ -1485,12 +1485,12 @@ "source": { "type": "git", "url": "https://github.com/joomla-framework/string.git", - "reference": "2e09dfffc2a3769efb34c28f19a56fdc8ff00014" + "reference": "d36c15c4994180bd241498241a307836562c98eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/string/zipball/2e09dfffc2a3769efb34c28f19a56fdc8ff00014", - "reference": "2e09dfffc2a3769efb34c28f19a56fdc8ff00014", + "url": "https://api.github.com/repos/joomla-framework/string/zipball/d36c15c4994180bd241498241a307836562c98eb", + "reference": "d36c15c4994180bd241498241a307836562c98eb", "shasum": "" }, "require": { @@ -1545,7 +1545,7 @@ "joomla", "string" ], - "time": "2019-06-18T02:38:42+00:00" + "time": "2019-08-04T21:41:16+00:00" }, { "name": "joomla/uri", @@ -1699,6 +1699,65 @@ ], "time": "2017-12-15T11:13:46+00:00" }, + { + "name": "ozdemirburak/iris", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/ozdemirburak/iris.git", + "reference": "a100a217eb7fa7975069f02a0f9e1625610f2f00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ozdemirburak/iris/zipball/a100a217eb7fa7975069f02a0f9e1625610f2f00", + "reference": "a100a217eb7fa7975069f02a0f9e1625610f2f00", + "shasum": "" + }, + "require": { + "php": "~5.6|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "~5.0|~6.0", + "squizlabs/php_codesniffer": "~2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "OzdemirBurak\\Iris\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Burak Özdemir", + "email": "mail@burakozdemir.co.uk", + "homepage": "https://burakozdemir.co.uk" + } + ], + "description": "PHP library for color manipulation and conversion.", + "homepage": "https://github.com/ozdemirburak/iris", + "keywords": [ + "color", + "conversion", + "hex", + "hsl", + "hsla", + "hsv", + "manipulation", + "rgb", + "rgba", + "transformation" + ], + "time": "2018-10-07T23:02:25+00:00" + }, { "name": "paragonie/random_compat", "version": "v9.99.99", @@ -1746,16 +1805,16 @@ }, { "name": "paragonie/sodium_compat", - "version": "v1.10.1", + "version": "v1.9.4", "source": { "type": "git", "url": "https://github.com/paragonie/sodium_compat.git", - "reference": "5115fa44886d1c2785d2f135ef4626db868eac4b" + "reference": "91c1362bb0084c02828d43bbc9ee38831297329e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/5115fa44886d1c2785d2f135ef4626db868eac4b", - "reference": "5115fa44886d1c2785d2f135ef4626db868eac4b", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/91c1362bb0084c02828d43bbc9ee38831297329e", + "reference": "91c1362bb0084c02828d43bbc9ee38831297329e", "shasum": "" }, "require": { @@ -1824,7 +1883,7 @@ "secret-key cryptography", "side-channel resistant" ], - "time": "2019-07-12T16:36:59+00:00" + "time": "2019-05-09T23:30:36+00:00" }, { "name": "phpmailer/phpmailer", @@ -2190,16 +2249,16 @@ }, { "name": "symfony/console", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "8b0ae5742ce9aaa8b0075665862c1ca397d1c1d9" + "reference": "de63799239b3881b8a08f8481b22348f77ed7b36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8b0ae5742ce9aaa8b0075665862c1ca397d1c1d9", - "reference": "8b0ae5742ce9aaa8b0075665862c1ca397d1c1d9", + "url": "https://api.github.com/repos/symfony/console/zipball/de63799239b3881b8a08f8481b22348f77ed7b36", + "reference": "de63799239b3881b8a08f8481b22348f77ed7b36", "shasum": "" }, "require": { @@ -2261,20 +2320,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-07-24T17:13:59+00:00" + "time": "2019-08-26T08:26:39+00:00" }, { "name": "symfony/debug", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "527887c3858a2462b0137662c74837288b998ee3" + "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/527887c3858a2462b0137662c74837288b998ee3", - "reference": "527887c3858a2462b0137662c74837288b998ee3", + "url": "https://api.github.com/repos/symfony/debug/zipball/afcdea44a2e399c1e4b52246ec8d54c715393ced", + "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced", "shasum": "" }, "require": { @@ -2317,20 +2376,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-07-23T11:21:36+00:00" + "time": "2019-08-20T14:27:59+00:00" }, { "name": "symfony/ldap", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/ldap.git", - "reference": "c76fcad346a5102b8ace06ff2d6830debd490933" + "reference": "ba0a1f675ab863cd321f1cf4d501f9b0657d190f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ldap/zipball/c76fcad346a5102b8ace06ff2d6830debd490933", - "reference": "c76fcad346a5102b8ace06ff2d6830debd490933", + "url": "https://api.github.com/repos/symfony/ldap/zipball/ba0a1f675ab863cd321f1cf4d501f9b0657d190f", + "reference": "ba0a1f675ab863cd321f1cf4d501f9b0657d190f", "shasum": "" }, "require": { @@ -2375,20 +2434,20 @@ "active directory", "ldap" ], - "time": "2019-05-30T16:10:05+00:00" + "time": "2019-08-14T12:26:46+00:00" }, { "name": "symfony/options-resolver", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "40762ead607c8f792ee4516881369ffa553fee6f" + "reference": "81c2e120522a42f623233968244baebd6b36cb6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/40762ead607c8f792ee4516881369ffa553fee6f", - "reference": "40762ead607c8f792ee4516881369ffa553fee6f", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/81c2e120522a42f623233968244baebd6b36cb6a", + "reference": "81c2e120522a42f623233968244baebd6b36cb6a", "shasum": "" }, "require": { @@ -2429,20 +2488,20 @@ "configuration", "options" ], - "time": "2019-06-13T11:01:17+00:00" + "time": "2019-08-08T09:29:19+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.11.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "82ebae02209c21113908c229e9883c419720738a" + "reference": "550ebaac289296ce228a706d0867afc34687e3f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", - "reference": "82ebae02209c21113908c229e9883c419720738a", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", + "reference": "550ebaac289296ce228a706d0867afc34687e3f4", "shasum": "" }, "require": { @@ -2454,7 +2513,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -2471,12 +2530,12 @@ ], "authors": [ { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { - "name": "Gert de Pagter", - "email": "backendtea@gmail.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for ctype functions", @@ -2487,20 +2546,20 @@ "polyfill", "portable" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.11.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", - "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", "shasum": "" }, "require": { @@ -2512,7 +2571,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -2546,20 +2605,20 @@ "portable", "shim" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.11.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c" + "reference": "04ce3335667451138df4307d6a9b61565560199e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/ab50dcf166d5f577978419edd37aa2bb8eabce0c", - "reference": "ab50dcf166d5f577978419edd37aa2bb8eabce0c", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e", + "reference": "04ce3335667451138df4307d6a9b61565560199e", "shasum": "" }, "require": { @@ -2568,7 +2627,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -2601,20 +2660,20 @@ "portable", "shim" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.11.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "d1fb4abcc0c47be136208ad9d68bf59f1ee17abd" + "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/d1fb4abcc0c47be136208ad9d68bf59f1ee17abd", - "reference": "d1fb4abcc0c47be136208ad9d68bf59f1ee17abd", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/2ceb49eaccb9352bff54d22570276bb75ba4a188", + "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188", "shasum": "" }, "require": { @@ -2623,7 +2682,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -2659,20 +2718,20 @@ "portable", "shim" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/service-contracts", - "version": "v1.1.5", + "version": "v1.1.6", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d" + "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d", - "reference": "f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ea7263d6b6d5f798b56a45a5b8d686725f2719a3", + "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3", "shasum": "" }, "require": { @@ -2717,20 +2776,20 @@ "interoperability", "standards" ], - "time": "2019-06-13T11:15:36+00:00" + "time": "2019-08-20T14:44:19+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "e4110b992d2cbe198d7d3b244d079c1c58761d07" + "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e4110b992d2cbe198d7d3b244d079c1c58761d07", - "reference": "e4110b992d2cbe198d7d3b244d079c1c58761d07", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/641043e0f3e615990a0f29479f9c117e8a6698c6", + "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6", "shasum": "" }, "require": { @@ -2793,20 +2852,20 @@ "debug", "dump" ], - "time": "2019-07-27T06:42:46+00:00" + "time": "2019-08-26T08:26:39+00:00" }, { "name": "symfony/web-link", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/web-link.git", - "reference": "af0e386322f192ed50bd9c812daedce05368733c" + "reference": "4bd0ce7c54d604300deee8eb1b1beda856fbba20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-link/zipball/af0e386322f192ed50bd9c812daedce05368733c", - "reference": "af0e386322f192ed50bd9c812daedce05368733c", + "url": "https://api.github.com/repos/symfony/web-link/zipball/4bd0ce7c54d604300deee8eb1b1beda856fbba20", + "reference": "4bd0ce7c54d604300deee8eb1b1beda856fbba20", "shasum": "" }, "require": { @@ -2866,20 +2925,20 @@ "psr13", "push" ], - "time": "2019-03-14T07:32:46+00:00" + "time": "2019-08-08T09:29:19+00:00" }, { "name": "symfony/yaml", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "34d29c2acd1ad65688f58452fd48a46bd996d5a6" + "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/34d29c2acd1ad65688f58452fd48a46bd996d5a6", - "reference": "34d29c2acd1ad65688f58452fd48a46bd996d5a6", + "url": "https://api.github.com/repos/symfony/yaml/zipball/5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", + "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", "shasum": "" }, "require": { @@ -2925,7 +2984,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-07-24T14:47:54+00:00" + "time": "2019-08-20T14:27:59+00:00" }, { "name": "tobscure/json-api", @@ -3252,22 +3311,22 @@ }, { "name": "codeception/codeception", - "version": "3.0.3", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/Codeception/Codeception.git", - "reference": "feb566a9dc26993611602011ae3834d8e3c1dd7f" + "reference": "9ed9146567770e564fdd2b656edb385330f7fae7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/feb566a9dc26993611602011ae3834d8e3c1dd7f", - "reference": "feb566a9dc26993611602011ae3834d8e3c1dd7f", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/9ed9146567770e564fdd2b656edb385330f7fae7", + "reference": "9ed9146567770e564fdd2b656edb385330f7fae7", "shasum": "" }, "require": { "behat/gherkin": "^4.4.0", "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3", - "codeception/stub": "^2.0", + "codeception/stub": "^2.0 | ^3.0", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", @@ -3287,6 +3346,7 @@ "require-dev": { "codeception/specify": "~0.3", "doctrine/annotations": "^1", + "doctrine/data-fixtures": "^1", "doctrine/orm": "^2", "flow/jsonpath": "~0.2", "monolog/monolog": "~1.8", @@ -3342,7 +3402,7 @@ "functional testing", "unit testing" ], - "time": "2019-07-18T16:21:08+00:00" + "time": "2019-08-18T16:44:20+00:00" }, { "name": "codeception/phpunit-wrapper", @@ -3390,20 +3450,21 @@ }, { "name": "codeception/stub", - "version": "2.1.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/Codeception/Stub.git", - "reference": "853657f988942f7afb69becf3fd0059f192c705a" + "reference": "eea518711d736eab838c1274593c4568ec06b23d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Stub/zipball/853657f988942f7afb69becf3fd0059f192c705a", - "reference": "853657f988942f7afb69becf3fd0059f192c705a", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/eea518711d736eab838c1274593c4568ec06b23d", + "reference": "eea518711d736eab838c1274593c4568ec06b23d", "shasum": "" }, "require": { - "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3" + "codeception/phpunit-wrapper": "^6.6.1 | ^7.7.1 | ^8.0.3", + "phpunit/phpunit": ">=6.5 <9.0" }, "type": "library", "autoload": { @@ -3416,7 +3477,7 @@ "MIT" ], "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", - "time": "2019-03-02T15:35:10+00:00" + "time": "2019-08-10T16:20:53+00:00" }, { "name": "composer/semver", @@ -4121,9 +4182,9 @@ "authors": [ { "name": "Franck Nijhof", + "role": "Developer / IT Manager", "email": "franck.nijhof@dealerdirect.com", - "homepage": "http://www.frenck.nl", - "role": "Developer / IT Manager" + "homepage": "http://www.frenck.nl" } ], "description": "PHP_CodeSniffer Standards Composer Installer Plugin", @@ -4208,16 +4269,16 @@ }, { "name": "doctrine/annotations", - "version": "v1.6.1", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "53120e0eb10355388d6ccbe462f1fea34ddadb24" + "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/53120e0eb10355388d6ccbe462f1fea34ddadb24", - "reference": "53120e0eb10355388d6ccbe462f1fea34ddadb24", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/fa4c4e861e809d6a1103bd620cce63ed91aedfeb", + "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb", "shasum": "" }, "require": { @@ -4226,12 +4287,12 @@ }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^6.4" + "phpunit/phpunit": "^7.5@dev" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6.x-dev" + "dev-master": "1.7.x-dev" } }, "autoload": { @@ -4244,6 +4305,10 @@ "MIT" ], "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -4252,10 +4317,6 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" @@ -4272,7 +4333,7 @@ "docblock", "parser" ], - "time": "2019-03-25T19:12:02+00:00" + "time": "2019-08-08T18:11:40+00:00" }, { "name": "doctrine/instantiator", @@ -4332,28 +4393,30 @@ }, { "name": "doctrine/lexer", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8" + "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/1febd6c3ef84253d7c815bed85fc622ad207a9f8", - "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e17f069ede36f7534b95adec71910ed1b49c74ea", + "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "^7.2" }, "require-dev": { - "phpunit/phpunit": "^4.5" + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -4366,14 +4429,14 @@ "MIT" ], "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" @@ -4388,7 +4451,7 @@ "parser", "php" ], - "time": "2019-06-08T11:03:04+00:00" + "time": "2019-07-30T19:33:28+00:00" }, { "name": "facebook/webdriver", @@ -4452,16 +4515,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v2.15.1", + "version": "v2.15.3", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "20064511ab796593a3990669eff5f5b535001f7c" + "reference": "705490b0f282f21017d73561e9498d2b622ee34c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/20064511ab796593a3990669eff5f5b535001f7c", - "reference": "20064511ab796593a3990669eff5f5b535001f7c", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/705490b0f282f21017d73561e9498d2b622ee34c", + "reference": "705490b0f282f21017d73561e9498d2b622ee34c", "shasum": "" }, "require": { @@ -4491,9 +4554,10 @@ "php-cs-fixer/accessible-object": "^1.0", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.1", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.1", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.1", "phpunitgoodpractices/traits": "^1.8", - "symfony/phpunit-bridge": "^4.3" + "symfony/phpunit-bridge": "^4.3", + "symfony/yaml": "^3.0 || ^4.0" }, "suggest": { "ext-mbstring": "For handling non-UTF8 characters in cache signature.", @@ -4526,17 +4590,17 @@ "MIT" ], "authors": [ - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" } ], "description": "A tool to automatically fix PHP code style", - "time": "2019-06-01T10:32:12+00:00" + "time": "2019-08-31T12:51:54+00:00" }, { "name": "grasmash/expander", @@ -5375,12 +5439,12 @@ "source": { "type": "git", "url": "https://github.com/joomla-projects/joomla-browser.git", - "reference": "c3098ca8c942a85a27ec044679a4bf4b19adf839" + "reference": "f67322272fdfbd3f649993dd43d50c3c22cfa4bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-projects/joomla-browser/zipball/c3098ca8c942a85a27ec044679a4bf4b19adf839", - "reference": "c3098ca8c942a85a27ec044679a4bf4b19adf839", + "url": "https://api.github.com/repos/joomla-projects/joomla-browser/zipball/f67322272fdfbd3f649993dd43d50c3c22cfa4bc", + "reference": "f67322272fdfbd3f649993dd43d50c3c22cfa4bc", "shasum": "" }, "require": { @@ -5418,7 +5482,7 @@ "acceptance testing", "joomla" ], - "time": "2019-08-04T11:01:36+00:00" + "time": "2019-09-23T07:32:20+00:00" }, { "name": "joomla-projects/robo-joomla", @@ -5494,7 +5558,7 @@ "email": "puneet.kala@community.joomla.org" }, { - "name": "Javier Gómez", + "name": "Javier Gomez", "email": "javier.gomez@community.joomla.org" } ], @@ -5724,16 +5788,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.9.1", + "version": "1.9.3", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" + "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", - "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", + "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", "shasum": "" }, "require": { @@ -5768,7 +5832,7 @@ "object", "object graph" ], - "time": "2019-04-07T13:18:21+00:00" + "time": "2019-08-09T12:45:53+00:00" }, { "name": "phar-io/manifest", @@ -5808,18 +5872,18 @@ "authors": [ { "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" + "role": "Developer", + "email": "arne@blankerts.de" }, { "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" + "role": "Developer", + "email": "sebastian@phpeople.de" }, { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" + "role": "Developer", + "email": "sebastian@phpunit.de" } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", @@ -6188,8 +6252,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "role": "lead", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", @@ -6239,8 +6303,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "role": "lead", + "email": "sebastian@phpunit.de" } ], "description": "FilterIterator implementation that filters files based on a list of suffixes.", @@ -6281,8 +6345,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "role": "lead", + "email": "sebastian@phpunit.de" } ], "description": "Simple template engine.", @@ -6330,8 +6394,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "role": "lead", + "email": "sebastian@phpunit.de" } ], "description": "Utility class for timing", @@ -6392,16 +6456,16 @@ }, { "name": "phpunit/phpunit", - "version": "8.2.5", + "version": "8.3.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c1b8534b3730f20f58600124129197bf1183dc92" + "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c1b8534b3730f20f58600124129197bf1183dc92", - "reference": "c1b8534b3730f20f58600124129197bf1183dc92", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e31cce0cf4499c0ccdbbb211a3280d36ab341e36", + "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36", "shasum": "" }, "require": { @@ -6417,7 +6481,7 @@ "phar-io/version": "^2.0.1", "php": "^7.2", "phpspec/prophecy": "^1.8.1", - "phpunit/php-code-coverage": "^7.0.5", + "phpunit/php-code-coverage": "^7.0.7", "phpunit/php-file-iterator": "^2.0.2", "phpunit/php-text-template": "^1.2.1", "phpunit/php-timer": "^2.1.2", @@ -6445,7 +6509,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.2-dev" + "dev-master": "8.3-dev" } }, "autoload": { @@ -6460,8 +6524,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "role": "lead", + "email": "sebastian@phpunit.de" } ], "description": "The PHP Unit Testing framework.", @@ -6471,7 +6535,7 @@ "testing", "xunit" ], - "time": "2019-07-15T06:26:24+00:00" + "time": "2019-08-11T06:56:55+00:00" }, { "name": "ralouphie/getallheaders", @@ -6733,16 +6797,16 @@ }, { "name": "sebastian/exporter", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" + "reference": "06a9a5947f47b3029d76118eb5c22802e5869687" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/06a9a5947f47b3029d76118eb5c22802e5869687", + "reference": "06a9a5947f47b3029d76118eb5c22802e5869687", "shasum": "" }, "require": { @@ -6769,6 +6833,10 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" @@ -6777,17 +6845,13 @@ "name": "Volker Dusch", "email": "github@wallbash.com" }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, { "name": "Adam Harvey", "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], "description": "Provides the functionality to export PHP variables for visualization", @@ -6796,7 +6860,7 @@ "export", "exporter" ], - "time": "2017-04-03T13:19:02+00:00" + "time": "2019-08-11T12:43:14+00:00" }, { "name": "sebastian/global-state", @@ -7077,8 +7141,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "role": "lead", + "email": "sebastian@phpunit.de" } ], "description": "Collection of value objects that represent the types of the PHP type system", @@ -7120,8 +7184,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "role": "lead", + "email": "sebastian@phpunit.de" } ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", @@ -7181,16 +7245,16 @@ }, { "name": "symfony/browser-kit", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "a29dd02a1f3f81b9a15c7730cc3226718ddb55ca" + "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a29dd02a1f3f81b9a15c7730cc3226718ddb55ca", - "reference": "a29dd02a1f3f81b9a15c7730cc3226718ddb55ca", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9e5dddb637b13db82e35695a8603fe6e118cc119", + "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119", "shasum": "" }, "require": { @@ -7236,20 +7300,20 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2019-06-11T15:41:59+00:00" + "time": "2019-08-26T08:26:39+00:00" }, { "name": "symfony/css-selector", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "105c98bb0c5d8635bea056135304bd8edcc42b4d" + "reference": "c6e5e2a00db768c92c3ae131532af4e1acc7bd03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/105c98bb0c5d8635bea056135304bd8edcc42b4d", - "reference": "105c98bb0c5d8635bea056135304bd8edcc42b4d", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/c6e5e2a00db768c92c3ae131532af4e1acc7bd03", + "reference": "c6e5e2a00db768c92c3ae131532af4e1acc7bd03", "shasum": "" }, "require": { @@ -7289,20 +7353,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2019-01-16T21:53:39+00:00" + "time": "2019-08-20T14:07:54+00:00" }, { "name": "symfony/dom-crawler", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "291397232a2eefb3347eaab9170409981eaad0e2" + "reference": "cc686552948d627528c0e2e759186dff67c2610e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/291397232a2eefb3347eaab9170409981eaad0e2", - "reference": "291397232a2eefb3347eaab9170409981eaad0e2", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/cc686552948d627528c0e2e759186dff67c2610e", + "reference": "cc686552948d627528c0e2e759186dff67c2610e", "shasum": "" }, "require": { @@ -7350,20 +7414,20 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2019-06-13T11:03:18+00:00" + "time": "2019-08-26T08:26:39+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "212b020949331b6531250584531363844b34a94e" + "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/212b020949331b6531250584531363844b34a94e", - "reference": "212b020949331b6531250584531363844b34a94e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/429d0a1451d4c9c4abe1959b2986b88794b9b7d2", + "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2", "shasum": "" }, "require": { @@ -7420,7 +7484,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-06-27T06:42:14+00:00" + "time": "2019-08-26T08:55:16+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -7482,16 +7546,16 @@ }, { "name": "symfony/filesystem", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b9896d034463ad6fd2bf17e2bf9418caecd6313d" + "reference": "9abbb7ef96a51f4d7e69627bc6f63307994e4263" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b9896d034463ad6fd2bf17e2bf9418caecd6313d", - "reference": "b9896d034463ad6fd2bf17e2bf9418caecd6313d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/9abbb7ef96a51f4d7e69627bc6f63307994e4263", + "reference": "9abbb7ef96a51f4d7e69627bc6f63307994e4263", "shasum": "" }, "require": { @@ -7528,20 +7592,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2019-06-23T08:51:25+00:00" + "time": "2019-08-20T14:07:54+00:00" }, { "name": "symfony/finder", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9638d41e3729459860bb96f6247ccb61faaa45f2" + "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9638d41e3729459860bb96f6247ccb61faaa45f2", - "reference": "9638d41e3729459860bb96f6247ccb61faaa45f2", + "url": "https://api.github.com/repos/symfony/finder/zipball/86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2", "shasum": "" }, "require": { @@ -7577,20 +7641,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-06-28T13:16:30+00:00" + "time": "2019-08-14T12:26:46+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.11.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "bc4858fb611bda58719124ca079baff854149c89" + "reference": "54b4c428a0054e254223797d2713c31e08610831" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/bc4858fb611bda58719124ca079baff854149c89", - "reference": "bc4858fb611bda58719124ca079baff854149c89", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/54b4c428a0054e254223797d2713c31e08610831", + "reference": "54b4c428a0054e254223797d2713c31e08610831", "shasum": "" }, "require": { @@ -7600,7 +7664,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -7636,20 +7700,20 @@ "portable", "shim" ], - "time": "2019-02-06T07:57:58+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/process", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "856d35814cf287480465bb7a6c413bb7f5f5e69c" + "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/856d35814cf287480465bb7a6c413bb7f5f5e69c", - "reference": "856d35814cf287480465bb7a6c413bb7f5f5e69c", + "url": "https://api.github.com/repos/symfony/process/zipball/e89969c00d762349f078db1128506f7f3dcc0d4a", + "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a", "shasum": "" }, "require": { @@ -7685,20 +7749,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-05-30T16:10:05+00:00" + "time": "2019-08-26T08:26:39+00:00" }, { "name": "symfony/stopwatch", - "version": "v4.3.3", + "version": "v4.3.4", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "6b100e9309e8979cf1978ac1778eb155c1f7d93b" + "reference": "1e4ff456bd625be5032fac9be4294e60442e9b71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/6b100e9309e8979cf1978ac1778eb155c1f7d93b", - "reference": "6b100e9309e8979cf1978ac1778eb155c1f7d93b", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/1e4ff456bd625be5032fac9be4294e60442e9b71", + "reference": "1e4ff456bd625be5032fac9be4294e60442e9b71", "shasum": "" }, "require": { @@ -7735,7 +7799,7 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2019-05-27T08:16:38+00:00" + "time": "2019-08-07T11:52:19+00:00" }, { "name": "theseer/tokenizer", @@ -7770,8 +7834,8 @@ "authors": [ { "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" + "role": "Developer", + "email": "arne@blankerts.de" } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", @@ -7779,16 +7843,16 @@ }, { "name": "webmozart/assert", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", + "url": "https://api.github.com/repos/webmozart/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", "shasum": "" }, "require": { @@ -7796,8 +7860,7 @@ "symfony/polyfill-ctype": "^1.8" }, "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" + "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, "type": "library", "extra": { @@ -7826,7 +7889,7 @@ "check", "validate" ], - "time": "2018-12-25T11:19:39+00:00" + "time": "2019-08-24T08:43:50+00:00" } ], "aliases": [], diff --git a/drone-package.json b/drone-package.json index bb634197d0050..05cf1399e7129 100644 --- a/drone-package.json +++ b/drone-package.json @@ -16,5 +16,5 @@ "@webcomponents/webcomponentsjs": "2.0.3", "joomla-javascript-tests": "joomla/test-javascript#4.0-dev" }, - "license": "GPL-2.0+" + "license": "GPL-2.0-or-later" } diff --git a/installation/forms/setup.xml b/installation/forms/setup.xml index a7bd9e79d310c..61b3255e0031f 100644 --- a/installation/forms/setup.xml +++ b/installation/forms/setup.xml @@ -6,7 +6,7 @@ type="installation.language" label="INSTL_SELECT_LANGUAGE_TITLE" id="language" - class="custom-select required ml-2" + class="custom-select-sm required" default="en-GB" /> Please correct the marked fields and try again" -JLIB_FORM_FIELD_REQUIRED_VALUE="Field value cannot be empty" +JLIB_FORM_FIELD_REQUIRED_VALUE="Please fill in this field" JLIB_FORM_FIELD_REQUIRED_CHECK="One of the options must be selected" JLIB_FORM_FIELD_INVALID_VALUE="This value is not valid" diff --git a/installation/language/en-GB/en-GB.xml b/installation/language/en-GB/en-GB.xml index b8eb3ca5cdbd7..786e83f999645 100644 --- a/installation/language/en-GB/en-GB.xml +++ b/installation/language/en-GB/en-GB.xml @@ -4,7 +4,7 @@ client="installation"> English (United Kingdom) 4.0.0 - June 2019 + August 2019 Joomla! Project Copyright (C) 2005 - 2019 Open Source Matters. All rights reserved. GNU General Public License version 2 or later; see LICENSE.txt diff --git a/installation/language/en-US/en-US.ini b/installation/language/en-US/en-US.ini index 05783d9a7f407..52e1f44ad795d 100644 --- a/installation/language/en-US/en-US.ini +++ b/installation/language/en-US/en-US.ini @@ -80,7 +80,6 @@ INSTL_ADMIN_PASSWORD_DESC="Set the password for your Super User account." INSTL_ADMIN_USERNAME_DESC="Set the username for your Super User account." INSTL_ADMIN_USER_DESC="Enter the real name of your Super User." INSTL_SETUP_SITE_NAME="Setup Site Name" -INSTL_SITE_DEVMODE_DESC="Check if you wish to delete the installation folder on completion." INSTL_SITE_DEVMODE_LABEL="We detected development mode" INSTL_SITE_NAME_DESC="Enter the name of your Joomla site." @@ -110,6 +109,7 @@ INSTL_COMPLETE_ADMIN_BTN="Complete & Open Admin" INSTL_COMPLETE_FINAL="Installation is Complete" INSTL_COMPLETE_FINAL_DESC="Your Joomla installation is now complete and ready to use." INSTL_COMPLETE_ADD_PRECONFIG="Customize Installation" +INSTL_REMOVE_INST_FOLDER="Are you sure you want to delete? Confirming will permanently delete the installation folder." ;Languages view INSTL_LANGUAGES="Install Additional Languages" @@ -118,7 +118,7 @@ INSTL_LANGUAGES_COLUMN_HEADER_LANGUAGE_TAG="Language Tag" INSTL_LANGUAGES_COLUMN_HEADER_VERSION="Version" INSTL_LANGUAGES_DESC="The Joomla interface is available in several languages. Choose your preferred languages by choosing the checkboxes and then install them by selecting the Next button.
Note: This operation will take about 10 seconds to download and install each language. To avoid timeouts please select no more than 3 languages to install." INSTL_LANGUAGES_MESSAGE_PLEASE_WAIT="This operation will take up to 10 seconds per language to complete
Please wait while we download and install the languages ..." -INSTL_LANGUAGES_NO_LANGUAGE_SELECTED="No languages have been selected to be installed. If you need to install more languages, press the 'Previous' button and choose the desired languages from the list." +INSTL_LANGUAGES_NO_LANGUAGE_SELECTED="No languages have been selected to be installed." INSTL_LANGUAGES_WARNING_NO_INTERNET="Joomla was unable to connect to the languages server. Please finish the installation process." INSTL_LANGUAGES_WARNING_NO_INTERNET2="Note: You will be able to install languages later using the Joomla Administrator" INSTL_LANGUAGES_WARNING_BACK_BUTTON="Return to last installation step" @@ -293,6 +293,6 @@ JFIELD_PASSWORD_NOTE_DESC="%1 symbol(s), %2 uppercase letter(s), %3 lowercase le ; Javascript Form Validation Messages JLIB_FORM_CONTAINS_INVALID_FIELDS="The form cannot be submitted as it's missing required data.
Please correct the marked fields and try again" -JLIB_FORM_FIELD_REQUIRED_VALUE="Field value cannot be empty" +JLIB_FORM_FIELD_REQUIRED_VALUE="Please fill in this field" JLIB_FORM_FIELD_REQUIRED_CHECK="One of the options must be selected" JLIB_FORM_FIELD_INVALID_VALUE="This value is not valid" diff --git a/installation/localise.xml b/installation/localise.xml index 8f4fb69c991dd..8e78644b8031e 100644 --- a/installation/localise.xml +++ b/installation/localise.xml @@ -1,7 +1,6 @@ - 0 diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index 76c6a2d8af00e..3fc0212e5c53a 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -31,7 +31,7 @@ CREATE TABLE IF NOT EXISTS `#__assets` ( -- INSERT INTO `#__assets` (`id`, `parent_id`, `lft`, `rgt`, `level`, `name`, `title`, `rules`) VALUES -(1, 0, 0, 131, 0, 'root.1', 'Root Asset', '{"core.login.site":{"6":1,"2":1},"core.login.admin":{"6":1},"core.login.api":{"6":1},"core.login.offline":{"6":1},"core.admin":{"8":1},"core.manage":{"7":1},"core.create":{"6":1,"3":1},"core.delete":{"6":1},"core.edit":{"6":1,"4":1},"core.edit.state":{"6":1,"5":1},"core.edit.own":{"6":1,"3":1}}'), +(1, 0, 0, 155, 0, 'root.1', 'Root Asset', '{"core.login.site":{"6":1,"2":1},"core.login.admin":{"6":1},"core.login.api":{"6":1},"core.login.offline":{"6":1},"core.admin":{"8":1},"core.manage":{"7":1},"core.create":{"6":1,"3":1},"core.delete":{"6":1},"core.edit":{"6":1,"4":1},"core.edit.state":{"6":1,"5":1},"core.edit.own":{"6":1,"3":1}}'), (2, 1, 1, 2, 1, 'com_admin', 'com_admin', '{}'), (3, 1, 3, 6, 1, 'com_banners', 'com_banners', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), (4, 1, 7, 8, 1, 'com_cache', 'com_cache', '{"core.admin":{"7":1},"core.manage":{"7":1}}'), @@ -48,30 +48,30 @@ INSERT INTO `#__assets` (`id`, `parent_id`, `lft`, `rgt`, `level`, `name`, `titl (15, 1, 51, 52, 1, 'com_media', 'com_media', '{"core.admin":{"7":1},"core.manage":{"6":1},"core.create":{"3":1},"core.delete":{"5":1}}'), (16, 1, 53, 56, 1, 'com_menus', 'com_menus', '{"core.admin":{"7":1}}'), (17, 1, 57, 58, 1, 'com_messages', 'com_messages', '{"core.admin":{"7":1},"core.manage":{"7":1}}'), -(18, 1, 59, 94, 1, 'com_modules', 'com_modules', '{"core.admin":{"7":1}}'), -(19, 1, 95, 98, 1, 'com_newsfeeds', 'com_newsfeeds', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), -(20, 1, 99, 100, 1, 'com_plugins', 'com_plugins', '{"core.admin":{"7":1}}'), -(21, 1, 101, 102, 1, 'com_redirect', 'com_redirect', '{"core.admin":{"7":1}}'), -(23, 1, 105, 106, 1, 'com_templates', 'com_templates', '{"core.admin":{"7":1}}'), -(24, 1, 107, 110, 1, 'com_users', 'com_users', '{"core.admin":{"7":1}}'), -(26, 1, 113, 114, 1, 'com_wrapper', 'com_wrapper', '{}'), +(18, 1, 59, 118, 1, 'com_modules', 'com_modules', '{"core.admin":{"7":1}}'), +(19, 1, 119, 122, 1, 'com_newsfeeds', 'com_newsfeeds', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), +(20, 1, 123, 124, 1, 'com_plugins', 'com_plugins', '{"core.admin":{"7":1}}'), +(21, 1, 125, 126, 1, 'com_redirect', 'com_redirect', '{"core.admin":{"7":1}}'), +(23, 1, 129, 130, 1, 'com_templates', 'com_templates', '{"core.admin":{"7":1}}'), +(24, 1, 131, 134, 1, 'com_users', 'com_users', '{"core.admin":{"7":1}}'), +(26, 1, 137, 138, 1, 'com_wrapper', 'com_wrapper', '{}'), (27, 8, 18, 19, 2, 'com_content.category.2', 'Uncategorised', '{}'), (28, 3, 4, 5, 2, 'com_banners.category.3', 'Uncategorised', '{}'), (29, 7, 14, 15, 2, 'com_contact.category.4', 'Uncategorised', '{}'), -(30, 19, 96, 97, 2, 'com_newsfeeds.category.5', 'Uncategorised', '{}'), -(32, 24, 108, 109, 2, 'com_users.category.7', 'Uncategorised', '{}'), -(33, 1, 117, 118, 1, 'com_finder', 'com_finder', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), -(34, 1, 119, 120, 1, 'com_joomlaupdate', 'com_joomlaupdate', '{}'), -(35, 1, 121, 122, 1, 'com_tags', 'com_tags', '{}'), -(36, 1, 123, 124, 1, 'com_contenthistory', 'com_contenthistory', '{}'), -(37, 1, 125, 126, 1, 'com_ajax', 'com_ajax', '{}'), -(38, 1, 127, 128, 1, 'com_postinstall', 'com_postinstall', '{}'), +(30, 19, 120, 121, 2, 'com_newsfeeds.category.5', 'Uncategorised', '{}'), +(32, 24, 132, 133, 2, 'com_users.category.7', 'Uncategorised', '{}'), +(33, 1, 141, 142, 1, 'com_finder', 'com_finder', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), +(34, 1, 143, 144, 1, 'com_joomlaupdate', 'com_joomlaupdate', '{}'), +(35, 1, 145, 146, 1, 'com_tags', 'com_tags', '{}'), +(36, 1, 147, 148, 1, 'com_contenthistory', 'com_contenthistory', '{}'), +(37, 1, 149, 150, 1, 'com_ajax', 'com_ajax', '{}'), +(38, 1, 151, 152, 1, 'com_postinstall', 'com_postinstall', '{}'), (39, 18, 60, 61, 2, 'com_modules.module.1', 'Main Menu', '{}'), (40, 18, 62, 63, 2, 'com_modules.module.2', 'Login', '{}'), (41, 18, 64, 65, 2, 'com_modules.module.3', 'Popular Articles', '{}'), (42, 18, 66, 67, 2, 'com_modules.module.4', 'Recently Added Articles', '{}'), (43, 18, 68, 69, 2, 'com_modules.module.8', 'Toolbar', '{}'), -(44, 18, 70, 71, 2, 'com_modules.module.9', 'Quick Icons', '{}'), +(44, 18, 70, 71, 2, 'com_modules.module.9', 'Update Checks', '{}'), (45, 18, 72, 73, 2, 'com_modules.module.10', 'Logged-in Users', '{}'), (46, 18, 74, 75, 2, 'com_modules.module.12', 'Admin Menu', '{}'), (48, 18, 78, 79, 2, 'com_modules.module.14', 'User Status', '{}'), @@ -91,11 +91,24 @@ INSERT INTO `#__assets` (`id`, `parent_id`, `lft`, `rgt`, `level`, `name`, `titl (62, 56, 31, 32, 3, 'com_content.transition.2', 'Unpublish', '{}'), (63, 56, 33, 34, 3, 'com_content.transition.3', 'Archive', '{}'), (64, 56, 35, 36, 3, 'com_content.transition.4', 'Trash', '{}'), -(65, 1, 111, 112, 1, 'com_privacy', 'com_privacy', '{}'), -(66, 1, 115, 116, 1, 'com_actionlogs', 'com_actionlogs', '{}'), -(67, 18, 76, 77, 2, 'com_modules.module.88', 'Latest Actions', '{}'), -(68, 18, 80, 81, 2, 'com_modules.module.89', 'Privacy Dashboard', '{}'), -(69, 1, 129, 130, 1, 'com_csp', 'com_csp', '{}'); +(65, 1, 129, 130, 1, 'com_privacy', 'com_privacy', '{}'), +(66, 1, 131, 132, 1, 'com_actionlogs', 'com_actionlogs', '{}'), +(67, 18, 74, 75, 2, 'com_modules.module.88', 'Latest Actions', '{}'), +(68, 18, 76, 77, 2, 'com_modules.module.89', 'Privacy Dashboard', '{}'), +(69, 1, 153, 154, 1, 'com_csp', 'com_csp', '{}'), +(70, 18, 90, 91, 2, 'com_modules.module.103', 'Site', '{}'), +(71, 18, 92, 93, 2, 'com_modules.module.104', 'System', '{}'), +(72, 18, 94, 95, 2, 'com_modules.module.91', 'System Dashboard', '{}'), +(73, 18, 96, 97, 2, 'com_modules.module.92', 'Content Dashboard', '{}'), +(74, 18, 98, 99, 2, 'com_modules.module.93', 'Menus Dashboard', '{}'), +(75, 18, 100, 101, 2, 'com_modules.module.94', 'Components Dashboard', '{}'), +(76, 18, 102, 103, 2, 'com_modules.module.95', 'Users Dashboard', '{}'), +(77, 18, 104, 105, 2, 'com_modules.module.99', 'Frontend Link', '{}'), +(78, 18, 106, 107, 2, 'com_modules.module.100', 'Messages', '{}'), +(79, 18, 108, 109, 2, 'com_modules.module.101', 'Post Install Messages', '{}'), +(80, 18, 110, 111, 2, 'com_modules.module.102', 'User Status', '{}'), +(82, 18, 114, 115, 2, 'com_modules.module.105', '3rd Party', '{}'), +(83, 18, 116, 117, 2, 'com_modules.module.106', 'Help Dashboard', '{}'); -- -------------------------------------------------------- @@ -144,12 +157,12 @@ CREATE TABLE IF NOT EXISTS `#__banners` ( `checked_out_time` datetime, `publish_up` datetime, `publish_down` datetime, - `reset` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `reset` datetime, + `created` datetime NOT NULL, `language` char(7) NOT NULL DEFAULT '', `created_by` int(10) unsigned NOT NULL DEFAULT 0, `created_by_alias` varchar(255) NOT NULL DEFAULT '', - `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `modified` datetime NOT NULL, `modified_by` int(10) unsigned NOT NULL DEFAULT 0, `version` int(10) unsigned NOT NULL DEFAULT 1, PRIMARY KEY (`id`), @@ -174,7 +187,7 @@ CREATE TABLE IF NOT EXISTS `#__banner_clients` ( `extrainfo` text NOT NULL, `state` tinyint(3) NOT NULL DEFAULT 0, `checked_out` int(10) unsigned NOT NULL DEFAULT 0, - `checked_out_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` datetime, `metakey` text NOT NULL, `own_prefix` tinyint(4) NOT NULL DEFAULT 0, `metakey_prefix` varchar(400) NOT NULL DEFAULT '', @@ -333,15 +346,15 @@ CREATE TABLE IF NOT EXISTS `#__content` ( `fulltext` mediumtext NOT NULL, `state` tinyint(3) NOT NULL DEFAULT 0, `catid` int(10) unsigned NOT NULL DEFAULT 0, - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` datetime NOT NULL, `created_by` int(10) unsigned NOT NULL DEFAULT 0, `created_by_alias` varchar(255) NOT NULL DEFAULT '', - `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `modified` datetime NOT NULL, `modified_by` int(10) unsigned NOT NULL DEFAULT 0, `checked_out` int(10) unsigned NOT NULL DEFAULT 0, - `checked_out_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_up` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_down` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` datetime NULL DEFAULT NULL, + `publish_up` datetime NULL DEFAULT NULL, + `publish_down` datetime NULL DEFAULT NULL, `images` text NOT NULL, `urls` text NOT NULL, `attribs` varchar(5120) NOT NULL, @@ -416,7 +429,7 @@ CREATE TABLE IF NOT EXISTS `#__content_types` ( -- INSERT INTO `#__content_types` (`type_id`, `type_title`, `type_alias`, `table`, `rules`, `field_mappings`, `router`, `content_history_options`) VALUES -(1, 'Article', 'com_content.article', '{"special":{"dbtable":"#__content","key":"id","type":"Content","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"title","core_state":"state","core_alias":"alias","core_created_time":"created","core_modified_time":"modified","core_body":"introtext", "core_hits":"hits","core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"attribs", "core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"images", "core_urls":"urls", "core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"catid", "asset_id":"asset_id", "note":"note"}, "special":{"fulltext":"fulltext"}}', 'ContentHelperRoute::getArticleRoute', '{"formFile":"administrator\\/components\\/com_content\\/forms\\/article.xml", "hideFields":["asset_id","checked_out","checked_out_time","version"],"ignoreChanges":["modified_by", "modified", "checked_out", "checked_out_time", "version", "hits"],"convertToInt":["publish_up", "publish_down", "featured", "ordering"],"displayLookup":[{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ]}'), +(1, 'Article', 'com_content.article', '{"special":{"dbtable":"#__content","key":"id","type":"Content","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"title","core_state":"state","core_alias":"alias","core_created_time":"created","core_modified_time":"modified","core_body":"introtext", "core_hits":"hits","core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"attribs", "core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"images", "core_urls":"urls", "core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"catid", "asset_id":"asset_id", "note":"note"}, "special":{"fulltext":"fulltext"}}', 'ContentHelperRoute::getArticleRoute', '{"formFile":"administrator\\/components\\/com_content\\/forms\\/article.xml", "hideFields":["asset_id","checked_out","checked_out_time","version"],"ignoreChanges":["modified_by", "modified", "checked_out", "checked_out_time", "version", "hits", "ordering"],"convertToInt":["publish_up", "publish_down", "featured", "ordering"],"displayLookup":[{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ]}'), (2, 'Contact', 'com_contact.contact', '{"special":{"dbtable":"#__contact_details","key":"id","type":"Contact","prefix":"ContactTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"name","core_state":"published","core_alias":"alias","core_created_time":"created","core_modified_time":"modified","core_body":"address", "core_hits":"hits","core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"params", "core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"image", "core_urls":"webpage", "core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"catid", "asset_id":"null"}, "special":{"con_position":"con_position","suburb":"suburb","state":"state","country":"country","postcode":"postcode","telephone":"telephone","fax":"fax","misc":"misc","email_to":"email_to","default_con":"default_con","user_id":"user_id","mobile":"mobile","sortname1":"sortname1","sortname2":"sortname2","sortname3":"sortname3"}}', 'ContactHelperRoute::getContactRoute', '{"formFile":"administrator\\/components\\/com_contact\\/forms\\/contact.xml","hideFields":["default_con","checked_out","checked_out_time","version"],"ignoreChanges":["modified_by", "modified", "checked_out", "checked_out_time", "version", "hits"],"convertToInt":["publish_up", "publish_down", "featured", "ordering"], "displayLookup":[ {"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"user_id","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ] }'), (3, 'Newsfeed', 'com_newsfeeds.newsfeed', '{"special":{"dbtable":"#__newsfeeds","key":"id","type":"Newsfeed","prefix":"NewsfeedsTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"name","core_state":"published","core_alias":"alias","core_created_time":"created","core_modified_time":"modified","core_body":"description", "core_hits":"hits","core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"params", "core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"images", "core_urls":"link", "core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"catid", "asset_id":"null"}, "special":{"numarticles":"numarticles","cache_time":"cache_time","rtl":"rtl"}}', 'NewsfeedsHelperRoute::getNewsfeedRoute', '{"formFile":"administrator\\/components\\/com_newsfeeds\\/forms\\/newsfeed.xml","hideFields":["asset_id","checked_out","checked_out_time","version"],"ignoreChanges":["modified_by", "modified", "checked_out", "checked_out_time", "version", "hits"],"convertToInt":["publish_up", "publish_down", "featured", "ordering"],"displayLookup":[{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ]}'), (4, 'User', 'com_users.user', '{"special":{"dbtable":"#__users","key":"id","type":"User","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"name","core_state":"null","core_alias":"username","core_created_time":"registerdate","core_modified_time":"lastvisitDate","core_body":"null", "core_hits":"null","core_publish_up":"null","core_publish_down":"null","access":"null", "core_params":"params", "core_featured":"null", "core_metadata":"null", "core_language":"null", "core_images":"null", "core_urls":"null", "core_version":"null", "core_ordering":"null", "core_metakey":"null", "core_metadesc":"null", "core_catid":"null", "asset_id":"null"}, "special":{}}', '', ''), @@ -461,8 +474,8 @@ CREATE TABLE IF NOT EXISTS `#__csp` ( `blocked_uri` varchar(500) NOT NULL DEFAULT '', `directive` varchar(500) NOT NULL DEFAULT '', `client` varchar(500) NOT NULL DEFAULT '', - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` datetime NOT NULL, + `modified` datetime NOT NULL, `published` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; @@ -538,6 +551,7 @@ INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, (0, 'com_actionlogs', 'component', 'com_actionlogs', '', 1, 1, 1, 1, '', '{"ip_logging":0,"csv_delimiter":",","loggable_extensions":["com_banners","com_cache","com_categories","com_checkin","com_config","com_contact","com_content","com_installer","com_media","com_menus","com_messages","com_modules","com_newsfeeds","com_plugins","com_redirect","com_tags","com_templates","com_users"]}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'com_workflow', 'component', 'com_workflow', '', 1, 1, 0, 1, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'com_csp', 'component', 'com_csp', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'com_mails', 'component', 'com_mails', '', 1, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'Joomla! Platform', 'library', 'joomla', '', 0, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'PHPass', 'library', 'phpass', '', 0, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_articles_archive', 'module', 'mod_articles_archive', '', 0, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), @@ -567,10 +581,14 @@ INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, (0, 'mod_latest', 'module', 'mod_latest', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_logged', 'module', 'mod_logged', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_login', 'module', 'mod_login', '', 1, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_loginsupport', 'module', 'mod_loginsupport', '', 1, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_menu', 'module', 'mod_menu', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_popular', 'module', 'mod_popular', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_quickicon', 'module', 'mod_quickicon', '', 1, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), -(0, 'mod_status', 'module', 'mod_status', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_frontend', 'module', 'mod_frontend', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_messages', 'module', 'mod_messages', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_post_installation_messages', 'module', 'mod_post_installation_messages', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_user', 'module', 'mod_user', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_title', 'module', 'mod_title', '', 1, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_toolbar', 'module', 'mod_toolbar', '', 1, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_multilangstatus', 'module', 'mod_multilangstatus', '', 1, 1, 1, 0, '', '{"cache":"0"}', 0, '0000-00-00 00:00:00', 0, 0), @@ -581,6 +599,8 @@ INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, (0, 'mod_sampledata', 'module', 'mod_sampledata', '', 1, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_latestactions', 'module', 'mod_latestactions', '', 1, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'mod_privacy_dashboard', 'module', 'mod_privacy_dashboard', '', 1, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_submenu', 'module', 'mod_submenu', '', 1, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'mod_privacy_status', 'module', 'mod_privacy_status', '', 1, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_authentication_joomla', 'plugin', 'joomla', 'authentication', 0, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_authentication_ldap', 'plugin', 'ldap', 'authentication', 0, 0, 1, 0, '', '{"host":"","port":"389","use_ldapV3":"0","negotiate_tls":"0","no_referrals":"0","auth_method":"bind","base_dn":"","search_string":"","users_dn":"","username":"admin","password":"bobby7","ldap_fullname":"fullName","ldap_email":"mail","ldap_uid":"uid"}', 0, '0000-00-00 00:00:00', 3, 0), (0, 'plg_content_contact', 'plugin', 'contact', 'content', 0, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 1, 0), @@ -614,7 +634,7 @@ INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, (0, 'plg_quickicon_extensionupdate', 'plugin', 'extensionupdate', 'quickicon', 0, 1, 1, 1, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_captcha_recaptcha', 'plugin', 'recaptcha', 'captcha', 0, 0, 1, 0, '', '{"public_key":"","private_key":"","theme":"clean"}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_system_highlight', 'plugin', 'highlight', 'system', 0, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 7, 0), -(0, 'plg_content_finder', 'plugin', 'finder', 'content', 0, 0, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_content_finder', 'plugin', 'finder', 'content', 0, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_finder_categories', 'plugin', 'categories', 'finder', 0, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 1, 0), (0, 'plg_finder_contacts', 'plugin', 'contacts', 'finder', 0, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 2, 0), (0, 'plg_finder_content', 'plugin', 'content', 'finder', 0, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 3, 0), @@ -678,7 +698,21 @@ INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, (0, 'plg_extension_finder', 'plugin', 'finder', 'extension', 0, 1, 1, 0, '', '', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_system_skipto', 'plugin', 'skipto', 'system', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_api-authentication_basic', 'plugin', 'basic', 'api-authentication', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_banners', 'plugin', 'banners', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_contact', 'plugin', 'contact', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_config', 'plugin', 'config', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_webservices_content', 'plugin', 'content', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_languages', 'plugin', 'languages', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_messages', 'plugin', 'messages', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_modules', 'plugin', 'modules', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_menus', 'plugin', 'menus', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_newsfeeds', 'plugin', 'newsfeeds', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_plugins', 'plugin', 'plugins', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_privacy', 'plugin', 'privacy', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_redirect', 'plugin', 'redirect', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_tags', 'plugin', 'tags', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_templates', 'plugin', 'templates', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), +(0, 'plg_webservices_users', 'plugin', 'users', 'webservices', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_filesystem_local', 'plugin', 'local', 'filesystem', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_media-action_crop', 'plugin', 'crop', 'media-action', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), (0, 'plg_media-action_resize', 'plugin', 'resize', 'media-action', 0, 1, 1, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0), @@ -948,7 +982,7 @@ CREATE TABLE IF NOT EXISTS `#__finder_terms` ( `links` int(10) NOT NULL DEFAULT 0, `language` char(7) NOT NULL DEFAULT '', PRIMARY KEY (`term_id`), - UNIQUE KEY `idx_term` (`term`,`language`), + UNIQUE KEY `idx_term_language` (`term`,`language`), KEY `idx_stem` (`stem`), KEY `idx_term_phrase` (`term`,`phrase`), KEY `idx_stem_phrase` (`stem`,`phrase`), @@ -966,7 +1000,7 @@ CREATE TABLE IF NOT EXISTS `#__finder_terms_common` ( `term` varchar(75) NOT NULL DEFAULT '', `language` char(7) NOT NULL DEFAULT '', `custom` int(11) NOT NULL DEFAULT '0', - UNIQUE KEY `idx_word_lang` (`term`,`language`), + UNIQUE KEY `idx_term_language` (`term`,`language`), KEY `idx_lang` (`language`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_bin; @@ -1260,7 +1294,7 @@ CREATE TABLE IF NOT EXISTS `#__menu` ( `level` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 'The relative level in the tree.', `component_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to #__extensions.id', `checked_out` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to #__users.id', - `checked_out_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'The time the menu item was checked out.', + `checked_out_time` datetime COMMENT 'The time the menu item was checked out.', `browserNav` tinyint(4) NOT NULL DEFAULT 0 COMMENT 'The click behaviour of the link.', `access` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 'The access level required to view the menu item.', `img` varchar(255) NOT NULL COMMENT 'The image of the menu item.', @@ -1271,8 +1305,8 @@ CREATE TABLE IF NOT EXISTS `#__menu` ( `home` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT 'Indicates if this menu item is the home or default page.', `language` char(7) NOT NULL DEFAULT '', `client_id` tinyint(4) NOT NULL DEFAULT 0, - `publish_up` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_down` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `publish_up` datetime, + `publish_down` datetime, PRIMARY KEY (`id`), UNIQUE KEY `idx_client_id_parent_id_alias_language` (`client_id`,`parent_id`,`alias`(100),`language`), KEY `idx_componentid` (`component_id`,`menutype`,`published`,`access`), @@ -1287,42 +1321,44 @@ CREATE TABLE IF NOT EXISTS `#__menu` ( -- Dumping data for table `#__menu` -- -INSERT INTO `#__menu` (`id`, `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 -(1, '', 'Menu_Item_Root', 'root', '', '', '', '', 1, 0, 0, 0, 0, '0000-00-00 00:00:00', 0, 0, '', 0, '', 0, 37, 0, '*', 0); -INSERT INTO `#__menu` (`id`, `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`) -SELECT 2, 'main', 'com_banners', 'Banners', '', 'Banners', 'index.php?option=com_banners', 'component', 1, 1, 1, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners', 0, '', 1, 10, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_banners'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 3, 'main', 'com_banners', 'Banners', '', 'Banners/Banners', 'index.php?option=com_banners&view=banners', 'component', 1, 2, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners', 0, '', 2, 3, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_banners'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 4, 'main', 'com_banners_categories', 'Categories', '', 'Banners/Categories', 'index.php?option=com_categories&view=categories&extension=com_banners', 'component', 1, 2, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners-cat', 0, '', 4, 5, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_categories'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 5, 'main', 'com_banners_clients', 'Clients', '', 'Banners/Clients', 'index.php?option=com_banners&view=clients', 'component', 1, 2, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners-clients', 0, '', 6, 7, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_banners'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 6, 'main', 'com_banners_tracks', 'Tracks', '', 'Banners/Tracks', 'index.php?option=com_banners&view=tracks', 'component', 1, 2, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:banners-tracks', 0, '', 8, 9, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_banners'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 7, 'main', 'com_contact', 'Contacts', '', 'Contacts', 'index.php?option=com_contact', 'component', 1, 1, 1, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:contact', 0, '', 11, 16, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_contact'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 8, 'main', 'com_contact_contacts', 'Contacts', '', 'Contacts/Contacts', 'index.php?option=com_contact', 'component', 1, 7, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:contact', 0, '', 12, 13, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_contact'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 9, 'main', 'com_contact_categories', 'Categories', '', 'Contacts/Categories', 'index.php?option=com_categories&view=categories&extension=com_contact', 'component', 1, 7, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:contact-cat', 0, '', 14, 15, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_categories'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 10, 'main', 'com_messages', 'Messaging', '', 'Messaging', 'index.php?option=com_messages', 'component', 1, 1, 1, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:messages', 0, '', 17, 20, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_messages'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 11, 'main', 'com_messages_add', 'New Private Message', '', 'Messaging/New Private Message', 'index.php?option=com_messages&task=message.add', 'component', 1, 10, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:messages-add', 0, '', 18, 19, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_messages'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 12, 'main', 'com_newsfeeds', 'News Feeds', '', 'News Feeds', 'index.php?option=com_newsfeeds', 'component', 1, 1, 1, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:newsfeeds', 0, '', 21, 26, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_newsfeeds'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 13, 'main', 'com_newsfeeds_feeds', 'Feeds', '', 'News Feeds/Feeds', 'index.php?option=com_newsfeeds&view=newsfeeds', 'component', 1, 13, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:newsfeeds', 0, '', 22, 23, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_newsfeeds'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 14, 'main', 'com_newsfeeds_categories', 'Categories', '', 'News Feeds/Categories', 'index.php?option=com_categories&view=categories&extension=com_newsfeeds', 'component', 1, 13, 2, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:newsfeeds-cat', 0, '', 24, 25, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_categories'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 15, 'main', 'com_finder', 'Smart Search', '', 'Smart Search', 'index.php?option=com_finder&view=index', 'component', 1, 1, 1, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:finder', 0, '', 27, 28, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_finder'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 16, 'main', 'com_tags', 'Tags', '', 'Tags', 'index.php?option=com_tags&view=tags', 'component', 1, 1, 1, `extension_id`, 0, '0000-00-00 00:00:00', 0, 1, 'class:tags', 0, '', 29, 30, 0, '', 1 FROM `#__extensions` WHERE `name` = 'com_tags'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 17, 'main', 'com_associations', 'Multilingual Associations', '', 'Multilingual Associations', 'index.php?option=com_associations&view=associations', 'component', 1, 1, 1, `extension_id`, 0, '0000-00-00 00:00:00', 0, 0, 'class:associations', 0, '', 31, 32, 0, '*', 1 FROM `#__extensions` WHERE `name` = 'com_associations'; -INSERT INTO `#__menu` (`id`, `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`) -SELECT 101, 'mainmenu', 'Home', 'home', '', 'home', 'index.php?option=com_content&view=featured', 'component', 1, 1, 1, `extension_id`, 0, '0000-00-00 00:00:00', 0, 1, '', 0, '{"featured_categories":[""],"layout_type":"blog","num_leading_articles":"1","num_intro_articles":"3","num_columns":"3","num_links":"0","multi_column_order":"1","orderby_pri":"","orderby_sec":"front","order_date":"","show_pagination":"2","show_pagination_results":"1","show_title":"","link_titles":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_hits":"","show_noauth":"","show_feed_link":"1","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 35, 36, 1, '*', 0 FROM `#__extensions` WHERE `name` = 'com_content'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) VALUES +(1, '', 'Menu_Item_Root', 'root', '', '', '', '', 1, 0, 0, 0, 0, NULL, 0, 0, '', 0, '', 0, 37, 0, '*', 0, NULL, NULL); +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 2, 'main', 'com_banners', 'Banners', '', 'Banners', 'index.php?option=com_banners', 'component', 1, 1, 1, `extension_id`, 0, NULL, 0, 0, 'class:banners', 0, '', 1, 10, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_banners'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 3, 'main', 'com_banners', 'Banners', '', 'Banners/Banners', 'index.php?option=com_banners&view=banners', 'component', 1, 2, 2, `extension_id`, 0, NULL, 0, 0, 'class:banners', 0, '', 2, 3, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_banners'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 4, 'main', 'com_banners_categories', 'Categories', '', 'Banners/Categories', 'index.php?option=com_categories&view=categories&extension=com_banners', 'component', 1, 2, 2, `extension_id`, 0, NULL, 0, 0, 'class:banners-cat', 0, '', 4, 5, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_categories'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 5, 'main', 'com_banners_clients', 'Clients', '', 'Banners/Clients', 'index.php?option=com_banners&view=clients', 'component', 1, 2, 2, `extension_id`, 0, NULL, 0, 0, 'class:banners-clients', 0, '', 6, 7, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_banners'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 6, 'main', 'com_banners_tracks', 'Tracks', '', 'Banners/Tracks', 'index.php?option=com_banners&view=tracks', 'component', 1, 2, 2, `extension_id`, 0, NULL, 0, 0, 'class:banners-tracks', 0, '', 8, 9, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_banners'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 7, 'main', 'com_contact', 'Contacts', '', 'Contacts', 'index.php?option=com_contact', 'component', 1, 1, 1, `extension_id`, 0, NULL, 0, 0, 'class:contact', 0, '', 11, 16, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_contact'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 8, 'main', 'com_contact_contacts', 'Contacts', '', 'Contacts/Contacts', 'index.php?option=com_contact&view=contacts', 'component', 1, 7, 2, `extension_id`, 0, NULL, 0, 0, 'class:contact', 0, '', 12, 13, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_contact'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 9, 'main', 'com_contact_categories', 'Categories', '', 'Contacts/Categories', 'index.php?option=com_categories&view=categories&extension=com_contact', 'component', 1, 7, 2, `extension_id`, 0, NULL, 0, 0, 'class:contact-cat', 0, '', 14, 15, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_categories'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 10, 'main', 'com_messages', 'Messaging', '', 'Messaging', 'index.php?option=com_messages', 'component', 1, 1, 1, `extension_id`, 0, NULL, 0, 0, 'class:messages', 0, '', 17, 20, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_messages'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 11, 'main', 'com_messages_add', 'New Private Message', '', 'Messaging/New Private Message', 'index.php?option=com_messages&task=message.add', 'component', 1, 10, 2, `extension_id`, 0, NULL, 0, 0, 'class:messages-add', 0, '', 18, 19, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_messages'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 12, 'main', 'com_newsfeeds', 'News Feeds', '', 'News Feeds', 'index.php?option=com_newsfeeds', 'component', 1, 1, 1, `extension_id`, 0, NULL, 0, 0, 'class:newsfeeds', 0, '', 21, 26, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_newsfeeds'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 13, 'main', 'com_newsfeeds_feeds', 'Feeds', '', 'News Feeds/Feeds', 'index.php?option=com_newsfeeds&view=newsfeeds', 'component', 1, 12, 2, `extension_id`, 0, NULL, 0, 0, 'class:newsfeeds', 0, '', 22, 23, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_newsfeeds'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 14, 'main', 'com_newsfeeds_categories', 'Categories', '', 'News Feeds/Categories', 'index.php?option=com_categories&view=categories&extension=com_newsfeeds', 'component', 1, 12, 2, `extension_id`, 0, NULL, 0, 0, 'class:newsfeeds-cat', 0, '', 24, 25, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_categories'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 15, 'main', 'com_finder', 'Smart Search', '', 'Smart Search', 'index.php?option=com_finder&view=index', 'component', 1, 1, 1, `extension_id`, 0, NULL, 0, 0, 'class:finder', 0, '', 27, 28, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_finder'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 16, 'main', 'com_tags', 'Tags', '', 'Tags', 'index.php?option=com_tags&view=tags', 'component', 1, 1, 1, `extension_id`, 0, NULL, 0, 1, 'class:tags', 0, '', 29, 30, 0, '', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_tags'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 17, 'main', 'com_associations', 'Multilingual Associations', '', 'Multilingual Associations', 'index.php?option=com_associations&view=associations', 'component', 1, 1, 1, `extension_id`, 0, NULL, 0, 0, 'class:associations', 0, '', 31, 32, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_associations'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 18, 'main', 'com_messages_manager', 'Private Messages', '', 'Messaging/Private Messages', 'index.php?option=com_messages&view=messages', 'component', 1, 10, 2, `extension_id`, 0, NULL, 0, 0, 'class:messages-add', 0, '', 18, 19, 0, '*', 1, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_messages'; +INSERT INTO `#__menu` (`id`, `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`, `publish_up`, `publish_down`) +SELECT 101, 'mainmenu', 'Home', 'home', '', 'home', 'index.php?option=com_content&view=featured', 'component', 1, 1, 1, `extension_id`, 0, NULL, 0, 1, '', 0, '{"featured_categories":[""],"layout_type":"blog","num_leading_articles":"1","num_intro_articles":"3","num_columns":"3","num_links":"0","multi_column_order":"1","orderby_pri":"","orderby_sec":"front","order_date":"","show_pagination":"2","show_pagination_results":"1","show_title":"","link_titles":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_hits":"","show_noauth":"","show_feed_link":"1","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 35, 36, 1, '*', 0, NULL, NULL FROM `#__extensions` WHERE `name` = 'com_content'; -- -------------------------------------------------------- @@ -1360,7 +1396,7 @@ CREATE TABLE IF NOT EXISTS `#__messages` ( `user_id_from` int(10) unsigned NOT NULL DEFAULT 0, `user_id_to` int(10) unsigned NOT NULL DEFAULT 0, `folder_id` tinyint(3) unsigned NOT NULL DEFAULT 0, - `date_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `date_time` datetime NOT NULL, `state` tinyint(1) NOT NULL DEFAULT 0, `priority` tinyint(1) unsigned NOT NULL DEFAULT 0, `subject` varchar(255) NOT NULL DEFAULT '', @@ -1423,19 +1459,36 @@ INSERT INTO `#__modules` (`id`, `asset_id`, `title`, `note`, `content`, `orderin (3, 41, 'Popular Articles', '', '', 3, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_popular', 3, 1, '{"count":"5","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), (4, 42, 'Recently Added Articles', '', '', 4, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_latest', 3, 1, '{"count":"5","ordering":"c_dsc","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), (8, 43, 'Toolbar', '', '', 1, 'toolbar', 0, NULL, NULL, NULL, 1, 'mod_toolbar', 3, 1, '', 1, '*'), -(9, 44, 'Quick Icons', '', '', 1, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 3, 1, '', 1, '*'), +(9, 44, 'Update Checks', '', '', 3, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 3, 1, '{"context":"update_quickicon","header_icon":"fa fa-sync","show_jupdate":"1","show_eupdate":"1","show_oupdate":"1","show_privacy":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":""}', 1, '*'), (10, 45, 'Logged-in Users', '', '', 2, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_logged', 3, 1, '{"count":"5","name":"1","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), (12, 46, 'Admin Menu', '', '', 1, 'menu', 0, NULL, NULL, NULL, 1, 'mod_menu', 3, 1, '{"layout":"","moduleclass_sfx":"","shownew":"1","showhelp":"1","cache":"0"}', 1, '*'), -(14, 48, 'User Status', '', '', 2, 'status', 0, NULL, NULL, NULL, 1, 'mod_status', 3, 1, '', 1, '*'), (15, 49, 'Title', '', '', 1, 'title', 0, NULL, NULL, NULL, 1, 'mod_title', 3, 1, '', 1, '*'), (16, 50, 'Login Form', '', '', 7, 'sidebar-right', 0, NULL, NULL, NULL, 1, 'mod_login', 1, 1, '{"greeting":"1","name":"0"}', 0, '*'), (17, 51, 'Breadcrumbs', '', '', 1, 'breadcrumbs', 0, NULL, NULL, NULL, 1, 'mod_breadcrumbs', 1, 1, '{"moduleclass_sfx":"","showHome":"1","homeText":"","showComponent":"1","separator":"","cache":"0","cache_time":"0","cachemode":"itemid"}', 0, '*'), -(79, 52, 'Multilanguage status', '', '', 1, '', 0, NULL, NULL, NULL, 0, 'mod_multilangstatus', 3, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":"0"}', 1, '*'), +(79, 52, 'Multilanguage status', '', '', 2, 'status', 0, NULL, NULL, NULL, 0, 'mod_multilangstatus', 3, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":"0"}', 1, '*'), (86, 53, 'Joomla Version', '', '', 1, 'status', 0, NULL, NULL, NULL, 1, 'mod_version', 3, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":"0"}', 1, '*'), (87, 55, 'Sample Data', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_sampledata', 6, 1, '{"bootstrap_size": "6"}', 1, '*'), -(88, 58, 'Latest Actions', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_latestactions', 6, 1, '{}', 1, '*'), -(89, 59, 'Privacy Dashboard', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_privacy_dashboard', 6, 1, '{}', 1, '*'); - +(88, 67, 'Latest Actions', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_latestactions', 6, 1, '{}', 1, '*'), +(89, 68, 'Privacy Dashboard', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_privacy_dashboard', 6, 1, '{}', 1, '*'), +(90, 65, 'Login Support', '', '', 1, 'sidebar', 0, NULL, NULL, NULL, 1, 'mod_loginsupport', 1, 1, '{"forum_url":"https://forum.joomla.org/","documentation_url":"https://docs.joomla.org/","news_url":"https://www.joomla.org/","automatic_title":1,"prepare_content":1,"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":"","style":"0"}', 1, '*'), +(91, 72, 'System Dashboard', '', '', 1, 'cpanel-system', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"system","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(92, 73, 'Content Dashboard', '', '', 1, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"content","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"3","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(93, 74, 'Menus Dashboard', '', '', 1, 'cpanel-menus', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"menus","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(94, 75, 'Components Dashboard', '', '', 1, 'cpanel-components', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"components","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(95, 76, 'Users Dashboard', '', '', 1, 'cpanel-users', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"users","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(96, 41, 'Popular Articles', '', '', 3, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_popular', 3, 1, '{"count":"5","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), +(97, 42, 'Recently Added Articles', '', '', 4, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_latest', 3, 1, '{"count":"5","ordering":"c_dsc","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), +(98, 45, 'Logged-in Users', '', '', 2, 'cpanel-users', 0, NULL, NULL, NULL, 1, 'mod_logged', 3, 1, '{"count":"5","name":"1","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), +(99, 77, 'Frontend Link', '', '', 5, 'status', 0, NULL, NULL, NULL, 1, 'mod_frontend', 1, 1, '', 1, '*'), +(100, 78, 'Messages', '', '', 4, 'status', 0, NULL, NULL, NULL, 1, 'mod_messages', 3, 1, '', 1, '*'), +(101, 79, 'Post Install Messages', '', '', 3, 'status', 0, NULL, NULL, NULL, 1, 'mod_post_installation_messages', 3, 1, '', 1, '*'), +(102, 80, 'User Status', '', '', 6, 'status', 0, NULL, NULL, NULL, 1, 'mod_user', 3, 1, '', 1, '*'), +(103, 70, 'Site', '', '', 1, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"site_quickicon","header_icon":"fa fa-desktop","show_users":"1","show_articles":"1","show_categories":"1","show_media":"1","show_menuItems":"1","show_modules":"1","show_plugins":"1","show_templates":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'), +(104, 71, 'System', '', '', 2, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"system_quickicon","header_icon":"fa fa-wrench","show_global":"1","show_checkin":"1","show_cache":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'), +(105, 82, '3rd Party', '', '', 4, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"mod_quickicon","header_icon":"fa fa-boxes","load_plugins":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'), +(106, 83, 'Help Dashboard', '', '', 1, 'cpanel-help', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"help","layout":"_:default","moduleclass_sfx":"","style":"System-none","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'), +(107, 84, 'Privacy Requests', '', '', 1, 'cpanel-privacy', 0, NULL, NULL, NULL, 1, 'mod_privacy_dashboard', 1, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"cachemode":"static","style":"0","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'), +(108, 85, 'Privacy Status', '', '', 1, 'cpanel-privacy', 0, NULL, NULL, NULL, 1, 'mod_privacy_status', 1, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"cachemode":"static","style":"0","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'); -- -------------------------------------------------------- -- @@ -1471,7 +1524,26 @@ INSERT INTO `#__modules_menu` (`moduleid`, `menuid`) VALUES (86, 0), (87, 0), (88, 0), -(89, 0); +(89, 0), +(90, 0), +(91, 0), +(92, 0), +(93, 0), +(94, 0), +(95, 0), +(96, 0), +(97, 0), +(98, 0), +(99, 0), +(100, 0), +(101, 0), +(102, 0), +(103, 0), +(104, 0), +(105, 0), +(106, 0), +(107, 0), +(108, 0); -- -------------------------------------------------------- @@ -1495,10 +1567,10 @@ CREATE TABLE IF NOT EXISTS `#__newsfeeds` ( `access` int(10) unsigned NOT NULL DEFAULT 0, `language` char(7) NOT NULL DEFAULT '', `params` text NOT NULL, - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` datetime NOT NULL, `created_by` int(10) unsigned NOT NULL DEFAULT 0, `created_by_alias` varchar(255) NOT NULL DEFAULT '', - `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `modified` datetime NOT NULL, `modified_by` int(10) unsigned NOT NULL DEFAULT 0, `metakey` text NOT NULL, `metadesc` text NOT NULL, @@ -1620,8 +1692,8 @@ CREATE TABLE IF NOT EXISTS `#__redirect_links` ( `comment` varchar(255) NOT NULL DEFAULT '', `hits` int(10) unsigned NOT NULL DEFAULT 0, `published` tinyint(4) NOT NULL, - `created_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `modified_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created_date` datetime NOT NULL, + `modified_date` datetime NOT NULL, `header` smallint(3) NOT NULL DEFAULT 301, PRIMARY KEY (`id`), KEY `idx_old_url` (`old_url`(100)), @@ -1656,7 +1728,8 @@ CREATE TABLE IF NOT EXISTS `#__session` ( `username` varchar(150) DEFAULT '', PRIMARY KEY (`session_id`), KEY `userid` (`userid`), - KEY `time` (`time`) + KEY `time` (`time`), + KEY `client_id_guest` (`client_id`, `guest`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- @@ -1744,12 +1817,13 @@ CREATE TABLE IF NOT EXISTS `#__template_styles` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `template` varchar(50) NOT NULL DEFAULT '', `client_id` tinyint(1) unsigned NOT NULL DEFAULT 0, - `home` char(7) NOT NULL DEFAULT 0, + `home` char(7) NOT NULL DEFAULT '0', `title` varchar(255) NOT NULL DEFAULT '', `params` text NOT NULL, PRIMARY KEY (`id`), KEY `idx_template` (`template`), - KEY `idx_home` (`home`) + KEY `idx_client_id` (`client_id`), + KEY `idx_client_id_home` (`client_id`,`home`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=9; -- @@ -1790,7 +1864,7 @@ CREATE TABLE IF NOT EXISTS `#__ucm_content` ( `core_alias` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '', `core_body` mediumtext NOT NULL DEFAULT '', `core_state` tinyint(1) NOT NULL DEFAULT 0, - `core_checked_out_time` varchar(255) NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_checked_out_time` datetime, `core_checked_out_user_id` int(10) unsigned NOT NULL DEFAULT 0, `core_access` int(10) unsigned NOT NULL DEFAULT 0, `core_params` text NOT NULL DEFAULT '', @@ -1798,12 +1872,12 @@ CREATE TABLE IF NOT EXISTS `#__ucm_content` ( `core_metadata` varchar(2048) NOT NULL DEFAULT '' COMMENT 'JSON encoded metadata properties.', `core_created_user_id` int(10) unsigned NOT NULL DEFAULT 0, `core_created_by_alias` varchar(255) NOT NULL DEFAULT '', - `core_created_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_created_time` datetime NOT NULL, `core_modified_user_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 'Most recent user that modified', - `core_modified_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_modified_time` datetime NOT NULL, `core_language` char(7) NOT NULL DEFAULT '', - `core_publish_up` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `core_publish_down` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_publish_up` datetime, + `core_publish_down` datetime, `core_content_item_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 'ID from the individual type table', `asset_id` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.', `core_images` text NOT NULL DEFAULT '', @@ -1841,7 +1915,7 @@ CREATE TABLE IF NOT EXISTS `#__ucm_history` ( `ucm_item_id` int(10) unsigned NOT NULL, `ucm_type_id` int(10) unsigned NOT NULL, `version_note` varchar(255) NOT NULL DEFAULT '' COMMENT 'Optional version name', - `save_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `save_date` datetime NOT NULL, `editor_user_id` int(10) unsigned NOT NULL DEFAULT 0, `character_count` int(10) unsigned NOT NULL DEFAULT 0 COMMENT 'Number of characters in this version.', `sha1_hash` varchar(50) NOT NULL DEFAULT '' COMMENT 'SHA1 hash of the version_data column.', @@ -1891,6 +1965,8 @@ CREATE TABLE IF NOT EXISTS `#__update_sites` ( `enabled` int(11) DEFAULT 0, `last_check_timestamp` bigint(20) DEFAULT 0, `extra_query` varchar(1000) DEFAULT '', + `checked_out` int(10) unsigned NOT NULL DEFAULT 0, + `checked_out_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`update_site_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci COMMENT='Update Sites'; @@ -2069,7 +2145,7 @@ CREATE TABLE IF NOT EXISTS `#__action_logs` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `message_language_key` varchar(255) NOT NULL DEFAULT '', `message` text NOT NULL, - `log_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `log_date` datetime NOT NULL, `extension` varchar(50) NOT NULL DEFAULT '', `user_id` int(11) NOT NULL DEFAULT 0, `item_id` int(11) NOT NULL DEFAULT 0, @@ -2203,7 +2279,6 @@ INSERT INTO `#__viewlevels` (`id`, `title`, `ordering`, `rules`) VALUES -- Table structure for table `#__workflows` -- - CREATE TABLE IF NOT EXISTS `#__workflows` ( `id` int(10) NOT NULL AUTO_INCREMENT, `asset_id` int(10) DEFAULT 0, @@ -2214,10 +2289,12 @@ CREATE TABLE IF NOT EXISTS `#__workflows` ( `default` tinyint(1) NOT NULL DEFAULT 0, `core` tinyint(1) NOT NULL DEFAULT 0, `ordering` int(11) NOT NULL DEFAULT 0, - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` datetime NOT NULL, `created_by` int(10) NOT NULL DEFAULT 0, - `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `modified` datetime NOT NULL, `modified_by` int(10) NOT NULL DEFAULT 0, + `checked_out_time` datetime, + `checked_out` int(10) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `idx_asset_id` (`asset_id`), KEY `idx_title` (`title`(191)), @@ -2226,14 +2303,16 @@ CREATE TABLE IF NOT EXISTS `#__workflows` ( KEY `idx_created` (`created`), KEY `idx_created_by` (`created_by`), KEY `idx_modified` (`modified`), - KEY `idx_modified_by` (`modified_by`) + KEY `idx_modified_by` (`modified_by`), + KEY `idx_checked_out` (`checked_out`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; + -- -- Dumping data for table `#__workflows` -- -INSERT INTO `#__workflows` (`id`, `asset_id`, `published`, `title`, `description`, `extension`, `default`, `core`, `ordering`, `created`, `created_by`, `modified`, `modified_by`) VALUES -(1, 56, 1, 'COM_WORKFLOW_DEFAULT_WORKFLOW', '', 'com_content', 1, 1, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0); +INSERT INTO `#__workflows` (`id`, `asset_id`, `published`, `title`, `description`, `extension`, `default`, `core`,`ordering`, `created`, `created_by`, `modified`, `modified_by`, `checked_out_time`, `checked_out`) VALUES +(1, 56, 1, 'COM_WORKFLOW_DEFAULT_WORKFLOW', '', 'com_content', 1, 1, 1, CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0, NULL, 0); -- -- Table structure for table `#__workflow_associations` @@ -2264,8 +2343,11 @@ CREATE TABLE IF NOT EXISTS `#__workflow_stages` ( `description` text NOT NULL, `condition` int(10) DEFAULT 0, `default` tinyint(1) NOT NULL DEFAULT 0, + `checked_out_time` datetime, + `checked_out` int(10) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `idx_workflow_id` (`workflow_id`), + KEY `idx_checked_out` (`checked_out`), KEY `idx_title` (`title`(191)), KEY `idx_asset_id` (`asset_id`), KEY `idx_default` (`default`) @@ -2275,11 +2357,11 @@ CREATE TABLE IF NOT EXISTS `#__workflow_stages` ( -- Dumping data for table `#__workflow_stages` -- -INSERT INTO `#__workflow_stages` (`id`, `asset_id`, `ordering`, `workflow_id`, `published`, `title`, `description`, `condition`, `default`) VALUES -(1, 57, 1, 1, 1, 'JUNPUBLISHED', '', '0', 1), -(2, 58, 2, 1, 1, 'JPUBLISHED', '', '1', 0), -(3, 59, 3, 1, 1, 'JTRASHED', '', '-2', 0), -(4, 60, 4, 1, 1, 'JARCHIVED', '', '2', 0); +INSERT INTO `#__workflow_stages` (`id`, `asset_id`, `ordering`, `workflow_id`, `published`, `title`, `description`, `condition`, `default`, `checked_out_time`, `checked_out`) VALUES +(1, 57, 1, 1, 1, 'JUNPUBLISHED', '', 0, 1, NULL, 0), +(2, 58, 2, 1, 1, 'JPUBLISHED', '', 1, 0, NULL, 0), +(3, 59, 3, 1, 1, 'JTRASHED', '', -2, 0, NULL, 0), +(4, 60, 4, 1, 1, 'JARCHIVED', '', 2, 0, NULL, 0); -- -- Table structure for table `#__workflow_transitions` @@ -2295,9 +2377,12 @@ CREATE TABLE IF NOT EXISTS `#__workflow_transitions` ( `description` text NOT NULL, `from_stage_id` int(10) NOT NULL, `to_stage_id` int(10) NOT NULL, + `checked_out_time` datetime, + `checked_out` int(10) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `idx_title` (`title`(191)), KEY `idx_asset_id` (`asset_id`), + KEY `idx_checked_out` (`checked_out`), KEY `idx_from_stage_id` (`from_stage_id`), KEY `idx_to_stage_id` (`to_stage_id`), KEY `idx_workflow_id` (`workflow_id`) @@ -2307,8 +2392,29 @@ CREATE TABLE IF NOT EXISTS `#__workflow_transitions` ( -- Dumping data for table `#__workflow_transitions` -- -INSERT INTO `#__workflow_transitions` (`id`, `asset_id`, `published`, `ordering`, `workflow_id`, `title`, `description`, `from_stage_id`, `to_stage_id`) VALUES -(1, 61, 1, 1, 1, 'Unpublish', '', -1, 1), -(2, 62, 1, 2, 1, 'Publish', '', -1, 2), -(3, 63, 1, 3, 1, 'Trash', '', -1, 3), -(4, 64, 1, 4, 1, 'Archive', '', -1, 4); +INSERT INTO `#__workflow_transitions` (`id`, `asset_id`, `published`, `ordering`, `workflow_id`, `title`, `description`, `from_stage_id`, `to_stage_id`, `checked_out_time`, `checked_out`) VALUES +(1, 61, 1, 1, 1, 'Unpublish', '', -1, 1, NULL, 0), +(2, 62, 1, 2, 1, 'Publish', '', -1, 2, NULL, 0), +(3, 63, 1, 3, 1, 'Trash', '', -1, 3, NULL, 0), +(4, 64, 1, 4, 1, 'Archive', '', -1, 4, NULL, 0); + +-- +-- Table structure for table `#__mail_templates` +-- + +CREATE TABLE IF NOT EXISTS `#__mail_templates` ( + `template_id` VARCHAR(127) NOT NULL DEFAULT '', + `language` char(7) NOT NULL DEFAULT '', + `subject` VARCHAR(255) NOT NULL DEFAULT '', + `body` TEXT NOT NULL, + `htmlbody` TEXT NOT NULL, + `attachments` TEXT NOT NULL, + `params` TEXT NOT NULL, + PRIMARY KEY (`template_id`, `language`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `#__mail_templates` +-- + +INSERT INTO `#__mail_templates` (`template_id`, `language`, `subject`, `body`, `htmlbody`, `attachments`, `params`) VALUES ('com_config.test_mail', '', 'COM_CONFIG_SENDMAIL_SUBJECT', 'COM_CONFIG_SENDMAIL_BODY', '', '', '{"tags":["sitename","method"]}'); diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index d29e9b540d026..dfb27e67a63e1 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -35,7 +35,7 @@ COMMENT ON COLUMN "#__assets"."rules" IS 'JSON encoded access control.'; -- INSERT INTO "#__assets" ("id", "parent_id", "lft", "rgt", "level", "name", "title", "rules") VALUES -(1, 0, 0, 131, 0, 'root.1', 'Root Asset', '{"core.login.site":{"6":1,"2":1},"core.login.admin":{"6":1},"core.login.api":{"6":1},"core.login.offline":{"6":1},"core.admin":{"8":1},"core.manage":{"7":1},"core.create":{"6":1,"3":1},"core.delete":{"6":1},"core.edit":{"6":1,"4":1},"core.edit.state":{"6":1,"5":1},"core.edit.own":{"6":1,"3":1}}'), +(1, 0, 0, 155, 0, 'root.1', 'Root Asset', '{"core.login.site":{"6":1,"2":1},"core.login.admin":{"6":1},"core.login.api":{"6":1},"core.login.offline":{"6":1},"core.admin":{"8":1},"core.manage":{"7":1},"core.create":{"6":1,"3":1},"core.delete":{"6":1},"core.edit":{"6":1,"4":1},"core.edit.state":{"6":1,"5":1},"core.edit.own":{"6":1,"3":1}}'), (2, 1, 1, 2, 1, 'com_admin', 'com_admin', '{}'), (3, 1, 3, 6, 1, 'com_banners', 'com_banners', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), (4, 1, 7, 8, 1, 'com_cache', 'com_cache', '{"core.admin":{"7":1},"core.manage":{"7":1}}'), @@ -52,30 +52,30 @@ INSERT INTO "#__assets" ("id", "parent_id", "lft", "rgt", "level", "name", "titl (15, 1, 51, 52, 1, 'com_media', 'com_media', '{"core.admin":{"7":1},"core.manage":{"6":1},"core.create":{"3":1},"core.delete":{"5":1}}'), (16, 1, 53, 56, 1, 'com_menus', 'com_menus', '{"core.admin":{"7":1}}'), (17, 1, 57, 58, 1, 'com_messages', 'com_messages', '{"core.admin":{"7":1},"core.manage":{"7":1}}'), -(18, 1, 59, 94, 1, 'com_modules', 'com_modules', '{"core.admin":{"7":1}}'), -(19, 1, 95, 98, 1, 'com_newsfeeds', 'com_newsfeeds', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), -(20, 1, 99, 100, 1, 'com_plugins', 'com_plugins', '{"core.admin":{"7":1}}'), -(21, 1, 101, 102, 1, 'com_redirect', 'com_redirect', '{"core.admin":{"7":1}}'), -(23, 1, 105, 106, 1, 'com_templates', 'com_templates', '{"core.admin":{"7":1}}'), -(24, 1, 107, 110, 1, 'com_users', 'com_users', '{"core.admin":{"7":1}}'), -(26, 1, 113, 114, 1, 'com_wrapper', 'com_wrapper', '{}'), +(18, 1, 59, 118, 1, 'com_modules', 'com_modules', '{"core.admin":{"7":1}}'), +(19, 1, 119, 122, 1, 'com_newsfeeds', 'com_newsfeeds', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), +(20, 1, 123, 124, 1, 'com_plugins', 'com_plugins', '{"core.admin":{"7":1}}'), +(21, 1, 125, 126, 1, 'com_redirect', 'com_redirect', '{"core.admin":{"7":1}}'), +(23, 1, 129, 130, 1, 'com_templates', 'com_templates', '{"core.admin":{"7":1}}'), +(24, 1, 131, 134, 1, 'com_users', 'com_users', '{"core.admin":{"7":1}}'), +(26, 1, 137, 138, 1, 'com_wrapper', 'com_wrapper', '{}'), (27, 8, 18, 19, 2, 'com_content.category.2', 'Uncategorised', '{}'), (28, 3, 4, 5, 2, 'com_banners.category.3', 'Uncategorised', '{}'), (29, 7, 14, 15, 2, 'com_contact.category.4', 'Uncategorised', '{}'), -(30, 19, 96, 97, 2, 'com_newsfeeds.category.5', 'Uncategorised', '{}'), -(32, 24, 108, 109, 2, 'com_users.category.7', 'Uncategorised', '{}'), -(33, 1, 117, 118, 1, 'com_finder', 'com_finder', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), -(34, 1, 119, 120, 1, 'com_joomlaupdate', 'com_joomlaupdate', '{}'), -(35, 1, 121, 122, 1, 'com_tags', 'com_tags', '{}'), -(36, 1, 123, 124, 1, 'com_contenthistory', 'com_contenthistory', '{}'), -(37, 1, 125, 126, 1, 'com_ajax', 'com_ajax', '{}'), -(38, 1, 127, 128, 1, 'com_postinstall', 'com_postinstall', '{}'), +(30, 19, 120, 121, 2, 'com_newsfeeds.category.5', 'Uncategorised', '{}'), +(32, 24, 132, 133, 2, 'com_users.category.7', 'Uncategorised', '{}'), +(33, 1, 141, 142, 1, 'com_finder', 'com_finder', '{"core.admin":{"7":1},"core.manage":{"6":1}}'), +(34, 1, 143, 144, 1, 'com_joomlaupdate', 'com_joomlaupdate', '{}'), +(35, 1, 145, 146, 1, 'com_tags', 'com_tags', '{}'), +(36, 1, 147, 148, 1, 'com_contenthistory', 'com_contenthistory', '{}'), +(37, 1, 149, 150, 1, 'com_ajax', 'com_ajax', '{}'), +(38, 1, 151, 152, 1, 'com_postinstall', 'com_postinstall', '{}'), (39, 18, 60, 61, 2, 'com_modules.module.1', 'Main Menu', '{}'), (40, 18, 62, 63, 2, 'com_modules.module.2', 'Login', '{}'), (41, 18, 64, 65, 2, 'com_modules.module.3', 'Popular Articles', '{}'), (42, 18, 66, 67, 2, 'com_modules.module.4', 'Recently Added Articles', '{}'), (43, 18, 68, 69, 2, 'com_modules.module.8', 'Toolbar', '{}'), -(44, 18, 70, 71, 2, 'com_modules.module.9', 'Quick Icons', '{}'), +(44, 18, 70, 71, 2, 'com_modules.module.9', 'Update Checks', '{}'), (45, 18, 72, 73, 2, 'com_modules.module.10', 'Logged-in Users', '{}'), (46, 18, 74, 75, 2, 'com_modules.module.12', 'Admin Menu', '{}'), (48, 18, 78, 79, 2, 'com_modules.module.14', 'User Status', '{}'), @@ -95,13 +95,26 @@ INSERT INTO "#__assets" ("id", "parent_id", "lft", "rgt", "level", "name", "titl (62, 56, 31, 32, 3, 'com_content.transition.2', 'Unpublish', '{}'), (63, 56, 33, 34, 3, 'com_content.transition.3', 'Archive', '{}'), (64, 56, 35, 36, 3, 'com_content.transition.4', 'Trash', '{}'), -(65, 1, 111, 112, 1, 'com_privacy', 'com_privacy', '{}'), -(66, 1, 115, 116, 1, 'com_actionlogs', 'com_actionlogs', '{}'), -(67, 18, 76, 77, 2, 'com_modules.module.88', 'Latest Actions', '{}'), -(68, 18, 80, 81, 2, 'com_modules.module.89', 'Privacy Dashboard', '{}'), -(69, 1, 129, 130, 1, 'com_csp', 'com_csp', '{}'); - -SELECT setval('#__assets_id_seq', 70, false); +(65, 1, 129, 130, 1, 'com_privacy', 'com_privacy', '{}'), +(66, 1, 131, 132, 1, 'com_actionlogs', 'com_actionlogs', '{}'), +(67, 18, 74, 75, 2, 'com_modules.module.88', 'Latest Actions', '{}'), +(68, 18, 76, 77, 2, 'com_modules.module.89', 'Privacy Dashboard', '{}'), +(69, 1, 153, 154, 1, 'com_csp', 'com_csp', '{}'), +(70, 18, 90, 91, 2, 'com_modules.module.103', 'Site', '{}'), +(71, 18, 92, 93, 2, 'com_modules.module.104', 'System', '{}'), +(72, 18, 94, 95, 2, 'com_modules.module.91', 'System Dashboard', '{}'), +(73, 18, 96, 97, 2, 'com_modules.module.92', 'Content Dashboard', '{}'), +(74, 18, 98, 99, 2, 'com_modules.module.93', 'Menus Dashboard', '{}'), +(75, 18, 100, 101, 2, 'com_modules.module.94', 'Components Dashboard', '{}'), +(76, 18, 102, 103, 2, 'com_modules.module.95', 'Users Dashboard', '{}'), +(77, 18, 104, 105, 2, 'com_modules.module.99', 'Frontend Link', '{}'), +(78, 18, 106, 107, 2, 'com_modules.module.100', 'Messages', '{}'), +(79, 18, 108, 109, 2, 'com_modules.module.101', 'Post Install Messages', '{}'), +(80, 18, 110, 111, 2, 'com_modules.module.102', 'User Status', '{}'), +(82, 18, 114, 115, 2, 'com_modules.module.105', '3rd Party', '{}'), +(83, 18, 116, 117, 2, 'com_modules.module.106', 'Help Dashboard', '{}'); + +SELECT setval('#__assets_id_seq', 84, false); -- -- Table structure for table `#__associations` @@ -150,12 +163,12 @@ CREATE TABLE IF NOT EXISTS "#__banners" ( "checked_out_time" timestamp without time zone, "publish_up" timestamp without time zone, "publish_down" timestamp without time zone, - "reset" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, - "created" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "reset" timestamp without time zone, + "created" timestamp without time zone NOT NULL, "language" varchar(7) DEFAULT '' NOT NULL, "created_by" bigint DEFAULT 0 NOT NULL, "created_by_alias" varchar(255) DEFAULT '' NOT NULL, - "modified" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "modified" timestamp without time zone NOT NULL, "modified_by" bigint DEFAULT 0 NOT NULL, "version" bigint DEFAULT 1 NOT NULL, PRIMARY KEY ("id") @@ -178,7 +191,7 @@ CREATE TABLE IF NOT EXISTS "#__banner_clients" ( "extrainfo" text NOT NULL, "state" smallint DEFAULT 0 NOT NULL, "checked_out" bigint DEFAULT 0 NOT NULL, - "checked_out_time" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "checked_out_time" timestamp without time zone, "metakey" text NOT NULL, "own_prefix" smallint DEFAULT 0 NOT NULL, "metakey_prefix" varchar(255) DEFAULT '' NOT NULL, @@ -338,15 +351,15 @@ CREATE TABLE IF NOT EXISTS "#__content" ( "fulltext" text NOT NULL, "state" smallint DEFAULT 0 NOT NULL, "catid" bigint DEFAULT 0 NOT NULL, - "created" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "created" timestamp without time zone NOT NULL, "created_by" bigint DEFAULT 0 NOT NULL, "created_by_alias" varchar(255) DEFAULT '' NOT NULL, - "modified" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "modified" timestamp without time zone NOT NULL, "modified_by" bigint DEFAULT 0 NOT NULL, "checked_out" bigint DEFAULT 0 NOT NULL, - "checked_out_time" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, - "publish_up" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, - "publish_down" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "checked_out_time" timestamp without time zone, + "publish_up" timestamp without time zone, + "publish_down" timestamp without time zone, "images" text NOT NULL, "urls" text NOT NULL, "attribs" varchar(5120) NOT NULL, @@ -422,7 +435,7 @@ COMMENT ON COLUMN "#__content_types"."content_history_options" IS 'JSON string f -- INSERT INTO "#__content_types" ("type_id", "type_title", "type_alias", "table", "rules", "field_mappings", "router", "content_history_options") VALUES -(1, 'Article', 'com_content.article', '{"special":{"dbtable":"#__content","key":"id","type":"Content","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"title","core_state":"state","core_alias":"alias","core_created_time":"created","core_modified_time":"modified","core_body":"introtext", "core_hits":"hits","core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"attribs", "core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"images", "core_urls":"urls", "core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"catid", "asset_id":"asset_id", "note":"note"}, "special":{"fulltext":"fulltext"}}', 'ContentHelperRoute::getArticleRoute', '{"formFile":"administrator\\/components\\/com_content\\/forms\\/article.xml", "hideFields":["asset_id","checked_out","checked_out_time","version"],"ignoreChanges":["modified_by", "modified", "checked_out", "checked_out_time", "version", "hits"],"convertToInt":["publish_up", "publish_down", "featured", "ordering"],"displayLookup":[{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ]}'), +(1, 'Article', 'com_content.article', '{"special":{"dbtable":"#__content","key":"id","type":"Content","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"title","core_state":"state","core_alias":"alias","core_created_time":"created","core_modified_time":"modified","core_body":"introtext", "core_hits":"hits","core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"attribs", "core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"images", "core_urls":"urls", "core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"catid", "asset_id":"asset_id", "note":"note"}, "special":{"fulltext":"fulltext"}}', 'ContentHelperRoute::getArticleRoute', '{"formFile":"administrator\\/components\\/com_content\\/forms\\/article.xml", "hideFields":["asset_id","checked_out","checked_out_time","version"],"ignoreChanges":["modified_by", "modified", "checked_out", "checked_out_time", "version", "hits", "ordering"],"convertToInt":["publish_up", "publish_down", "featured", "ordering"],"displayLookup":[{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ]}'), (2, 'Contact', 'com_contact.contact', '{"special":{"dbtable":"#__contact_details","key":"id","type":"Contact","prefix":"ContactTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"name","core_state":"published","core_alias":"alias","core_created_time":"created","core_modified_time":"modified","core_body":"address", "core_hits":"hits","core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"params", "core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"image", "core_urls":"webpage", "core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"catid", "asset_id":"null"}, "special":{"con_position":"con_position","suburb":"suburb","state":"state","country":"country","postcode":"postcode","telephone":"telephone","fax":"fax","misc":"misc","email_to":"email_to","default_con":"default_con","user_id":"user_id","mobile":"mobile","sortname1":"sortname1","sortname2":"sortname2","sortname3":"sortname3"}}', 'ContactHelperRoute::getContactRoute', '{"formFile":"administrator\\/components\\/com_contact\\/forms\\/contact.xml","hideFields":["default_con","checked_out","checked_out_time","version"],"ignoreChanges":["modified_by", "modified", "checked_out", "checked_out_time", "version", "hits"],"convertToInt":["publish_up", "publish_down", "featured", "ordering"], "displayLookup":[ {"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"user_id","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ] }'), (3, 'Newsfeed', 'com_newsfeeds.newsfeed', '{"special":{"dbtable":"#__newsfeeds","key":"id","type":"Newsfeed","prefix":"NewsfeedsTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"name","core_state":"published","core_alias":"alias","core_created_time":"created","core_modified_time":"modified","core_body":"description", "core_hits":"hits","core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"params", "core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"images", "core_urls":"link", "core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"catid", "asset_id":"null"}, "special":{"numarticles":"numarticles","cache_time":"cache_time","rtl":"rtl"}}', 'NewsfeedsHelperRoute::getNewsfeedRoute', '{"formFile":"administrator\\/components\\/com_newsfeeds\\/forms\\/newsfeed.xml","hideFields":["asset_id","checked_out","checked_out_time","version"],"ignoreChanges":["modified_by", "modified", "checked_out", "checked_out_time", "version", "hits"],"convertToInt":["publish_up", "publish_down", "featured", "ordering"],"displayLookup":[{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ]}'), (4, 'User', 'com_users.user', '{"special":{"dbtable":"#__users","key":"id","type":"User","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}', '', '{"common":{"core_content_item_id":"id","core_title":"name","core_state":"null","core_alias":"username","core_created_time":"registerdate","core_modified_time":"lastvisitDate","core_body":"null", "core_hits":"null","core_publish_up":"null","core_publish_down":"null","access":"null", "core_params":"params", "core_featured":"null", "core_metadata":"null", "core_language":"null", "core_images":"null", "core_urls":"null", "core_version":"null", "core_ordering":"null", "core_metakey":"null", "core_metadesc":"null", "core_catid":"null", "asset_id":"null"}, "special":{}}', '', ''), @@ -473,8 +486,8 @@ CREATE TABLE IF NOT EXISTS "#__csp" ( "blocked_uri" varchar(500) NOT NULL DEFAULT '', "directive" varchar(500) NOT NULL DEFAULT '', "client" varchar(500) NOT NULL DEFAULT '', - "created" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, - "modified" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "created" timestamp without time zone NOT NULL, + "modified" timestamp without time zone NOT NULL, "published" smallint DEFAULT 0 NOT NULL, PRIMARY KEY ("id") ); @@ -549,6 +562,7 @@ INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", (0, 'com_actionlogs', 'component', 'com_actionlogs', '', 1, 1, 1, 1, '', '{"ip_logging":0,"csv_delimiter":",","loggable_extensions":["com_banners","com_cache","com_categories","com_checkin","com_config","com_contact","com_content","com_installer","com_media","com_menus","com_messages","com_modules","com_newsfeeds","com_plugins","com_redirect","com_tags","com_templates","com_users"]}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'com_workflow', 'component', 'com_workflow', '', 1, 1, 0, 1, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'com_csp', 'component', 'com_csp', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'com_mails', 'component', 'com_mails', '', 1, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'Joomla! Platform', 'library', 'joomla', '', 0, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'PHPass', 'library', 'phpass', '', 0, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_articles_archive', 'module', 'mod_articles_archive', '', 0, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), @@ -578,10 +592,14 @@ INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", (0, 'mod_latest', 'module', 'mod_latest', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_logged', 'module', 'mod_logged', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_login', 'module', 'mod_login', '', 1, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_loginsupport', 'module', 'mod_loginsupport', '', 1, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_menu', 'module', 'mod_menu', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_popular', 'module', 'mod_popular', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_quickicon', 'module', 'mod_quickicon', '', 1, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), -(0, 'mod_status', 'module', 'mod_status', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_frontend', 'module', 'mod_frontend', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_messages', 'module', 'mod_messages', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_post_installation_messages', 'module', 'mod_post_installation_messages', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_user', 'module', 'mod_user', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_title', 'module', 'mod_title', '', 1, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_toolbar', 'module', 'mod_toolbar', '', 1, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_multilangstatus', 'module', 'mod_multilangstatus', '', 1, 1, 1, 0, '', '{"cache":"0"}', 0, '1970-01-01 00:00:00', 0, 0), @@ -592,6 +610,8 @@ INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", (0, 'mod_sampledata', 'module', 'mod_sampledata', '', 1, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_latestactions', 'module', 'mod_latestactions', '', 1, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'mod_privacy_dashboard', 'module', 'mod_privacy_dashboard', '', 1, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_submenu', 'module', 'mod_submenu', '', 1, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'mod_privacy_status', 'module', 'mod_privacy_status', '', 1, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_authentication_joomla', 'plugin', 'joomla', 'authentication', 0, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_authentication_ldap', 'plugin', 'ldap', 'authentication', 0, 0, 1, 0, '', '{"host":"","port":"389","use_ldapV3":"0","negotiate_tls":"0","no_referrals":"0","auth_method":"bind","base_dn":"","search_string":"","users_dn":"","username":"admin","password":"bobby7","ldap_fullname":"fullName","ldap_email":"mail","ldap_uid":"uid"}', 0, '1970-01-01 00:00:00', 3, 0), (0, 'plg_content_contact', 'plugin', 'contact', 'content', 0, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 1, 0), @@ -625,7 +645,7 @@ INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", (0, 'plg_quickicon_extensionupdate', 'plugin', 'extensionupdate', 'quickicon', 0, 1, 1, 1, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_captcha_recaptcha', 'plugin', 'recaptcha', 'captcha', 0, 0, 1, 0, '', '{"public_key":"","private_key":"","theme":"clean"}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_system_highlight', 'plugin', 'highlight', 'system', 0, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 7, 0), -(0, 'plg_content_finder', 'plugin', 'finder', 'content', 0, 0, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_content_finder', 'plugin', 'finder', 'content', 0, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_finder_categories', 'plugin', 'categories', 'finder', 0, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 1, 0), (0, 'plg_finder_contacts', 'plugin', 'contacts', 'finder', 0, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 2, 0), (0, 'plg_finder_content', 'plugin', 'content', 'finder', 0, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 3, 0), @@ -689,7 +709,21 @@ INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", (0, 'plg_extension_finder', 'plugin', 'finder', 'extension', 0, 1, 1, 0, '', '', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_system_skipto', 'plugin', 'skipto', 'system', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_api-authentication_basic', 'plugin', 'basic', 'api-authentication', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_banners', 'plugin', 'banners', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_config', 'plugin', 'config', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_contact', 'plugin', 'contact', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_webservices_content', 'plugin', 'content', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_languages', 'plugin', 'languages', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_messages', 'plugin', 'messages', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_modules', 'plugin', 'modules', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_menus', 'plugin', 'menus', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_newsfeeds', 'plugin', 'newsfeeds', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_plugins', 'plugin', 'plugins', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_privacy', 'plugin', 'privacy', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_redirect', 'plugin', 'redirect', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_tags', 'plugin', 'tags', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_templates', 'plugin', 'templates', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), +(0, 'plg_webservices_users', 'plugin', 'users', 'webservices', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_filesystem_local', 'plugin', 'local', 'filesystem', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_media-action_crop', 'plugin', 'crop', 'media-action', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), (0, 'plg_media-action_resize', 'plugin', 'resize', 'media-action', 0, 1, 1, 0, '', '{}', 0, '1970-01-01 00:00:00', 0, 0), @@ -956,9 +990,8 @@ CREATE TABLE IF NOT EXISTS "#__finder_terms_common" ( "term" varchar(75) NOT NULL, "language" varchar(7) DEFAULT '' NOT NULL, "custom" integer DEFAULT 0 NOT NULL, - CONSTRAINT "#__finder_terms_idx_term" UNIQUE ("term", "language") + CONSTRAINT "#__finder_terms_common_idx_term_language" UNIQUE ("term", "language") ); -CREATE INDEX "#__finder_terms_common_idx_word_lang" on "#__finder_terms_common" ("term", "language"); CREATE INDEX "#__finder_terms_common_idx_lang" on "#__finder_terms_common" ("language"); -- @@ -1243,7 +1276,7 @@ CREATE TABLE IF NOT EXISTS "#__menu" ( "level" integer DEFAULT 0 NOT NULL, "component_id" integer DEFAULT 0 NOT NULL, "checked_out" integer DEFAULT 0 NOT NULL, - "checked_out_time" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "checked_out_time" timestamp without time zone, "browserNav" smallint DEFAULT 0 NOT NULL, "access" bigint DEFAULT 0 NOT NULL, "img" varchar(255) DEFAULT '' NOT NULL, @@ -1254,8 +1287,8 @@ CREATE TABLE IF NOT EXISTS "#__menu" ( "home" smallint DEFAULT 0 NOT NULL, "language" varchar(7) DEFAULT '' NOT NULL, "client_id" smallint DEFAULT 0 NOT NULL, - "publish_up" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, - "publish_down" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "publish_up" timestamp without time zone, + "publish_down" timestamp without time zone, PRIMARY KEY ("id"), CONSTRAINT "#__menu_idx_client_id_parent_id_alias_language" UNIQUE ("client_id", "parent_id", "alias", "language") ); @@ -1290,42 +1323,44 @@ COMMENT ON COLUMN "#__menu"."home" IS 'Indicates if this menu item is the home o -- Dumping data for table `#__menu` -- -INSERT INTO "#__menu" ("id", "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 -(1, '', 'Menu_Item_Root', 'root', '', '', '', '', 1, 0, 0, 0, 0, '1970-01-01 00:00:00', 0, 0, '', 0, '', 0, 37, 0, '*', 0); -INSERT INTO "#__menu" ("id", "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") -SELECT 2, 'main', 'com_banners', 'Banners', '', 'Banners', 'index.php?option=com_banners', 'component', 1, 1, 1, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:banners', 0, '', 1, 10, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_banners'; -INSERT INTO "#__menu" ("id", "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") -SELECT 3, 'main', 'com_banners', 'Banners', '', 'Banners/Banners', 'index.php?option=com_banners&view=banners', 'component', 1, 2, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:banners', 0, '', 2, 3, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_banners'; -INSERT INTO "#__menu" ("id", "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") -SELECT 4, 'main', 'com_banners_categories', 'Categories', '', 'Banners/Categories', 'index.php?option=com_categories&view=categories&extension=com_banners', 'component', 1, 2, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:banners-cat', 0, '', 4, 5, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_categories'; -INSERT INTO "#__menu" ("id", "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") -SELECT 5, 'main', 'com_banners_clients', 'Clients', '', 'Banners/Clients', 'index.php?option=com_banners&view=clients', 'component', 1, 2, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:banners-clients', 0, '', 6, 7, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_banners'; -INSERT INTO "#__menu" ("id", "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") -SELECT 6, 'main', 'com_banners_tracks', 'Tracks', '', 'Banners/Tracks', 'index.php?option=com_banners&view=tracks', 'component', 1, 2, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:banners-tracks', 0, '', 8, 9, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_banners'; -INSERT INTO "#__menu" ("id", "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") -SELECT 7, 'main', 'com_contact', 'Contacts', '', 'Contacts', 'index.php?option=com_contact', 'component', 1, 1, 1, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:contact', 0, '', 11, 16, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_contact'; -INSERT INTO "#__menu" ("id", "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") -SELECT 8, 'main', 'com_contact_contacts', 'Contacts', '', 'Contacts/Contacts', 'index.php?option=com_contact', 'component', 1, 7, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:contact', 0, '', 12, 13, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_contact'; -INSERT INTO "#__menu" ("id", "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") -SELECT 9, 'main', 'com_contact_categories', 'Categories', '', 'Contacts/Categories', 'index.php?option=com_categories&view=categories&extension=com_contact', 'component', 1, 7, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:contact-cat', 0, '', 14, 15, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_categories'; -INSERT INTO "#__menu" ("id", "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") -SELECT 10, 'main', 'com_messages', 'Messaging', '', 'Messaging', 'index.php?option=com_messages', 'component', 1, 1, 1, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:messages', 0, '', 17, 20, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_messages'; -INSERT INTO "#__menu" ("id", "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") -SELECT 11, 'main', 'com_messages_add', 'New Private Message', '', 'Messaging/New Private Message', 'index.php?option=com_messages&task=message.add', 'component', 1, 10, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:messages-add', 0, '', 18, 19, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_messages'; -INSERT INTO "#__menu" ("id", "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") -SELECT 12, 'main', 'com_newsfeeds', 'News Feeds', '', 'News Feeds', 'index.php?option=com_newsfeeds', 'component', 1, 1, 1, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:newsfeeds', 0, '', 21, 26, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_newsfeeds'; -INSERT INTO "#__menu" ("id", "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") -SELECT 13, 'main', 'com_newsfeeds_feeds', 'Feeds', '', 'News Feeds/Feeds', 'index.php?option=com_newsfeeds&view=newsfeeds', 'component', 1, 13, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:newsfeeds', 0, '', 22, 23, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_newsfeeds'; -INSERT INTO "#__menu" ("id", "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") -SELECT 14, 'main', 'com_newsfeeds_categories', 'Categories', '', 'News Feeds/Categories', 'index.php?option=com_categories&view=categories&extension=com_newsfeeds', 'component', 1, 13, 2, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:newsfeeds-cat', 0, '', 24, 25, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_categories'; -INSERT INTO "#__menu" ("id", "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") -SELECT 15, 'main', 'com_finder', 'Smart Search', '', 'Smart Search', 'index.php?option=com_finder&view=index', 'component', 1, 1, 1, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:finder', 0, '', 27, 28, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_finder'; -INSERT INTO "#__menu" ("id", "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") -SELECT 16, 'main', 'com_tags', 'Tags', '', 'Tags', 'index.php?option=com_tags&view=tags', 'component', 1, 1, 1, "extension_id", 0, '1970-01-01 00:00:00', 0, 1, 'class:tags', 0, '', 29, 30, 0, '', 1 FROM "#__extensions" WHERE "name" = 'com_tags'; -INSERT INTO "#__menu" ("id", "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") -SELECT 17, 'main', 'com_associations', 'Multilingual Associations', '', 'Multilingual Associations', 'index.php?option=com_associations&view=associations', 'component', 1, 1, 1, "extension_id", 0, '1970-01-01 00:00:00', 0, 0, 'class:associations', 0, '', 31, 32, 0, '*', 1 FROM "#__extensions" WHERE "name" = 'com_associations'; -INSERT INTO "#__menu" ("id", "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") -SELECT 101, 'mainmenu', 'Home', 'home', '', 'home', 'index.php?option=com_content&view=featured', 'component', 1, 1, 1, "extension_id", 0, '1970-01-01 00:00:00', 0, 1, '', 0, '{"featured_categories":[""],"layout_type":"blog","num_leading_articles":"1","num_intro_articles":"3","num_columns":"3","num_links":"0","multi_column_order":"1","orderby_pri":"","orderby_sec":"front","order_date":"","show_pagination":"2","show_pagination_results":"1","show_title":"","link_titles":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":","show_hits":"","show_noauth":"","show_feed_link":"1","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 35, 36, 1, '*', 0 FROM "#__extensions" WHERE "name" = 'com_content'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") VALUES +(1, '', 'Menu_Item_Root', 'root', '', '', '', '', 1, 0, 0, 0, 0, NULL, 0, 0, '', 0, '', 0, 37, 0, '*', 0, NULL, NULL); +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 2, 'main', 'com_banners', 'Banners', '', 'Banners', 'index.php?option=com_banners', 'component', 1, 1, 1, "extension_id", 0, NULL, 0, 0, 'class:banners', 0, '', 1, 10, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_banners'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 3, 'main', 'com_banners', 'Banners', '', 'Banners/Banners', 'index.php?option=com_banners&view=banners', 'component', 1, 2, 2, "extension_id", 0, NULL, 0, 0, 'class:banners', 0, '', 2, 3, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_banners'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 4, 'main', 'com_banners_categories', 'Categories', '', 'Banners/Categories', 'index.php?option=com_categories&view=categories&extension=com_banners', 'component', 1, 2, 2, "extension_id", 0, NULL, 0, 0, 'class:banners-cat', 0, '', 4, 5, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_categories'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 5, 'main', 'com_banners_clients', 'Clients', '', 'Banners/Clients', 'index.php?option=com_banners&view=clients', 'component', 1, 2, 2, "extension_id", 0, NULL, 0, 0, 'class:banners-clients', 0, '', 6, 7, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_banners'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 6, 'main', 'com_banners_tracks', 'Tracks', '', 'Banners/Tracks', 'index.php?option=com_banners&view=tracks', 'component', 1, 2, 2, "extension_id", 0, NULL, 0, 0, 'class:banners-tracks', 0, '', 8, 9, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_banners'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 7, 'main', 'com_contact', 'Contacts', '', 'Contacts', 'index.php?option=com_contact', 'component', 1, 1, 1, "extension_id", 0, NULL, 0, 0, 'class:contact', 0, '', 11, 16, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_contact'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 8, 'main', 'com_contact_contacts', 'Contacts', '', 'Contacts/Contacts', 'index.php?option=com_contact&view=contacts', 'component', 1, 7, 2, "extension_id", 0, NULL, 0, 0, 'class:contact', 0, '', 12, 13, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_contact'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 9, 'main', 'com_contact_categories', 'Categories', '', 'Contacts/Categories', 'index.php?option=com_categories&view=categories&extension=com_contact', 'component', 1, 7, 2, "extension_id", 0, NULL, 0, 0, 'class:contact-cat', 0, '', 14, 15, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_categories'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 10, 'main', 'com_messages', 'Messaging', '', 'Messaging', 'index.php?option=com_messages', 'component', 1, 1, 1, "extension_id", 0, NULL, 0, 0, 'class:messages', 0, '', 17, 20, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_messages'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 11, 'main', 'com_messages_add', 'New Private Message', '', 'Messaging/New Private Message', 'index.php?option=com_messages&task=message.add', 'component', 1, 10, 2, "extension_id", 0, NULL, 0, 0, 'class:messages-add', 0, '', 18, 19, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_messages'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 12, 'main', 'com_newsfeeds', 'News Feeds', '', 'News Feeds', 'index.php?option=com_newsfeeds', 'component', 1, 1, 1, "extension_id", 0, NULL, 0, 0, 'class:newsfeeds', 0, '', 21, 26, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_newsfeeds'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 13, 'main', 'com_newsfeeds_feeds', 'Feeds', '', 'News Feeds/Feeds', 'index.php?option=com_newsfeeds&view=newsfeeds', 'component', 1, 12, 2, "extension_id", 0, NULL, 0, 0, 'class:newsfeeds', 0, '', 22, 23, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_newsfeeds'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 14, 'main', 'com_newsfeeds_categories', 'Categories', '', 'News Feeds/Categories', 'index.php?option=com_categories&view=categories&extension=com_newsfeeds', 'component', 1, 12, 2, "extension_id", 0, NULL, 0, 0, 'class:newsfeeds-cat', 0, '', 24, 25, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_categories'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 15, 'main', 'com_finder', 'Smart Search', '', 'Smart Search', 'index.php?option=com_finder&view=index', 'component', 1, 1, 1, "extension_id", 0, NULL, 0, 0, 'class:finder', 0, '', 27, 28, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_finder'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 16, 'main', 'com_tags', 'Tags', '', 'Tags', 'index.php?option=com_tags&view=tags', 'component', 1, 1, 1, "extension_id", 0, NULL, 0, 1, 'class:tags', 0, '', 29, 30, 0, '', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_tags'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 17, 'main', 'com_associations', 'Multilingual Associations', '', 'Multilingual Associations', 'index.php?option=com_associations&view=associations', 'component', 1, 1, 1, "extension_id", 0, NULL, 0, 0, 'class:associations', 0, '', 31, 32, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_associations'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 18, 'main', 'com_messages_manager', 'Private Messages', '', 'Messaging/Private Messages', 'index.php?option=com_messages&view=messages', 'component', 1, 10, 2, "extension_id", 0, NULL, 0, 0, 'class:messages-add', 0, '', 18, 19, 0, '*', 1, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_messages'; +INSERT INTO "#__menu" ("id", "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", "publish_up", "publish_down") +SELECT 101, 'mainmenu', 'Home', 'home', '', 'home', 'index.php?option=com_content&view=featured', 'component', 1, 1, 1, "extension_id", 0, NULL, 0, 1, '', 0, '{"featured_categories":[""],"layout_type":"blog","num_leading_articles":"1","num_intro_articles":"3","num_columns":"3","num_links":"0","multi_column_order":"1","orderby_pri":"","orderby_sec":"front","order_date":"","show_pagination":"2","show_pagination_results":"1","show_title":"","link_titles":"","show_intro":"","info_block_position":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_vote":"","show_readmore":"","show_readmore_title":"","show_hits":"","show_noauth":"","show_feed_link":"1","feed_summary":"","menu-anchor_title":"","menu-anchor_css":"","menu_image":"","menu_text":1,"page_title":"","show_page_heading":1,"page_heading":"","pageclass_sfx":"","menu-meta_description":"","menu-meta_keywords":"","robots":"","secure":0}', 35, 36, 1, '*', 0, NULL, NULL FROM "#__extensions" WHERE "name" = 'com_content'; SELECT setval('#__menu_id_seq', 102, false); @@ -1363,7 +1398,7 @@ CREATE TABLE IF NOT EXISTS "#__messages" ( "user_id_from" bigint DEFAULT 0 NOT NULL, "user_id_to" bigint DEFAULT 0 NOT NULL, "folder_id" smallint DEFAULT 0 NOT NULL, - "date_time" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "date_time" timestamp without time zone NOT NULL, "state" smallint DEFAULT 0 NOT NULL, "priority" smallint DEFAULT 0 NOT NULL, "subject" varchar(255) DEFAULT '' NOT NULL, @@ -1419,23 +1454,41 @@ CREATE INDEX "#__modules_idx_language" ON "#__modules" ("language"); INSERT INTO "#__modules" ("id", "asset_id", "title", "note", "content", "ordering", "position", "checked_out", "checked_out_time", "publish_up", "publish_down", "published", "module", "access", "showtitle", "params", "client_id", "language") VALUES (1, 39, 'Main Menu', '', '', 1, 'sidebar-right', 0, NULL, NULL, NULL, 1, 'mod_menu', 1, 1, '{"menutype":"mainmenu","startLevel":"0","endLevel":"0","showAllChildren":"1","tag_id":"","class_sfx":"","window_open":"","layout":"","moduleclass_sfx":"","cache":"1","cache_time":"900","cachemode":"itemid"}', 0, '*'), (2, 40, 'Login', '', '', 1, 'login', 0, NULL, NULL, NULL, 1, 'mod_login', 1, 1, '', 1, '*'), -(3, 41, 'Popular Articles', '', '', 3, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_popular', 3, 1, '{"count":"5","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0","bootstrap_size": "6"}', 1, '*'), -(4, 42, 'Recently Added Articles', '', '', 4, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_latest', 3, 1, '{"count":"5","ordering":"c_dsc","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0","bootstrap_size": "6"}', 1, '*'), +(3, 41, 'Popular Articles', '', '', 3, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_popular', 3, 1, '{"count":"5","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), +(4, 42, 'Recently Added Articles', '', '', 4, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_latest', 3, 1, '{"count":"5","ordering":"c_dsc","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), (8, 43, 'Toolbar', '', '', 1, 'toolbar', 0, NULL, NULL, NULL, 1, 'mod_toolbar', 3, 1, '', 1, '*'), -(9, 44, 'Quick Icons', '', '', 1, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 3, 1, '', 1, '*'), -(10, 45, 'Logged-in Users', '', '', 2, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_logged', 3, 1, '{"count":"5","name":"1","layout":"_:default","moduleclass_sfx":"","cache":"0","bootstrap_size": "6"}', 1, '*'), +(9, 44, 'Update Checks', '', '', 3, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 3, 1, '{"context":"update_quickicon","header_icon":"fa fa-sync","show_jupdate":"1","show_eupdate":"1","show_oupdate":"1","show_privacy":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":""}', 1, '*'), +(10, 45, 'Logged-in Users', '', '', 2, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_logged', 3, 1, '{"count":"5","name":"1","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), (12, 46, 'Admin Menu', '', '', 1, 'menu', 0, NULL, NULL, NULL, 1, 'mod_menu', 3, 1, '{"layout":"","moduleclass_sfx":"","shownew":"1","showhelp":"1","cache":"0"}', 1, '*'), -(14, 48, 'User Status', '', '', 2, 'status', 0, NULL, NULL, NULL, 1, 'mod_status', 3, 1, '', 1, '*'), (15, 49, 'Title', '', '', 1, 'title', 0, NULL, NULL, NULL, 1, 'mod_title', 3, 1, '', 1, '*'), (16, 50, 'Login Form', '', '', 7, 'sidebar-right', 0, NULL, NULL, NULL, 1, 'mod_login', 1, 1, '{"greeting":"1","name":"0"}', 0, '*'), (17, 51, 'Breadcrumbs', '', '', 1, 'breadcrumbs', 0, NULL, NULL, NULL, 1, 'mod_breadcrumbs', 1, 1, '{"moduleclass_sfx":"","showHome":"1","homeText":"","showComponent":"1","separator":"","cache":"0","cache_time":"0","cachemode":"itemid"}', 0, '*'), -(79, 52, 'Multilanguage status', '', '', 1, '', 0, NULL, NULL, NULL, 0, 'mod_multilangstatus', 3, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":"0"}', 1, '*'), +(79, 52, 'Multilanguage status', '', '', 2, 'status', 0, NULL, NULL, NULL, 0, 'mod_multilangstatus', 3, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":"0"}', 1, '*'), (86, 53, 'Joomla Version', '', '', 1, 'status', 0, NULL, NULL, NULL, 1, 'mod_version', 3, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":"0"}', 1, '*'), (87, 55, 'Sample Data', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_sampledata', 6, 1, '{"bootstrap_size": "6"}', 1, '*'), -(88, 58, 'Latest Actions', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_latestactions', 6, 1, '{}', 1, '*'), -(89, 59, 'Privacy Dashboard', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_privacy_dashboard', 6, 1, '{}', 1, '*'); - -SELECT setval('#__modules_id_seq', 90, false); +(88, 67, 'Latest Actions', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_latestactions', 6, 1, '{}', 1, '*'), +(89, 68, 'Privacy Dashboard', '', '', 0, 'cpanel', 0, NULL, NULL, NULL, 1, 'mod_privacy_dashboard', 6, 1, '{}', 1, '*'), +(90, 65, 'Login Support', '', '', 1, 'sidebar', 0, NULL, NULL, NULL, 1, 'mod_loginsupport', 1, 1, '{"forum_url":"https://forum.joomla.org/","documentation_url":"https://docs.joomla.org/","news_url":"https://www.joomla.org/","automatic_title":1,"prepare_content":1,"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":"","style":"0"}', 1, '*'), +(91, 72, 'System Dashboard', '', '', 1, 'cpanel-system', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"system","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(92, 73, 'Content Dashboard', '', '', 1, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"content","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"3","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(93, 74, 'Menus Dashboard', '', '', 1, 'cpanel-menus', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"menus","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(94, 75, 'Components Dashboard', '', '', 1, 'cpanel-components', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"components","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"12","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(95, 76, 'Users Dashboard', '', '', 1, 'cpanel-users', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"users","layout":"_:default","moduleclass_sfx":"","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":"","style":"System-none"}', 1, '*'), +(96, 41, 'Popular Articles', '', '', 3, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_popular', 3, 1, '{"count":"5","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), +(97, 42, 'Recently Added Articles', '', '', 4, 'cpanel-content', 0, NULL, NULL, NULL, 1, 'mod_latest', 3, 1, '{"count":"5","ordering":"c_dsc","catid":"","user_id":"0","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), +(98, 45, 'Logged-in Users', '', '', 2, 'cpanel-users', 0, NULL, NULL, NULL, 1, 'mod_logged', 3, 1, '{"count":"5","name":"1","layout":"_:default","moduleclass_sfx":"","cache":"0", "bootstrap_size": "6"}', 1, '*'), +(99, 77, 'Frontend Link', '', '', 5, 'status', 0, NULL, NULL, NULL, 1, 'mod_frontend', 1, 1, '', 1, '*'), +(100, 78, 'Messages', '', '', 4, 'status', 0, NULL, NULL, NULL, 1, 'mod_messages', 3, 1, '', 1, '*'), +(101, 79, 'Post Install Messages', '', '', 3, 'status', 0, NULL, NULL, NULL, 1, 'mod_post_installation_messages', 3, 1, '', 1, '*'), +(102, 80, 'User Status', '', '', 6, 'status', 0, NULL, NULL, NULL, 1, 'mod_user', 3, 1, '', 1, '*'), +(103, 70, 'Site', '', '', 1, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"site_quickicon","header_icon":"fa fa-desktop","show_users":"1","show_articles":"1","show_categories":"1","show_media":"1","show_menuItems":"1","show_modules":"1","show_plugins":"1","show_templates":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'), +(104, 71, 'System', '', '', 2, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"system_quickicon","header_icon":"fa fa-wrench","show_global":"1","show_checkin":"1","show_cache":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'), +(105, 82, '3rd Party', '', '', 4, 'icon', 0, NULL, NULL, NULL, 1, 'mod_quickicon', 1, 1, '{"context":"mod_quickicon","header_icon":"fa fa-boxes","load_plugins":"1","layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"style":"0","module_tag":"div","bootstrap_size":"6","header_tag":"h3","header_class":""}', 1, '*'), +(106, 83, 'Help Dashboard', '', '', 1, 'cpanel-help', 0, NULL, NULL, NULL, 1, 'mod_submenu', 1, 0, '{"menutype":"*","preset":"help","layout":"_:default","moduleclass_sfx":"","style":"System-none","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'), +(107, 84, 'Privacy Requests', '', '', 1, 'cpanel-privacy', 0, NULL, NULL, NULL, 1, 'mod_privacy_dashboard', 1, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"cachemode":"static","style":"0","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'), +(108, 85, 'Privacy Status', '', '', 1, 'cpanel-privacy', 0, NULL, NULL, NULL, 1, 'mod_privacy_status', 1, 1, '{"layout":"_:default","moduleclass_sfx":"","cache":1,"cache_time":900,"cachemode":"static","style":"0","module_tag":"div","bootstrap_size":"0","header_tag":"h3","header_class":""}', 1, '*'); + +SELECT setval('#__modules_id_seq', 109, false); -- -- Table structure for table `#__modules_menu` @@ -1470,7 +1523,26 @@ INSERT INTO "#__modules_menu" ("moduleid", "menuid") VALUES (86, 0), (87, 0), (88, 0), -(89, 0); +(89, 0), +(90, 0), +(91, 0), +(92, 0), +(93, 0), +(94, 0), +(95, 0), +(96, 0), +(97, 0), +(98, 0), +(99, 0), +(100, 0), +(101, 0), +(102, 0), +(103, 0), +(104, 0), +(105, 0), +(106, 0), +(107, 0), +(108, 0); -- -- Table structure for table `#__newsfeeds` @@ -1492,10 +1564,10 @@ CREATE TABLE IF NOT EXISTS "#__newsfeeds" ( "access" bigint DEFAULT 0 NOT NULL, "language" varchar(7) DEFAULT '' NOT NULL, "params" text NOT NULL, - "created" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "created" timestamp without time zone NOT NULL, "created_by" integer DEFAULT 0 NOT NULL, "created_by_alias" varchar(255) DEFAULT '' NOT NULL, - "modified" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "modified" timestamp without time zone NOT NULL, "modified_by" integer DEFAULT 0 NOT NULL, "metakey" text NOT NULL, "metadesc" text NOT NULL, @@ -1621,8 +1693,8 @@ CREATE TABLE IF NOT EXISTS "#__redirect_links" ( "comment" varchar(255) DEFAULT '' NOT NULL, "hits" bigint DEFAULT 0 NOT NULL, "published" smallint NOT NULL, - "created_date" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, - "modified_date" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "created_date" timestamp without time zone NOT NULL, + "modified_date" timestamp without time zone NOT NULL, "header" integer DEFAULT 301 NOT NULL, PRIMARY KEY ("id") ); @@ -1655,6 +1727,7 @@ CREATE TABLE IF NOT EXISTS "#__session" ( ); CREATE INDEX "#__session_userid" ON "#__session" ("userid"); CREATE INDEX "#__session_time" ON "#__session" ("time"); +CREATE INDEX "#__session_idx_client_id_guest" ON "#__session" ("client_id", "guest"); -- -- Table structure for table `#__tags` @@ -1743,7 +1816,8 @@ CREATE TABLE IF NOT EXISTS "#__template_styles" ( PRIMARY KEY ("id") ); CREATE INDEX "#__template_styles_idx_template" ON "#__template_styles" ("template"); -CREATE INDEX "#__template_styles_idx_home" ON "#__template_styles" ("home"); +CREATE INDEX "#__template_styles_idx_client_id" ON "#__template_styles" ("client_id"); +CREATE INDEX "#__template_styles_idx_client_id_home" ON "#__template_styles" ("client_id", "home"); -- -- Dumping data for table #__template_styles @@ -1753,7 +1827,7 @@ INSERT INTO "#__template_styles" ("id", "template", "client_id", "home", "title" (10, 'atum', 1, '1', 'atum - Default', ''), (11, 'cassiopeia', 0, '1', 'cassiopeia - Default', '{"logoFile":"","fluidContainer":"0","sidebarLeftWidth":"3","sidebarRightWidth":"3"}'); -SELECT setval('#__template_styles_id_seq', 11, false); +SELECT setval('#__template_styles_id_seq', 12, false); -- -- Table structure for table `#__ucm_base` @@ -1781,7 +1855,7 @@ CREATE TABLE IF NOT EXISTS "#__ucm_content" ( "core_alias" varchar(255) DEFAULT '' NOT NULL, "core_body" text NOT NULL DEFAULT '', "core_state" smallint DEFAULT 0 NOT NULL, - "core_checked_out_time" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "core_checked_out_time" timestamp without time zone, "core_checked_out_user_id" bigint DEFAULT 0 NOT NULL, "core_access" bigint DEFAULT 0 NOT NULL, "core_params" text DEFAULT '' NOT NULL, @@ -1789,12 +1863,12 @@ CREATE TABLE IF NOT EXISTS "#__ucm_content" ( "core_metadata" text DEFAULT '' NOT NULL, "core_created_user_id" bigint DEFAULT 0 NOT NULL, "core_created_by_alias" varchar(255) DEFAULT '' NOT NULL, - "core_created_time" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "core_created_time" timestamp without time zone NOT NULL, "core_modified_user_id" bigint DEFAULT 0 NOT NULL, - "core_modified_time" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "core_modified_time" timestamp without time zone NOT NULL, "core_language" varchar(7) DEFAULT '' NOT NULL, - "core_publish_up" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, - "core_publish_down" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "core_publish_up" timestamp without time zone, + "core_publish_down" timestamp without time zone, "core_content_item_id" bigint DEFAULT 0 NOT NULL, "asset_id" bigint DEFAULT 0 NOT NULL, "core_images" text DEFAULT '' NOT NULL, @@ -1831,7 +1905,7 @@ CREATE TABLE IF NOT EXISTS "#__ucm_history" ( "ucm_item_id" integer NOT NULL, "ucm_type_id" integer NOT NULL, "version_note" varchar(255) NOT NULL DEFAULT '', - "save_date" timestamp with time zone NOT NULL DEFAULT '1970-01-01 00:00:00', + "save_date" timestamp with time zone NOT NULL, "editor_user_id" integer NOT NULL DEFAULT 0, "character_count" integer NOT NULL DEFAULT 0, "sha1_hash" varchar(50) NOT NULL DEFAULT '', @@ -1885,6 +1959,8 @@ CREATE TABLE IF NOT EXISTS "#__update_sites" ( "enabled" bigint DEFAULT 0, "last_check_timestamp" bigint DEFAULT 0, "extra_query" varchar(1000) DEFAULT '', + "checked_out" bigint DEFAULT 0 NOT NULL, + "checked_out_time" timestamp without time zone DEFAULT NULL, PRIMARY KEY ("update_site_id") ); @@ -2070,7 +2146,7 @@ CREATE TABLE "#__action_logs" ( "id" serial NOT NULL, "message_language_key" varchar(255) NOT NULL DEFAULT '', "message" text NOT NULL DEFAULT '', - "log_date" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "log_date" timestamp without time zone NOT NULL, "extension" varchar(50) NOT NULL DEFAULT '', "user_id" integer DEFAULT 0 NOT NULL, "item_id" integer DEFAULT 0 NOT NULL, @@ -2215,10 +2291,12 @@ CREATE TABLE IF NOT EXISTS "#__workflows" ( "default" smallint NOT NULL DEFAULT 0, "core" smallint NOT NULL DEFAULT 0, "ordering" bigint NOT NULL DEFAULT 0, - "created" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "created" timestamp without time zone NOT NULL, "created_by" bigint DEFAULT 0 NOT NULL, - "modified" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "modified" timestamp without time zone NOT NULL, "modified_by" bigint DEFAULT 0 NOT NULL, + "checked_out_time" timestamp without time zone, + "checked_out" bigint DEFAULT 0 NOT NULL, PRIMARY KEY ("id") ); @@ -2230,9 +2308,10 @@ CREATE INDEX "#__workflows_idx_created" ON "#__workflows" ("created"); CREATE INDEX "#__workflows_idx_created_by" ON "#__workflows" ("created_by"); CREATE INDEX "#__workflows_idx_modified" ON "#__workflows" ("modified"); CREATE INDEX "#__workflows_idx_modified_by" ON "#__workflows" ("modified_by"); +CREATE INDEX "#__workflows_idx_checked_out" ON "#__workflows" ("checked_out"); -INSERT INTO "#__workflows" ("id", "asset_id", "published", "title", "description", "extension", "default", "core", "ordering", "created", "created_by", "modified", "modified_by") VALUES -(1, 56, 1, 'COM_WORKFLOW_DEFAULT_WORKFLOW', '', 'com_content', 1, 1, 1, '1970-01-01 00:00:00', 0, '1970-01-01 00:00:00', 0); +INSERT INTO "#__workflows" ("id", "asset_id", "published", "title", "description", "extension", "default", "core", "ordering", "created", "created_by", "modified", "modified_by", "checked_out_time", "checked_out") VALUES +(1, 56, 1, 'COM_WORKFLOW_DEFAULT_WORKFLOW', '', 'com_content', 1, 1, 1, CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0, NULL, 0); SELECT setval('#__workflows_id_seq', 2, false); @@ -2268,25 +2347,27 @@ CREATE TABLE IF NOT EXISTS "#__workflow_stages" ( "description" text NOT NULL, "condition" bigint DEFAULT 0 NOT NULL, "default" smallint NOT NULL DEFAULT 0, + "checked_out_time" timestamp without time zone, + "checked_out" bigint DEFAULT 0 NOT NULL, PRIMARY KEY ("id") ); CREATE INDEX "#__workflow_stages_idx_workflow_id" ON "#__workflow_stages" ("workflow_id"); CREATE INDEX "#__workflow_stages_idx_title" ON "#__workflow_stages" ("title"); CREATE INDEX "#__workflow_stages_idx_asset_id" ON "#__workflow_stages" ("asset_id"); CREATE INDEX "#__workflow_stages_idx_default" ON "#__workflow_stages" ("default"); +CREATE INDEX "#__workflow_stages_idx_checked_out" ON "#__workflow_stages" ("checked_out"); -- -- Dumping data for table "#__workflow_stages" -- -INSERT INTO "#__workflow_stages" ("id", "asset_id", "ordering", "workflow_id", "published", "title", "description", "condition", "default") VALUES -(1, 0, 1, 1, 1, 'JUNPUBLISHED', '', 0, 1), -(2, 0, 2, 1, 1, 'JPUBLISHED', '', 1, 0), -(3, 0, 3, 1, 1, 'JTRASHED', '', -2, 0), -(4, 0, 4, 1, 1, 'JARCHIVED', '', 2, 0); +INSERT INTO "#__workflow_stages" ("id", "asset_id", "ordering", "workflow_id", "published", "title", "description", "condition", "default", "checked_out_time", "checked_out") VALUES +(1, 0, 1, 1, 1, 'JUNPUBLISHED', '', 0, 1, NULL, 0), +(2, 0, 2, 1, 1, 'JPUBLISHED', '', 1, 0, NULL, 0), +(3, 0, 3, 1, 1, 'JTRASHED', '', -2, 0, NULL, 0), +(4, 0, 4, 1, 1, 'JARCHIVED', '', 2, 0, NULL, 0); SELECT setval('#__workflow_stages_id_seq', 5, false); - -- -- Table structure for table "#__workflow_transitions" -- @@ -2301,6 +2382,8 @@ CREATE TABLE IF NOT EXISTS "#__workflow_transitions" ( "description" text NOT NULL, "from_stage_id" bigint DEFAULT 0 NOT NULL, "to_stage_id" bigint DEFAULT 0 NOT NULL, + "checked_out_time" timestamp without time zone, + "checked_out" bigint DEFAULT 0 NOT NULL, PRIMARY KEY ("id") ); CREATE INDEX "#__workflow_transitions_idx_title" ON "#__workflow_transitions" ("title"); @@ -2308,15 +2391,40 @@ CREATE INDEX "#__workflow_transitions_idx_asset_id" ON "#__workflow_transitions" CREATE INDEX "#__workflow_transitions_idx_from_stage_id" ON "#__workflow_transitions" ("from_stage_id"); CREATE INDEX "#__workflow_transitions_idx_to_stage_id" ON "#__workflow_transitions" ("to_stage_id"); CREATE INDEX "#__workflow_transitions_idx_workflow_id" ON "#__workflow_transitions" ("workflow_id"); +CREATE INDEX "#__workflow_transitions_idx_checked_out" ON "#__workflow_transitions" ("checked_out"); -INSERT INTO "#__workflow_transitions" ("id", "asset_id", "published", "ordering", "workflow_id", "title", "description", "from_stage_id", "to_stage_id") VALUES -(1, 0, 1, 1, 1, 'Unpublish', '', -1, 1), -(2, 0, 1, 2, 1, 'Publish', '', -1, 2), -(3, 0, 1, 3, 1, 'Trash', '', -1, 3), -(4, 0, 1, 4, 1, 'Archive', '', -1, 4); +INSERT INTO "#__workflow_transitions" ("id", "asset_id", "published", "ordering", "workflow_id", "title", "description", "from_stage_id", "to_stage_id", "checked_out_time", "checked_out") VALUES +(1, 0, 1, 1, 1, 'Unpublish', '', -1, 1, NULL, 0), +(2, 0, 1, 2, 1, 'Publish', '', -1, 2, NULL, 0), +(3, 0, 1, 3, 1, 'Trash', '', -1, 3, NULL, 0), +(4, 0, 1, 4, 1, 'Archive', '', -1, 4, NULL, 0); SELECT setval('#__workflow_transitions_id_seq', 5, false); +-- +-- Table structure for table "#__mail_templates" +-- + +CREATE TABLE IF NOT EXISTS "#__mail_templates" ( + "template_id" varchar(127) NOT NULL DEFAULT '', + "language" char(7) NOT NULL DEFAULT '', + "subject" varchar(255) NOT NULL DEFAULT '', + "body" TEXT NOT NULL, + "htmlbody" TEXT NOT NULL, + "attachments" TEXT NOT NULL, + "params" TEXT NOT NULL, + CONSTRAINT "#__mail_templates_idx_template_id_language" UNIQUE ("template_id", "language") +); +CREATE INDEX "#__mail_templates_idx_template_id" ON "#__mail_templates" ("template_id"); +CREATE INDEX "#__mail_templates_idx_language" ON "#__mail_templates" ("language"); + +-- +-- Dumping data for table "#__mail_templates" +-- + +INSERT INTO "#__mail_templates" ("template_id", "language", "subject", "body", "htmlbody", "attachments", "params") VALUES +('com_config.test_mail', '', 'COM_CONFIG_SENDMAIL_SUBJECT', 'COM_CONFIG_SENDMAIL_BODY', '', '', '{"tags":["sitename","method"]}'); + -- -- Here is SOUNDEX replacement for those who can't enable fuzzystrmatch module -- from contrib folder. diff --git a/installation/src/Application/InstallationApplication.php b/installation/src/Application/InstallationApplication.php index 980faa268f7b2..8eabdc9d63187 100644 --- a/installation/src/Application/InstallationApplication.php +++ b/installation/src/Application/InstallationApplication.php @@ -347,7 +347,6 @@ public function getLocalise() $ret = array(); $ret['language'] = (string) $xml->forceLang; - $ret['helpurl'] = (string) $xml->helpurl; $ret['debug'] = (string) $xml->debug; $ret['sampledata'] = (string) $xml->sampledata; @@ -473,15 +472,8 @@ protected function initialiseApp($options = array()) $options['language'] = 'en-GB'; } - // Check for custom helpurl. - if (empty($forced['helpurl'])) - { - $options['helpurl'] = 'https://help.joomla.org/proxy?keyref=Help{major}{minor}:{keyref}&lang={langcode}'; - } - else - { - $options['helpurl'] = $forced['helpurl']; - } + // Set the official helpurl. + $options['helpurl'] = 'https://help.joomla.org/proxy?keyref=Help{major}{minor}:{keyref}&lang={langcode}'; // Store helpurl in the session. $this->getSession()->set('setup.helpurl', $options['helpurl']); diff --git a/installation/src/Controller/DisplayController.php b/installation/src/Controller/DisplayController.php index c10285b022ac9..3204da4ba9a91 100644 --- a/installation/src/Controller/DisplayController.php +++ b/installation/src/Controller/DisplayController.php @@ -45,7 +45,7 @@ public function display($cachable = false, $urlparams = false) $defaultView = 'remove'; } - // Are we allowed to proceed? + /** @var \Joomla\CMS\Installation\Model\ChecksModel $model */ $model = $this->getModel('Checks'); $vName = $this->input->getWord('view', $defaultView); diff --git a/installation/src/Controller/InstallationController.php b/installation/src/Controller/InstallationController.php index d5f778f3290fd..3ca8fdcca8ccb 100644 --- a/installation/src/Controller/InstallationController.php +++ b/installation/src/Controller/InstallationController.php @@ -40,6 +40,7 @@ public function __construct($config = array(), MVCFactoryInterface $factory = nu parent::__construct($config, $factory, $app, $input); $this->registerTask('remove', 'backup'); + $this->registerTask('removeFolder', 'delete'); } /** @@ -86,14 +87,20 @@ public function config() { $this->checkValidToken(); + /** @var \Joomla\CMS\Installation\Model\SetupModel $setUpModel */ + $setUpModel = $this->getModel('Setup'); + // Get the options from the session - $options = $this->getModel('Setup')->getOptions(); + $options = $setUpModel->getOptions(); $r = new \stdClass; $r->view = 'remove'; + /** @var \Joomla\CMS\Installation\Model\ConfigurationModel $configurationModel */ + $configurationModel = $this->getModel('Configuration'); + // Attempt to setup the configuration. - if (!$this->getModel('Configuration')->setup($options)) + if (!$configurationModel->setup($options)) { $r->view = 'setup'; } @@ -230,6 +237,11 @@ public function delete() $r = new \stdClass; $r->view = 'remove'; - $this->sendJsonResponse($r); + /** + * TODO: We can't send a response this way because our installation classes no longer + * exist. We probably need to hardcode a json response here + * + * $this->sendJsonResponse($r); + */ } } diff --git a/installation/src/Model/DatabaseModel.php b/installation/src/Model/DatabaseModel.php index 654b1bcf24692..006d95728e02f 100644 --- a/installation/src/Model/DatabaseModel.php +++ b/installation/src/Model/DatabaseModel.php @@ -11,7 +11,6 @@ defined('_JEXEC') or die; -use Joomla\CMS\Extension\ExtensionHelper; use Joomla\CMS\Factory; use Joomla\CMS\Filesystem\File; use Joomla\CMS\Filesystem\Folder; @@ -19,6 +18,7 @@ use Joomla\CMS\Installer\Installer; use Joomla\CMS\Language\LanguageHelper; use Joomla\CMS\Language\Text; +use Joomla\CMS\Object\CMSObject; use Joomla\CMS\Version; use Joomla\Database\DatabaseDriver; use Joomla\Database\DatabaseInterface; @@ -790,7 +790,7 @@ public function installCmsData() /** * Cms tables and data post install process. * - * @param \JDatabaseDriver $db Database connector object $db*. + * @param DatabaseDriver $db Database connector object $db*. * * @return void * @@ -811,7 +811,7 @@ protected function postInstallCmsData($db) /** * Method to update the user id of sql data content to the new rand user id. * - * @param \JDatabaseDriver $db Database connector object $db*. + * @param DatabaseDriver $db Database connector object $db*. * * @return void * @@ -864,7 +864,7 @@ protected function updateUserIds($db) /** * Method to update the dates of sql data content to the current date. * - * @param \JDatabaseDriver $db Database connector object $db*. + * @param DatabaseDriver $db Database connector object $db*. * * @return void * @@ -925,11 +925,11 @@ protected function updateDates($db) /** * Method to check for the testing sampledata plugin. * - * @param \JDatabaseDriver $db Database connector object $db*. + * @param DatabaseDriver $db Database connector object $db*. * * @return void * - * @since __DEPLOY_VERSION__ + * @since 4.0.0 */ public function checkTestingSampledata($db) { @@ -941,6 +941,7 @@ public function checkTestingSampledata($db) } $testingPlugin = new \stdClass; + $testingPlugin->extension_id = null; $testingPlugin->name = 'plg_sampledata_testing'; $testingPlugin->type = 'plugin'; $testingPlugin->element = 'testing'; @@ -951,14 +952,24 @@ public function checkTestingSampledata($db) $testingPlugin->manifest_cache = ''; $testingPlugin->params = '{}'; - $db->insertObject('#__extensions', $testingPlugin); + $db->insertObject('#__extensions', $testingPlugin, 'extension_id'); + + $installer = new Installer; + + if (!$installer->refreshManifestCache($testingPlugin->extension_id)) + { + Factory::getApplication()->enqueueMessage( + Text::sprintf('INSTL_DATABASE_COULD_NOT_REFRESH_MANIFEST_CACHE', $testingPlugin->name), + 'error' + ); + } } /** * Method to backup all tables in a database with a given prefix. * - * @param \JDatabaseDriver $db JDatabaseDriver object. - * @param string $prefix Database table prefix. + * @param DatabaseDriver $db JDatabaseDriver object. + * @param string $prefix Database table prefix. * * @return boolean True on success. * @@ -1015,10 +1026,10 @@ public function backupDatabase($db, $prefix) /** * Method to create a new database. * - * @param \JDatabaseDriver $db JDatabase object. - * @param \JObject $options JObject coming from "initialise" function to pass user - * and database name to database driver. - * @param boolean $utf True if the database supports the UTF-8 character set. + * @param DatabaseDriver $db Database object. + * @param CMSObject $options CMSObject coming from "initialise" function to pass user + * and database name to database driver. + * @param boolean $utf True if the database supports the UTF-8 character set. * * @return boolean True on success. * @@ -1044,8 +1055,8 @@ public function createDb($db, $options, $utf) /** * Method to delete all tables in a database with a given prefix. * - * @param \JDatabaseDriver $db JDatabaseDriver object. - * @param string $prefix Database table prefix. + * @param DatabaseDriver $db JDatabaseDriver object. + * @param string $prefix Database table prefix. * * @return boolean True on success. * diff --git a/installation/template/images/joomla-pattern.svg b/installation/template/images/joomla-pattern.svg new file mode 100644 index 0000000000000..76428f62328df --- /dev/null +++ b/installation/template/images/joomla-pattern.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/installation/template/images/logo-blue.svg b/installation/template/images/logo-blue.svg new file mode 100644 index 0000000000000..73302ed3de22c --- /dev/null +++ b/installation/template/images/logo-blue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/installation/template/images/logo-joomla-blue.svg b/installation/template/images/logo-joomla-blue.svg new file mode 100644 index 0000000000000..c026e25a5cb54 --- /dev/null +++ b/installation/template/images/logo-joomla-blue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/installation/template/images/logo.svg b/installation/template/images/logo.svg index 1d9c2909db451..2efe1712f0357 100644 --- a/installation/template/images/logo.svg +++ b/installation/template/images/logo.svg @@ -1,45 +1 @@ - - - - - - - - - + \ No newline at end of file diff --git a/installation/template/images/select-bg-active.svg b/installation/template/images/select-bg-active.svg new file mode 100644 index 0000000000000..19cd7866984c2 --- /dev/null +++ b/installation/template/images/select-bg-active.svg @@ -0,0 +1 @@ + diff --git a/installation/template/images/select-bg.svg b/installation/template/images/select-bg.svg new file mode 100644 index 0000000000000..24d5d190ad1a3 --- /dev/null +++ b/installation/template/images/select-bg.svg @@ -0,0 +1 @@ + diff --git a/installation/template/index.php b/installation/template/index.php index a18fbb63608b8..5e3de0e4a2ca1 100644 --- a/installation/template/index.php +++ b/installation/template/index.php @@ -11,6 +11,7 @@ use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Router\Route; +use Joomla\CMS\Version; use Joomla\CMS\Uri\Uri; /** @var JDocumentHtml $this */ @@ -26,6 +27,7 @@ HTMLHelper::_('behavior.formvalidator'); HTMLHelper::_('script', 'installation/template/js/template.js', ['version' => 'auto']); HTMLHelper::_('webcomponent', 'vendor/joomla-custom-elements/joomla-alert.min.js', ['version' => 'auto', 'relative' => true]); +HTMLHelper::_('webcomponent', 'system/joomla-core-loader.min.js', ['relative' => true, 'version' => 'auto']); // Add script options $this->addScriptOptions('system.installation', ['url' => Route::_('index.php')]); @@ -46,46 +48,70 @@ // Load the JavaScript translated messages Text::script('INSTL_PROCESS_BUSY'); Text::script('INSTL_FTP_SETTINGS_CORRECT'); + +// Load strings for translated messages (directory removal) +Text::script('INSTL_REMOVE_INST_FOLDER'); +Text::script('INSTL_COMPLETE_REMOVE_FOLDER'); ?> +
diff --git a/installation/template/js/preinstall.js b/installation/template/js/preinstall.js index 356842b79601b..e7334d3ac5a85 100644 --- a/installation/template/js/preinstall.js +++ b/installation/template/js/preinstall.js @@ -9,12 +9,12 @@ Joomla = window.Joomla || {}; Joomla.installation = Joomla.installation || {}; // Initialize the installation data Joomla.installation.data = { - // FTP - ftpUsername: "", - ftpPassword: "", - ftpHost: "", - ftpPort: 21, - ftpRoot: "/", + // FTP + ftpUsername: "", + ftpPassword: "", + ftpHost: "", + ftpPort: 21, + ftpRoot: "/", }; /** @@ -23,76 +23,76 @@ Joomla.installation.data = { * @param el The page element requesting the event */ Joomla.installation.detectFtpRoot = function(el) { - var data, task, form = document.getElementById('ftpForm'); + var data, task, form = document.getElementById('ftpForm'); - data = Joomla.serialiseForm(form); //'format: json&' + - el.setAttribute('disabled', 'disabled'); - task = 'detectftproot'; + data = Joomla.serialiseForm(form); //'format: json&' + + el.setAttribute('disabled', 'disabled'); + task = 'detectftproot'; - Joomla.request({ - type: "POST", - url : Joomla.installationBaseUrl + '?task=' + task + '&format=json', - data: data, - perform: true, - headers: {'Content-Type': 'application/x-www-form-urlencoded'}, - onSuccess: function(response, xhr){ - var r = JSON.parse(response); + Joomla.request({ + type: "POST", + url : Joomla.installationBaseUrl + '?task=' + task + '&format=json', + data: data, + perform: true, + headers: {'Content-Type': 'application/x-www-form-urlencoded'}, + onSuccess: function(response, xhr){ + var r = JSON.parse(response); - if (r) { - Joomla.replaceTokens(r.token) - console.log(r.messages.error) - if (r.messages && !r.messages.error) { - if (r.data && r.data.root) { - document.getElementById('jform_ftp_host').value += r.data.root; - } - } else { - alert(r.messages.warning); - } - } - el.removeAttribute('disabled'); - }, - onError: function(xhr){ - try { - var r = JSON.parse(xhr.responseText); - Joomla.replaceTokens(r.token); - alert(xhr.status + ': ' + r.message); - } catch (e) { - alert(xhr.status + ': ' + xhr.statusText); - } - } - }); + if (r) { + Joomla.replaceTokens(r.token) + console.log(r.messages.error) + if (r.messages && !r.messages.error) { + if (r.data && r.data.root) { + document.getElementById('jform_ftp_host').value += r.data.root; + } + } else { + alert(r.messages.warning); + } + } + el.removeAttribute('disabled'); + }, + onError: function(xhr){ + try { + var r = JSON.parse(xhr.responseText); + Joomla.replaceTokens(r.token); + alert(xhr.status + ': ' + r.message); + } catch (e) { + alert(xhr.status + ': ' + xhr.statusText); + } + } + }); }; if (document.getElementById('showFtp')) { - // @TODO FTP?? - document.getElementById('showFtp').style.display = 'none'; - document.getElementById('showFtp').addEventListener('click', function(e) { - e.preventDefault(); - if (document.getElementById('ftpOptions')) { - document.getElementById('ftpOptions').classList.remove('hidden'); - document.getElementById('ftpOptions').scrollIntoView(); - } - }) + // @TODO FTP?? + document.getElementById('showFtp').style.display = 'none'; + document.getElementById('showFtp').addEventListener('click', function(e) { + e.preventDefault(); + if (document.getElementById('ftpOptions')) { + document.getElementById('ftpOptions').classList.remove('hidden'); + document.getElementById('ftpOptions').scrollIntoView(); + } + }) } if (document.getElementById('verifybutton')) { - document.getElementById('verifybutton').addEventListener('click', function(e) { - e.preventDefault(); - // @TODO FTP?? - //onclick="Install.verifyFtpSettings(this);" - var ftpForm = document.getElementById('ftpForm'); - if (ftpForm) { - Joomla.installation.data.ftpUsername = document.getElementById('jform_ftp_user').value; - Joomla.installation.data.ftpPassword = document.getElementById('jform_ftp_pass').value; - Joomla.installation.data.ftpHost = document.getElementById('jform_ftp_host').value; - Joomla.installation.data.ftpPort = document.getElementById('jform_ftp_port').value; + document.getElementById('verifybutton').addEventListener('click', function(e) { + e.preventDefault(); + // @TODO FTP?? + //onclick="Install.verifyFtpSettings(this);" + var ftpForm = document.getElementById('ftpForm'); + if (ftpForm) { + Joomla.installation.data.ftpUsername = document.getElementById('jform_ftp_user').value; + Joomla.installation.data.ftpPassword = document.getElementById('jform_ftp_pass').value; + Joomla.installation.data.ftpHost = document.getElementById('jform_ftp_host').value; + Joomla.installation.data.ftpPort = document.getElementById('jform_ftp_port').value; - var p, data = []; - for(p in Joomla.installation.data) { - data.push(Joomla.installation.data[p]) - } - sessionStorage.setItem('installData', JSON.stringify(data)); - // get it back: JSON.parse(sessionStorage.installData) - } - }); -} \ No newline at end of file + var p, data = []; + for(p in Joomla.installation.data) { + data.push(Joomla.installation.data[p]) + } + sessionStorage.setItem('installData', JSON.stringify(data)); + // get it back: JSON.parse(sessionStorage.installData) + } + }); +} diff --git a/installation/template/js/remove.js b/installation/template/js/remove.js index 39a6eeef6bd66..286e69cf716a2 100644 --- a/installation/template/js/remove.js +++ b/installation/template/js/remove.js @@ -7,40 +7,52 @@ var url = Joomla.getOptions('system.installation').url ? Joomla.getOptions('system.installation').url.replace(/&/g, '&') : 'index.php'; if (document.getElementById('installAddFeatures')) { - document.getElementById('installAddFeatures').addEventListener('click', function(e) { - e.preventDefault(); - document.getElementById('installLanguages').classList.add('active'); - document.getElementById('installCongrat').classList.remove('active'); - document.getElementById('installRecommended').classList.remove('active'); - }) + document.getElementById('installAddFeatures').addEventListener('click', function(e) { + e.preventDefault(); + document.getElementById('installLanguages').classList.add('active'); + document.getElementById('installCongrat').classList.remove('active'); + document.getElementById('installFinal').classList.remove('active'); + document.getElementById('installRecommended').classList.remove('active'); + }) } if (document.getElementById('skipLanguages')) { document.getElementById('skipLanguages').addEventListener('click', function(e) { e.preventDefault(); - document.getElementById('installSampleData').classList.add('active'); - document.getElementById('installLanguages').classList.remove('active'); - }) -} - -if (document.getElementById('installSampleData')) { - document.getElementById('installSampleData').addEventListener('click', function(e) { - e.preventDefault(); - document.getElementById('installSampleData').classList.add('active'); + document.getElementById('installFinal').classList.add('active'); + document.getElementById('installRecommended').classList.add('active'); document.getElementById('installLanguages').classList.remove('active'); }) } -if (document.getElementById('skipSampleData')) { - document.getElementById('skipSampleData').addEventListener('click', function(e) { - e.preventDefault(); - document.getElementById('installSampleData').classList.toggle('active'); - document.getElementById('installSampleData').style.display = 'none'; - document.getElementById('installFinal').classList.add('active'); - }) +if (document.getElementById('removeInstallationFolder')) { + document.getElementById('removeInstallationFolder') + .addEventListener('click', function (e) { + e.preventDefault(); + let confirm = window.confirm(Joomla.Text._('INSTL_REMOVE_INST_FOLDER')); + if (confirm) { + Joomla.request({ + method: "POST", + url: Joomla.installationBaseUrl + '?task=installation.removeFolder&format=json', + perform: true, + token: true, + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + onSuccess: function () { + const customInstallation = document.getElementById('customInstallation'); + customInstallation.parentNode.removeChild(customInstallation); + const removeInstallationTab = document.getElementById('removeInstallationTab'); + removeInstallationTab.parentNode.removeChild(removeInstallationTab); + }, + onError: function (xhr) { + Joomla.renderMessages({ error: [xhr] }, '#system-message-container'); + } + } + ); + } + } + ); } - if (document.getElementById('installLanguagesButton')) { document.getElementById('installLanguagesButton').addEventListener('click', function(e) { e.preventDefault(); @@ -49,23 +61,8 @@ if (document.getElementById('installLanguagesButton')) { // Install the extra languages if (Joomla.install(['languages'], form)) { document.getElementById('installLanguages').classList.remove('active'); - document.getElementById('installSampleData').classList.add('active'); + document.getElementById('installFinal').classList.add('active'); } } }) } - -if (document.getElementById('installSampleDataButton')) { - document.getElementById('installSampleDataButton').addEventListener('click', function(e) { - e.preventDefault(); - var form = document.getElementById('sampleDataForm'); - if (form) { - // Install the extra languages - Joomla.install(['sample'], form); - - document.getElementById('installSampleData').classList.toggle('active'); - document.getElementById('installSampleData').style.display = 'none'; - document.getElementById('installFinal').classList.add('active'); - } - }) -} \ No newline at end of file diff --git a/installation/template/js/setup.js b/installation/template/js/setup.js index 8e2470310010e..7e02da13b509d 100644 --- a/installation/template/js/setup.js +++ b/installation/template/js/setup.js @@ -10,181 +10,185 @@ * @return {Boolean} */ Joomla.setlanguage = function(form) { - var data = Joomla.serialiseForm(form); - - Joomla.loadingLayer("show"); - Joomla.removeMessages(); - - Joomla.request({ - url: Joomla.baseUrl, - method: 'POST', - data: data, - perform: true, - onSuccess: function(response, xhr){ - response = JSON.parse(response); - Joomla.replaceTokens(response.token); - - if (response.messages) { - Joomla.renderMessages(response.messages); - } - - if (response.error) { - Joomla.renderMessages({'error': [response.message]}); - Joomla.loadingLayer("hide"); - } else { - Joomla.loadingLayer("hide"); - Joomla.goToPage(response.data.view, true); - } - }, - onError: function(xhr){ - Joomla.loadingLayer("hide"); - try { - var r = JSON.parse(xhr.responseText); - Joomla.replaceTokens(r.token); - alert(r.message); - } catch (e) {} - } - }); - - return false; + var data = Joomla.serialiseForm(form); + Joomla.removeMessages(); + document.body.appendChild(document.createElement('joomla-core-loader')); + + Joomla.request({ + url: Joomla.baseUrl, + method: 'POST', + data: data, + perform: true, + onSuccess: function(response, xhr){ + response = JSON.parse(response); + Joomla.replaceTokens(response.token); + var loaderElement = document.querySelector('joomla-core-loader'); + + if (response.messages) { + Joomla.renderMessages(response.messages); + } + + if (response.error) { + loaderElement.parentNode.removeChild(loaderElement); + Joomla.renderMessages({'error': [response.message]}); + } else { + loaderElement.parentNode.removeChild(loaderElement); + Joomla.goToPage(response.data.view, true); + } + }, + onError: function(xhr){ + var loaderElement = document.querySelector('joomla-core-loader'); + loaderElement.parentNode.removeChild(loaderElement); + try { + var r = JSON.parse(xhr.responseText); + Joomla.replaceTokens(r.token); + alert(r.message); + } catch (e) {} + } + }); + + return false; }; Joomla.checkInputs = function() { - document.getElementById('jform_admin_password2').value = document.getElementById('jform_admin_password').value; + document.getElementById('jform_admin_password2').value = document.getElementById('jform_admin_password').value; - var inputs = [].slice.call(document.querySelectorAll('input[type="password"], input[type="text"], input[type="email"], select')), - state = true; - inputs.forEach(function(item) { - if (!item.valid) state = false; - }); + var inputs = [].slice.call(document.querySelectorAll('input[type="password"], input[type="text"], input[type="email"], select')), + state = true; + inputs.forEach(function(item) { + if (!item.valid) state = false; + }); - // Reveal everything - document.getElementById('installStep1').classList.add('active'); - document.getElementById('installStep2').classList.add('active'); - document.getElementById('installStep3').classList.add('active'); + // Reveal everything + document.getElementById('installStep1').classList.add('active'); + document.getElementById('installStep2').classList.add('active'); + document.getElementById('installStep3').classList.add('active'); - if (Joomla.checkFormField(['#jform_site_name', '#jform_admin_user', '#jform_admin_email', '#jform_admin_password', '#jform_db_type', '#jform_db_host', '#jform_db_user', '#jform_db_name'])) { - Joomla.checkDbCredentials(); - } + if (Joomla.checkFormField(['#jform_site_name', '#jform_admin_user', '#jform_admin_email', '#jform_admin_password', '#jform_db_type', '#jform_db_host', '#jform_db_user', '#jform_db_name'])) { + Joomla.checkDbCredentials(); + } }; Joomla.checkDbCredentials = function() { - Joomla.loadingLayer("show"); - - var form = document.getElementById('adminForm'), - data = Joomla.serialiseForm(form); - - Joomla.request({ - method: "POST", - url : Joomla.installationBaseUrl + '?task=installation.dbcheck&format=json', - data: data, - perform: true, - headers: {'Content-Type': 'application/x-www-form-urlencoded'}, - onSuccess: function(response, xhr){ - response = JSON.parse(response); - if (response.messages) { - Joomla.renderMessages(response.messages); - } - - Joomla.replaceTokens(response.token); - Joomla.loadingLayer("hide"); - - if (response.error) { - Joomla.renderMessages({'error': [response.message]}); - } else if (response.data && response.data.validated === true) { - // Run the installer - we let this handle the redirect for now - // TODO: Convert to promises - Joomla.install(['config'], form); - } - }, - onError: function(xhr){ - Joomla.renderMessages([['', Joomla.JText._('JLIB_DATABASE_ERROR_DATABASE_CONNECT', 'A Database error occurred.')]]); - //Install.goToPage('summary'); - Joomla.loadingLayer('hide'); - try { - var r = JSON.parse(xhr.responseText); - Joomla.replaceTokens(r.token); - alert(r.message); - } catch (e) { - } - } - }); + document.body.appendChild(document.createElement('joomla-core-loader')); + var form = document.getElementById('adminForm'), + data = Joomla.serialiseForm(form); + + Joomla.request({ + method: "POST", + url : Joomla.installationBaseUrl + '?task=installation.dbcheck&format=json', + data: data, + perform: true, + headers: {'Content-Type': 'application/x-www-form-urlencoded'}, + onSuccess: function(response, xhr){ + response = JSON.parse(response); + var loaderElement = document.querySelector('joomla-core-loader'); + + if (response.messages) { + Joomla.renderMessages(response.messages); + } + + Joomla.replaceTokens(response.token); + loaderElement.parentNode.removeChild(loaderElement); + + if (response.error) { + Joomla.renderMessages({'error': [response.message]}); + } else if (response.data && response.data.validated === true) { + // Run the installer - we let this handle the redirect for now + // TODO: Convert to promises + Joomla.install(['config'], form); + } + }, + onError: function(xhr){ + Joomla.renderMessages([['', Joomla.JText._('JLIB_DATABASE_ERROR_DATABASE_CONNECT', 'A Database error occurred.')]]); + //Install.goToPage('summary'); + var loaderElement = document.querySelector('joomla-core-loader'); + loaderElement.parentNode.removeChild(loaderElement); + + try { + var r = JSON.parse(xhr.responseText); + Joomla.replaceTokens(r.token); + alert(r.message); + } catch (e) { + } + } + }); }; (function() { - // Merge options from the session storage - if (sessionStorage && sessionStorage.getItem('installation-data')) { - Joomla.extend(this.options, sessionStorage.getItem('installation-data')); - } - - Joomla.pageInit(); - var el = document.querySelector('.nav-steps.hidden'); - if (el) { - el.classList.remove('hidden'); - } - - // Focus to the next field - if (document.getElementById('jform_site_name')) { - document.getElementById('jform_site_name').focus(); - } - - // Select language - var languageEl = document.getElementById('jform_language'); - - if (languageEl) { - languageEl.addEventListener('change', function(e) { - var form = document.getElementById('languageForm'); - Joomla.setlanguage(form) - }) - } - - if (document.getElementById('step1')) { - document.getElementById('step1').addEventListener('click', function(e) { - e.preventDefault(); - if (Joomla.checkFormField(['#jform_site_name'])) { - if (document.getElementById('languageForm')) { - document.getElementById('languageForm').style.display = 'none'; - } - if (document.getElementById('installStep2')) { - document.getElementById('installStep2').classList.add('active'); - document.getElementById('installStep1').classList.remove('active'); - - // Focus to the next field - if (document.getElementById('jform_admin_user')) { - document.getElementById('jform_admin_user').focus(); - } - } - } - }) - } - - if (document.getElementById('step2')) { - document.getElementById('step2').addEventListener('click', function(e) { - e.preventDefault(); - if (Joomla.checkFormField(['#jform_admin_user', '#jform_admin_email', '#jform_admin_password'])) { - if (document.getElementById('installStep3')) { - document.getElementById('installStep3').classList.add('active'); - document.getElementById('installStep2').classList.remove('active'); - document.getElementById('setupButton').style.display = 'block'; - - Joomla.makeRandomDbPrefix(); - - // Focus to the next field - if (document.getElementById('jform_db_type')) { - document.getElementById('jform_db_type').focus(); - } - } - } - }); - - document.getElementById('setupButton').addEventListener('click', function(e) { - e.preventDefault(); - e.stopPropagation(); - Joomla.checkInputs(); - }) - } + // Merge options from the session storage + if (sessionStorage && sessionStorage.getItem('installation-data')) { + Joomla.extend(this.options, sessionStorage.getItem('installation-data')); + } + + Joomla.pageInit(); + var el = document.querySelector('.nav-steps.hidden'); + if (el) { + el.classList.remove('hidden'); + } + + // Focus to the next field + if (document.getElementById('jform_site_name')) { + document.getElementById('jform_site_name').focus(); + } + + // Select language + var languageEl = document.getElementById('jform_language'); + + if (languageEl) { + languageEl.addEventListener('change', function(e) { + var form = document.getElementById('languageForm'); + Joomla.setlanguage(form) + }) + } + + if (document.getElementById('step1')) { + document.getElementById('step1').addEventListener('click', function(e) { + e.preventDefault(); + if (Joomla.checkFormField(['#jform_site_name'])) { + if (document.getElementById('languageForm')) { + document.getElementById('languageForm').style.display = 'none'; + } + if (document.getElementById('installStep2')) { + document.getElementById('installStep2').classList.add('active'); + document.getElementById('installStep1').classList.remove('active'); + + // Focus to the next field + if (document.getElementById('jform_admin_user')) { + document.getElementById('jform_admin_user').focus(); + } + } + } + }) + } + + if (document.getElementById('step2')) { + document.getElementById('step2').addEventListener('click', function(e) { + e.preventDefault(); + if (Joomla.checkFormField(['#jform_admin_user', '#jform_admin_email', '#jform_admin_password'])) { + if (document.getElementById('installStep3')) { + document.getElementById('installStep3').classList.add('active'); + document.getElementById('installStep2').classList.remove('active'); + document.getElementById('setupButton').style.display = 'block'; + + Joomla.makeRandomDbPrefix(); + + // Focus to the next field + if (document.getElementById('jform_db_type')) { + document.getElementById('jform_db_type').focus(); + } + } + } + }); + + document.getElementById('setupButton').addEventListener('click', function(e) { + e.preventDefault(); + e.stopPropagation(); + Joomla.checkInputs(); + }) + } })(); diff --git a/installation/template/js/template.js b/installation/template/js/template.js index 14f959905d93f..32fbf67f52343 100644 --- a/installation/template/js/template.js +++ b/installation/template/js/template.js @@ -4,248 +4,247 @@ * @license GNU General Public License version 2 or later; see LICENSE.txt */ (function() { - // Make sure that we have the Joomla object - Joomla = window.Joomla || {}; - Joomla.installation = Joomla.installation || {}; - - Joomla.serialiseForm = function( form ) { - var i, l, obj = [], elements = form.querySelectorAll( "input, select, textarea" ); - for(i = 0, l = elements.length; i < l; i++) { - var name = elements[i].name; - var value = elements[i].value; - if(name) { - if ((elements[i].type === 'checkbox' && elements[i].checked === true) || (elements[i].type !== 'checkbox')) { - obj.push(name.replace('[', '%5B').replace(']', '%5D') + '=' + encodeURIComponent(value)); - } - } - } - return obj.join("&"); - }; - - - /** - * Method to request a different page via AJAX - * - * @param page The name of the view to request - * @param fromSubmit Unknown use - * - * @return {Boolean} - */ - Joomla.goToPage = function(page, fromSubmit) { - if (!fromSubmit) { - Joomla.removeMessages(); - Joomla.loadingLayer("show"); - } - - if (page) { - window.location = Joomla.baseUrl + '?view=' + page + '&layout=default'; - } - - return false; - }; - - /** - * Method to submit a form from the installer via AJAX - * - * @return {Boolean} - */ - Joomla.submitform = function(form) { - var data = Joomla.serialiseForm(form); - - Joomla.loadingLayer("show"); - Joomla.removeMessages(); - - Joomla.request({ - type : "POST", - url : Jooomla.baseUrl, - data : data, - dataType : 'json', - onSuccess: function (response, xhr) { - response = JSON.parse(response); - - if (response.messages) { - Joomla.renderMessages(response.messages); - } - - if (response.error) { - Joomla.renderMessages({'error': [response.message]}); - Joomla.loadingLayer("hide"); - } else { - Joomla.loadingLayer("hide"); - if (response.data && response.data.view) { - Install.goToPage(response.data.view, true); - } - } - }, - onError : function (xhr) { - Joomla.loadingLayer("hide"); - busy = false; - try { - var r = JSON.parse(xhr.responseText); - Joomla.replaceTokens(r.token); - alert(r.message); - } catch (e) { - } - } - }); - - return false; - }; - - Joomla.scrollTo = function (elem, pos) - { - var y = elem.scrollTop; - y += (pos - y) * 0.3; - if (Math.abs(y-pos) < 2) - { - elem.scrollTop = pos; - return; - } - elem.scrollTop = y; - setTimeout(Joomla.scrollTo, 40, elem, pos); - }; - - Joomla.checkFormField = function(fields) { - var state = []; - fields.forEach(function(field) { - state.push(document.formvalidator.validate(document.querySelector(field))); - }); - - if (state.indexOf(false) > -1) { - return false; - } - return true; - }; - - // Init on dom content loaded event - Joomla.makeRandomDbPrefix = function() { - var numbers = '0123456789', letters = 'abcdefghijklmnopqrstuvwxyz', symbols = numbers + letters; - var prefix = letters[Math.floor(Math.random() * 24)]; - - for (var i = 0; i < 4; i++ ) { - prefix += symbols[Math.floor(Math.random() * 34)]; - } - - document.getElementById('jform_db_prefix').value = prefix + '_'; - - return prefix + '_'; - }; - - /** - * Initializes JavaScript events on each request, required for AJAX - */ - Joomla.pageInit = function() { - // Attach the validator - [].slice.call(document.querySelectorAll('form.form-validate')).forEach(function(form) { - document.formvalidator.attachToForm(form); - }); - - // Create and append the loading layer. - Joomla.loadingLayer("load"); - - // Check for FTP credentials - Joomla.installation = Joomla.installation || {}; - - // @todo FTP persistent data ? - // Initialize the FTP installation data - // if (sessionStorage && sessionStorage.getItem('installation-data')) { - // var data = sessionStorage.getItem('installData').split(','); - // Joomla.installation.data = { - // ftpUsername: data[0], - // ftpPassword: data[1], - // ftpHost: data[2], - // ftpPort: data[3], - // ftpRoot: data[4] - // }; - // } - return 'Loaded...' - }; - - - /** - * Executes the required tasks to complete site installation - * - * @param tasks An array of install tasks to execute - */ - Joomla.install = function(tasks, form) { - if (!form) { - throw new Error('No form provided') - } - if (!tasks.length) { - Joomla.goToPage('remove'); - return; - } - - var task = tasks.shift(); - var data = Joomla.serialiseForm(form); - Joomla.loadingLayer("show"); - - Joomla.request({ - method: "POST", - url : Joomla.baseUrl + '?task=installation.' + task + '&format=json', - data: data, - perform: true, - onSuccess: function(response, xhr){ - response = JSON.parse(response); - Joomla.replaceTokens(response.token); - - if (response.error === true) - { - Joomla.loadingLayer('hide'); - Joomla.renderMessages({"error": [response.message]}); - return false; - } - - if (response.messages) { - Joomla.loadingLayer('hide'); - Joomla.renderMessages(response.messages); - return false; - } - - Joomla.loadingLayer('hide'); - Joomla.install(tasks, form); - }, - onError: function(xhr){ - Joomla.renderMessages([['', Joomla.JText._('JLIB_DATABASE_ERROR_DATABASE_CONNECT', 'A Database error occurred.')]]); - Joomla.goToPage('remove'); - - try { - var r = JSON.parse(xhr.responseText); - Joomla.replaceTokens(r.token); - alert(r.message); - } catch (e) { - } - } - }); - }; - - /* Load scripts async */ - document.addEventListener('DOMContentLoaded', function() { - var page = document.getElementById('installer-view'); - - // Set the base URL - Joomla.baseUrl = Joomla.getOptions('system.installation').url ? Joomla.getOptions('system.installation').url.replace(/&/g, '&') : 'index.php'; - - // Show the container - var container = document.getElementById('container-installation'); - if (container) { - Joomla.installationBaseUrl = container.getAttribute('data-base-url'); - Joomla.installationBaseUrl += "installation/index.php" - } else { - throw new Error('Javascript required to be enabled!') - } - - if (page && page.getAttribute('data-page-name')) { - var script = document.querySelector('script[src*="template.js"]'); - el = document.createElement('script'); - el.src = script.src.replace("template.js", page.getAttribute('data-page-name') + '.js'); - document.head.appendChild(el); - } - - if (container) { - container.classList.remove('no-js'); - container.style.display = "block"; - } - }); + // Make sure that we have the Joomla object + Joomla = window.Joomla || {}; + Joomla.installation = Joomla.installation || {}; + + Joomla.serialiseForm = function( form ) { + var i, l, obj = [], elements = form.querySelectorAll( "input, select, textarea" ); + for(i = 0, l = elements.length; i < l; i++) { + var name = elements[i].name; + var value = elements[i].value; + if(name) { + if ((elements[i].type === 'checkbox' && elements[i].checked === true) || (elements[i].type !== 'checkbox')) { + obj.push(name.replace('[', '%5B').replace(']', '%5D') + '=' + encodeURIComponent(value)); + } + } + } + return obj.join("&"); + }; + + + /** + * Method to request a different page via AJAX + * + * @param page The name of the view to request + * @param fromSubmit Unknown use + * + * @return {Boolean} + */ + Joomla.goToPage = function(page, fromSubmit) { + if (!fromSubmit) { + Joomla.removeMessages(); + document.body.appendChild(document.createElement('joomla-core-loader')); + } + + if (page) { + window.location = Joomla.baseUrl + '?view=' + page + '&layout=default'; + } + + return false; + }; + + /** + * Method to submit a form from the installer via AJAX + * + * @return {Boolean} + */ + Joomla.submitform = function(form) { + var data = Joomla.serialiseForm(form); + + document.body.appendChild(document.createElement('joomla-core-loader')); + Joomla.removeMessages(); + + Joomla.request({ + type : "POST", + url : Jooomla.baseUrl, + data : data, + dataType : 'json', + onSuccess: function (response, xhr) { + response = JSON.parse(response); + var spinnerElement = document.querySelector('joomla-core-loader'); + + if (response.messages) { + Joomla.renderMessages(response.messages); + } + + if (response.error) { + Joomla.renderMessages({'error': [response.message]}); + spinnerElement.parentNode.removeChild(spinnerElement); + } else { + spinnerElement.parentNode.removeChild(spinnerElement); + if (response.data && response.data.view) { + Install.goToPage(response.data.view, true); + } + } + }, + onError : function (xhr) { + var spinnerElement = document.querySelector('joomla-core-loader'); + spinnerElement.parentNode.removeChild(spinnerElement); + busy = false; + try { + var r = JSON.parse(xhr.responseText); + Joomla.replaceTokens(r.token); + alert(r.message); + } catch (e) { + } + } + }); + + return false; + }; + + Joomla.scrollTo = function (elem, pos) + { + var y = elem.scrollTop; + y += (pos - y) * 0.3; + if (Math.abs(y-pos) < 2) + { + elem.scrollTop = pos; + return; + } + elem.scrollTop = y; + setTimeout(Joomla.scrollTo, 40, elem, pos); + }; + + Joomla.checkFormField = function(fields) { + var state = []; + fields.forEach(function(field) { + state.push(document.formvalidator.validate(document.querySelector(field))); + }); + + if (state.indexOf(false) > -1) { + return false; + } + return true; + }; + + // Init on dom content loaded event + Joomla.makeRandomDbPrefix = function() { + var numbers = '0123456789', letters = 'abcdefghijklmnopqrstuvwxyz', symbols = numbers + letters; + var prefix = letters[Math.floor(Math.random() * 24)]; + + for (var i = 0; i < 4; i++ ) { + prefix += symbols[Math.floor(Math.random() * 34)]; + } + + document.getElementById('jform_db_prefix').value = prefix + '_'; + + return prefix + '_'; + }; + + /** + * Initializes JavaScript events on each request, required for AJAX + */ + Joomla.pageInit = function() { + // Attach the validator + [].slice.call(document.querySelectorAll('form.form-validate')).forEach(function(form) { + document.formvalidator.attachToForm(form); + }); + + // Check for FTP credentials + Joomla.installation = Joomla.installation || {}; + + // @todo FTP persistent data ? + // Initialize the FTP installation data + // if (sessionStorage && sessionStorage.getItem('installation-data')) { + // var data = sessionStorage.getItem('installData').split(','); + // Joomla.installation.data = { + // ftpUsername: data[0], + // ftpPassword: data[1], + // ftpHost: data[2], + // ftpPort: data[3], + // ftpRoot: data[4] + // }; + // } + return 'Loaded...' + }; + + + /** + * Executes the required tasks to complete site installation + * + * @param tasks An array of install tasks to execute + */ + Joomla.install = function(tasks, form) { + if (!form) { + throw new Error('No form provided') + } + if (!tasks.length) { + Joomla.goToPage('remove'); + return; + } + + var task = tasks.shift(); + var data = Joomla.serialiseForm(form); + document.body.appendChild(document.createElement('joomla-core-loader')); + + Joomla.request({ + method: "POST", + url : Joomla.baseUrl + '?task=installation.' + task + '&format=json', + data: data, + perform: true, + onSuccess: function(response, xhr){ + response = JSON.parse(response); + Joomla.replaceTokens(response.token); + var spinnerElement = document.querySelector('joomla-core-loader'); + + if (response.error === true) + { + spinnerElement.parentNode.removeChild(spinnerElement); + Joomla.renderMessages({"error": [response.message]}); + return false; + } + + if (response.messages) { + spinnerElement.parentNode.removeChild(spinnerElement); + Joomla.renderMessages(response.messages); + return false; + } + + spinnerElement.parentNode.removeChild(spinnerElement); + Joomla.install(tasks, form); + }, + onError: function(xhr){ + Joomla.renderMessages([['', Joomla.JText._('JLIB_DATABASE_ERROR_DATABASE_CONNECT', 'A Database error occurred.')]]); + Joomla.goToPage('remove'); + + try { + var r = JSON.parse(xhr.responseText); + Joomla.replaceTokens(r.token); + alert(r.message); + } catch (e) { + } + } + }); + }; + + /* Load scripts async */ + document.addEventListener('DOMContentLoaded', function() { + var page = document.getElementById('installer-view'); + + // Set the base URL + Joomla.baseUrl = Joomla.getOptions('system.installation').url ? Joomla.getOptions('system.installation').url.replace(/&/g, '&') : 'index.php'; + + // Show the container + var container = document.getElementById('container-installation'); + if (container) { + Joomla.installationBaseUrl = container.getAttribute('data-base-url'); + Joomla.installationBaseUrl += "installation/index.php" + } else { + throw new Error('Javascript required to be enabled!') + } + + if (page && page.getAttribute('data-page-name')) { + var script = document.querySelector('script[src*="template.js"]'); + el = document.createElement('script'); + el.src = script.src.replace("template.js", page.getAttribute('data-page-name') + '.js'); + document.head.appendChild(el); + } + + if (container) { + container.classList.remove('no-js'); + container.style.display = "block"; + } + }); })(); - diff --git a/installation/template/scss/template.scss b/installation/template/scss/template.scss index 4f41a5d8e2083..52acd8d95ac69 100644 --- a/installation/template/scss/template.scss +++ b/installation/template/scss/template.scss @@ -10,9 +10,14 @@ $fa-font-path: "../../../media/vendor/fontawesome-free/webfonts"; @import "../../../media/vendor/fontawesome-free/scss/solid"; @import "../../../media/vendor/fontawesome-free/scss/brands"; +// Backend Template stuff +@import "../../../administrator/templates/atum/scss/mixin"; +@import "../../../administrator/templates/atum/scss/blocks/global"; +@import "../../../administrator/templates/atum/scss/blocks/header"; +@import "../../../administrator/templates/atum/scss/vendor/bootstrap/custom-forms"; + body { - background-color: #1c3d5c; - background-image: linear-gradient(90deg, #1c3d5c 0%, #2a5c8b 100%); + background: var(--atum-bg-light); } *, *::after, *::before { @@ -23,55 +28,22 @@ body { display: flex; flex-direction: column; min-height: 100vh; + .logo { + width: auto; + } } -.j-header { - display: flex; - flex-direction: row; - color: #fff; -} .j-container { width: 100%; - max-width: 620px; + max-width: 40rem; margin: 0 auto; h1 { - color: #fff; + color: $dark-blue; text-align: center; } } -.j-footer { - padding: 10px 20px; - margin-top: auto; - font-size: .8rem; - color: #fff; - text-align: right; - background-color: #0b3257; - a { - color: $white; - text-decoration: underline; - &:hover { - color: $white; - } - } -} - -.j-header-logo { - width: 100%; - max-width: 240px; - margin: 20px; -} - -.j-header-help { - margin: 20px 20px 20px auto; - a { - padding: 1rem; - font-size: 2rem; - color: #fff; - } -} - .j-install-step { display: none; margin-bottom: 20px; @@ -94,28 +66,19 @@ body { padding: 10px 25px; font-size: 1.1rem; line-height: 2.4rem; - color: #fff; - background-color: #0b3257; - &::after { - position: absolute; - top: 100%; - left: 0; - width: 100%; - height: 3px; - content: ""; - background-color: #006898; - background-image: linear-gradient(to right, #59afff 0, #59daff 100%); - } + color: $dark-blue; + background-color: #fff; + border-bottom: 1px solid #efefef; + span { position: relative; - top: 5px; margin-right: 5px; - font-size: 2rem; + font-size: 1.2rem; } } .j-install-step-form { - padding: 30px 30px 10px; + padding: 0.65rem 1.2rem 0.65rem; .btn-block + .btn-block { margin-top: .5rem; } @@ -163,21 +126,7 @@ body { padding: 10px 20px; } -.lang-select { - top: 0; - right: 0; - width: auto; - .custom-select { - height: 30px; - padding: .3rem 1.75rem .3rem .75rem; - line-height: 1; - } -} - -.hidden { - display: none; -} -[hidden="hidden"] { +.hidden, [hidden="hidden"] { display: none; } @@ -280,6 +229,9 @@ legend { caption { caption-side: top; } +.badge-warning { + color: #292b2c; +} .fa-eye:before, .icon-eye-open:before, .icon-eye:before { font-family:"Font Awesome 5 Free"; @@ -292,3 +244,13 @@ caption { cursor: pointer; content: "\f070"; } + +// footer +.footer { + position: absolute; + bottom: 0; + left: 0; + box-shadow: 0 0 1px 1px rgba(0, 0, 0, .25); + z-index: $zindex-header; + background-color: $white; +} diff --git a/installation/tmpl/remove/default.php b/installation/tmpl/remove/default.php index e93db444e30f3..c31d51f9db8b1 100644 --- a/installation/tmpl/remove/default.php +++ b/installation/tmpl/remove/default.php @@ -20,7 +20,7 @@ -
+

@@ -84,16 +84,10 @@ development) : ?> -
- -
- -
+
+ +
- @@ -187,28 +181,6 @@ class="btn btn-primary"
-
- - - -
-

-

- - -
-
- - - - -
-
-
-
-
diff --git a/installation/tmpl/setup/default.php b/installation/tmpl/setup/default.php index e56a4dcf29706..4d496164d48a7 100644 --- a/installation/tmpl/setup/default.php +++ b/installation/tmpl/setup/default.php @@ -49,7 +49,7 @@
- +
diff --git a/language/en-GB/en-GB.com_users.ini b/language/en-GB/en-GB.com_users.ini index 3c019540108f4..e785f2afbceba 100644 --- a/language/en-GB/en-GB.com_users.ini +++ b/language/en-GB/en-GB.com_users.ini @@ -134,7 +134,6 @@ COM_USERS_USER_FIELD_BACKEND_LANGUAGE_LABEL="Backend Language" COM_USERS_USER_FIELD_BACKEND_TEMPLATE_LABEL="Backend Template Style" COM_USERS_USER_FIELD_EDITOR_LABEL="Editor" COM_USERS_USER_FIELD_FRONTEND_LANGUAGE_LABEL="Frontend Language" -COM_USERS_USER_FIELD_HELPSITE_LABEL="Help Site" COM_USERS_USER_FIELD_TIMEZONE_LABEL="Time Zone" COM_USERS_USER_NOT_FOUND="User not found." COM_USERS_USER_SAVE_FAILED="Failed to save user: %s" diff --git a/language/en-GB/en-GB.ini b/language/en-GB/en-GB.ini index 85537b35e6baf..01d6fc272d0a8 100644 --- a/language/en-GB/en-GB.ini +++ b/language/en-GB/en-GB.ini @@ -55,11 +55,19 @@ JALL_LANGUAGE="All" JAPPLY="Save" JARCHIVED="Archived" JASSOCIATIONS="Also available:" +JASSOCIATIONS_ASC="Associations ascending" +JASSOCIATIONS_DESC="Associations descending" JAUTHOR="Author" +JAUTHOR_ASC="Author ascending" +JAUTHOR_DESC="Author descending" JCANCEL="Cancel" JCATEGORY="Category" +JCATEGORY_ASC="Category ascending" +JCATEGORY_DESC="Category descending" JCLEAR="Clear" JDATE="Date" +JDATE_ASC="Date ascending" +JDATE_DESC="Date descending" JDAY="Day" JDEFAULT="Default" JDETAILS="Details" @@ -69,6 +77,8 @@ JENABLED="Enabled" JEXPIRED="Expired" JFALSE="False" JFEATURED="Featured" +JFEATURED_ASC="Featured ascending" +JFEATURED_DESC="Featured descending" JHIDE="Hide" JINVALID_TOKEN="The most recent request was denied because it had an invalid security token. Please refresh the page and try again." JINVALID_TOKEN_NOTICE="The security token did not match. The request was aborted to prevent any security breach. Please try again." @@ -99,6 +109,8 @@ JSHOW="Show" JSITE="Site" JSITEADMIN="Select Site or Administrator" JSTATUS="Status" +JSTATUS_ASC="Status ascending" +JSTATUS_DESC="Status descending" JSUBMIT="Submit" JTAG="Tags" JTAG_FIELD_SELECT_DESC="Select the tag to use." @@ -225,8 +237,9 @@ JGLOBAL_FIELD_CREATED_LABEL="Created Date" JGLOBAL_FIELD_FEATURED_DESC="Assign the article to the featured blog layout." JGLOBAL_FIELD_FEATURED_LABEL="Featured" JGLOBAL_FIELD_FIELD_CACHETIME_DESC="The number of minutes before the cache is refreshed." -JGLOBAL_FIELD_FIELD_ORDERING_LABEL="Order" JGLOBAL_FIELD_FIELD_ORDERING_DESC="Order items will be displayed in." +JGLOBAL_FIELD_FIELD_ORDERING_LABEL="Order" +JGLOBAL_FIELD_GROUPS="Field Groups" JGLOBAL_FIELD_ID_DESC="Record number in the database." JGLOBAL_FIELD_ID_LABEL="ID" JGLOBAL_FIELD_LAYOUT_DESC="Default layout to use for items." @@ -250,14 +263,19 @@ JGLOBAL_FILTER_BUTTON="Filter" JGLOBAL_FILTER_LABEL="Filter" JGLOBAL_FULL_TEXT="Full Text" JGLOBAL_GT=">" +; The following string is deprecated and will be removed with 4.0. JGLOBAL_HELPREFRESH_BUTTON="Refresh" JGLOBAL_HITS="Hits" +JGLOBAL_HITS_ASC="Hits ascending" JGLOBAL_HITS_COUNT="Hits: %s" +JGLOBAL_HITS_DESC="Hits descending" JGLOBAL_ICON_SEP="|" JGLOBAL_INHERIT="Inherit" JGLOBAL_INTRO_TEXT="Intro Text" JGLOBAL_KEEP_TYPING="Keep typing ..." JGLOBAL_LEFT="Left" +JGLOBAL_LIST_ALIAS="(Alias: %s)" +JGLOBAL_LIST_ALIAS_NOTE="(Alias: %s, Note: %s)" JGLOBAL_LOOKING_FOR="Looking for" JGLOBAL_LT="<" JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT="Maximum upload size: %s" @@ -283,12 +301,16 @@ JGLOBAL_SELECT_AN_OPTION="Select an option" JGLOBAL_SELECT_NO_RESULTS_MATCH="No results match" JGLOBAL_SELECT_PRESS_TO_SELECT="Press to select" JGLOBAL_SELECT_SOME_OPTIONS="Select some options" +JGLOBAL_SORT_BY="Sort Table By:" JGLOBAL_START_PUBLISH_AFTER_FINISH="Item start publishing date must be before finish publishing date" JGLOBAL_SUBCATEGORIES="Subcategories" JGLOBAL_SUBHEADING_DESC="Optional text to show as a subheading." JGLOBAL_TITLE="Title" +JGLOBAL_TITLE_ASC="Title ascending" +JGLOBAL_TITLE_DESC="Title descending" JGLOBAL_TYPE_OR_SELECT_CATEGORY="Type or Select a Category" JGLOBAL_TYPE_OR_SELECT_SOME_OPTIONS="Type or select some options" +JGLOBAL_TYPE_OR_SELECT_SOME_TAGS="Type or select some tags" JGLOBAL_USE_GLOBAL="Use Global" JGLOBAL_USE_GLOBAL_VALUE="Use Global (%s)" JGLOBAL_USERNAME="Username" @@ -296,8 +318,16 @@ JGLOBAL_VALIDATION_FORM_FAILED="Invalid form" JGLOBAL_YOU_MUST_LOGIN_FIRST="Please login first" JGRID_HEADING_ACCESS="Access" +JGRID_HEADING_ACCESS_ASC="Access ascending" +JGRID_HEADING_ACCESS_DESC="Access descending" JGRID_HEADING_ID="ID" +JGRID_HEADING_ID_ASC="ID ascending" +JGRID_HEADING_ID_DESC="ID descending" JGRID_HEADING_LANGUAGE="Language" +JGRID_HEADING_LANGUAGE_ASC="Language ascending" +JGRID_HEADING_LANGUAGE_DESC="Language descending" +JGRID_HEADING_ORDERING_ASC="Ordering ascending" +JGRID_HEADING_ORDERING_DESC="Ordering descending" ; if there is an error connecting database before initialisation, en-GB.lib_joomla.ini can't be loaded ; we therefore have to load the strings from en-GB.ini diff --git a/language/en-GB/en-GB.lib_joomla.ini b/language/en-GB/en-GB.lib_joomla.ini index 3ae55c1b4c2d7..e662f9f197772 100644 --- a/language/en-GB/en-GB.lib_joomla.ini +++ b/language/en-GB/en-GB.lib_joomla.ini @@ -24,28 +24,38 @@ JLIB_APPLICATION_ERROR_CHECKOUT_FAILED="Check-out failed with the following erro JLIB_APPLICATION_ERROR_CHECKOUT_USER_MISMATCH="The user checking out does not match the user who checked out the item." JLIB_APPLICATION_ERROR_COMPONENT_NOT_FOUND="Component not found." JLIB_APPLICATION_ERROR_COMPONENT_NOT_LOADING="Error loading component: %1$s, %2$s" +JLIB_APPLICATION_ERROR_CONTENT_TYPE_MISSING="Content type missing." JLIB_APPLICATION_ERROR_CONTROLLER_GET_NAME="JController: :getName() : Can't get or parse class name." JLIB_APPLICATION_ERROR_CREATE_RECORD_NOT_PERMITTED="Create record not permitted." +JLIB_APPLICATION_ERROR_DELETE="There was an error deleting the item." JLIB_APPLICATION_ERROR_DELETE_NOT_PERMITTED="Delete not permitted." +JLIB_APPLICATION_ERROR_DISPLAY_EMAIL_FORM="Display email form disabled." JLIB_APPLICATION_ERROR_EDITSTATE_NOT_PERMITTED="Edit state is not permitted." JLIB_APPLICATION_ERROR_EDIT_ITEM_NOT_PERMITTED="Edit is not permitted." JLIB_APPLICATION_ERROR_EDIT_NOT_PERMITTED="Edit not permitted." +JLIB_APPLICATION_ERROR_FORM_CREATE="Unable to create the form." JLIB_APPLICATION_ERROR_HISTORY_ID_MISMATCH="Error restoring item version from history." JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION="Insufficient information to perform the batch operation." +JLIB_APPLICATION_ERROR_INVALID_COMPONENT_NAME="Invalid component name." JLIB_APPLICATION_ERROR_INVALID_CONTROLLER_CLASS="Invalid controller class: %s" JLIB_APPLICATION_ERROR_INVALID_CONTROLLER="Invalid controller: name='%s', format='%s'" +JLIB_APPLICATION_ERROR_ITEMID_MISSING="Item ID missing." JLIB_APPLICATION_ERROR_LAYOUTFILE_NOT_FOUND="Layout %s not found." JLIB_APPLICATION_ERROR_LIBRARY_NOT_FOUND="Library not found." JLIB_APPLICATION_ERROR_LIBRARY_NOT_LOADING="Error loading library: %1$s, %2$s" JLIB_APPLICATION_ERROR_MENU_LOAD="Error loading menu: %s" +JLIB_APPLICATION_ERROR_MODEL_CREATE="Failed to create model." JLIB_APPLICATION_ERROR_MODEL_GET_NAME="JModel: :getName() : Can't get or parse class name." +JLIB_APPLICATION_ERROR_MODELCLASS_NOT_FOUND="Model class %s not found in file." JLIB_APPLICATION_ERROR_MODULE_LOAD="Error loading module %s" JLIB_APPLICATION_ERROR_PATHWAY_LOAD="Unable to load pathway: %s" +JLIB_APPLICATION_ERROR_RECORD="Record does not exist." JLIB_APPLICATION_ERROR_REORDER_FAILED="Reorder failed. Error: %s" +JLIB_APPLICATION_ERROR_RUN_TRANSITION="Unable to run transition." JLIB_APPLICATION_ERROR_ROUTER_LOAD="Unable to load router: %s" -JLIB_APPLICATION_ERROR_MODELCLASS_NOT_FOUND="Model class %s not found in file." JLIB_APPLICATION_ERROR_SAVE_FAILED="Save failed with the following error: %s" JLIB_APPLICATION_ERROR_SAVE_NOT_PERMITTED="Save not permitted." +JLIB_APPLICATION_ERROR_SERVER="Internal server error." JLIB_APPLICATION_ERROR_TABLE_NAME_NOT_SUPPORTED="Table %s not supported. File not found." JLIB_APPLICATION_ERROR_TASK_NOT_FOUND="Task [%s] not found." JLIB_APPLICATION_ERROR_UNHELD_ID="You are not permitted to use that link to directly access that page (#%d)." @@ -314,9 +324,13 @@ JLIB_FORM_ERROR_NO_DATA="No data." JLIB_FORM_ERROR_VALIDATE_FIELD="Invalid xml field." JLIB_FORM_ERROR_XML_FILE_DID_NOT_LOAD="XML file did not load." JLIB_FORM_FIELD_INVALID="Invalid field: " +JLIB_FORM_FIELD_INVALID_MAX_TIME="The time you entered is after the maximum time." +JLIB_FORM_FIELD_INVALID_MIN_TIME="The time you entered is before the minimum time." +JLIB_FORM_FIELD_INVALID_TIME_INPUT="Invalid time format. Please use hh:mm." +JLIB_FORM_FIELD_INVALID_TIME_INPUT_SECONDS="Invalid time format. Please use hh:mm:ss." JLIB_FORM_FIELD_INVALID_VALUE="This value is not valid" JLIB_FORM_FIELD_REQUIRED_CHECK="One of the options must be selected" -JLIB_FORM_FIELD_REQUIRED_VALUE="Field value cannot be empty" +JLIB_FORM_FIELD_REQUIRED_VALUE="Please fill in this field" JLIB_FORM_INPUTMODE="latin" JLIB_FORM_INVALID_FORM_OBJECT="Invalid Form Object: :%s" JLIB_FORM_INVALID_FORM_RULE="Invalid Form Rule: :%s" diff --git a/language/en-GB/en-GB.mod_finder.ini b/language/en-GB/en-GB.mod_finder.ini index d35bbd3f056be..ba7b91282c22f 100644 --- a/language/en-GB/en-GB.mod_finder.ini +++ b/language/en-GB/en-GB.mod_finder.ini @@ -23,6 +23,7 @@ MOD_FINDER_FIELDSET_BASIC_SHOW_ADVANCED_LABEL="Advanced Search" MOD_FINDER_FIELDSET_BASIC_SHOW_ADVANCED_OPTION_LINK="Link to Component" MOD_FINDER_FIELD_OPENSEARCH_LABEL="Enable OpenSearch" MOD_FINDER_FIELD_OPENSEARCH_TEXT_LABEL="OpenSearch Name" +MOD_FINDER_OPENSEARCH_NAME="OpenSearch" MOD_FINDER_SEARCHBUTTON_TEXT="Search" MOD_FINDER_SEARCH_VALUE="Search ..." MOD_FINDER_SELECT_MENU_ITEMID="Select a menu item" diff --git a/language/en-GB/en-GB.xml b/language/en-GB/en-GB.xml index e2382ee61dca0..e56badd6a2a68 100644 --- a/language/en-GB/en-GB.xml +++ b/language/en-GB/en-GB.xml @@ -2,7 +2,7 @@ English (en-GB) 4.0.0 - June 2019 + August 2019 Joomla! Project admin@joomla.org www.joomla.org diff --git a/language/en-GB/install.xml b/language/en-GB/install.xml index ad5c929fe5f40..f99b885eb63b7 100644 --- a/language/en-GB/install.xml +++ b/language/en-GB/install.xml @@ -3,7 +3,7 @@ English (en-GB) en-GB 4.0.0 - June 2019 + August 2019 Joomla! Project admin@joomla.org www.joomla.org diff --git a/layouts/joomla/content/blog_style_default_item_title.php b/layouts/joomla/content/blog_style_default_item_title.php index af0ae62682955..6c8e08a408b3b 100644 --- a/layouts/joomla/content/blog_style_default_item_title.php +++ b/layouts/joomla/content/blog_style_default_item_title.php @@ -42,9 +42,7 @@ - publish_down != Factory::getDbo()->getNullDate() - && (strtotime($displayData->publish_down) < strtotime(Factory::getDate())) - ) : ?> + publish_down !== null && strtotime($displayData->publish_down) < strtotime(Factory::getDate())) : ?>
diff --git a/layouts/joomla/content/options_default.php b/layouts/joomla/content/options_default.php index 4d0251d6f134d..82e67736438c2 100644 --- a/layouts/joomla/content/options_default.php +++ b/layouts/joomla/content/options_default.php @@ -20,22 +20,24 @@

description; ?>

fieldsname); ?> - - form->getFieldset($fieldname) as $field) : ?> - - type === 'Spacer' ? ' field-spacer' : ''; ?> - showon) : ?> - 'auto', 'relative' => true)); ?> - showon, $field->formControl, $field->group)) . '\''; ?> - - - showlabel)) : ?> -
> -
input; ?>
-
- - renderField(); ?> +
+ + form->getFieldset($fieldname) as $field) : ?> + + type === 'Spacer' ? ' field-spacer' : ''; ?> + showon) : ?> + 'auto', 'relative' => true)); ?> + showon, $field->formControl, $field->group)) . '\''; ?> + + showlabel)) : ?> +
> +
input; ?>
+
+ + renderField(); ?> + + - +
diff --git a/layouts/joomla/edit/params.php b/layouts/joomla/edit/params.php index 47dc00ee2a8f5..58483e6485e1b 100644 --- a/layouts/joomla/edit/params.php +++ b/layouts/joomla/edit/params.php @@ -17,6 +17,7 @@ $app = Factory::getApplication(); $form = $displayData->getForm(); $fieldSets = $form->getFieldsets(); +$helper = $displayData->get('useCoreUI', false) ? 'uitab' : 'bootstrap'; if (empty($fieldSets)) { @@ -24,6 +25,8 @@ } $ignoreFieldsets = $displayData->get('ignore_fieldsets') ?: array(); +$outputFieldsets = $displayData->get('output_fieldsets') ?: array(); +$ignoreFieldsetFields = $displayData->get('ignore_fieldset_fields') ?: array(); $ignoreFields = $displayData->get('ignore_fields') ?: array(); $extraFields = $displayData->get('extra_fields') ?: array(); $tabName = $displayData->get('tab_name') ?: 'myTab'; @@ -75,6 +78,10 @@ echo implode('', $html); } +$opentab = false; + +$xml = $form->getXml(); + // Loop again over the fieldsets foreach ($fieldSets as $name => $fieldSet) { @@ -103,10 +110,45 @@ $label = Text::_($label); } - $helper = $displayData->get('useCoreUI', false) ? 'uitab' : 'bootstrap'; + $hasChildren = $xml->xpath('//fieldset[@name="' . $name . '"]//fieldset'); + $hasParent = $xml->xpath('//fieldset//fieldset[@name="' . $name . '"]'); + $isGrandchild = $xml->xpath('//fieldset//fieldset//fieldset[@name="' . $name . '"]'); + + if (!$isGrandchild && $hasParent) + { + echo '
'; + echo '' . $label . ''; + echo '
'; + } + // Tabs + elseif (!$hasParent) + { + if ($opentab) + { + if ($opentab > 1) + { + echo '
'; + } + + // End previous tab + echo HTMLHelper::_($helper . '.endTab'); + } - // Start the tab - echo HTMLHelper::_($helper . '.addTab', $tabName, 'attrib-' . $name, $label); + // Start the tab + echo HTMLHelper::_($helper . '.addTab', $tabName, 'attrib-' . $name, $label); + + $opentab = 1; + + // Directly add a fieldset if we have no children + if (!$hasChildren) + { + echo '
'; + echo '' . $label . ''; + echo '
'; + + $opentab = 2; + } + } // Include the description when available if (isset($fieldSet->description) && trim($fieldSet->description)) @@ -114,15 +156,35 @@ echo '
' . $this->escape(Text::_($fieldSet->description)) . '
'; } - // The name of the fieldset to render - $displayData->fieldset = $name; + // We're on the deepest level => output fields + if (!$hasChildren) + { + // The name of the fieldset to render + $displayData->fieldset = $name; - // Force to show the options - $displayData->showOptions = true; + // Force to show the options + $displayData->showOptions = true; - // Render the fieldset - echo LayoutHelper::render('joomla.edit.fieldset', $displayData); + // Render the fieldset + echo LayoutHelper::render('joomla.edit.fieldset', $displayData); + } + + // Close open fieldset + if (!$isGrandchild && $hasParent) + { + echo '
'; + echo '
'; + } +} + +if ($opentab) +{ + if ($opentab > 1) + { + echo '
'; + echo ''; + } - // End the tab + // End previous tab echo HTMLHelper::_($helper . '.endTab'); } diff --git a/layouts/joomla/edit/title_alias.php b/layouts/joomla/edit/title_alias.php index 4564d9f227019..03c865d6b8f39 100644 --- a/layouts/joomla/edit/title_alias.php +++ b/layouts/joomla/edit/title_alias.php @@ -14,9 +14,11 @@ $title = $form->getField('title') ? 'title' : ($form->getField('name') ? 'name' : ''); ?> -
- renderField($title) : ''; - echo $form->renderField('alias'); - ?> -
+
+
+ renderField($title) : ''; ?> +
+
+ renderField('alias'); ?> +
+
\ No newline at end of file diff --git a/layouts/joomla/form/field/accesslevel-fancy-select.php b/layouts/joomla/form/field/accesslevel-fancy-select.php deleted file mode 100644 index 9fe3310fc4d3f..0000000000000 --- a/layouts/joomla/form/field/accesslevel-fancy-select.php +++ /dev/null @@ -1,79 +0,0 @@ - section in form XML. - * @var boolean $hidden Is this field hidden in the form? - * @var string $hint Placeholder for the field. - * @var string $id DOM id of the field. - * @var string $label Label of the field. - * @var string $labelclass Classes to apply to the label. - * @var boolean $multiple Does this field support multiple values? - * @var string $name Name of the input field. - * @var string $onchange Onchange attribute for the field. - * @var string $onclick Onclick attribute for the field. - * @var string $pattern Pattern (Reg Ex) of value of the form field. - * @var boolean $readonly Is this field read only? - * @var boolean $repeat Allows extensions to duplicate elements. - * @var boolean $required Is this field required? - * @var integer $size Size attribute of the input. - * @var boolean $spellcheck Spellcheck state for the form field. - * @var string $validate Validation rules to apply. - * @var string $value Value attribute of the field. - * @var array $checkedOptions Options that will be set as checked. - * @var boolean $hasValue Has this field a value assigned? - * @var array $options Options available for this field. - * @var array $inputType Options available for this field. - */ - -$attr = ''; - -// Initialize some field attributes. -$attr .= $disabled ? ' disabled' : ''; -$attr .= !empty($size) ? ' size="' . $size . '"' : ''; -$attr .= $multiple ? ' multiple' : ''; -$attr .= $autofocus ? ' autofocus' : ''; -$attr .= $onchange ? ' onchange="' . $onchange . '"' : ''; - -$attr2 = ''; -$attr2 .= !empty($class) ? ' class="' . $class . '"' : ''; -$attr2 .= ' placeholder="' . $this->escape($hint ?: Text::_('JGLOBAL_TYPE_OR_SELECT_SOME_OPTIONS')) . '" '; - -if ($required) -{ - $attr .= ' required class="required"'; - $attr2 .= ' required'; -} - -Text::script('JGLOBAL_SELECT_NO_RESULTS_MATCH'); -Text::script('JGLOBAL_SELECT_PRESS_TO_SELECT'); - -Factory::getDocument()->getWebAssetManager()->enableAsset('choicesjs'); -HTMLHelper::_('webcomponent', 'system/fields/joomla-field-fancy-select.min.js', ['version' => 'auto', 'relative' => true]); - -?> - -> diff --git a/layouts/joomla/form/field/accesslevel.php b/layouts/joomla/form/field/accesslevel.php deleted file mode 100644 index d38ec26d2bb63..0000000000000 --- a/layouts/joomla/form/field/accesslevel.php +++ /dev/null @@ -1,60 +0,0 @@ - section in form XML. - * @var boolean $hidden Is this field hidden in the form? - * @var string $hint Placeholder for the field. - * @var string $id DOM id of the field. - * @var string $label Label of the field. - * @var string $labelclass Classes to apply to the label. - * @var boolean $multiple Does this field support multiple values? - * @var string $name Name of the input field. - * @var string $onchange Onchange attribute for the field. - * @var string $onclick Onclick attribute for the field. - * @var string $pattern Pattern (Reg Ex) of value of the form field. - * @var boolean $readonly Is this field read only? - * @var boolean $repeat Allows extensions to duplicate elements. - * @var boolean $required Is this field required? - * @var integer $size Size attribute of the input. - * @var boolean $spellcheck Spellcheck state for the form field. - * @var string $validate Validation rules to apply. - * @var string $value Value attribute of the field. - * @var array $checkedOptions Options that will be set as checked. - * @var boolean $hasValue Has this field a value assigned? - * @var array $options Options available for this field. - * @var array $inputType Options available for this field. - */ - -$attr = ''; - -// Initialize some field attributes. -$attr .= !empty($class) ? ' class="custom-select ' . $class . '"' : ' class="custom-select"'; -$attr .= $disabled ? ' disabled' : ''; -$attr .= !empty($size) ? ' size="' . $size . '"' : ''; -$attr .= $multiple ? ' multiple' : ''; -$attr .= $required ? ' required' : ''; -$attr .= $autofocus ? ' autofocus' : ''; -$attr .= $onchange ? ' onchange="' . $onchange . '"' : ''; -$attr .= !empty($description) ? ' aria-describedby="' . $name . '-desc"' : ''; - -echo HTMLHelper::_('access.level', $name, $value, $attr, $options, $id); diff --git a/layouts/joomla/form/field/calendar.php b/layouts/joomla/form/field/calendar.php index 6bbe25359164b..edaf5c848a016 100644 --- a/layouts/joomla/form/field/calendar.php +++ b/layouts/joomla/form/field/calendar.php @@ -116,7 +116,7 @@ data-alt-value="" autocomplete="off"> -