29
0
mirror of https://github.com/joomla/joomla-cms.git synced 2024-06-25 14:53:01 +00:00

4.1 Child templates 1/2 (#35874)

* New mode for cassiopeia and atum

* DB Changes

* Fix wrong import paths

* SQL for updates

* Deleted files and folder for changing core templates to inheritable

* Better version comments

* Move custom files in core templates to media folder on update

* Better English in the comment

* Fix some paths

* System templates

* Deleted files and folders for system templates

* Move template preview files, too

* Create parent folders if necessary at target path

* Don't delete template previews

* Revert special handling for core template preview images

* move images to the correct folder

* Fix the logos

* One more path fixed

* Revert the tinyMCE changes here

* Fix the roboto path

* Fix the fontawesome path

* .css files imports are relative to the path of the file importing

* Add missing import

* Use realpath instaed of the Path::clean

* RecursiveDirectoryIterator && mkdir

* Meh

* Mehhh

* Update administrator/components/com_admin/script.php

Co-authored-by: Richard Fath <richard67@users.noreply.github.com>

* No dots and dirs

* Use the flag for the dots

* Update administrator/components/com_admin/script.php

Co-authored-by: Richard Fath <richard67@users.noreply.github.com>

* sql

* Cassiopeia Roboto

* Update paths to local font schemes in template style parameters on database update

* Roboto font path

Co-authored-by: Richard Fath <richard67@users.noreply.github.com>
Co-authored-by: Benjamin Trenkle <bembelimen@users.noreply.github.com>
This commit is contained in:
Dimitris Grammatikogiannis 2021-11-30 03:34:47 +01:00 committed by GitHub
parent 3ff973cbf4
commit 579e20ee14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
155 changed files with 472 additions and 211 deletions

View File

@ -6109,6 +6109,221 @@ class JoomlaInstallerScript
'/media/com_joomlaupdate/js/update.min.js.gz',
'/templates/cassiopeia/images/system/sort_asc.png',
'/templates/cassiopeia/images/system/sort_desc.png',
// From 4.0.4 to 4.1.0
'/administrator/templates/atum/css/system/searchtools/searchtools.css',
'/administrator/templates/atum/css/system/searchtools/searchtools.min.css',
'/administrator/templates/atum/css/system/searchtools/searchtools.min.css.gz',
'/administrator/templates/atum/css/template-rtl.css',
'/administrator/templates/atum/css/template-rtl.min.css',
'/administrator/templates/atum/css/template-rtl.min.css.gz',
'/administrator/templates/atum/css/template.css',
'/administrator/templates/atum/css/template.min.css',
'/administrator/templates/atum/css/template.min.css.gz',
'/administrator/templates/atum/css/vendor/awesomplete/awesomplete.css',
'/administrator/templates/atum/css/vendor/awesomplete/awesomplete.min.css',
'/administrator/templates/atum/css/vendor/awesomplete/awesomplete.min.css.gz',
'/administrator/templates/atum/css/vendor/choicesjs/choices.css',
'/administrator/templates/atum/css/vendor/choicesjs/choices.min.css',
'/administrator/templates/atum/css/vendor/choicesjs/choices.min.css.gz',
'/administrator/templates/atum/css/vendor/fontawesome-free/fontawesome.css',
'/administrator/templates/atum/css/vendor/fontawesome-free/fontawesome.min.css',
'/administrator/templates/atum/css/vendor/fontawesome-free/fontawesome.min.css.gz',
'/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-alert.css',
'/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-alert.min.css',
'/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-alert.min.css.gz',
'/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-tab.css',
'/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-tab.min.css',
'/administrator/templates/atum/css/vendor/joomla-custom-elements/joomla-tab.min.css.gz',
'/administrator/templates/atum/css/vendor/minicolors/minicolors.css',
'/administrator/templates/atum/css/vendor/minicolors/minicolors.min.css',
'/administrator/templates/atum/css/vendor/minicolors/minicolors.min.css.gz',
'/administrator/templates/atum/images/joomla-pattern.svg',
'/administrator/templates/atum/images/logos/brand-large.svg',
'/administrator/templates/atum/images/logos/brand-small.svg',
'/administrator/templates/atum/images/logos/login.svg',
'/administrator/templates/atum/images/select-bg-active-rtl.svg',
'/administrator/templates/atum/images/select-bg-active.svg',
'/administrator/templates/atum/images/select-bg-rtl.svg',
'/administrator/templates/atum/images/select-bg.svg',
'/administrator/templates/atum/scss/_root.scss',
'/administrator/templates/atum/scss/_variables.scss',
'/administrator/templates/atum/scss/blocks/_alerts.scss',
'/administrator/templates/atum/scss/blocks/_edit.scss',
'/administrator/templates/atum/scss/blocks/_form.scss',
'/administrator/templates/atum/scss/blocks/_global.scss',
'/administrator/templates/atum/scss/blocks/_header.scss',
'/administrator/templates/atum/scss/blocks/_icons.scss',
'/administrator/templates/atum/scss/blocks/_iframe.scss',
'/administrator/templates/atum/scss/blocks/_layout.scss',
'/administrator/templates/atum/scss/blocks/_lists.scss',
'/administrator/templates/atum/scss/blocks/_login.scss',
'/administrator/templates/atum/scss/blocks/_modals.scss',
'/administrator/templates/atum/scss/blocks/_quickicons.scss',
'/administrator/templates/atum/scss/blocks/_sidebar-nav.scss',
'/administrator/templates/atum/scss/blocks/_sidebar.scss',
'/administrator/templates/atum/scss/blocks/_switcher.scss',
'/administrator/templates/atum/scss/blocks/_toolbar.scss',
'/administrator/templates/atum/scss/blocks/_treeselect.scss',
'/administrator/templates/atum/scss/blocks/_utilities.scss',
'/administrator/templates/atum/scss/pages/_com_config.scss',
'/administrator/templates/atum/scss/pages/_com_content.scss',
'/administrator/templates/atum/scss/pages/_com_cpanel.scss',
'/administrator/templates/atum/scss/pages/_com_joomlaupdate.scss',
'/administrator/templates/atum/scss/pages/_com_modules.scss',
'/administrator/templates/atum/scss/pages/_com_privacy.scss',
'/administrator/templates/atum/scss/pages/_com_tags.scss',
'/administrator/templates/atum/scss/pages/_com_templates.scss',
'/administrator/templates/atum/scss/pages/_com_users.scss',
'/administrator/templates/atum/scss/system/searchtools/searchtools.scss',
'/administrator/templates/atum/scss/template-rtl.scss',
'/administrator/templates/atum/scss/template.scss',
'/administrator/templates/atum/scss/vendor/_bootstrap.scss',
'/administrator/templates/atum/scss/vendor/_codemirror.scss',
'/administrator/templates/atum/scss/vendor/_dragula.scss',
'/administrator/templates/atum/scss/vendor/_tinymce.scss',
'/administrator/templates/atum/scss/vendor/awesomplete/awesomplete.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_badge.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_bootstrap-rtl.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_buttons.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_card.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_collapse.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_custom-forms.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_dropdown.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_form.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_lists.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_modal.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_pagination.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_reboot.scss',
'/administrator/templates/atum/scss/vendor/bootstrap/_table.scss',
'/administrator/templates/atum/scss/vendor/choicesjs/choices.scss',
'/administrator/templates/atum/scss/vendor/fontawesome-free/fontawesome.scss',
'/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-alert.scss',
'/administrator/templates/atum/scss/vendor/joomla-custom-elements/joomla-tab.scss',
'/administrator/templates/atum/scss/vendor/minicolors/minicolors.scss',
'/administrator/templates/atum/template_preview.png',
'/administrator/templates/atum/template_thumbnail.png',
'/administrator/templates/system/css/error.css',
'/administrator/templates/system/css/error.min.css',
'/administrator/templates/system/css/error.min.css.gz',
'/administrator/templates/system/css/system.css',
'/administrator/templates/system/css/system.min.css',
'/administrator/templates/system/css/system.min.css.gz',
'/administrator/templates/system/images/calendar.png',
'/administrator/templates/system/scss/error.scss',
'/administrator/templates/system/scss/system.scss',
'/templates/cassiopeia/css/editor.css',
'/templates/cassiopeia/css/editor.min.css',
'/templates/cassiopeia/css/editor.min.css.gz',
'/templates/cassiopeia/css/global/colors_alternative.css',
'/templates/cassiopeia/css/global/colors_alternative.min.css',
'/templates/cassiopeia/css/global/colors_alternative.min.css.gz',
'/templates/cassiopeia/css/global/colors_standard.css',
'/templates/cassiopeia/css/global/colors_standard.min.css',
'/templates/cassiopeia/css/global/colors_standard.min.css.gz',
'/templates/cassiopeia/css/global/fonts-local_roboto.css',
'/templates/cassiopeia/css/global/fonts-local_roboto.min.css',
'/templates/cassiopeia/css/global/fonts-local_roboto.min.css.gz',
'/templates/cassiopeia/css/offline.css',
'/templates/cassiopeia/css/offline.min.css',
'/templates/cassiopeia/css/offline.min.css.gz',
'/templates/cassiopeia/css/system/searchtools/searchtools.css',
'/templates/cassiopeia/css/system/searchtools/searchtools.min.css',
'/templates/cassiopeia/css/system/searchtools/searchtools.min.css.gz',
'/templates/cassiopeia/css/template-rtl.css',
'/templates/cassiopeia/css/template-rtl.min.css',
'/templates/cassiopeia/css/template-rtl.min.css.gz',
'/templates/cassiopeia/css/template.css',
'/templates/cassiopeia/css/template.min.css',
'/templates/cassiopeia/css/template.min.css.gz',
'/templates/cassiopeia/css/vendor/choicesjs/choices.css',
'/templates/cassiopeia/css/vendor/choicesjs/choices.min.css',
'/templates/cassiopeia/css/vendor/choicesjs/choices.min.css.gz',
'/templates/cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.css',
'/templates/cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.min.css',
'/templates/cassiopeia/css/vendor/joomla-custom-elements/joomla-alert.min.css.gz',
'/templates/cassiopeia/images/logo.svg',
'/templates/cassiopeia/images/select-bg-active-rtl.svg',
'/templates/cassiopeia/images/select-bg-active.svg',
'/templates/cassiopeia/images/select-bg-rtl.svg',
'/templates/cassiopeia/images/select-bg.svg',
'/templates/cassiopeia/js/template.es5.js',
'/templates/cassiopeia/js/template.js',
'/templates/cassiopeia/js/template.min.js',
'/templates/cassiopeia/js/template.min.js.gz',
'/templates/cassiopeia/scss/blocks/_alerts.scss',
'/templates/cassiopeia/scss/blocks/_back-to-top.scss',
'/templates/cassiopeia/scss/blocks/_banner.scss',
'/templates/cassiopeia/scss/blocks/_css-grid.scss',
'/templates/cassiopeia/scss/blocks/_footer.scss',
'/templates/cassiopeia/scss/blocks/_form.scss',
'/templates/cassiopeia/scss/blocks/_frontend-edit.scss',
'/templates/cassiopeia/scss/blocks/_global.scss',
'/templates/cassiopeia/scss/blocks/_header.scss',
'/templates/cassiopeia/scss/blocks/_icons.scss',
'/templates/cassiopeia/scss/blocks/_iframe.scss',
'/templates/cassiopeia/scss/blocks/_layout.scss',
'/templates/cassiopeia/scss/blocks/_legacy.scss',
'/templates/cassiopeia/scss/blocks/_modals.scss',
'/templates/cassiopeia/scss/blocks/_modifiers.scss',
'/templates/cassiopeia/scss/blocks/_tags.scss',
'/templates/cassiopeia/scss/blocks/_toolbar.scss',
'/templates/cassiopeia/scss/blocks/_utilities.scss',
'/templates/cassiopeia/scss/editor.scss',
'/templates/cassiopeia/scss/global/colors_alternative.scss',
'/templates/cassiopeia/scss/global/colors_standard.scss',
'/templates/cassiopeia/scss/global/fonts-local_roboto.scss',
'/templates/cassiopeia/scss/offline.scss',
'/templates/cassiopeia/scss/system/searchtools/searchtools.scss',
'/templates/cassiopeia/scss/template-rtl.scss',
'/templates/cassiopeia/scss/template.scss',
'/templates/cassiopeia/scss/tools/_tools.scss',
'/templates/cassiopeia/scss/tools/functions/_max-width.scss',
'/templates/cassiopeia/scss/tools/variables/_variables.scss',
'/templates/cassiopeia/scss/vendor/_awesomplete.scss',
'/templates/cassiopeia/scss/vendor/_chosen.scss',
'/templates/cassiopeia/scss/vendor/_dragula.scss',
'/templates/cassiopeia/scss/vendor/_minicolors.scss',
'/templates/cassiopeia/scss/vendor/_tinymce.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_bootstrap-rtl.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_buttons.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_collapse.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_custom-forms.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_dropdown.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_forms.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_lists.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_modal.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_nav.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_pagination.scss',
'/templates/cassiopeia/scss/vendor/bootstrap/_table.scss',
'/templates/cassiopeia/scss/vendor/choicesjs/choices.scss',
'/templates/cassiopeia/scss/vendor/joomla-custom-elements/joomla-alert.scss',
'/templates/cassiopeia/scss/vendor/metismenu/_metismenu.scss',
'/templates/cassiopeia/template_preview.png',
'/templates/cassiopeia/template_thumbnail.png',
'/templates/system/css/editor.css',
'/templates/system/css/editor.min.css',
'/templates/system/css/editor.min.css.gz',
'/templates/system/css/error.css',
'/templates/system/css/error.min.css',
'/templates/system/css/error.min.css.gz',
'/templates/system/css/error_rtl.css',
'/templates/system/css/error_rtl.min.css',
'/templates/system/css/error_rtl.min.css.gz',
'/templates/system/css/general.css',
'/templates/system/css/general.min.css',
'/templates/system/css/general.min.css.gz',
'/templates/system/css/offline.css',
'/templates/system/css/offline.min.css',
'/templates/system/css/offline.min.css.gz',
'/templates/system/css/offline_rtl.css',
'/templates/system/css/offline_rtl.min.css',
'/templates/system/css/offline_rtl.min.css.gz',
'/templates/system/scss/editor.scss',
'/templates/system/scss/error.scss',
'/templates/system/scss/error_rtl.scss',
'/templates/system/scss/general.scss',
'/templates/system/scss/offline.scss',
'/templates/system/scss/offline_rtl.scss',
);
$folders = array(
@ -7368,6 +7583,57 @@ class JoomlaInstallerScript
'/libraries/vendor/algo26-matthias/idna-convert/tests',
// From 4.0.3 to 4.0.4
'/templates/cassiopeia/images/system',
// From 4.0.4 to 4.1.0
'/templates/system/scss',
'/templates/system/css',
'/templates/cassiopeia/scss/vendor/metismenu',
'/templates/cassiopeia/scss/vendor/joomla-custom-elements',
'/templates/cassiopeia/scss/vendor/choicesjs',
'/templates/cassiopeia/scss/vendor/bootstrap',
'/templates/cassiopeia/scss/vendor',
'/templates/cassiopeia/scss/tools/variables',
'/templates/cassiopeia/scss/tools/functions',
'/templates/cassiopeia/scss/tools',
'/templates/cassiopeia/scss/system/searchtools',
'/templates/cassiopeia/scss/system',
'/templates/cassiopeia/scss/global',
'/templates/cassiopeia/scss/blocks',
'/templates/cassiopeia/scss',
'/templates/cassiopeia/js',
'/templates/cassiopeia/images',
'/templates/cassiopeia/css/vendor/joomla-custom-elements',
'/templates/cassiopeia/css/vendor/choicesjs',
'/templates/cassiopeia/css/vendor',
'/templates/cassiopeia/css/system/searchtools',
'/templates/cassiopeia/css/system',
'/templates/cassiopeia/css/global',
'/templates/cassiopeia/css',
'/administrator/templates/system/scss',
'/administrator/templates/system/images',
'/administrator/templates/system/css',
'/administrator/templates/atum/scss/vendor/minicolors',
'/administrator/templates/atum/scss/vendor/joomla-custom-elements',
'/administrator/templates/atum/scss/vendor/fontawesome-free',
'/administrator/templates/atum/scss/vendor/choicesjs',
'/administrator/templates/atum/scss/vendor/bootstrap',
'/administrator/templates/atum/scss/vendor/awesomplete',
'/administrator/templates/atum/scss/vendor',
'/administrator/templates/atum/scss/system/searchtools',
'/administrator/templates/atum/scss/system',
'/administrator/templates/atum/scss/pages',
'/administrator/templates/atum/scss/blocks',
'/administrator/templates/atum/scss',
'/administrator/templates/atum/images/logos',
'/administrator/templates/atum/images',
'/administrator/templates/atum/css/vendor/minicolors',
'/administrator/templates/atum/css/vendor/joomla-custom-elements',
'/administrator/templates/atum/css/vendor/fontawesome-free',
'/administrator/templates/atum/css/vendor/choicesjs',
'/administrator/templates/atum/css/vendor/awesomplete',
'/administrator/templates/atum/css/vendor',
'/administrator/templates/atum/css/system/searchtools',
'/administrator/templates/atum/css/system',
'/administrator/templates/atum/css',
);
$status['files_checked'] = $files;
@ -7393,6 +7659,8 @@ class JoomlaInstallerScript
}
}
$this->moveRemainingTemplateFiles();
foreach ($folders as $folder)
{
if ($folderExists = Folder::exists(JPATH_ROOT . $folder))
@ -8211,4 +8479,55 @@ class JoomlaInstallerScript
}
}
}
/**
* Move core template (s)css or js or image files which are left after deleting
* obsolete core files to the right place in media folder.
*
* @return void
*
* @since __DEPLOY_VERSION__
*/
protected function moveRemainingTemplateFiles()
{
$folders = [
'/administrator/templates/atum/css' => '/media/templates/administrator/atum/css',
'/administrator/templates/atum/images' => '/media/templates/administrator/atum/images',
'/administrator/templates/atum/js' => '/media/templates/administrator/atum/js',
'/administrator/templates/atum/scss' => '/media/templates/administrator/atum/scss',
'/templates/cassiopeia/css' => '/media/templates/site/cassiopeia/css',
'/templates/cassiopeia/images' => '/media/templates/site/cassiopeia/images',
'/templates/cassiopeia/js' => '/media/templates/site/cassiopeia/js',
'/templates/cassiopeia/scss' => '/media/templates/site/cassiopeia/scss',
];
foreach ($folders as $oldFolder => $newFolder)
{
if (Folder::exists(JPATH_ROOT . $oldFolder))
{
$oldPath = \realpath(JPATH_ROOT . $oldFolder);
$newPath = \realpath(JPATH_ROOT . $newFolder);
$directory = new \RecursiveDirectoryIterator($oldPath);
$directory->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$iterator = new \RecursiveIteratorIterator($directory);
// Handle all files in this folder and all sub-folders
foreach ($iterator as $oldFile)
{
if ($oldFile->isDir())
{
continue;
}
$newFile = $newPath . substr($oldFile, strlen($oldPath));
// Create target folder and parent folders if they don't exist yet
if (is_dir(\dirname($newFile)) || @mkdir(\dirname($newFile), 0755, true))
{
File::move($oldFile, $newFile);
}
}
}
}
}
}

View File

@ -0,0 +1,9 @@
--
-- Convert core templates to new mode
--
UPDATE `#__template_styles` SET `inheritable` = 1 WHERE `template` = 'atum' AND `client_id` = 1 OR `template` = 'cassiopeia' AND `client_id` = 0;
UPDATE `#__template_styles`
SET `params` = REPLACE(`params`,'"useFontScheme":"templates\\/cassiopeia\\/css\\/','"useFontScheme":"media\\/templates\\/site\\/cassiopeia\\/css\\/')
WHERE `template` = 'cassiopeia'
AND `client_id` = 0;

View File

@ -0,0 +1,9 @@
--
-- Convert core templates to new mode
--
UPDATE "#__template_styles" SET "inheritable" = 1 WHERE "template" = 'atum' AND "client_id" = 1 OR "template" = 'cassiopeia' AND "client_id" = 0;
UPDATE "#__template_styles"
SET "params" = REPLACE("params",'"useFontScheme":"templates\\/cassiopeia\\/css\\/','"useFontScheme":"media\\/templates\\/site\\/cassiopeia\\/css\\/')
WHERE "template" = 'cassiopeia'
AND "client_id" = 0;

View File

@ -37,10 +37,10 @@ $this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon-pinned.svg', '', [], t
// Template params
$logoBrandLarge = $this->params->get('logoBrandLarge')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES)
: $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-large.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/brand-large.svg';
$logoBrandSmall = $this->params->get('logoBrandSmall')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES)
: $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-small.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/brand-small.svg';
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt'))
? 'alt=""'

View File

@ -35,13 +35,13 @@ $this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon-pinned.svg', '', [], t
// Template params
$logoBrandLarge = $this->params->get('logoBrandLarge')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES)
: $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-large.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/brand-large.svg';
$loginLogo = $this->params->get('loginLogo')
? Uri::root() . $this->params->get('loginLogo')
: $this->baseurl . '/templates/' . $this->template . '/images/logos/login.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/login.svg';
$logoBrandSmall = $this->params->get('logoBrandSmall')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES)
: $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-small.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/brand-small.svg';
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt'))
? 'alt=""'

View File

@ -45,10 +45,10 @@ $this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon-pinned.svg', '', [], t
// Template params
$logoBrandLarge = $this->params->get('logoBrandLarge')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES)
: $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-large.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/brand-large.svg';
$logoBrandSmall = $this->params->get('logoBrandSmall')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES)
: $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-small.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/brand-small.svg';
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt'))
? 'alt=""'

View File

@ -35,13 +35,13 @@ $this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon-pinned.svg', '', [], t
// Template params
$logoBrandLarge = $this->params->get('logoBrandLarge')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandLarge'), ENT_QUOTES)
: $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-large.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/brand-large.svg';
$loginLogo = $this->params->get('loginLogo')
? Uri::root() . $this->params->get('loginLogo')
: $this->baseurl . '/templates/' . $this->template . '/images/logos/login.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/login.svg';
$logoBrandSmall = $this->params->get('logoBrandSmall')
? Uri::root() . htmlspecialchars($this->params->get('logoBrandSmall'), ENT_QUOTES)
: $this->baseurl . '/templates/' . $this->template . '/images/logos/brand-small.svg';
: Uri::root() . 'media/templates/administrator/atum/images/logos/brand-small.svg';
$logoBrandLargeAlt = empty($this->params->get('logoBrandLargeAlt')) && empty($this->params->get('emptyLogoBrandLargeAlt'))
? 'alt=""'

View File

@ -1,37 +0,0 @@
// Variables
// Media, Jumbotron & Print removed https://getbootstrap.com/docs/5.0/migration/
// Code is now in reboot https://github.com/twbs/bootstrap/pull/28917/files
@import "../../../../../media/vendor/bootstrap/scss/variables";
@import "../../../../../media/vendor/bootstrap/scss/mixins";
@import "../root";
@import "../../../../../media/vendor/bootstrap/scss/reboot";
@import "../../../../../media/vendor/bootstrap/scss/type";
@import "../../../../../media/vendor/bootstrap/scss/images";
@import "../../../../../media/vendor/bootstrap/scss/containers";
@import "../../../../../media/vendor/bootstrap/scss/grid";
@import "../../../../../media/vendor/bootstrap/scss/tables";
@import "../../../../../media/vendor/bootstrap/scss/forms";
@import "../../../../../media/vendor/bootstrap/scss/buttons";
@import "../../../../../media/vendor/bootstrap/scss/transitions";
@import "../../../../../media/vendor/bootstrap/scss/dropdown";
@import "../../../../../media/vendor/bootstrap/scss/accordion";
@import "../../../../../media/vendor/bootstrap/scss/button-group";
@import "../../../../../media/vendor/bootstrap/scss/nav";
@import "../../../../../media/vendor/bootstrap/scss/navbar";
@import "../../../../../media/vendor/bootstrap/scss/card";
@import "../../../../../media/vendor/bootstrap/scss/breadcrumb";
@import "../../../../../media/vendor/bootstrap/scss/pagination";
@import "../../../../../media/vendor/bootstrap/scss/badge";
@import "../../../../../media/vendor/bootstrap/scss/alert";
@import "../../../../../media/vendor/bootstrap/scss/progress";
@import "../../../../../media/vendor/bootstrap/scss/list-group";
@import "../../../../../media/vendor/bootstrap/scss/close";
@import "../../../../../media/vendor/bootstrap/scss/modal";
@import "../../../../../media/vendor/bootstrap/scss/tooltip";
@import "../../../../../media/vendor/bootstrap/scss/popover";
@import "../../../../../media/vendor/bootstrap/scss/carousel";
@import "../../../../../media/vendor/bootstrap/scss/utilities";
@import "../../../../../media/vendor/bootstrap/scss/utilities/api";
@import "../../../../../media/vendor/bootstrap/scss/helpers";

View File

@ -1,6 +0,0 @@
// Awesomplete
@import "../../../../../../node_modules/awesomplete/awesomplete";
.awesomplete {
display: block;
}

View File

@ -1,14 +0,0 @@
// Override the font path
$fa-css-prefix: fa;
$fa-font-path: "../../../../../../media/vendor/fontawesome-free/webfonts" !default;
// Font Awesome 5 Free
@import "../../../../../../media/vendor/fontawesome-free/scss/fontawesome";
@import "../../../../../../media/vendor/fontawesome-free/scss/regular";
@import "../../../../../../media/vendor/fontawesome-free/scss/solid";
// Brands must be imported last
@import "../../../../../../media/vendor/fontawesome-free/scss/brands";
// B/C for Icomoon
@import "../../../../../../build/media_source/system/scss/icomoon";

View File

@ -7,6 +7,7 @@
<authorEmail>admin@joomla.org</authorEmail>
<copyright>(C) 2016 Open Source Matters, Inc.</copyright>
<description>TPL_ATUM_XML_DESCRIPTION</description>
<inheritable>1</inheritable>
<files>
<filename>component.php</filename>
<filename>cpanel.php</filename>
@ -17,15 +18,13 @@
<filename>joomla.asset.json</filename>
<filename>login.php</filename>
<filename>templateDetails.xml</filename>
<filename>template_preview.png</filename>
<filename>template_thumbnail.png</filename>
<folder>css</folder>
<folder>html</folder>
<folder>images</folder>
<folder>scss</folder>
</files>
<media destination="templates/administrator/atum" folder="media">
<folder>js</folder>
<folder>css</folder>
<folder>scss</folder>
<folder>images</folder>
</media>
<positions>
<!-- used directly in the template -->

View File

@ -15,7 +15,7 @@ use Joomla\CMS\Router\Route;
/** @var \Joomla\CMS\Document\ErrorDocument $this */
// Load template CSS file
$this->getWebAssetManager()->registerAndUseStyle('template.system.error', 'administrator/templates/system/css/error.css');
$this->getWebAssetManager()->registerAndUseStyle('template.system.error', 'media/system/css/system-admin-error.min.css');
// Set page title
$this->setTitle($this->error->getCode() . ' - ' . htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'));

View File

Before

Width:  |  Height:  |  Size: 592 B

After

Width:  |  Height:  |  Size: 592 B

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 459 B

After

Width:  |  Height:  |  Size: 459 B

View File

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 387 B

View File

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 504 B

View File

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -146,7 +146,7 @@ $badge-font-size: .75rem;
$jicon-css-prefix: icon !default;
$fa-css-prefix: fa !default;
$fa-font-path: "../../../../media/vendor/fontawesome-free/webfonts";
$roboto-font-path: "../../../../media/vendor/roboto-fontface/fonts";
$roboto-font-path: "../../../../../media/vendor/roboto-fontface/fonts";
// Font weights
$thin-weight: 100;

View File

@ -1,5 +1,5 @@
// Bootstrap functions
@import "../../../../media/vendor/bootstrap/scss/functions";
@import "../../../../../../media/vendor/bootstrap/scss/functions";
// Atum Variables
@import "variables";
@ -8,12 +8,12 @@
@import "vendor/bootstrap";
// Fonts
@import "../../../../media/vendor/roboto-fontface/scss/roboto/sass/roboto-fontface";
@import "../../../../../../media/vendor/roboto-fontface/scss/roboto/sass/roboto-fontface";
@import "blocks/global"; // Leave this first
// jQuery Minicolors
@import "../../../../build/media_source/system/scss/jquery-minicolors";
@import "../../../../../../media/system/scss/jquery-minicolors";
// Vendor overrides
@import "vendor/bootstrap/badge";

View File

@ -0,0 +1,37 @@
// Variables
// Media, Jumbotron & Print removed https://getbootstrap.com/docs/5.0/migration/
// Code is now in reboot https://github.com/twbs/bootstrap/pull/28917/files
@import "../../../../../../../media/vendor/bootstrap/scss/variables";
@import "../../../../../../../media/vendor/bootstrap/scss/mixins";
@import "../root";
@import "../../../../../../../media/vendor/bootstrap/scss/reboot";
@import "../../../../../../../media/vendor/bootstrap/scss/type";
@import "../../../../../../../media/vendor/bootstrap/scss/images";
@import "../../../../../../../media/vendor/bootstrap/scss/containers";
@import "../../../../../../../media/vendor/bootstrap/scss/grid";
@import "../../../../../../../media/vendor/bootstrap/scss/tables";
@import "../../../../../../../media/vendor/bootstrap/scss/forms";
@import "../../../../../../../media/vendor/bootstrap/scss/buttons";
@import "../../../../../../../media/vendor/bootstrap/scss/transitions";
@import "../../../../../../../media/vendor/bootstrap/scss/dropdown";
@import "../../../../../../../media/vendor/bootstrap/scss/accordion";
@import "../../../../../../../media/vendor/bootstrap/scss/button-group";
@import "../../../../../../../media/vendor/bootstrap/scss/nav";
@import "../../../../../../../media/vendor/bootstrap/scss/navbar";
@import "../../../../../../../media/vendor/bootstrap/scss/card";
@import "../../../../../../../media/vendor/bootstrap/scss/breadcrumb";
@import "../../../../../../../media/vendor/bootstrap/scss/pagination";
@import "../../../../../../../media/vendor/bootstrap/scss/badge";
@import "../../../../../../../media/vendor/bootstrap/scss/alert";
@import "../../../../../../../media/vendor/bootstrap/scss/progress";
@import "../../../../../../../media/vendor/bootstrap/scss/list-group";
@import "../../../../../../../media/vendor/bootstrap/scss/close";
@import "../../../../../../../media/vendor/bootstrap/scss/modal";
@import "../../../../../../../media/vendor/bootstrap/scss/tooltip";
@import "../../../../../../../media/vendor/bootstrap/scss/popover";
@import "../../../../../../../media/vendor/bootstrap/scss/carousel";
@import "../../../../../../../media/vendor/bootstrap/scss/utilities";
@import "../../../../../../../media/vendor/bootstrap/scss/utilities/api";
@import "../../../../../../../media/vendor/bootstrap/scss/helpers";

View File

@ -0,0 +1,6 @@
// Awesomplete
@import "../../../../../../../../node_modules/awesomplete/awesomplete";
.awesomplete {
display: block;
}

View File

@ -1,13 +1,13 @@
@import "../../../../../../media/vendor/bootstrap/scss/functions";
@import "../../../../../../../../media/vendor/bootstrap/scss/functions";
// Atum Variables
@import "../../variables";
@import "../../../../../../media/vendor/bootstrap/scss/variables";
@import "../../../../../../media/vendor/bootstrap/scss/mixins";
@import "../../../../../../../../media/vendor/bootstrap/scss/variables";
@import "../../../../../../../../media/vendor/bootstrap/scss/mixins";
// choices.js
@import "../../../../../../node_modules/choices.js/src/styles/choices";
@import "../../../../../../../../node_modules/choices.js/src/styles/choices";
.choices {
border: 0;

View File

@ -0,0 +1,19 @@
// Override the font path
$fa-css-prefix: fa;
$fa-font-path: "../../../../../../vendor/fontawesome-free/webfonts" !default;
// Font Awesome 5 Free
@import "../../../../../../../../media/vendor/fontawesome-free/scss/fontawesome";
@import "../../../../../../../../media/vendor/fontawesome-free/scss/regular";
@import "../../../../../../../../media/vendor/fontawesome-free/scss/solid";
// Brands must be imported last
@import "../../../../../../../../media/vendor/fontawesome-free/scss/brands";
// B/C for Icomoon
@import "../../../../../../system/scss/icomoon";
// RTL override
html[dir=rtl] .float-right {
float: left;
}

View File

@ -1,5 +1,5 @@
@import "../../variables";
@import "../../../../../../node_modules/joomla-ui-custom-elements/dist/css/joomla-alert";
@import "../../../../../../../../node_modules/joomla-ui-custom-elements/dist/css/joomla-alert";
// The following is a restyle for the system alerts

View File

@ -1,10 +1,10 @@
@import "../../../../../../media/vendor/bootstrap/scss/functions";
@import "../../../../../../../../media/vendor/bootstrap/scss/functions";
// Atum Variables
@import "../../variables";
@import "../../../../../../media/vendor/bootstrap/scss/variables";
@import "../../../../../../media/vendor/bootstrap/scss/mixins";
@import "../../../../../../../../media/vendor/bootstrap/scss/variables";
@import "../../../../../../../../media/vendor/bootstrap/scss/mixins";
// Tabs

View File

@ -1,5 +1,5 @@
// Minicolours
@import "../../../../../../node_modules/@claviska/jquery-minicolors/jquery.minicolors";
@import "../../../../../../../../node_modules/@claviska/jquery-minicolors/jquery.minicolors";
.minicolors-theme-bootstrap {

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 510 B

After

Width:  |  Height:  |  Size: 510 B

View File

Before

Width:  |  Height:  |  Size: 459 B

After

Width:  |  Height:  |  Size: 459 B

View File

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 387 B

View File

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 504 B

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Some files were not shown because too many files have changed in this diff Show More