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>
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
|
@ -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=""'
|
||||
|
|
|
@ -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=""'
|
||||
|
|
|
@ -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=""'
|
||||
|
|
|
@ -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=""'
|
||||
|
|
|
@ -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";
|
|
@ -1,6 +0,0 @@
|
|||
// Awesomplete
|
||||
@import "../../../../../../node_modules/awesomplete/awesomplete";
|
||||
|
||||
.awesomplete {
|
||||
display: block;
|
||||
}
|
|
@ -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";
|
|
@ -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 -->
|
||||
|
|
|
@ -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'));
|
||||
|
|
Before Width: | Height: | Size: 592 B After Width: | Height: | Size: 592 B |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 510 B After Width: | Height: | Size: 510 B |
Before Width: | Height: | Size: 459 B After Width: | Height: | Size: 459 B |
Before Width: | Height: | Size: 387 B After Width: | Height: | Size: 387 B |
Before Width: | Height: | Size: 504 B After Width: | Height: | Size: 504 B |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
@ -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;
|
|
@ -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";
|
37
build/media_source/templates/administrator/atum/scss/vendor/_bootstrap.scss
vendored
Normal 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";
|
6
build/media_source/templates/administrator/atum/scss/vendor/awesomplete/awesomplete.scss
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
// Awesomplete
|
||||
@import "../../../../../../../../node_modules/awesomplete/awesomplete";
|
||||
|
||||
.awesomplete {
|
||||
display: block;
|
||||
}
|
|
@ -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;
|
19
build/media_source/templates/administrator/atum/scss/vendor/fontawesome-free/fontawesome.scss
vendored
Normal 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;
|
||||
}
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
// Minicolours
|
||||
@import "../../../../../../node_modules/@claviska/jquery-minicolors/jquery.minicolors";
|
||||
@import "../../../../../../../../node_modules/@claviska/jquery-minicolors/jquery.minicolors";
|
||||
|
||||
.minicolors-theme-bootstrap {
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 510 B After Width: | Height: | Size: 510 B |
Before Width: | Height: | Size: 459 B After Width: | Height: | Size: 459 B |
Before Width: | Height: | Size: 387 B After Width: | Height: | Size: 387 B |
Before Width: | Height: | Size: 504 B After Width: | Height: | Size: 504 B |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |