From 7f710fbd7622dd1b25e02aba6f5bd03c0ca72f01 Mon Sep 17 00:00:00 2001 From: Olivier Buisard Date: Wed, 13 Mar 2024 16:16:14 -0400 Subject: [PATCH] [5.1] Guided tours welcome tour (#41659) Co-authored-by: Brian Teeman Co-authored-by: Benjamin Trenkle --- .../sql/updates/mysql/5.1.0-2024-03-08.sql | 13 +++++ .../updates/postgresql/5.1.0-2024-03-08.sql | 15 ++++++ .../com_guidedtours/src/Model/TourModel.php | 23 ++++++++ .../en-GB/guidedtours.joomla_welcome.ini | 2 + .../guidedtours.joomla_welcome_steps.ini | 14 +++++ .../js/guidedtours.es6.js | 8 ++- .../src/View/Category/HtmlView.php | 5 +- .../src/View/Newsfeed/HtmlView.php | 5 +- installation/sql/mysql/extensions.sql | 34 +++++++----- installation/sql/postgresql/extensions.sql | 38 ++++++++------ package-lock.json | 8 +-- package.json | 2 +- .../guidedtours/src/Extension/GuidedTours.php | 23 +++++++- .../integration/install/Installation.cy.js | 1 + tests/System/support/commands.js | 52 ------------------- tests/System/support/commands/db.js | 1 + 16 files changed, 153 insertions(+), 91 deletions(-) create mode 100644 administrator/components/com_admin/sql/updates/mysql/5.1.0-2024-03-08.sql create mode 100644 administrator/components/com_admin/sql/updates/postgresql/5.1.0-2024-03-08.sql create mode 100644 administrator/language/en-GB/guidedtours.joomla_welcome.ini create mode 100644 administrator/language/en-GB/guidedtours.joomla_welcome_steps.ini diff --git a/administrator/components/com_admin/sql/updates/mysql/5.1.0-2024-03-08.sql b/administrator/components/com_admin/sql/updates/mysql/5.1.0-2024-03-08.sql new file mode 100644 index 0000000000000..458403a3454a4 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/5.1.0-2024-03-08.sql @@ -0,0 +1,13 @@ +INSERT IGNORE INTO `#__guidedtour_steps` (`tour_id`, `title`, `published`, `description`, `ordering`, `position`, `target`, `type`, `interactive_type`, `url`, `created`, `created_by`, `modified`, `modified_by`, `language`) VALUES +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_DESCRIPTION', 1, 'right', '#sidebarmenu', 0, 1, '', CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0, '*'), +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_DESCRIPTION', 2, 'center', '', 0, 1, '', CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0, '*'), +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_DESCRIPTION', 3, 'left', '.quickicons-for-update_quickicon .card', 0, 1, '', CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0, '*'), +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_DESCRIPTION', 4, 'bottom', '#header', 0, 1, '', CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0, '*'), +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_DESCRIPTION', 5, 'right', '#sidebarmenu nav > ul:first-of-type > li:last-child', 0, 1, '', CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0, '*'); + +ALTER TABLE `#__guidedtours` ADD COLUMN `autostart` int NOT NULL DEFAULT 0 /** CAN FAIL **/; + +INSERT IGNORE INTO `#__guidedtours` (`title`, `uid`, `description`, `ordering`, `extensions`, `url`, `created`, `created_by`, `modified`, `modified_by`, `published`, `language`, `access`, `autostart`) VALUES +('COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_TITLE', 'joomla-welcome', 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_DESCRIPTION', 1, '["com_cpanel"]', 'administrator/index.php', CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0, 1, '*', 1, 0); + +UPDATE `#__guidedtour_steps` SET `tour_id` = LAST_INSERT_ID() WHERE `tour_id`=0; diff --git a/administrator/components/com_admin/sql/updates/postgresql/5.1.0-2024-03-08.sql b/administrator/components/com_admin/sql/updates/postgresql/5.1.0-2024-03-08.sql new file mode 100644 index 0000000000000..03618c5ec72c3 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/5.1.0-2024-03-08.sql @@ -0,0 +1,15 @@ +INSERT IGNORE INTO "#__guidedtour_steps" ("tour_id", "title", "published", "description", "ordering", "position", "target", "type", "interactive_type", "url", "created", "created_by", "modified", "modified_by", "language") VALUES +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_DESCRIPTION', 1, 'right', '#sidebarmenu', 0, 1, '', CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0, '*'), +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_DESCRIPTION', 2, 'center', '', 0, 1, '', CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0, '*'), +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_DESCRIPTION', 3, 'left', '.quickicons-for-update_quickicon .card', 0, 1, '', CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0, '*'), +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_DESCRIPTION', 4, 'bottom', '#header', 0, 1, '', CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0, '*'), +(0, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_DESCRIPTION', 5, 'right', '#sidebarmenu nav > ul:first-of-type > li:last-child', 0, 1, '', CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0, '*') +ON CONFLICT DO NOTHING; + +ALTER TABLE "#__guidedtours" ADD COLUMN "autostart" int NOT NULL DEFAULT 0 /** CAN FAIL **/; + +INSERT IGNORE INTO "#__guidedtours" ("title", "uid", "description", "ordering", "extensions", "url", "created", "created_by", "modified", "modified_by", "published", "language", "access", "autostart") VALUES +('COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_TITLE', 'joomla-welcome', 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_DESCRIPTION', 1, '["com_cpanel"]', 'administrator/index.php', CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0, 1, '*', 1, 0) +ON CONFLICT DO NOTHING; + +UPDATE "#__guidedtour_steps" SET "tour_id" = currval(pg_get_serial_sequence('#__guidedtours','id')) WHERE "tour_id"=0; diff --git a/administrator/components/com_guidedtours/src/Model/TourModel.php b/administrator/components/com_guidedtours/src/Model/TourModel.php index 8bfca6bfdf760..ba44205d3da67 100644 --- a/administrator/components/com_guidedtours/src/Model/TourModel.php +++ b/administrator/components/com_guidedtours/src/Model/TourModel.php @@ -501,4 +501,27 @@ protected function setStepsLanguage(int $id, string $language = '*'): bool return $db->setQuery($query) ->execute(); } + + /** + * Sets a tour's autostart value + * + * @param int $id Id of a tour + * @param int $autostart The autostart value of a tour + * + * @since 5.0.0 + */ + public function setAutostart($id, $autostart) + { + $db = $this->getDatabase(); + + $query = $db->getQuery(true) + ->update($db->quoteName('#__guidedtours')) + ->set($db->quoteName('autostart') . ' = :autostart') + ->where($db->quoteName('id') . ' = :tourId') + ->bind(':autostart', $autostart, ParameterType::INTEGER) + ->bind(':tourId', $id, ParameterType::INTEGER); + + $db->setQuery($query); + $db->execute(); + } } diff --git a/administrator/language/en-GB/guidedtours.joomla_welcome.ini b/administrator/language/en-GB/guidedtours.joomla_welcome.ini new file mode 100644 index 0000000000000..409df0dda794a --- /dev/null +++ b/administrator/language/en-GB/guidedtours.joomla_welcome.ini @@ -0,0 +1,2 @@ +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_TITLE="Welcome to Joomla!" +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_DESCRIPTION="

This is the first of a set of Guided Tours designed to introduce newcomers to the main features of the Joomla Administrator pages, sometimes referred as the backend to distinguish it from the frontend public Site pages. The Administrator pages are used to configure and manage your whole Joomla website.

The current page is the Home Dashboard, the starting point for access to the Administrator menu, to the left, and the Quick access panels, to the right.

Please select Start to continue this brief tour or the X symbol above to close the tour. You can take the tour again at any time.

" diff --git a/administrator/language/en-GB/guidedtours.joomla_welcome_steps.ini b/administrator/language/en-GB/guidedtours.joomla_welcome_steps.ini new file mode 100644 index 0000000000000..3b0338706b3a8 --- /dev/null +++ b/administrator/language/en-GB/guidedtours.joomla_welcome_steps.ini @@ -0,0 +1,14 @@ +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_TITLE="The Menu" +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_DESCRIPTION="

The menu provides access to the Administrator management pages. Each section has a collection of pages for managing that particular aspect of Joomla, such as Content, Menus and Users.

The window pane icons link to individual dashboards for those sections. The System menu itself leads to a dashboard.

" + +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_TITLE="The Dashboard Panels" +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_DESCRIPTION="

Dashboards provide quick access to frequently used pages via their icons.

Each dashboard panel is an Administrator module that can be customised via its Settings icon . This allows you to configure your site dashboards to suit your own purposes.

" + +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_TITLE="The Notifications Panel" +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_DESCRIPTION="

The Notifications panel shows when updates are available for Joomla and other extensions. Outstanding Privacy Requests are also shown here.

" + +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_TITLE="The Top Bar" +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_DESCRIPTION="

The top bar shows the title of the displayed page so that you always know where you are. The other items in the top bar are optional modules.

Typically the current Joomla version and access to further guided tours can be found here.

The last items are usually a link to the Site frontend and the User Menu where you can manage your account and logout.

" + +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_TITLE="Help and Information" +COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_DESCRIPTION="

Many resources to help you can be found here together with additional links to more resources, documentation, support and how to become involved in Joomla.

" diff --git a/build/media_source/plg_system_guidedtours/js/guidedtours.es6.js b/build/media_source/plg_system_guidedtours/js/guidedtours.es6.js index decc52bacfe4a..18d9d38a8896a 100644 --- a/build/media_source/plg_system_guidedtours/js/guidedtours.es6.js +++ b/build/media_source/plg_system_guidedtours/js/guidedtours.es6.js @@ -597,7 +597,13 @@ document.querySelector('body').addEventListener('click', (event) => { }); // Start a given tour -const tourId = sessionStorage.getItem('tourId'); +let tourId = sessionStorage.getItem('tourId'); + +// Autostart tours have priority +if (Joomla.getOptions('com_guidedtours.autotour', '') !== '') { + sessionStorage.setItem('tourToken', String(Joomla.getOptions('com_guidedtours.token'))); + tourId = Joomla.getOptions('com_guidedtours.autotour'); +} if ((Number.parseInt(tourId, 10) > 0 || tourId !== '') && sessionStorage.getItem('tourToken') === String(Joomla.getOptions('com_guidedtours.token'))) { loadTour(tourId); diff --git a/components/com_newsfeeds/src/View/Category/HtmlView.php b/components/com_newsfeeds/src/View/Category/HtmlView.php index 0ae24da04f4c3..f9a7b1f08477e 100644 --- a/components/com_newsfeeds/src/View/Category/HtmlView.php +++ b/components/com_newsfeeds/src/View/Category/HtmlView.php @@ -88,8 +88,9 @@ protected function prepareDocument() $category = $this->category->getParent(); while ( - (!isset($menu->query['option']) || $menu->query['option'] !== 'com_newsfeeds' || $menu->query['view'] === 'newsfeed' - || $id != $category->id) && $category->id > 1 + isset($category->id) && $category->id > 1 + && (!isset($menu->query['option']) || $menu->query['option'] !== 'com_newsfeeds' || $menu->query['view'] === 'newsfeed' + || $id != $category->id) ) { $path[] = ['title' => $category->title, 'link' => RouteHelper::getCategoryRoute($category->id, $category->language)]; $category = $category->getParent(); diff --git a/components/com_newsfeeds/src/View/Newsfeed/HtmlView.php b/components/com_newsfeeds/src/View/Newsfeed/HtmlView.php index 0d9f50fdffb53..9da806fa31207 100644 --- a/components/com_newsfeeds/src/View/Newsfeed/HtmlView.php +++ b/components/com_newsfeeds/src/View/Newsfeed/HtmlView.php @@ -260,8 +260,9 @@ protected function _prepareDocument() $category = Categories::getInstance('Newsfeeds')->get($this->item->catid); while ( - (!isset($menu->query['option']) || $menu->query['option'] !== 'com_newsfeeds' || $menu->query['view'] === 'newsfeed' - || $id != $category->id) && $category->id > 1 + isset($category->id) && $category->id > 1 + && (!isset($menu->query['option']) || $menu->query['option'] !== 'com_newsfeeds' || $menu->query['view'] === 'newsfeed' + || $id != $category->id) ) { $path[] = ['title' => $category->title, 'link' => RouteHelper::getCategoryRoute($category->id)]; $category = $category->getParent(); diff --git a/installation/sql/mysql/extensions.sql b/installation/sql/mysql/extensions.sql index 83c56d346b0ae..b1a8b198cedbf 100644 --- a/installation/sql/mysql/extensions.sql +++ b/installation/sql/mysql/extensions.sql @@ -972,6 +972,7 @@ CREATE TABLE IF NOT EXISTS `#__guidedtours` ( `language` varchar(7) NOT NULL, `note` varchar(255) NOT NULL DEFAULT '', `access` int unsigned NOT NULL DEFAULT 0, + `autostart` int NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `idx_access` (`access`), KEY `idx_state` (`published`), @@ -983,18 +984,19 @@ CREATE TABLE IF NOT EXISTS `#__guidedtours` ( -- Dumping data for table `#__guidedtours` -- -INSERT INTO `#__guidedtours` (`id`, `title`, `uid`, `description`, `ordering`, `extensions`, `url`, `created`, `created_by`, `modified`, `modified_by`, `checked_out_time`, `checked_out`, `published`, `language`, `access`) VALUES -(1, 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURS_TITLE', 'joomla-guidedtours', 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURS_DESCRIPTION', 1, '["com_guidedtours"]', 'administrator/index.php?option=com_guidedtours&view=tours', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(2, 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_TITLE', 'joomla-guidedtoursteps', 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_DESCRIPTION', 2, '["com_guidedtours"]', 'administrator/index.php?option=com_guidedtours&view=tours', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(3, 'COM_GUIDEDTOURS_TOUR_ARTICLES_TITLE', 'joomla-articles', 'COM_GUIDEDTOURS_TOUR_ARTICLES_DESCRIPTION', 3, '["com_content","com_categories"]', 'administrator/index.php?option=com_content&view=articles', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(4, 'COM_GUIDEDTOURS_TOUR_CATEGORIES_TITLE', 'joomla-categories', 'COM_GUIDEDTOURS_TOUR_CATEGORIES_DESCRIPTION', 4, '["com_content","com_categories"]', 'administrator/index.php?option=com_categories&view=categories&extension=com_content', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(5, 'COM_GUIDEDTOURS_TOUR_MENUS_TITLE', 'joomla-menus', 'COM_GUIDEDTOURS_TOUR_MENUS_DESCRIPTION', 5, '["com_menus"]', 'administrator/index.php?option=com_menus&view=menus', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(6, 'COM_GUIDEDTOURS_TOUR_TAGS_TITLE', 'joomla-tags', 'COM_GUIDEDTOURS_TOUR_TAGS_DESCRIPTION', 6, '["com_tags"]', 'administrator/index.php?option=com_tags&view=tags', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(7, 'COM_GUIDEDTOURS_TOUR_BANNERS_TITLE', 'joomla-banners', 'COM_GUIDEDTOURS_TOUR_BANNERS_DESCRIPTION', 7, '["com_banners"]', 'administrator/index.php?option=com_banners&view=banners', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(8, 'COM_GUIDEDTOURS_TOUR_CONTACTS_TITLE', 'joomla-contacts', 'COM_GUIDEDTOURS_TOUR_CONTACTS_DESCRIPTION', 8, '["com_contact"]', 'administrator/index.php?option=com_contact&view=contacts', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(9, 'COM_GUIDEDTOURS_TOUR_NEWSFEEDS_TITLE', 'joomla-newsfeeds', 'COM_GUIDEDTOURS_TOUR_NEWSFEEDS_DESCRIPTION', 9, '["com_newsfeeds"]', 'administrator/index.php?option=com_newsfeeds&view=newsfeeds', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(10, 'COM_GUIDEDTOURS_TOUR_SMARTSEARCH_TITLE', 'joomla-smartsearch', 'COM_GUIDEDTOURS_TOUR_SMARTSEARCH_DESCRIPTION', 10, '["com_finder"]', 'administrator/index.php?option=com_finder&view=filters', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1), -(11, 'COM_GUIDEDTOURS_TOUR_USERS_TITLE', 'joomla-users', 'COM_GUIDEDTOURS_TOUR_USERS_DESCRIPTION', 11, '["com_users"]', 'administrator/index.php?option=com_users&view=users', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1); +INSERT INTO `#__guidedtours` (`id`, `title`, `uid`, `description`, `ordering`, `extensions`, `url`, `created`, `created_by`, `modified`, `modified_by`, `checked_out_time`, `checked_out`, `published`, `language`, `access`, `autostart`) VALUES +(1, 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURS_TITLE', 'joomla-guidedtours', 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURS_DESCRIPTION', 1, '["com_guidedtours"]', 'administrator/index.php?option=com_guidedtours&view=tours', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(2, 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_TITLE', 'joomla-guidedtoursteps', 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_DESCRIPTION', 2, '["com_guidedtours"]', 'administrator/index.php?option=com_guidedtours&view=tours', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(3, 'COM_GUIDEDTOURS_TOUR_ARTICLES_TITLE', 'joomla-articles', 'COM_GUIDEDTOURS_TOUR_ARTICLES_DESCRIPTION', 3, '["com_content","com_categories"]', 'administrator/index.php?option=com_content&view=articles', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(4, 'COM_GUIDEDTOURS_TOUR_CATEGORIES_TITLE', 'joomla-categories', 'COM_GUIDEDTOURS_TOUR_CATEGORIES_DESCRIPTION', 4, '["com_content","com_categories"]', 'administrator/index.php?option=com_categories&view=categories&extension=com_content', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(5, 'COM_GUIDEDTOURS_TOUR_MENUS_TITLE', 'joomla-menus', 'COM_GUIDEDTOURS_TOUR_MENUS_DESCRIPTION', 5, '["com_menus"]', 'administrator/index.php?option=com_menus&view=menus', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(6, 'COM_GUIDEDTOURS_TOUR_TAGS_TITLE', 'joomla-tags', 'COM_GUIDEDTOURS_TOUR_TAGS_DESCRIPTION', 6, '["com_tags"]', 'administrator/index.php?option=com_tags&view=tags', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(7, 'COM_GUIDEDTOURS_TOUR_BANNERS_TITLE', 'joomla-banners', 'COM_GUIDEDTOURS_TOUR_BANNERS_DESCRIPTION', 7, '["com_banners"]', 'administrator/index.php?option=com_banners&view=banners', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(8, 'COM_GUIDEDTOURS_TOUR_CONTACTS_TITLE', 'joomla-contacts', 'COM_GUIDEDTOURS_TOUR_CONTACTS_DESCRIPTION', 8, '["com_contact"]', 'administrator/index.php?option=com_contact&view=contacts', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(9, 'COM_GUIDEDTOURS_TOUR_NEWSFEEDS_TITLE', 'joomla-newsfeeds', 'COM_GUIDEDTOURS_TOUR_NEWSFEEDS_DESCRIPTION', 9, '["com_newsfeeds"]', 'administrator/index.php?option=com_newsfeeds&view=newsfeeds', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(10, 'COM_GUIDEDTOURS_TOUR_SMARTSEARCH_TITLE', 'joomla-smartsearch', 'COM_GUIDEDTOURS_TOUR_SMARTSEARCH_DESCRIPTION', 10, '["com_finder"]', 'administrator/index.php?option=com_finder&view=filters', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(11, 'COM_GUIDEDTOURS_TOUR_USERS_TITLE', 'joomla-users', 'COM_GUIDEDTOURS_TOUR_USERS_DESCRIPTION', 11, '["com_users"]', 'administrator/index.php?option=com_users&view=users', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 0), +(12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_TITLE', 'joomla-welcome', 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_DESCRIPTION', 12, '["com_cpanel"]', 'administrator/index.php', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, NULL, NULL, 1, '*', 1, 1); -- -------------------------------------------------------- @@ -1154,4 +1156,10 @@ INSERT INTO `#__guidedtour_steps` (`id`, `tour_id`, `title`, `published`, `descr (108, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_STATUS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_STATUS_DESCRIPTION', 108, 'top', '#jform_block0', 2, 3, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'), (109, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_PASSWORDRESET_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_PASSWORDRESET_DESCRIPTION', 109, 'top', '#jform_requireReset0', 2, 3, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'), (110, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_SAVECLOSE_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_SAVECLOSE_DESCRIPTION', 110, 'bottom', '#save-group-children-save .button-save', 2, 1, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'), -(111, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_CONGRATULATIONS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_CONGRATULATIONS_DESCRIPTION', 111, 'bottom', '', 0, 1, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'); +(111, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_CONGRATULATIONS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_CONGRATULATIONS_DESCRIPTION', 111, 'bottom', '', 0, 1, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'), + +(112, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_DESCRIPTION', 112, 'right', '#sidebarmenu', 0, 1, '', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'), +(113, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_DESCRIPTION', 113, 'center', '', 0, 1, '', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'), +(114, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_DESCRIPTION', 114, 'left', '.quickicons-for-update_quickicon .card', 0, 1, '', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'), +(115, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_DESCRIPTION', 115, 'bottom', '#header', 0, 1, '', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'), +(116, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_DESCRIPTION', 116, 'right', '#sidebarmenu nav > ul:first-of-type > li:last-child', 0, 1, '', CURRENT_TIMESTAMP(), 42, CURRENT_TIMESTAMP(), 42, '*'); diff --git a/installation/sql/postgresql/extensions.sql b/installation/sql/postgresql/extensions.sql index d266e720615bf..5b0bda3f1bc49 100644 --- a/installation/sql/postgresql/extensions.sql +++ b/installation/sql/postgresql/extensions.sql @@ -937,6 +937,7 @@ CREATE TABLE IF NOT EXISTS "#__guidedtours" ( "language" varchar(7) DEFAULT '' NOT NULL, "note" varchar(255) DEFAULT '' NOT NULL, "access" bigint NOT NULL DEFAULT 0, + "autostart" int NOT NULL DEFAULT 0, PRIMARY KEY ("id") ); @@ -948,20 +949,21 @@ CREATE INDEX "#__guidedtours_idx_uid" ON "#__guidedtours" ("uid"); -- Dumping data for table `#__guidedtours` -- -INSERT INTO "#__guidedtours" ("id", "title", "uid", "description", "ordering", "extensions", "url", "created", "created_by", "modified", "modified_by", "checked_out_time", "checked_out", "published", "language", "access") VALUES -(1, 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURS_TITLE', 'joomla-guidedtours', 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURS_DESCRIPTION', 1, '["com_guidedtours"]', 'administrator/index.php?option=com_guidedtours&view=tours', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(2, 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_TITLE', 'joomla-guidedtoursteps', 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_DESCRIPTION', 2, '["com_guidedtours"]', 'administrator/index.php?option=com_guidedtours&view=tours', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(3, 'COM_GUIDEDTOURS_TOUR_ARTICLES_TITLE', 'joomla-articles', 'COM_GUIDEDTOURS_TOUR_ARTICLES_DESCRIPTION', 3, '["com_content","com_categories"]', 'administrator/index.php?option=com_content&view=articles', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(4, 'COM_GUIDEDTOURS_TOUR_CATEGORIES_TITLE', 'joomla-categories', 'COM_GUIDEDTOURS_TOUR_CATEGORIES_DESCRIPTION', 4, '["com_content","com_categories"]', 'administrator/index.php?option=com_categories&view=categories&extension=com_content', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(5, 'COM_GUIDEDTOURS_TOUR_MENUS_TITLE', 'joomla-menus', 'COM_GUIDEDTOURS_TOUR_MENUS_DESCRIPTION', 5, '["com_menus"]', 'administrator/index.php?option=com_menus&view=menus', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(6, 'COM_GUIDEDTOURS_TOUR_TAGS_TITLE', 'joomla-tags', 'COM_GUIDEDTOURS_TOUR_TAGS_DESCRIPTION', 6, '["com_tags"]', 'administrator/index.php?option=com_tags&view=tags', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(7, 'COM_GUIDEDTOURS_TOUR_BANNERS_TITLE', 'joomla-banners', 'COM_GUIDEDTOURS_TOUR_BANNERS_DESCRIPTION', 7, '["com_banners"]', 'administrator/index.php?option=com_banners&view=banners', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(8, 'COM_GUIDEDTOURS_TOUR_CONTACTS_TITLE', 'joomla-contacts', 'COM_GUIDEDTOURS_TOUR_CONTACTS_DESCRIPTION', 8, '["com_contact"]', 'administrator/index.php?option=com_contact&view=contacts', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(9, 'COM_GUIDEDTOURS_TOUR_NEWSFEEDS_TITLE', 'joomla-newsfeeds', 'COM_GUIDEDTOURS_TOUR_NEWSFEEDS_DESCRIPTION', 9, '["com_newsfeeds"]', 'administrator/index.php?option=com_newsfeeds&view=newsfeeds', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(10, 'COM_GUIDEDTOURS_TOUR_SMARTSEARCH_TITLE', 'joomla-smartsearch', 'COM_GUIDEDTOURS_TOUR_SMARTSEARCH_DESCRIPTION', 10, '["com_finder"]', 'administrator/index.php?option=com_finder&view=filters', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1), -(11, 'COM_GUIDEDTOURS_TOUR_USERS_TITLE', 'joomla-users', 'COM_GUIDEDTOURS_TOUR_USERS_DESCRIPTION', 11, '["com_users"]', 'administrator/index.php?option=com_users&view=users', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1); +INSERT INTO "#__guidedtours" ("id", "title", "uid", "description", "ordering", "extensions", "url", "created", "created_by", "modified", "modified_by", "checked_out_time", "checked_out", "published", "language", "access", "autostart") VALUES +(1, 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURS_TITLE', 'joomla-guidedtours', 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURS_DESCRIPTION', 1, '["com_guidedtours"]', 'administrator/index.php?option=com_guidedtours&view=tours', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(2, 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_TITLE', 'joomla-guidedtoursteps', 'COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_DESCRIPTION', 2, '["com_guidedtours"]', 'administrator/index.php?option=com_guidedtours&view=tours', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(3, 'COM_GUIDEDTOURS_TOUR_ARTICLES_TITLE', 'joomla-articles', 'COM_GUIDEDTOURS_TOUR_ARTICLES_DESCRIPTION', 3, '["com_content","com_categories"]', 'administrator/index.php?option=com_content&view=articles', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(4, 'COM_GUIDEDTOURS_TOUR_CATEGORIES_TITLE', 'joomla-categories', 'COM_GUIDEDTOURS_TOUR_CATEGORIES_DESCRIPTION', 4, '["com_content","com_categories"]', 'administrator/index.php?option=com_categories&view=categories&extension=com_content', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(5, 'COM_GUIDEDTOURS_TOUR_MENUS_TITLE', 'joomla-menus', 'COM_GUIDEDTOURS_TOUR_MENUS_DESCRIPTION', 5, '["com_menus"]', 'administrator/index.php?option=com_menus&view=menus', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(6, 'COM_GUIDEDTOURS_TOUR_TAGS_TITLE', 'joomla-tags', 'COM_GUIDEDTOURS_TOUR_TAGS_DESCRIPTION', 6, '["com_tags"]', 'administrator/index.php?option=com_tags&view=tags', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(7, 'COM_GUIDEDTOURS_TOUR_BANNERS_TITLE', 'joomla-banners', 'COM_GUIDEDTOURS_TOUR_BANNERS_DESCRIPTION', 7, '["com_banners"]', 'administrator/index.php?option=com_banners&view=banners', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(8, 'COM_GUIDEDTOURS_TOUR_CONTACTS_TITLE', 'joomla-contacts', 'COM_GUIDEDTOURS_TOUR_CONTACTS_DESCRIPTION', 8, '["com_contact"]', 'administrator/index.php?option=com_contact&view=contacts', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(9, 'COM_GUIDEDTOURS_TOUR_NEWSFEEDS_TITLE', 'joomla-newsfeeds', 'COM_GUIDEDTOURS_TOUR_NEWSFEEDS_DESCRIPTION', 9, '["com_newsfeeds"]', 'administrator/index.php?option=com_newsfeeds&view=newsfeeds', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(10, 'COM_GUIDEDTOURS_TOUR_SMARTSEARCH_TITLE', 'joomla-smartsearch', 'COM_GUIDEDTOURS_TOUR_SMARTSEARCH_DESCRIPTION', 10, '["com_finder"]', 'administrator/index.php?option=com_finder&view=filters', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(11, 'COM_GUIDEDTOURS_TOUR_USERS_TITLE', 'joomla-users', 'COM_GUIDEDTOURS_TOUR_USERS_DESCRIPTION', 11, '["com_users"]', 'administrator/index.php?option=com_users&view=users', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 0), +(12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_TITLE', 'joomla-welcome', 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_DESCRIPTION', 12, '["com_cpanel"]', 'administrator/index.php', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, NULL, NULL, 1, '*', 1, 1); -SELECT setval('#__guidedtours_id_seq', 12, false); +SELECT setval('#__guidedtours_id_seq', 13, false); -- -------------------------------------------------------- @@ -1122,9 +1124,15 @@ INSERT INTO "#__guidedtour_steps" ("id", "tour_id", "title", "published", "descr (108, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_STATUS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_STATUS_DESCRIPTION', 108, 'top', '#jform_block0', 2, 3, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'), (109, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_PASSWORDRESET_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_PASSWORDRESET_DESCRIPTION', 109, 'top', '#jform_requireReset0', 2, 3, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'), (110, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_SAVECLOSE_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_SAVECLOSE_DESCRIPTION', 110, 'bottom', '#save-group-children-save .button-save', 2, 1, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'), -(111, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_CONGRATULATIONS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_CONGRATULATIONS_DESCRIPTION', 111, 'bottom', '', 0, 1, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'); +(111, 11, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_CONGRATULATIONS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_USERS_STEP_CONGRATULATIONS_DESCRIPTION', 111, 'bottom', '', 0, 1, 'administrator/index.php?option=com_users&view=user&layout=edit', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'), -SELECT setval('#__guidedtour_steps_id_seq', 112, false); +(112, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_MENUS_DESCRIPTION', 112, 'right', '#sidebarmenu', 0, 1, '', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'), +(113, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_QUICKACCESS_DESCRIPTION', 113, 'center', '', 0, 1, '', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'), +(114, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_NOTIFICATIONS_DESCRIPTION', 114, 'left', '.quickicons-for-update_quickicon .card', 0, 1, '', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'), +(115, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_TOPBAR_DESCRIPTION', 115, 'bottom', '#header', 0, 1, '', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'), +(116, 12, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_TITLE', 1, 'COM_GUIDEDTOURS_TOUR_WELCOMETOJOOMLA_STEP_FINALWORDS_DESCRIPTION', 116, 'right', '#sidebarmenu nav > ul:first-of-type > li:last-child', 0, 1, '', CURRENT_TIMESTAMP, 42, CURRENT_TIMESTAMP, 42, '*'); + +SELECT setval('#__guidedtour_steps_id_seq', 117, false); -- -------------------------------------------------------- diff --git a/package-lock.json b/package-lock.json index d1cf946d5284c..dd7e9ed9b539a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "fs-extra": "^10.1.0", "ini": "^2.0.0", "jasmine-core": "^3.99.1", - "joomla-cypress": "^0.0.16", + "joomla-cypress": "^1.0.3", "lightningcss": "^1.24.0", "mysql": "^2.18.1", "postcss-scss": "^4.0.9", @@ -6622,9 +6622,9 @@ "dev": true }, "node_modules/joomla-cypress": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/joomla-cypress/-/joomla-cypress-0.0.16.tgz", - "integrity": "sha512-Ku+ykwChSklRmmIhRMeGmVk4vLCUG2TWAAUseFMo8Yg0cD1jB9csK4pTiwwOBhx7TvT3Sps/RFk68eh3y/cTJw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/joomla-cypress/-/joomla-cypress-1.0.3.tgz", + "integrity": "sha512-lHNGgBS79Z32HedbqqIiezcz5oRJGPngEh9Z8Sh6i1RytOHbMU0PmNxZvuTkS8y8/RGfSgZdlf71UtJ45OLnAg==", "dev": true }, "node_modules/joomla-ui-custom-elements": { diff --git a/package.json b/package.json index 923393890fb6d..30afb511bde0b 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "fs-extra": "^10.1.0", "ini": "^2.0.0", "jasmine-core": "^3.99.1", - "joomla-cypress": "^0.0.16", + "joomla-cypress": "^1.0.3", "lightningcss": "^1.24.0", "mysql": "^2.18.1", "postcss-scss": "^4.0.9", diff --git a/plugins/system/guidedtours/src/Extension/GuidedTours.php b/plugins/system/guidedtours/src/Extension/GuidedTours.php index 6ea48bbffedff..dd555c3aada73 100644 --- a/plugins/system/guidedtours/src/Extension/GuidedTours.php +++ b/plugins/system/guidedtours/src/Extension/GuidedTours.php @@ -158,6 +158,26 @@ public function onBeforeCompileHead() // Load required assets $doc->getWebAssetManager() ->usePreset('plg_system_guidedtours.guidedtours'); + + // Temporary solution to auto-start the welcome tour + if ($app->getInput()->getCmd('option', 'com_cpanel') === 'com_cpanel') { + $tour = $this->getTour('joomla-welcome'); + + if ($tour->autostart) { + $doc->addScriptOptions('com_guidedtours.autotour', $tour->id); + + // Set autostart to '0' to avoid it to autostart again + $factory = $app->bootComponent('com_guidedtours')->getMVCFactory(); + + $tourModel = $factory->createModel( + 'Tour', + 'Administrator', + ['ignore_request' => true] + ); + + $tourModel->setAutostart($tour->id, 0); + } + } } } @@ -211,7 +231,8 @@ private function processTour($item) // We don't want to show all parameters, so take only a subset of the tour attributes $tour = new \stdClass(); - $tour->id = $item->id; + $tour->id = $item->id; + $tour->autostart = $item->autostart; $stepsModel = $factory->createModel( 'Steps', diff --git a/tests/System/integration/install/Installation.cy.js b/tests/System/integration/install/Installation.cy.js index 8ac35894d8dd8..6f079c68aed73 100644 --- a/tests/System/integration/install/Installation.cy.js +++ b/tests/System/integration/install/Installation.cy.js @@ -19,6 +19,7 @@ describe('Install Joomla', () => { cy.installJoomla(config); cy.doAdministratorLogin(config.username, config.password, false); + cy.cancelTour(); cy.disableStatistics(); cy.setErrorReportingToDevelopment(); cy.doAdministratorLogout(); diff --git a/tests/System/support/commands.js b/tests/System/support/commands.js index 326f01fa65411..0ccd9db509426 100644 --- a/tests/System/support/commands.js +++ b/tests/System/support/commands.js @@ -13,58 +13,6 @@ const { registerCommands } = require('../../../node_modules/joomla-cypress/src/i registerCommands(); -Cypress.Commands.overwrite('doFrontendLogin', (originalFn, username, password, useSnapshot = true) => { - // Ensure there are valid credentials - const user = username ?? Cypress.env('username'); - const pw = password ?? Cypress.env('password'); - - // Do normal login when no snapshot should be used - if (!useSnapshot) { - // Clear the session data - Cypress.session.clearAllSavedSessions(); - - // Call the normal function - return originalFn(user, pw); - } - - // Do login through the session - return cy.session([user, pw, 'front'], () => originalFn(user, pw), { cacheAcrossSpecs: true }); -}); - -Cypress.Commands.overwrite('doFrontendLogout', (originalFn) => { - // Call the login function - originalFn(); - - // Clear the session data - Cypress.session.clearAllSavedSessions(); -}); - -Cypress.Commands.overwrite('doAdministratorLogin', (originalFn, username, password, useSnapshot = true) => { - // Ensure there are valid credentials - const user = username ?? Cypress.env('username'); - const pw = password ?? Cypress.env('password'); - - // Do normal login when no snapshot should be used - if (!useSnapshot) { - // Clear the session data - Cypress.session.clearAllSavedSessions(); - - // Call the normal function - return originalFn(user, pw); - } - - // Do login through the session - return cy.session([user, pw, 'back'], () => originalFn(user, pw), { cacheAcrossSpecs: true }); -}); - -Cypress.Commands.overwrite('doAdministratorLogout', (originalFn) => { - // Call the login function - originalFn(); - - // Clear the session data - Cypress.session.clearAllSavedSessions(); -}); - // Click Joomla Dialog Confirm, isOkay: true = push "ok" button, false = push "cancel" button Cypress.Commands.add('clickDialogConfirm', (isOkay) => { let selector = '.joomla-dialog-confirm'; diff --git a/tests/System/support/commands/db.js b/tests/System/support/commands/db.js index bde2979a26939..3607b317b8533 100644 --- a/tests/System/support/commands/db.js +++ b/tests/System/support/commands/db.js @@ -105,6 +105,7 @@ Cypress.Commands.add('db_createArticle', (articleData) => { language: '*', created: '2023-01-01 20:00:00', modified: '2023-01-01 20:00:00', + publish_up: '2023-01-01 20:00:00', images: '', urls: '', attribs: '',