From cc69c75ccab551719243a77a615425d32499cd83 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Mon, 25 Aug 2025 00:33:14 -0500 Subject: [PATCH] Reset --- .../global/colors/dark/colors_alternative.css | 351 ++++++++++ .../global/colors/dark/colors_standard.css | 351 ++++++++++ .../css/global/colors/dark/index.html | 118 ++++ .../css/global/colors/index.html | 118 ++++ .../colors/light/colors_alternative.css | 551 ++++++++++++++++ .../global/colors/light/colors_standard.css | 551 ++++++++++++++++ .../css/global/colors/light/index.html | 118 ++++ .../site/moko-cassiopeia/css/vmbasic.css | 617 ++++++++++++++++++ .../site/moko-cassiopeia/images/bg.svg | 107 +++ .../site/moko-cassiopeia/images/logo.svg | 93 +++ .../images/select-bg-active-rtl.svg | 1 + .../images/select-bg-active.svg | 1 + .../moko-cassiopeia/images/select-bg-rtl.svg | 1 + .../site/moko-cassiopeia/images/select-bg.svg | 1 + .../moko-cassiopeia/images/teaser_bg_sm.png | Bin 0 -> 979 bytes .../images/template_preview.png | Bin 0 -> 63908 bytes .../images/template_thumbnail.png | Bin 0 -> 10747 bytes moko-cassiopeia-main.zip | Bin 0 -> 390654 bytes templates/moko-cassiopeia/component.php | 88 +++ templates/moko-cassiopeia/custom.php | 30 + templates/moko-cassiopeia/darkmode-toggle.js | 0 templates/moko-cassiopeia/error.php | 269 ++++++++ templates/moko-cassiopeia/favicon.ico | Bin 0 -> 15086 bytes .../html/com_contact/contact/default.php | 177 +++++ .../html/com_contact/contact/index.html | 118 ++++ .../html/com_contact/default.php | 177 +++++ .../html/com_contact/index.html | 118 ++++ .../html/com_content/article/index.html | 118 ++++ .../html/com_content/article/toc-left.php | 158 +++++ .../html/com_content/article/toc-right.php | 160 +++++ .../html/com_content/categories/default.php | 33 + .../com_content/categories/default_items.php | 77 +++ .../html/com_content/categories/index.html | 118 ++++ .../html/com_content/category/blog.php | 143 ++++ .../com_content/category/blog_children.php | 86 +++ .../html/com_content/category/blog_item.php | 102 +++ .../html/com_content/category/blog_links.php | 27 + .../html/com_content/category/default.php | 25 + .../com_content/category/default_articles.php | 349 ++++++++++ .../com_content/category/default_children.php | 85 +++ .../html/com_content/category/index.html | 118 ++++ .../html/com_content/featured/default.php | 75 +++ .../com_content/featured/default_item.php | 121 ++++ .../com_content/featured/default_links.php | 26 + .../html/com_content/featured/index.html | 118 ++++ .../html/com_content/index.html | 118 ++++ .../html/com_engage/comments/default.php | 78 +++ .../html/com_engage/comments/default_form.php | 90 +++ .../html/com_engage/comments/default_list.php | 286 ++++++++ .../com_engage/comments/default_login.php | 45 ++ .../html/com_engage/comments/index.html | 118 ++++ .../html/com_engage/index.html | 118 ++++ .../common/accordion_plans.php | 195 ++++++ .../html/com_osmembership/common/batch.php | 35 + .../com_osmembership/common/batch_nocheck.php | 24 + .../com_osmembership/common/categories.php | 56 ++ .../com_osmembership/common/columns_plans.php | 219 +++++++ .../com_osmembership/common/default_plans.php | 231 +++++++ .../com_osmembership/common/group_members.php | 27 + .../html/com_osmembership/common/index.html | 118 ++++ .../common/paymentredirect.php | 36 + .../common/plan_custom_fields.php | 45 ++ .../common/plan_information.php | 129 ++++ .../com_osmembership/common/priceduration.php | 70 ++ .../common/pricingtable_circle_plans.php | 237 +++++++ .../common/pricingtable_flat_plans.php | 233 +++++++ .../common/pricingtable_plans.php | 261 ++++++++ .../com_osmembership/common/renew_options.php | 129 ++++ .../common/restrictionmsg.php | 31 + .../common/subscriptions_history.php | 176 +++++ .../common/subscriptions_pdf.php | 105 +++ .../common/upgrade_options.php | 48 ++ .../html/com_osmembership/index.html | 118 ++++ .../html/com_osmembership/mplan/default.php | 141 ++++ .../mplan/default_advanced_settings.php | 173 +++++ .../mplan/default_general.php | 166 +++++ .../mplan/default_group_membership.php | 45 ++ .../mplan/default_member_card.php | 46 ++ .../mplan/default_messages.php | 194 ++++++ .../mplan/default_metadata.php | 56 ++ .../mplan/default_recurring_settings.php | 81 +++ .../mplan/default_reminder_messages.php | 75 +++ .../mplan/default_reminders_settings.php | 62 ++ .../mplan/default_renew_options.php | 34 + .../mplan/default_renewal_discounts.php | 34 + .../mplan/default_translation.php | 223 +++++++ .../mplan/default_upgrade_options.php | 41 ++ .../html/com_osmembership/mplan/index.html | 118 ++++ .../html/com_osmembership/mplans/default.php | 238 +++++++ .../mplans/default_search_bar.bootstrap4.php | 39 ++ .../mplans/default_search_bar.php | 38 ++ .../html/com_osmembership/mplans/index.html | 118 ++++ .../html/com_osmembership/plan/default.php | 176 +++++ .../plan/default_renew_upgrade.php | 45 ++ .../html/com_osmembership/plan/index.html | 118 ++++ .../html/com_osmembership/plans/columns.php | 84 +++ .../html/com_osmembership/plans/default.php | 83 +++ .../html/com_osmembership/plans/index.html | 118 ++++ .../com_osmembership/plans/pricingtable.php | 75 +++ .../plans/pricingtablecircle.php | 75 +++ .../plans/pricingtableflat.php | 75 +++ templates/moko-cassiopeia/html/index.html | 118 ++++ .../html/layouts/chromes/card.php | 61 ++ .../html/layouts/chromes/html5.php | 88 +++ .../html/layouts/chromes/index.html | 118 ++++ .../html/layouts/chromes/noCard.php | 55 ++ .../moko-cassiopeia/html/layouts/index.html | 118 ++++ .../html/mod_custom/banner.php | 34 + .../moko-cassiopeia/html/mod_custom/hero.php | 34 + .../html/mod_custom/index.html | 118 ++++ .../html/mod_gabble/default.php | 160 +++++ .../html/mod_gabble/index.html | 118 ++++ .../html/mod_membershipplans/index.html | 118 ++++ .../html/mod_menu/collapse-metismenu.php | 28 + .../html/mod_menu/dropdown-metismenu.php | 110 ++++ .../mod_menu/dropdown-metismenu_component.php | 79 +++ .../mod_menu/dropdown-metismenu_heading.php | 61 ++ .../mod_menu/dropdown-metismenu_separator.php | 61 ++ .../html/mod_menu/dropdown-metismenu_url.php | 76 +++ .../moko-cassiopeia/html/mod_menu/index.html | 118 ++++ .../html/mod_virtuemart_cart/default.php | 99 +++ .../html/mod_virtuemart_cart/dropdown.php | 107 +++ .../html/mod_virtuemart_cart/index.html | 118 ++++ .../html/mod_virtuemart_category/all.php | 44 ++ .../html/mod_virtuemart_category/current.php | 67 ++ .../html/mod_virtuemart_category/default.php | 67 ++ .../html/mod_virtuemart_category/index.html | 118 ++++ .../html/mod_virtuemart_category/wall.php | 28 + .../mod_virtuemart_currencies/default.php | 38 ++ .../html/mod_virtuemart_currencies/index.html | 118 ++++ .../mod_virtuemart_manufacturer/default.php | 67 ++ .../mod_virtuemart_manufacturer/index.html | 118 ++++ .../html/mod_virtuemart_product/default.php | 167 +++++ .../html/mod_virtuemart_product/index.html | 118 ++++ .../html/mod_virtuemart_search/default.php | 56 ++ .../html/mod_virtuemart_search/index.html | 118 ++++ .../moko-cassiopeia/html/tinymce/index.html | 118 ++++ templates/moko-cassiopeia/index.html | 118 ++++ templates/moko-cassiopeia/index.php | 484 ++++++++++++++ templates/moko-cassiopeia/joomla.asset.json | 151 +++++ templates/moko-cassiopeia/offline.php | 343 ++++++++++ templates/moko-cassiopeia/templateDetails.xml | 237 +++++++ 142 files changed, 16614 insertions(+) create mode 100644 media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_alternative.css create mode 100644 media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_standard.css create mode 100644 media/templates/site/moko-cassiopeia/css/global/colors/dark/index.html create mode 100644 media/templates/site/moko-cassiopeia/css/global/colors/index.html create mode 100644 media/templates/site/moko-cassiopeia/css/global/colors/light/colors_alternative.css create mode 100644 media/templates/site/moko-cassiopeia/css/global/colors/light/colors_standard.css create mode 100644 media/templates/site/moko-cassiopeia/css/global/colors/light/index.html create mode 100644 media/templates/site/moko-cassiopeia/css/vmbasic.css create mode 100644 media/templates/site/moko-cassiopeia/images/bg.svg create mode 100644 media/templates/site/moko-cassiopeia/images/logo.svg create mode 100644 media/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg create mode 100644 media/templates/site/moko-cassiopeia/images/select-bg-active.svg create mode 100644 media/templates/site/moko-cassiopeia/images/select-bg-rtl.svg create mode 100644 media/templates/site/moko-cassiopeia/images/select-bg.svg create mode 100644 media/templates/site/moko-cassiopeia/images/teaser_bg_sm.png create mode 100644 media/templates/site/moko-cassiopeia/images/template_preview.png create mode 100644 media/templates/site/moko-cassiopeia/images/template_thumbnail.png create mode 100644 moko-cassiopeia-main.zip create mode 100644 templates/moko-cassiopeia/component.php create mode 100644 templates/moko-cassiopeia/custom.php create mode 100644 templates/moko-cassiopeia/darkmode-toggle.js create mode 100644 templates/moko-cassiopeia/error.php create mode 100644 templates/moko-cassiopeia/favicon.ico create mode 100644 templates/moko-cassiopeia/html/com_contact/contact/default.php create mode 100644 templates/moko-cassiopeia/html/com_contact/contact/index.html create mode 100644 templates/moko-cassiopeia/html/com_contact/default.php create mode 100644 templates/moko-cassiopeia/html/com_contact/index.html create mode 100644 templates/moko-cassiopeia/html/com_content/article/index.html create mode 100644 templates/moko-cassiopeia/html/com_content/article/toc-left.php create mode 100644 templates/moko-cassiopeia/html/com_content/article/toc-right.php create mode 100644 templates/moko-cassiopeia/html/com_content/categories/default.php create mode 100644 templates/moko-cassiopeia/html/com_content/categories/default_items.php create mode 100644 templates/moko-cassiopeia/html/com_content/categories/index.html create mode 100644 templates/moko-cassiopeia/html/com_content/category/blog.php create mode 100644 templates/moko-cassiopeia/html/com_content/category/blog_children.php create mode 100644 templates/moko-cassiopeia/html/com_content/category/blog_item.php create mode 100644 templates/moko-cassiopeia/html/com_content/category/blog_links.php create mode 100644 templates/moko-cassiopeia/html/com_content/category/default.php create mode 100644 templates/moko-cassiopeia/html/com_content/category/default_articles.php create mode 100644 templates/moko-cassiopeia/html/com_content/category/default_children.php create mode 100644 templates/moko-cassiopeia/html/com_content/category/index.html create mode 100644 templates/moko-cassiopeia/html/com_content/featured/default.php create mode 100644 templates/moko-cassiopeia/html/com_content/featured/default_item.php create mode 100644 templates/moko-cassiopeia/html/com_content/featured/default_links.php create mode 100644 templates/moko-cassiopeia/html/com_content/featured/index.html create mode 100644 templates/moko-cassiopeia/html/com_content/index.html create mode 100644 templates/moko-cassiopeia/html/com_engage/comments/default.php create mode 100644 templates/moko-cassiopeia/html/com_engage/comments/default_form.php create mode 100644 templates/moko-cassiopeia/html/com_engage/comments/default_list.php create mode 100644 templates/moko-cassiopeia/html/com_engage/comments/default_login.php create mode 100644 templates/moko-cassiopeia/html/com_engage/comments/index.html create mode 100644 templates/moko-cassiopeia/html/com_engage/index.html create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/batch.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/categories.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/columns_plans.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/default_plans.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/group_members.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/index.html create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/plan_information.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/priceduration.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/renew_options.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/index.html create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_general.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/default_upgrade_options.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplan/index.html create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplans/default.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/mplans/index.html create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plan/default.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plan/index.html create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plans/columns.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plans/default.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plans/index.html create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php create mode 100644 templates/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php create mode 100644 templates/moko-cassiopeia/html/index.html create mode 100644 templates/moko-cassiopeia/html/layouts/chromes/card.php create mode 100644 templates/moko-cassiopeia/html/layouts/chromes/html5.php create mode 100644 templates/moko-cassiopeia/html/layouts/chromes/index.html create mode 100644 templates/moko-cassiopeia/html/layouts/chromes/noCard.php create mode 100644 templates/moko-cassiopeia/html/layouts/index.html create mode 100644 templates/moko-cassiopeia/html/mod_custom/banner.php create mode 100644 templates/moko-cassiopeia/html/mod_custom/hero.php create mode 100644 templates/moko-cassiopeia/html/mod_custom/index.html create mode 100644 templates/moko-cassiopeia/html/mod_gabble/default.php create mode 100644 templates/moko-cassiopeia/html/mod_gabble/index.html create mode 100644 templates/moko-cassiopeia/html/mod_membershipplans/index.html create mode 100644 templates/moko-cassiopeia/html/mod_menu/collapse-metismenu.php create mode 100644 templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php create mode 100644 templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php create mode 100644 templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php create mode 100644 templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php create mode 100644 templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php create mode 100644 templates/moko-cassiopeia/html/mod_menu/index.html create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_cart/default.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_category/all.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_category/current.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_category/default.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_category/index.html create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_category/wall.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_currencies/default.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_currencies/index.html create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_product/default.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_product/index.html create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_search/default.php create mode 100644 templates/moko-cassiopeia/html/mod_virtuemart_search/index.html create mode 100644 templates/moko-cassiopeia/html/tinymce/index.html create mode 100644 templates/moko-cassiopeia/index.html create mode 100644 templates/moko-cassiopeia/index.php create mode 100644 templates/moko-cassiopeia/joomla.asset.json create mode 100644 templates/moko-cassiopeia/offline.php create mode 100644 templates/moko-cassiopeia/templateDetails.xml diff --git a/media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_alternative.css b/media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_alternative.css new file mode 100644 index 0000000..c7d0121 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_alternative.css @@ -0,0 +1,351 @@ +/*! + * @package Joomla.Site + * @subpackage Templates.moko-cassiopeia + * @file /media/templates/sote/moko-cassiopeia/css/global/dark/colors_alternative.css + * + * @copyright 2025 Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + * + * Website: https://mokoconsulting.tech + * Email: hello@mokoconsulting.tech + * Phone: +1 (931) 279-6313 + */ + +/* ----------------------------------------------- + * DARK THEME + * --------------------------------------------- */ + +:root[data-bs-theme='dark']{ + /* System hint for native widgets */ + color-scheme: dark; + + /* Brand & links */ + --color-primary: #112855; + --accent-color-primary: #3f8ff0; + --accent-color-secondary: #6fb3ff; + + --mainmenu-nav-link-color: #fff; + + --color-link: #224FAA; + --color-hover: #224FAA; + + /* Header background (kept same image; works over dark bg) */ + --header-background-image: url('../../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --header-background-attachment: fixed; + --header-background-repeat: repeat; + --header-background-size: auto; + + /* Section containers */ + --container-below-topbar-bg-image: ; + --container-below-topbar-bg-color: ; + --container-below-topbar-bg-position: center; + --container-below-topbar-bg-attachment: fixed; + --container-below-topbar-bg-repeat: no-repeat; + --container-below-topbar-bg-size: cover; + --container-below-topbar-border: ; + --container-below-topbar-border-radius: ; + + --container-top-a-bg-image: ; + --container-top-a-bg-color: ; + --container-top-a-bg-position: center; + --container-top-a-bg-attachment: fixed; + --container-top-a-bg-repeat: no-repeat; + --container-top-a-bg-size: cover; + --container-top-a-border: ; + --container-top-a-border-radius: ; + + --container-top-b-bg-image: ; + --container-top-b-bg-color: ; + --container-top-b-bg-position: center; + --container-top-b-bg-attachment: fixed; + --container-top-b-bg-repeat: no-repeat; + --container-top-b-bg-size: cover; + --container-top-b-border: ; + --container-top-b-border-radius: ; + + --container-toc-bg: ; + --container-toc-color: #dbe3ff; + + --container-sidebar-bg-image: ; + --container-sidebar-bg-color: ; + --container-sidebar-bg-position: center; + --container-sidebar-bg-attachment: scroll; + --container-sidebar-bg-repeat: repeat; + --container-sidebar-bg-size: auto; + --container-sidebar-border: ; + --container-sidebar-border-radius: ; + + --container-bottom-a-bg-image: ; + --container-bottom-a-bg-color: ; + --container-bottom-a-bg-position: center; + --container-bottom-a-bg-attachment: fixed; + --container-bottom-a-bg-repeat: no-repeat; + --container-bottom-a-bg-size: cover; + --container-bottom-a-border: ; + --container-bottom-a-border-radius: 5px; + + --container-bottom-b-bg-image: ; + --container-bottom-b-bg-color: ; + --container-bottom-b-bg-position: center; + --container-bottom-b-bg-attachment: fixed; + --container-bottom-b-bg-repeat: no-repeat; + --container-bottom-b-bg-size: cover; + --container-bottom-b-border: ; + --container-bottom-b-border-radius: ; + + /* Nav & accents */ + --nav-text-color: var(--mainmenu-nav-link-color); + --nav-bg-color: var(--color-link); + --border: 5px; + + --muted-color: #6d757e; + --hr-color: var(--border-color, #dfe3e7); + --link-active-color: var(--link-color); + --code-color-ink: var(--code-color, #e93f8e); + --border-color-soft: var(--border-color, #dfe3e7); + --kbd-bg: var(--secondary-bg, #eaedf0); + --kbd-ink: var(--body-bg, #fff); + --toc-bg: var(--secondary-bg, #eaedf0); + --toc-ink: var(--color-primary, #112855); + --selection-bg: var(--highlight-bg, #fbeea8); + --selection-ink: var(--body-color, #22262a); + + /* Palette */ + --blue: #91a4ff; + --black: #000; + --indigo: #b19cff; + --purple: #c0a5ff; + --pink: #ff8fc0; + --red: #ff7a73; + --orange: #ff9c4d; + --yellow: #ffd166; + --green: #78d694; + --teal: #76e3ff; + --cyan: #6fb7ff; + --white: #fff; + + /* Grays tuned for dark */ + --gray-100: #161a20; + --gray-200: #1b2027; + --gray-300: #222831; + --gray-400: #2b323b; + --gray-500: #36404a; + --gray-600: #48525d; + --gray-700: #5b6672; + --gray-800: #cfd6de; + --gray-900: #e6ebf1; + + /* Contextuals (keep brand hues) */ + --primary: #010156; + --secondary: #48525d; + --success: #4aa664; + --info: #4f7aa0; + --warning: #c77a00; + --danger: #c23a31; + --light: #1b2027; + --dark: #0f1318; + + /* RGB helpers */ + --primary-rgb: 1,1,86; + --secondary-rgb: 72,82,93; + --success-rgb: 74,166,100; + --info-rgb: 79,122,160; + --warning-rgb: 199,122,0; + --danger-rgb: 194,58,49; + --light-rgb: 27,32,39; + --dark-rgb: 15,19,24; + + /* Emphasis & subtle variants */ + --primary-text-emphasis: #c7ccff; + --secondary-text-emphasis: #cfd6de; + --success-text-emphasis: #bde8c9; + --info-text-emphasis: #bcd6ee; + --warning-text-emphasis: #ffd9a6; + --danger-text-emphasis: #ffb7b2; + --light-text-emphasis: #d2d8df; + --dark-text-emphasis: #d2d8df; + + --primary-bg-subtle: #0b1030; + --secondary-bg-subtle: #1e2430; + --success-bg-subtle: #0f2a1b; + --info-bg-subtle: #0d2232; + --warning-bg-subtle: #2a1e06; + --danger-bg-subtle: #2d1110; + --light-bg-subtle: #12161d; + --dark-bg-subtle: #1e2430; + + --primary-border-subtle: #2b3a7a; + --secondary-border-subtle: #2b323b; + --success-border-subtle: #2b5b40; + --info-border-subtle: #254861; + --warning-border-subtle: #5a3c0e; + --danger-border-subtle: #5c2723; + --light-border-subtle: #222831; + --dark-border-subtle: #2b323b; + + /* Typography & layout */ + --body-font-family: var(--optain-cassiopeia-font-family-body, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'); + --body-font-size: 1rem; + --body-font-weight: 400; + --body-line-height: 1.5; + + --body-color: #e6ebf1; + --body-color-rgb: 230, 235, 241; + --body-bg: #0e1318; + --body-bg-rgb: 14, 19, 24; + + --emphasis-color: #fff; + --emphasis-color-rgb: 255, 255, 255; + + --secondary-color: #e6ebf1bf; + --secondary-color-rgb: 230, 235, 241; + + --secondary-bg: #151b22; + --secondary-bg-rgb: 21, 27, 34; + + --tertiary-color: #e6ebf180; + --tertiary-color-rgb: 230, 235, 241; + --tertiary-bg: #10151b; + --tertiary-bg-rgb: 16, 21, 27; + + --heading-color: #f1f5f9; + + --link-color: #8ab4f8; + --link-color-rgb: 138, 180, 248; + --link-decoration: underline; + --link-hover-color: #c3d6ff; + --link-hover-color-rgb: 195, 214, 255; + + --code-color: #ff7abd; + --highlight-color: #111; + --highlight-bg: #ffe28a1a; + + --border-width: 1px; + --border-style: solid; + --border-color: #2b323b; + --border-color-translucent: #ffffff26; + + --border-radius: .25rem; + --border-radius-sm: .2rem; + --border-radius-lg: .3rem; + --border-radius-xl: .3rem; + --border-radius-xxl: 2rem; + --border-radius-2xl: var(--border-radius-xxl); + --border-radius-pill: 50rem; + + --box-shadow: 0 .5rem 1rem #00000066; + --box-shadow-sm: 0 .125rem .25rem #00000040; + --box-shadow-lg: 0 1rem 3rem #00000080; + --box-shadow-inset: inset 0 1px 2px #00000040; + + --focus-ring-width: .25rem; + --focus-ring-opacity: .6; + --focus-ring-color: #5472ff66; + + --form-valid-color: #78d694; + --form-valid-border-color: #78d694; + --form-invalid-color: #ff8e86; + --form-invalid-border-color: #ff8e86; +} + +.btn { + --btn-padding-x: 1rem; + --btn-padding-y: 0.6rem; + --btn-font-family: ; + --btn-font-size: 1rem; + --btn-font-weight: 400; + --btn-line-height: 1.5; + --btn-color: var(--white); + --btn-bg: transparent; + --btn-border-width: 1px; + --btn-border-color: transparent; + --btn-border-radius: 0.25rem; + --btn-active-border-color: transparent; + --btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --btn-disabled-opacity: 0.65; + --btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--btn-padding-y) var(--btn-padding-x); + font-family: var(--btn-font-family); + font-size: var(--btn-font-size); + font-weight: var(--btn-font-weight); + line-height: var(--btn-line-height); + color: var(--btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--btn-border-width) solid var(--btn-border-color); + border-radius: var(--btn-border-radius); + background-color: var(--btn-bg); + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} + +/* Buttons — inherit brand hues; ensure strong contrast on dark bg */ +.btn-primary { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(240, 98%, 17%); + --btn-border-color: hsl(240, 98%, 17%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #010149; + --btn-hover-border-color: #010145; + --btn-focus-shadow-rgb: 84, 114, 255; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #010145; + --btn-active-border-color: #010141; +} + +.btn-secondary { + --btn-color: var(--nav-text-color); + --btn-bg: var(--nav-bg-color); + --btn-border-color: #3a4250; + --btn-hover-color: #fff; + --btn-hover-bg: #1b2a55; + --btn-hover-border-color: #162448; + --btn-focus-shadow-rgb: 84, 114, 255; + --btn-active-color: #fff; + --btn-active-bg: #162448; + --btn-active-border-color: #12203f; +} + +/* Outline buttons on dark: keep readable borders */ +.btn-outline-light { + --btn-color: #e6ebf1; + --btn-border-color: #e6ebf1; + --btn-hover-color: #111; + --btn-hover-bg: #e6ebf1; + --btn-hover-border-color: #e6ebf1; + --btn-active-color: #111; + --btn-active-bg: #d7dce2; + --btn-active-border-color: #d7dce2; + --gradient: none; +} + +/* Links as buttons */ +.btn-link { + --btn-font-weight: 400; + --btn-color: var(--link-color); + --btn-bg: transparent; + --btn-border-color: transparent; + --btn-hover-color: var(--link-hover-color); + --btn-hover-border-color: transparent; + --btn-active-color: var(--link-hover-color); + --btn-active-border-color: transparent; + --btn-disabled-color: #6d7781; + --btn-disabled-border-color: transparent; + --btn-box-shadow: none; + --btn-focus-shadow-rgb: 84, 114, 255; + text-decoration: underline; +} + +.btn-secondary { + --btn-color: var(--nav-text-color); + --btn-bg: var(--nav-bg-color); +} diff --git a/media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_standard.css b/media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_standard.css new file mode 100644 index 0000000..8a2ebd9 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_standard.css @@ -0,0 +1,351 @@ +/*! + * @package Joomla.Site + * @subpackage Templates.moko-cassiopeia + * @file /media/templates/sote/moko-cassiopeia/css/global/dark/colors_standard.css + * + * @copyright 2025 Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + * + * Website: https://mokoconsulting.tech + * Email: hello@mokoconsulting.tech + * Phone: +1 (931) 279-6313 + */ + +/* ----------------------------------------------- + * DARK THEME + * --------------------------------------------- */ + +:root[data-bs-theme='dark']{ + /* System hint for native widgets */ + color-scheme: dark; + + /* Brand & links */ + --color-primary: #112855; + --accent-color-primary: #3f8ff0; + --accent-color-secondary: #6fb3ff; + + --mainmenu-nav-link-color: #fff; + + --color-link: #224FAA; + --color-hover: #224FAA; + + /* Header background (kept same image; works over dark bg) */ + --header-background-image: url('../../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --header-background-attachment: fixed; + --header-background-repeat: repeat; + --header-background-size: auto; + + /* Section containers */ + --container-below-topbar-bg-image: ; + --container-below-topbar-bg-color: ; + --container-below-topbar-bg-position: center; + --container-below-topbar-bg-attachment: fixed; + --container-below-topbar-bg-repeat: no-repeat; + --container-below-topbar-bg-size: cover; + --container-below-topbar-border: ; + --container-below-topbar-border-radius: ; + + --container-top-a-bg-image: ; + --container-top-a-bg-color: ; + --container-top-a-bg-position: center; + --container-top-a-bg-attachment: fixed; + --container-top-a-bg-repeat: no-repeat; + --container-top-a-bg-size: cover; + --container-top-a-border: ; + --container-top-a-border-radius: ; + + --container-top-b-bg-image: ; + --container-top-b-bg-color: ; + --container-top-b-bg-position: center; + --container-top-b-bg-attachment: fixed; + --container-top-b-bg-repeat: no-repeat; + --container-top-b-bg-size: cover; + --container-top-b-border: ; + --container-top-b-border-radius: ; + + --container-toc-bg: ; + --container-toc-color: #dbe3ff; + + --container-sidebar-bg-image: ; + --container-sidebar-bg-color: ; + --container-sidebar-bg-position: center; + --container-sidebar-bg-attachment: scroll; + --container-sidebar-bg-repeat: repeat; + --container-sidebar-bg-size: auto; + --container-sidebar-border: ; + --container-sidebar-border-radius: ; + + --container-bottom-a-bg-image: ; + --container-bottom-a-bg-color: ; + --container-bottom-a-bg-position: center; + --container-bottom-a-bg-attachment: fixed; + --container-bottom-a-bg-repeat: no-repeat; + --container-bottom-a-bg-size: cover; + --container-bottom-a-border: ; + --container-bottom-a-border-radius: 5px; + + --container-bottom-b-bg-image: ; + --container-bottom-b-bg-color: ; + --container-bottom-b-bg-position: center; + --container-bottom-b-bg-attachment: fixed; + --container-bottom-b-bg-repeat: no-repeat; + --container-bottom-b-bg-size: cover; + --container-bottom-b-border: ; + --container-bottom-b-border-radius: ; + + /* Nav & accents */ + --nav-text-color: var(--mainmenu-nav-link-color); + --nav-bg-color: var(--color-link); + --border: 5px; + + --muted-color: #6d757e; + --hr-color: var(--border-color, #dfe3e7); + --link-active-color: var(--link-color); + --code-color-ink: var(--code-color, #e93f8e); + --border-color-soft: var(--border-color, #dfe3e7); + --kbd-bg: var(--secondary-bg, #eaedf0); + --kbd-ink: var(--body-bg, #fff); + --toc-bg: var(--secondary-bg, #eaedf0); + --toc-ink: var(--color-primary, #112855); + --selection-bg: var(--highlight-bg, #fbeea8); + --selection-ink: var(--body-color, #22262a); + + /* Palette */ + --blue: #91a4ff; + --black: #000; + --indigo: #b19cff; + --purple: #c0a5ff; + --pink: #ff8fc0; + --red: #ff7a73; + --orange: #ff9c4d; + --yellow: #ffd166; + --green: #78d694; + --teal: #76e3ff; + --cyan: #6fb7ff; + --white: #fff; + + /* Grays tuned for dark */ + --gray-100: #161a20; + --gray-200: #1b2027; + --gray-300: #222831; + --gray-400: #2b323b; + --gray-500: #36404a; + --gray-600: #48525d; + --gray-700: #5b6672; + --gray-800: #cfd6de; + --gray-900: #e6ebf1; + + /* Contextuals (keep brand hues) */ + --primary: #010156; + --secondary: #48525d; + --success: #4aa664; + --info: #4f7aa0; + --warning: #c77a00; + --danger: #c23a31; + --light: #1b2027; + --dark: #0f1318; + + /* RGB helpers */ + --primary-rgb: 1,1,86; + --secondary-rgb: 72,82,93; + --success-rgb: 74,166,100; + --info-rgb: 79,122,160; + --warning-rgb: 199,122,0; + --danger-rgb: 194,58,49; + --light-rgb: 27,32,39; + --dark-rgb: 15,19,24; + + /* Emphasis & subtle variants */ + --primary-text-emphasis: #c7ccff; + --secondary-text-emphasis: #cfd6de; + --success-text-emphasis: #bde8c9; + --info-text-emphasis: #bcd6ee; + --warning-text-emphasis: #ffd9a6; + --danger-text-emphasis: #ffb7b2; + --light-text-emphasis: #d2d8df; + --dark-text-emphasis: #d2d8df; + + --primary-bg-subtle: #0b1030; + --secondary-bg-subtle: #1e2430; + --success-bg-subtle: #0f2a1b; + --info-bg-subtle: #0d2232; + --warning-bg-subtle: #2a1e06; + --danger-bg-subtle: #2d1110; + --light-bg-subtle: #12161d; + --dark-bg-subtle: #1e2430; + + --primary-border-subtle: #2b3a7a; + --secondary-border-subtle: #2b323b; + --success-border-subtle: #2b5b40; + --info-border-subtle: #254861; + --warning-border-subtle: #5a3c0e; + --danger-border-subtle: #5c2723; + --light-border-subtle: #222831; + --dark-border-subtle: #2b323b; + + /* Typography & layout */ + --body-font-family: var(--optain-cassiopeia-font-family-body, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'); + --body-font-size: 1rem; + --body-font-weight: 400; + --body-line-height: 1.5; + + --body-color: #e6ebf1; + --body-color-rgb: 230, 235, 241; + --body-bg: #0e1318; + --body-bg-rgb: 14, 19, 24; + + --emphasis-color: #fff; + --emphasis-color-rgb: 255, 255, 255; + + --secondary-color: #e6ebf1bf; + --secondary-color-rgb: 230, 235, 241; + + --secondary-bg: #151b22; + --secondary-bg-rgb: 21, 27, 34; + + --tertiary-color: #e6ebf180; + --tertiary-color-rgb: 230, 235, 241; + --tertiary-bg: #10151b; + --tertiary-bg-rgb: 16, 21, 27; + + --heading-color: #f1f5f9; + + --link-color: #8ab4f8; + --link-color-rgb: 138, 180, 248; + --link-decoration: underline; + --link-hover-color: #c3d6ff; + --link-hover-color-rgb: 195, 214, 255; + + --code-color: #ff7abd; + --highlight-color: #111; + --highlight-bg: #ffe28a1a; + + --border-width: 1px; + --border-style: solid; + --border-color: #2b323b; + --border-color-translucent: #ffffff26; + + --border-radius: .25rem; + --border-radius-sm: .2rem; + --border-radius-lg: .3rem; + --border-radius-xl: .3rem; + --border-radius-xxl: 2rem; + --border-radius-2xl: var(--border-radius-xxl); + --border-radius-pill: 50rem; + + --box-shadow: 0 .5rem 1rem #00000066; + --box-shadow-sm: 0 .125rem .25rem #00000040; + --box-shadow-lg: 0 1rem 3rem #00000080; + --box-shadow-inset: inset 0 1px 2px #00000040; + + --focus-ring-width: .25rem; + --focus-ring-opacity: .6; + --focus-ring-color: #5472ff66; + + --form-valid-color: #78d694; + --form-valid-border-color: #78d694; + --form-invalid-color: #ff8e86; + --form-invalid-border-color: #ff8e86; +} + +.btn { + --btn-padding-x: 1rem; + --btn-padding-y: 0.6rem; + --btn-font-family: ; + --btn-font-size: 1rem; + --btn-font-weight: 400; + --btn-line-height: 1.5; + --btn-color: var(--white); + --btn-bg: transparent; + --btn-border-width: 1px; + --btn-border-color: transparent; + --btn-border-radius: 0.25rem; + --btn-active-border-color: transparent; + --btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --btn-disabled-opacity: 0.65; + --btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--btn-padding-y) var(--btn-padding-x); + font-family: var(--btn-font-family); + font-size: var(--btn-font-size); + font-weight: var(--btn-font-weight); + line-height: var(--btn-line-height); + color: var(--btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--btn-border-width) solid var(--btn-border-color); + border-radius: var(--btn-border-radius); + background-color: var(--btn-bg); + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} + +/* Buttons — inherit brand hues; ensure strong contrast on dark bg */ +.btn-primary { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(240, 98%, 17%); + --btn-border-color: hsl(240, 98%, 17%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #010149; + --btn-hover-border-color: #010145; + --btn-focus-shadow-rgb: 84, 114, 255; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #010145; + --btn-active-border-color: #010141; +} + +.btn-secondary { + --btn-color: var(--nav-text-color); + --btn-bg: var(--nav-bg-color); + --btn-border-color: #3a4250; + --btn-hover-color: #fff; + --btn-hover-bg: #1b2a55; + --btn-hover-border-color: #162448; + --btn-focus-shadow-rgb: 84, 114, 255; + --btn-active-color: #fff; + --btn-active-bg: #162448; + --btn-active-border-color: #12203f; +} + +/* Outline buttons on dark: keep readable borders */ +.btn-outline-light { + --btn-color: #e6ebf1; + --btn-border-color: #e6ebf1; + --btn-hover-color: #111; + --btn-hover-bg: #e6ebf1; + --btn-hover-border-color: #e6ebf1; + --btn-active-color: #111; + --btn-active-bg: #d7dce2; + --btn-active-border-color: #d7dce2; + --gradient: none; +} + +/* Links as buttons */ +.btn-link { + --btn-font-weight: 400; + --btn-color: var(--link-color); + --btn-bg: transparent; + --btn-border-color: transparent; + --btn-hover-color: var(--link-hover-color); + --btn-hover-border-color: transparent; + --btn-active-color: var(--link-hover-color); + --btn-active-border-color: transparent; + --btn-disabled-color: #6d7781; + --btn-disabled-border-color: transparent; + --btn-box-shadow: none; + --btn-focus-shadow-rgb: 84, 114, 255; + text-decoration: underline; +} + +.btn-secondary { + --btn-color: var(--nav-text-color); + --btn-bg: var(--nav-bg-color); +} diff --git a/media/templates/site/moko-cassiopeia/css/global/colors/dark/index.html b/media/templates/site/moko-cassiopeia/css/global/colors/dark/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/global/colors/dark/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/media/templates/site/moko-cassiopeia/css/global/colors/index.html b/media/templates/site/moko-cassiopeia/css/global/colors/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/global/colors/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/media/templates/site/moko-cassiopeia/css/global/colors/light/colors_alternative.css b/media/templates/site/moko-cassiopeia/css/global/colors/light/colors_alternative.css new file mode 100644 index 0000000..79f199a --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/global/colors/light/colors_alternative.css @@ -0,0 +1,551 @@ +/*! + * @package Joomla.Site + * @subpackage Templates.moko-cassiopeia + * @file /media/templates/sote/moko-cassiopeia/css/global/light/colors_alternative.css + * + * @copyright 2025 Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + * + * Website: https://mokoconsulting.tech + * Email: hello@mokoconsulting.tech + * Phone: +1 (931) 279-6313 + */ + +/* ----------------------------------------------- + * LIGHT THEME + * --------------------------------------------- */ + +:root[data-bs-theme="light"] { + color-scheme: light; + --color-primary: #112855; + --accent-color-primary: #3f8ff0; + --accent-color-secondary: #3f8ff0; + + --mainmenu-nav-link-color: white; + + --color-link: #224FAA; + --color-hover: var(--accent-color-primary); + + --header-background-image: url('../../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); + --header-background-attachment: fixed; + --header-background-repeat: repeat; + --header-background-size: auto; + + --container-below-topbar-bg-image: ; + --container-below-topbar-bg-color ; + --container-below-topbar-bg-position: auto; + --container-below-topbar-bg-attachment: fixed; + --container-below-topbar-bg-repeat: repeat; + --container-below-topbar-bg-size: auto; + --container-below-topbar-border: ; + --container-below-topbar-border-radius: ; + + --container-top-a-bg-image: ; + --container-top-a-bg-color: ; + --container-top-a-bg-position: auto; + --container-top-a-bg-attachment: fixed; + --container-top-a-bg-repeat: repeat; + --container-top-a-bg-size: auto; + --container-top-a-border: ; + --container-top-a-border-radius: ; + + --container-top-b-bg-image: ; + --container-top-b-bg-color: ; + --container-top-b-bg-position: auto; + --container-top-b-bg-attachment: fixed; + --container-top-b-bg-repeat: repeat; + --container-top-b-bg-size: auto; + --container-top-b-border: ; + --container-top-b-border-radius: ; + + --container-toc-bg: var(--mainmenu-nav-link-color); + --container-toc-color: var(--color-primary); + + --container-sidebar-bg-image: ; + --container-sidebar-bg-color: ; + --container-sidebar-bg-position: auto; + --container-sidebar-bg-attachment: scroll; + --container-sidebar-bg-repeat: repeat; + --container-sidebar-bg-size: auto; + --container-sidebar-border: ; + --container-sidebar-border-radius: ; + + --container-bottom-a-bg-image: ; + --container-bottom-a-bg-color: ; + --container-bottom-a-bg-position: auto; + --container-bottom-a-bg-attachment: fixed; + --container-bottom-a-bg-repeat: repeat; + --container-bottom-a-bg-size: auto; + --container-bottom-a-border: ; + --container-bottom-a-border-radius: ; + + --container-bottom-b-bg-image: ; + --container-bottom-b-bg-color: ; + --container-bottom-b-bg-position: auto; + --container-bottom-b-bg-attachment: fixed; + --container-bottom-b-bg-repeat: repeat; + --container-bottom-b-bg-size: auto; + --container-bottom-b-border: ; + --container-bottom-b-border-radius: ; + + --nav-text-color: var(--mainmenu-nav-link-color); + --nav-bg-color: var(--color-link); + --border: 5px; + + --muted-color: #6d757e; + --hr-color: var(--border-color, #dfe3e7); + --link-active-color: var(--link-color); + --code-color-ink: var(--code-color, #e93f8e); + --border-color-soft: var(--border-color, #dfe3e7); + --kbd-bg: var(--secondary-bg, #eaedf0); + --kbd-ink: var(--body-bg, #fff); + --toc-bg: var(--secondary-bg, #eaedf0); + --toc-ink: var(--color-primary, #112855); + --selection-bg: var(--highlight-bg, #fbeea8); + --selection-ink: var(--body-color, #22262a); + + --blue: #010156; + --black: #000; + --indigo: #6812f3; + --purple: #6f42c2; + --pink: #e93f8e; + --red: #a51f18; + --orange: #fd7e17; + --yellow: #ad6200; + --green: #448344; + --teal: #5abfdd; + --cyan: #30638d; + --white: #fff; + --gray-100: #f9fafb; + --gray-200: #eaedf0; + --gray-300: #dfe3e7; + --gray-400: #ced4da; + --gray-500: #adb5bd; + --gray-600: #6d757e; + --gray-700: #484f56; + --gray-800: #353b41; + --gray-900: #22262a; + --primary: #010156; + --secondary: #6d757e; + --success: #448344; + --info: #30638d; + --warning: #ad6200; + --danger: #a51f18; + --light: #f9fafb; + --dark: #353b41; + --primary-rgb: 1, 1, 86; + --secondary-rgb: 109, 117, 126; + --success-rgb: 68, 131, 68; + --info-rgb: 48, 99, 141; + --warning-rgb: 173, 98, 0; + --danger-rgb: 165, 31, 24; + --light-rgb: 249, 250, 251; + --dark-rgb: 53, 59, 65; + --primary-text-emphasis: #002; + --secondary-text-emphasis: #2c2f32; + --success-text-emphasis: #1b351b; + --info-text-emphasis: #132838; + --warning-text-emphasis: #452700; + --danger-text-emphasis: #420c09; + --light-text-emphasis: #484f56; + --dark-text-emphasis: #484f56; + --primary-bg-subtle: #ccd; + --secondary-bg-subtle: #e2e3e5; + --success-bg-subtle: #dae6da; + --info-bg-subtle: #d6e0e8; + --warning-bg-subtle: #efe0cc; + --danger-bg-subtle: #edd2d1; + --light-bg-subtle: #fcfcfd; + --dark-bg-subtle: #ced4da; + --primary-border-subtle: #99b; + --secondary-border-subtle: #c5c8cb; + --success-border-subtle: #b4ceb4; + --info-border-subtle: #acc1d1; + --warning-border-subtle: #dec099; + --danger-border-subtle: #dba5a2; + --light-border-subtle: #eaedf0; + --dark-border-subtle: #adb5bd; + --white-rgb: 255, 255, 255; + --black-rgb: 0, 0, 0; + --font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --gradient: linear-gradient(180deg, #ffffff26, #fff0); + --body-font-family: var(--optain-cassiopeia-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); + --body-font-size: 1rem; + --body-font-weight: 400; + --body-line-height: 1.5; + --body-color: #22262a; + --body-color-rgb: 34, 38, 42; + --body-bg: #fff; + --body-bg-rgb: 255, 255, 255; + --emphasis-color: #000; + --emphasis-color-rgb: 0, 0, 0; + --secondary-color: #22262abf; + --secondary-color-rgb: 34, 38, 42; + --secondary-bg: #eaedf0; + --secondary-bg-rgb: 234, 237, 240; + --tertiary-color: #22262a80; + --tertiary-color-rgb: 34, 38, 42; + --tertiary-bg: #f9fafb; + --tertiary-bg-rgb: 249, 250, 251; + --heading-color: inherit; + --link-color: #224faa; + --link-color-rgb: 34, 79, 170; + --link-decoration: underline; + --link-hover-color: #424077; + --link-hover-color-rgb: 66, 64, 119; + --code-color: #e93f8e; + --highlight-color: #22262a; + --highlight-bg: #fbeea8; + --border-width: 1px; + --border-style: solid; + --border-color: #dfe3e7; + --border-color-translucent: #0000002d; + --border-radius: .25rem; + --border-radius-sm: .2rem; + --border-radius-lg: .3rem; + --border-radius-xl: .3rem; + --border-radius-xxl: 2rem; + --border-radius-2xl: var(--border-radius-xxl)*2; + --border-radius-pill: 50rem; + --box-shadow: 0 .5rem 1rem #00000026; + --box-shadow-sm: 0 .125rem .25rem #00000013; + --box-shadow-lg: 0 1rem 3rem #0000002d; + --box-shadow-inset: inset 0 1px 2px #00000013; + --focus-ring-width: .25rem; + --focus-ring-opacity: .25; + --focus-ring-color: #01015640; + --form-valid-color: #448344; + --form-valid-border-color: #448344; + --form-invalid-color: #a51f18; + --form-invalid-border-color: #a51f18; +} + +.btn { + --btn-padding-x: 1rem; + --btn-padding-y: 0.6rem; + --btn-font-family: ; + --btn-font-size: 1rem; + --btn-font-weight: 400; + --btn-line-height: 1.5; + --btn-color: hsl(210, 11%, 15%); + --btn-bg: transparent; + --btn-border-width: 1px; + --btn-border-color: transparent; + --btn-border-radius: 0.25rem; + --btn-active-border-color: transparent; + --btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --btn-disabled-opacity: 0.65; + --btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--btn-padding-y) var(--btn-padding-x); + font-family: var(--btn-font-family); + font-size: var(--btn-font-size); + font-weight: var(--btn-font-weight); + line-height: var(--btn-line-height); + color: var(--btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--btn-border-width) solid var(--btn-border-color); + border-radius: var(--btn-border-radius); + background-color: var(--btn-bg); + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} + +.btn-primary { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(240, 98%, 17%); + --btn-border-color: hsl(240, 98%, 17%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #010149; + --btn-hover-border-color: #010145; + --btn-focus-shadow-rgb: 39, 39, 111; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #010145; + --btn-active-border-color: #010141; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(240, 98%, 17%); + --btn-disabled-border-color: hsl(240, 98%, 17%); +} + +.btn-secondary { + --btn-color: --nav-text-color; + --btn-bg: --nav-bg-color; + --btn-border-color: hsl(210, 7%, 46%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #5d636b; + --btn-hover-border-color: #575e65; + --btn-focus-shadow-rgb: gray; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #575e65; + --btn-active-border-color: #52585f; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(210, 7%, 46%); + --btn-disabled-border-color: hsl(210, 7%, 46%); +} + +.btn-success { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(120, 32%, 39%); + --btn-border-color: hsl(120, 32%, 39%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #3a6f3a; + --btn-hover-border-color: #366936; + --btn-focus-shadow-rgb: 96, 150, 96; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #366936; + --btn-active-border-color: #336233; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(120, 32%, 39%); + --btn-disabled-border-color: hsl(120, 32%, 39%); +} + +.btn-info { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(207, 49%, 37%); + --btn-border-color: hsl(207, 49%, 37%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #295478; + --btn-hover-border-color: #264f71; + --btn-focus-shadow-rgb: 79, 122, 158; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #264f71; + --btn-active-border-color: #244a6a; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(207, 49%, 37%); + --btn-disabled-border-color: hsl(207, 49%, 37%); +} + +.btn-warning { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(34, 100%, 34%); + --btn-border-color: hsl(34, 100%, 34%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #935300; + --btn-hover-border-color: #8a4e00; + --btn-focus-shadow-rgb: 185, 122, 38; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #8a4e00; + --btn-active-border-color: #824a00; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(34, 100%, 34%); + --btn-disabled-border-color: hsl(34, 100%, 34%); +} + +.btn-danger { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(3, 75%, 37%); + --btn-border-color: hsl(3, 75%, 37%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #8c1a14; + --btn-hover-border-color: #841913; + --btn-focus-shadow-rgb: 179, 65, 59; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #841913; + --btn-active-border-color: #7c1712; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(3, 75%, 37%); + --btn-disabled-border-color: hsl(3, 75%, 37%); +} + +.btn-light { + --btn-color: hsl(0, 0%, 0%); + --btn-bg: hsl(210, 17%, 98%); + --btn-border-color: hsl(210, 17%, 98%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: #d4d5d5; + --btn-hover-border-color: #c7c8c9; + --btn-focus-shadow-rgb: 212, 213, 213; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: #c7c8c9; + --btn-active-border-color: #bbbcbc; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 0%); + --btn-disabled-bg: hsl(210, 17%, 98%); + --btn-disabled-border-color: hsl(210, 17%, 98%); +} + +.btn-dark { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(210, 10%, 23%); + --btn-border-color: hsl(210, 10%, 23%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #53585e; + --btn-hover-border-color: #494f54; + --btn-focus-shadow-rgb: 83, 88, 94; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #5d6267; + --btn-active-border-color: #494f54; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(210, 10%, 23%); + --btn-disabled-border-color: hsl(210, 10%, 23%); +} + +.btn-outline-primary { + --btn-color: hsl(240, 98%, 17%); + --btn-border-color: hsl(240, 98%, 17%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(240, 98%, 17%); + --btn-hover-border-color: hsl(240, 98%, 17%); + --btn-focus-shadow-rgb: 1, 1, 86; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(240, 98%, 17%); + --btn-active-border-color: hsl(240, 98%, 17%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(240, 98%, 17%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(240, 98%, 17%); + --gradient: none; +} + +.btn-outline-secondary { + --btn-color: hsl(210, 7%, 46%); + --btn-border-color: hsl(210, 7%, 46%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(210, 7%, 46%); + --btn-hover-border-color: hsl(210, 7%, 46%); + --btn-focus-shadow-rgb: 109, 117, 126; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(210, 7%, 46%); + --btn-active-border-color: hsl(210, 7%, 46%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(210, 7%, 46%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(210, 7%, 46%); + --gradient: none; +} + +.btn-outline-success { + --btn-color: hsl(120, 32%, 39%); + --btn-border-color: hsl(120, 32%, 39%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(120, 32%, 39%); + --btn-hover-border-color: hsl(120, 32%, 39%); + --btn-focus-shadow-rgb: 68, 131, 68; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(120, 32%, 39%); + --btn-active-border-color: hsl(120, 32%, 39%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(120, 32%, 39%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(120, 32%, 39%); + --gradient: none; +} + +.btn-outline-info { + --btn-color: hsl(207, 49%, 37%); + --btn-border-color: hsl(207, 49%, 37%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(207, 49%, 37%); + --btn-hover-border-color: hsl(207, 49%, 37%); + --btn-focus-shadow-rgb: 48, 99, 141; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(207, 49%, 37%); + --btn-active-border-color: hsl(207, 49%, 37%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(207, 49%, 37%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(207, 49%, 37%); + --gradient: none; +} + +.btn-outline-warning { + --btn-color: hsl(34, 100%, 34%); + --btn-border-color: hsl(34, 100%, 34%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(34, 100%, 34%); + --btn-hover-border-color: hsl(34, 100%, 34%); + --btn-focus-shadow-rgb: 173, 98, 0; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(34, 100%, 34%); + --btn-active-border-color: hsl(34, 100%, 34%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(34, 100%, 34%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(34, 100%, 34%); + --gradient: none; +} + +.btn-outline-danger { + --btn-color: hsl(3, 75%, 37%); + --btn-border-color: hsl(3, 75%, 37%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(3, 75%, 37%); + --btn-hover-border-color: hsl(3, 75%, 37%); + --btn-focus-shadow-rgb: 165, 31, 24; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(3, 75%, 37%); + --btn-active-border-color: hsl(3, 75%, 37%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(3, 75%, 37%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(3, 75%, 37%); + --gradient: none; +} + +.btn-outline-light { + --btn-color: hsl(210, 17%, 98%); + --btn-border-color: hsl(210, 17%, 98%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(210, 17%, 98%); + --btn-hover-border-color: hsl(210, 17%, 98%); + --btn-focus-shadow-rgb: 249, 250, 251; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(210, 17%, 98%); + --btn-active-border-color: hsl(210, 17%, 98%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(210, 17%, 98%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(210, 17%, 98%); + --gradient: none; +} + +.btn-outline-dark { + --btn-color: hsl(210, 10%, 23%); + --btn-border-color: hsl(210, 10%, 23%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(210, 10%, 23%); + --btn-hover-border-color: hsl(210, 10%, 23%); + --btn-focus-shadow-rgb: 53, 59, 65; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(210, 10%, 23%); + --btn-active-border-color: hsl(210, 10%, 23%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(210, 10%, 23%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(210, 10%, 23%); + --gradient: none; +} + +.btn-link { + --btn-font-weight: 400; + --btn-color: var(--link-color); + --btn-bg: transparent; + --btn-border-color: transparent; + --btn-hover-color: var(--link-hover-color); + --btn-hover-border-color: transparent; + --btn-active-color: var(--link-hover-color); + --btn-active-border-color: transparent; + --btn-disabled-color: hsl(210, 7%, 46%); + --btn-disabled-border-color: transparent; + --btn-box-shadow: none; + --btn-focus-shadow-rgb: 39, 39, 111; + text-decoration: underline; +} diff --git a/media/templates/site/moko-cassiopeia/css/global/colors/light/colors_standard.css b/media/templates/site/moko-cassiopeia/css/global/colors/light/colors_standard.css new file mode 100644 index 0000000..f6a3065 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/global/colors/light/colors_standard.css @@ -0,0 +1,551 @@ +/*! + * @package Joomla.Site + * @subpackage Templates.moko-cassiopeia + * @file /media/templates/sote/moko-cassiopeia/css/global/light/colors_standard.css + * + * @copyright 2025 Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + * + * Website: https://mokoconsulting.tech + * Email: hello@mokoconsulting.tech + * Phone: +1 (931) 279-6313 + */ + +/* ----------------------------------------------- + * LIGHT THEME + * --------------------------------------------- */ + +:root[data-bs-theme="light"] { + color-scheme: light; + --color-primary: #112855; + --accent-color-primary: #3f8ff0; + --accent-color-secondary: #3f8ff0; + + --mainmenu-nav-link-color: white; + + --color-link: #224FAA; + --color-hover: var(--accent-color-primary); + + --header-background-image: url('../../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); + --header-background-attachment: fixed; + --header-background-repeat: repeat; + --header-background-size: auto; + + --container-below-topbar-bg-image: ; + --container-below-topbar-bg-color ; + --container-below-topbar-bg-position: auto; + --container-below-topbar-bg-attachment: fixed; + --container-below-topbar-bg-repeat: repeat; + --container-below-topbar-bg-size: auto; + --container-below-topbar-border: ; + --container-below-topbar-border-radius: ; + + --container-top-a-bg-image: ; + --container-top-a-bg-color: ; + --container-top-a-bg-position: auto; + --container-top-a-bg-attachment: fixed; + --container-top-a-bg-repeat: repeat; + --container-top-a-bg-size: auto; + --container-top-a-border: ; + --container-top-a-border-radius: ; + + --container-top-b-bg-image: ; + --container-top-b-bg-color: ; + --container-top-b-bg-position: auto; + --container-top-b-bg-attachment: fixed; + --container-top-b-bg-repeat: repeat; + --container-top-b-bg-size: auto; + --container-top-b-border: ; + --container-top-b-border-radius: ; + + --container-toc-bg: var(--mainmenu-nav-link-color); + --container-toc-color: var(--color-primary); + + --container-sidebar-bg-image: ; + --container-sidebar-bg-color: ; + --container-sidebar-bg-position: auto; + --container-sidebar-bg-attachment: scroll; + --container-sidebar-bg-repeat: repeat; + --container-sidebar-bg-size: auto; + --container-sidebar-border: ; + --container-sidebar-border-radius: ; + + --container-bottom-a-bg-image: ; + --container-bottom-a-bg-color: ; + --container-bottom-a-bg-position: auto; + --container-bottom-a-bg-attachment: fixed; + --container-bottom-a-bg-repeat: repeat; + --container-bottom-a-bg-size: auto; + --container-bottom-a-border: ; + --container-bottom-a-border-radius: ; + + --container-bottom-b-bg-image: ; + --container-bottom-b-bg-color: ; + --container-bottom-b-bg-position: auto; + --container-bottom-b-bg-attachment: fixed; + --container-bottom-b-bg-repeat: repeat; + --container-bottom-b-bg-size: auto; + --container-bottom-b-border: ; + --container-bottom-b-border-radius: ; + + --nav-text-color: var(--mainmenu-nav-link-color); + --nav-bg-color: var(--color-link); + --border: 5px; + + --muted-color: #6d757e; + --hr-color: var(--border-color, #dfe3e7); + --link-active-color: var(--link-color); + --code-color-ink: var(--code-color, #e93f8e); + --border-color-soft: var(--border-color, #dfe3e7); + --kbd-bg: var(--secondary-bg, #eaedf0); + --kbd-ink: var(--body-bg, #fff); + --toc-bg: var(--secondary-bg, #eaedf0); + --toc-ink: var(--color-primary, #112855); + --selection-bg: var(--highlight-bg, #fbeea8); + --selection-ink: var(--body-color, #22262a); + + --blue: #010156; + --black: #000; + --indigo: #6812f3; + --purple: #6f42c2; + --pink: #e93f8e; + --red: #a51f18; + --orange: #fd7e17; + --yellow: #ad6200; + --green: #448344; + --teal: #5abfdd; + --cyan: #30638d; + --white: #fff; + --gray-100: #f9fafb; + --gray-200: #eaedf0; + --gray-300: #dfe3e7; + --gray-400: #ced4da; + --gray-500: #adb5bd; + --gray-600: #6d757e; + --gray-700: #484f56; + --gray-800: #353b41; + --gray-900: #22262a; + --primary: #010156; + --secondary: #6d757e; + --success: #448344; + --info: #30638d; + --warning: #ad6200; + --danger: #a51f18; + --light: #f9fafb; + --dark: #353b41; + --primary-rgb: 1, 1, 86; + --secondary-rgb: 109, 117, 126; + --success-rgb: 68, 131, 68; + --info-rgb: 48, 99, 141; + --warning-rgb: 173, 98, 0; + --danger-rgb: 165, 31, 24; + --light-rgb: 249, 250, 251; + --dark-rgb: 53, 59, 65; + --primary-text-emphasis: #002; + --secondary-text-emphasis: #2c2f32; + --success-text-emphasis: #1b351b; + --info-text-emphasis: #132838; + --warning-text-emphasis: #452700; + --danger-text-emphasis: #420c09; + --light-text-emphasis: #484f56; + --dark-text-emphasis: #484f56; + --primary-bg-subtle: #ccd; + --secondary-bg-subtle: #e2e3e5; + --success-bg-subtle: #dae6da; + --info-bg-subtle: #d6e0e8; + --warning-bg-subtle: #efe0cc; + --danger-bg-subtle: #edd2d1; + --light-bg-subtle: #fcfcfd; + --dark-bg-subtle: #ced4da; + --primary-border-subtle: #99b; + --secondary-border-subtle: #c5c8cb; + --success-border-subtle: #b4ceb4; + --info-border-subtle: #acc1d1; + --warning-border-subtle: #dec099; + --danger-border-subtle: #dba5a2; + --light-border-subtle: #eaedf0; + --dark-border-subtle: #adb5bd; + --white-rgb: 255, 255, 255; + --black-rgb: 0, 0, 0; + --font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --gradient: linear-gradient(180deg, #ffffff26, #fff0); + --body-font-family: var(--optain-cassiopeia-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); + --body-font-size: 1rem; + --body-font-weight: 400; + --body-line-height: 1.5; + --body-color: #22262a; + --body-color-rgb: 34, 38, 42; + --body-bg: #fff; + --body-bg-rgb: 255, 255, 255; + --emphasis-color: #000; + --emphasis-color-rgb: 0, 0, 0; + --secondary-color: #22262abf; + --secondary-color-rgb: 34, 38, 42; + --secondary-bg: #eaedf0; + --secondary-bg-rgb: 234, 237, 240; + --tertiary-color: #22262a80; + --tertiary-color-rgb: 34, 38, 42; + --tertiary-bg: #f9fafb; + --tertiary-bg-rgb: 249, 250, 251; + --heading-color: inherit; + --link-color: #224faa; + --link-color-rgb: 34, 79, 170; + --link-decoration: underline; + --link-hover-color: #424077; + --link-hover-color-rgb: 66, 64, 119; + --code-color: #e93f8e; + --highlight-color: #22262a; + --highlight-bg: #fbeea8; + --border-width: 1px; + --border-style: solid; + --border-color: #dfe3e7; + --border-color-translucent: #0000002d; + --border-radius: .25rem; + --border-radius-sm: .2rem; + --border-radius-lg: .3rem; + --border-radius-xl: .3rem; + --border-radius-xxl: 2rem; + --border-radius-2xl: var(--border-radius-xxl)*2; + --border-radius-pill: 50rem; + --box-shadow: 0 .5rem 1rem #00000026; + --box-shadow-sm: 0 .125rem .25rem #00000013; + --box-shadow-lg: 0 1rem 3rem #0000002d; + --box-shadow-inset: inset 0 1px 2px #00000013; + --focus-ring-width: .25rem; + --focus-ring-opacity: .25; + --focus-ring-color: #01015640; + --form-valid-color: #448344; + --form-valid-border-color: #448344; + --form-invalid-color: #a51f18; + --form-invalid-border-color: #a51f18; +} + +.btn { + --btn-padding-x: 1rem; + --btn-padding-y: 0.6rem; + --btn-font-family: ; + --btn-font-size: 1rem; + --btn-font-weight: 400; + --btn-line-height: 1.5; + --btn-color: hsl(210, 11%, 15%); + --btn-bg: transparent; + --btn-border-width: 1px; + --btn-border-color: transparent; + --btn-border-radius: 0.25rem; + --btn-active-border-color: transparent; + --btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --btn-disabled-opacity: 0.65; + --btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--btn-padding-y) var(--btn-padding-x); + font-family: var(--btn-font-family); + font-size: var(--btn-font-size); + font-weight: var(--btn-font-weight); + line-height: var(--btn-line-height); + color: var(--btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--btn-border-width) solid var(--btn-border-color); + border-radius: var(--btn-border-radius); + background-color: var(--btn-bg); + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} + +.btn-primary { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(240, 98%, 17%); + --btn-border-color: hsl(240, 98%, 17%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #010149; + --btn-hover-border-color: #010145; + --btn-focus-shadow-rgb: 39, 39, 111; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #010145; + --btn-active-border-color: #010141; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(240, 98%, 17%); + --btn-disabled-border-color: hsl(240, 98%, 17%); +} + +.btn-secondary { + --btn-color: --nav-text-color; + --btn-bg: --nav-bg-color; + --btn-border-color: hsl(210, 7%, 46%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #5d636b; + --btn-hover-border-color: #575e65; + --btn-focus-shadow-rgb: gray; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #575e65; + --btn-active-border-color: #52585f; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(210, 7%, 46%); + --btn-disabled-border-color: hsl(210, 7%, 46%); +} + +.btn-success { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(120, 32%, 39%); + --btn-border-color: hsl(120, 32%, 39%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #3a6f3a; + --btn-hover-border-color: #366936; + --btn-focus-shadow-rgb: 96, 150, 96; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #366936; + --btn-active-border-color: #336233; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(120, 32%, 39%); + --btn-disabled-border-color: hsl(120, 32%, 39%); +} + +.btn-info { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(207, 49%, 37%); + --btn-border-color: hsl(207, 49%, 37%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #295478; + --btn-hover-border-color: #264f71; + --btn-focus-shadow-rgb: 79, 122, 158; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #264f71; + --btn-active-border-color: #244a6a; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(207, 49%, 37%); + --btn-disabled-border-color: hsl(207, 49%, 37%); +} + +.btn-warning { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(34, 100%, 34%); + --btn-border-color: hsl(34, 100%, 34%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #935300; + --btn-hover-border-color: #8a4e00; + --btn-focus-shadow-rgb: 185, 122, 38; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #8a4e00; + --btn-active-border-color: #824a00; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(34, 100%, 34%); + --btn-disabled-border-color: hsl(34, 100%, 34%); +} + +.btn-danger { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(3, 75%, 37%); + --btn-border-color: hsl(3, 75%, 37%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #8c1a14; + --btn-hover-border-color: #841913; + --btn-focus-shadow-rgb: 179, 65, 59; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #841913; + --btn-active-border-color: #7c1712; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(3, 75%, 37%); + --btn-disabled-border-color: hsl(3, 75%, 37%); +} + +.btn-light { + --btn-color: hsl(0, 0%, 0%); + --btn-bg: hsl(210, 17%, 98%); + --btn-border-color: hsl(210, 17%, 98%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: #d4d5d5; + --btn-hover-border-color: #c7c8c9; + --btn-focus-shadow-rgb: 212, 213, 213; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: #c7c8c9; + --btn-active-border-color: #bbbcbc; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 0%); + --btn-disabled-bg: hsl(210, 17%, 98%); + --btn-disabled-border-color: hsl(210, 17%, 98%); +} + +.btn-dark { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(210, 10%, 23%); + --btn-border-color: hsl(210, 10%, 23%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #53585e; + --btn-hover-border-color: #494f54; + --btn-focus-shadow-rgb: 83, 88, 94; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #5d6267; + --btn-active-border-color: #494f54; + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(210, 10%, 23%); + --btn-disabled-border-color: hsl(210, 10%, 23%); +} + +.btn-outline-primary { + --btn-color: hsl(240, 98%, 17%); + --btn-border-color: hsl(240, 98%, 17%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(240, 98%, 17%); + --btn-hover-border-color: hsl(240, 98%, 17%); + --btn-focus-shadow-rgb: 1, 1, 86; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(240, 98%, 17%); + --btn-active-border-color: hsl(240, 98%, 17%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(240, 98%, 17%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(240, 98%, 17%); + --gradient: none; +} + +.btn-outline-secondary { + --btn-color: hsl(210, 7%, 46%); + --btn-border-color: hsl(210, 7%, 46%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(210, 7%, 46%); + --btn-hover-border-color: hsl(210, 7%, 46%); + --btn-focus-shadow-rgb: 109, 117, 126; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(210, 7%, 46%); + --btn-active-border-color: hsl(210, 7%, 46%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(210, 7%, 46%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(210, 7%, 46%); + --gradient: none; +} + +.btn-outline-success { + --btn-color: hsl(120, 32%, 39%); + --btn-border-color: hsl(120, 32%, 39%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(120, 32%, 39%); + --btn-hover-border-color: hsl(120, 32%, 39%); + --btn-focus-shadow-rgb: 68, 131, 68; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(120, 32%, 39%); + --btn-active-border-color: hsl(120, 32%, 39%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(120, 32%, 39%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(120, 32%, 39%); + --gradient: none; +} + +.btn-outline-info { + --btn-color: hsl(207, 49%, 37%); + --btn-border-color: hsl(207, 49%, 37%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(207, 49%, 37%); + --btn-hover-border-color: hsl(207, 49%, 37%); + --btn-focus-shadow-rgb: 48, 99, 141; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(207, 49%, 37%); + --btn-active-border-color: hsl(207, 49%, 37%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(207, 49%, 37%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(207, 49%, 37%); + --gradient: none; +} + +.btn-outline-warning { + --btn-color: hsl(34, 100%, 34%); + --btn-border-color: hsl(34, 100%, 34%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(34, 100%, 34%); + --btn-hover-border-color: hsl(34, 100%, 34%); + --btn-focus-shadow-rgb: 173, 98, 0; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(34, 100%, 34%); + --btn-active-border-color: hsl(34, 100%, 34%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(34, 100%, 34%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(34, 100%, 34%); + --gradient: none; +} + +.btn-outline-danger { + --btn-color: hsl(3, 75%, 37%); + --btn-border-color: hsl(3, 75%, 37%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(3, 75%, 37%); + --btn-hover-border-color: hsl(3, 75%, 37%); + --btn-focus-shadow-rgb: 165, 31, 24; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(3, 75%, 37%); + --btn-active-border-color: hsl(3, 75%, 37%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(3, 75%, 37%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(3, 75%, 37%); + --gradient: none; +} + +.btn-outline-light { + --btn-color: hsl(210, 17%, 98%); + --btn-border-color: hsl(210, 17%, 98%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(210, 17%, 98%); + --btn-hover-border-color: hsl(210, 17%, 98%); + --btn-focus-shadow-rgb: 249, 250, 251; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(210, 17%, 98%); + --btn-active-border-color: hsl(210, 17%, 98%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(210, 17%, 98%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(210, 17%, 98%); + --gradient: none; +} + +.btn-outline-dark { + --btn-color: hsl(210, 10%, 23%); + --btn-border-color: hsl(210, 10%, 23%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(210, 10%, 23%); + --btn-hover-border-color: hsl(210, 10%, 23%); + --btn-focus-shadow-rgb: 53, 59, 65; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(210, 10%, 23%); + --btn-active-border-color: hsl(210, 10%, 23%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(210, 10%, 23%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(210, 10%, 23%); + --gradient: none; +} + +.btn-link { + --btn-font-weight: 400; + --btn-color: var(--link-color); + --btn-bg: transparent; + --btn-border-color: transparent; + --btn-hover-color: var(--link-hover-color); + --btn-hover-border-color: transparent; + --btn-active-color: var(--link-hover-color); + --btn-active-border-color: transparent; + --btn-disabled-color: hsl(210, 7%, 46%); + --btn-disabled-border-color: transparent; + --btn-box-shadow: none; + --btn-focus-shadow-rgb: 39, 39, 111; + text-decoration: underline; +} diff --git a/media/templates/site/moko-cassiopeia/css/global/colors/light/index.html b/media/templates/site/moko-cassiopeia/css/global/colors/light/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/global/colors/light/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/media/templates/site/moko-cassiopeia/css/vmbasic.css b/media/templates/site/moko-cassiopeia/css/vmbasic.css new file mode 100644 index 0000000..bedf29f --- /dev/null +++ b/media/templates/site/moko-cassiopeia/css/vmbasic.css @@ -0,0 +1,617 @@ +/* Bootstrap */ +.dropdown-menu { + border-radius: 0; + --bs-dropdown-zindex: 1030; +} + +.dropdown-toggle { + display: flex; + align-items: center; +} + +.dropdown-toggle::after { + content: ""; + border: none; + background-image: url('data:image/svg+xml,'); + background-repeat: no-repeat; + width: 10px; + height: 10px +} + +.btn { + border-radius: 0 +} + +.input-group .btn { + font-size: 14px; + border-radius: var(--bs-border-radius); +} + +.btn-primary { + --bs-btn-bg: #333; + --bs-btn-border-color: #333; + --bs-btn-hover-bg: #555; + --bs-btn-hover-border-color: #555; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + --bs-btn-active-bg: #555; + --bs-btn-active-border-color: #555; + --bs-btn-disabled-bg: #A0A0A0; + --bs-btn-disabled-border-color: #A0A0A0; +} + +.btn-secondary { + --bs-btn-color: #333; + --bs-btn-bg: #EFEFEF; + --bs-btn-border-color: #EFEFEF; + --bs-btn-hover-bg: #333; + --bs-btn-hover-border-color: #333; + --bs-btn-active-bg: #333; + --bs-btn-active-border-color: #333; +} + +.btn-check:checked + .btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check) + .btn:active { + color: #A0A0A0; +} + +.text-secondary { + color: #A0A0A0 !important; +} + +.form-control, .form-select { + font-size: 14px +} + +form .form-control, form .form-select { + border-color: #C7C7C7 +} + +/* General styles */ +body { + font-size: 15px; + color: #333; +} + +a, .btn-link { + color: #A0A0A0; + text-decoration: none +} + +a:hover, .btn-link:hover { + color: #333; +} + +img { + max-width: 100%; + height: auto; + aspect-ratio: attr(width) / attr(height); +} + +h1, h2, h3, h4, h5, h6 { + font-weight: 600; + margin-bottom: 1em; + color: #333; +} + +h1 { + font-size: 32px +} + +h2 { + font-size: 28px +} + +h3 { + font-size: 25px +} + +h4 { + font-size: 22px +} + +h5 { + font-size: 20px +} + +h6 { + font-size: 18px +} + +.toolbar { + font-size: 14px; + padding: 9px 0; + background-color: #EFEFEF +} + +.toolbar a, .toolbar .btn-link { + color: inherit; +} + +.toolbar .btn svg { + margin-right: 5px; +} + +.toolbar svg { + line-height: 16px; + vertical-align: sub; +} + +.top-bar { + font-weight: bold; +} + +header p { + margin: 0 +} + +.toolbar .dropdown-menu { + font-size: 14px; + line-height: 14px; + min-width: 100%; + width: max-content; +} + +.form-control-feedback { + display: block; + font-size: 14px; + color: red; +} + +/* Main menu */ +.main-menu { + background-color: #555; + color: #fff; +} + +.main-menu .nav-item { + position: relative; +} + +.main-menu a, .main-menu span { + position: relative; + display: block; + padding: 14px 18px; + color: #fff; + background-color: #555; + transition: background-color linear 250ms +} + +.main-menu .active > a, .main-menu .active > span, .main-menu a:hover, .main-menu span:hover { + background-color: #000; + transition: background-color linear 250ms +} + +.main-menu .parent > a::after, .main-menu .parent > span::after { + content: ""; + display: inline-block; + width: 10px; + height: 10px; + background-color: #fff; + margin-left: 5px; + -webkit-mask: url('data:image/svg+xml,'); + mask: url('data:image/svg+xml,'); +} + +.main-menu .mod-menu__sub .parent > a::after, .main-menu .mod-menu__sub .parent > span::after { + position: absolute; + right: 9px; + top: 50%; + transform: translateY(-50%) rotate(-90deg); +} + +.main-menu .mod-menu__sub { + position: absolute; + left: 0; + top: 100%; + z-index: 1022; + min-width: 200px; + opacity: 0; + visibility: hidden; + transition: all linear 250ms +} + +.main-menu .parent:hover > .mod-menu__sub { + opacity: 1; + visibility: visible; + box-shadow: 0 5px 15px 0 rgba(0,0,0,0.3); + transition: all linear 250ms +} + +.mod-menu__sub .mod-menu__sub { + left: 100%; + top: 0 +} + +/* Banners */ +.banner-section p { + margin: 0 +} + +/* Modules */ +.mod-breadcrumbs { + background-color: #EFEFEF; + font-size: 14px; + white-space: nowrap; + overflow: auto; + flex-wrap: nowrap; +} + +.breadcrumb-item + .breadcrumb-item::before { + float: none; +} + +.mod-breadcrumbs a, .manufacturer-details-view a:not(.btn) { + color: #71ABD6; +} + +.breadcrumb-item.active { + color: #A0A0A0; +} + +aside .module-title { + font-size: 24px; + font-weight: normal; + border-bottom: 1px solid #dee2e6; + padding-bottom: 15px; + margin-bottom: 15px; + display: flex; + align-items: center; + justify-content: space-between; +} + +/* Footer */ +footer { + padding: 50px 0; + background-color: #EFEFEF; +} + +footer .module-title { + font-size: 18px; + margin-bottom: 20px; +} + +footer .nav { + flex-direction: column; +} + +footer ul { + list-style: none; + padding: 0; + margin: 0 +} + +footer .nav-item, footer li { + margin-bottom: 10px; +} + +footer a { + color: #333; +} + +footer a:hover { + color: #A0A0A0; +} + +/* Forms */ +textarea { + min-height: 100px +} + +.control-label { + margin-bottom: 5px; +} + +/********* +Virtuemart +*********/ + +/* VM Search module */ +.vmbasic-search input { + border-color: #A0A0A0; + border-radius: 0; + height: 40px; +} + +.mod-vm-search .btn-svg { + padding: 0 10px; + position: absolute; + z-index: 5; + top: 0; + right: 0; + bottom: 0; + height: 40px; +} + +.vm-search-custom-search-input input, #vm-orderby-select { + border-radius: var(--bs-border-radius) !important; +} + +/* VM cart module */ +.vmCartModule .btn-link { + color: #333; +} + +/* Product page */ +.manufacturer a { + color: #71ABD6; +} + +/* Account */ +.vm-add-edit-address > a, .vm-order-list a { + font-weight: 600; + color: #71ABD6 +} + +/* Checkout */ +.vm-coupon-container .btn { + border-radius: var(--bs-border-radius); +} + +#checkoutForm .details { + font-weight: 600; + color: #71ABD6 +} + + +/********* +Joomla +*********/ + +/* com_content */ +.item-content .page-header h2 { + font-size: 20px; +} + +.article-info { + display: flex; + flex-wrap: wrap; + font-size: 14px; + margin-bottom: 5px; +} + +.item-image { + display: block; + margin: 0 auto 30px; +} + +.article-info > * { + margin-right: 8px +} + +.com-content-article__links { + list-style: none; + padding: 0; + margin: 30px 0; +} + +.com-content-article__links a, .items-more a { + color: #71ABD6 +} + +.active > .page-link, .page-link.active { + background-color: #555555; + border-color: #555555; +} + +.page-link, .page-link:hover { + color: #333; +} + +.pagenavigation { + margin: 30px 0; +} + +.pagenavigation .next { + margin-left: auto; +} + +/* tags */ +.com-tags-tag-list__category, .com-tags-tag__category { + margin-top: 30px; +} + +.tag-category .list-group-item h3 { + margin: 0; + font-size: 16px; +} + +.tags .btn { + font-size: 12px; + padding: 0 5px; + color: #fff; +} + + +/* User */ +.com-users-login.login, .com-users-reset, .com-users-remind, .com-users-registration { + max-width: 400px; + margin: auto; + padding: 15px; + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.control-group, .com-users-login__remember { + margin-bottom: 15px; +} + +.com-users-reset legend, .com-users-remind legend { + font-size: 14px +} + +/* Contact */ +#contact-form legend { + font-size: 16px; + font-weight: 600; +} + +.com-contact-featured__table { + margin-top: 30px; +} + +/* Modules */ +.sidebar-right ul, .sidebar-left ul { + list-style: none; + padding: 0; + margin: 0; +} + +.sidebar-right li, .sidebar-left li { + margin-bottom: 10px +} + + +.mod-login__userdata > div { + margin-bottom: 15px; +} + +.awesomplete input { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.mod-login__userdata.userdata { + padding: 15px; + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +#Passkey { + width: 24px; +} + +/* offcanvas*/ +.offcanvas-body .mod-menu { + flex-direction: column; +} + +.offcanvas-body .mod-menu__sub { + display: none; + padding: 10px +} + +.offcanvas-body .nav-item { + padding: 5px 0; + border-bottom: 1px solid var(--bs-border-color); + position: relative; +} + +.offcanvas-body .nav-item:last-child { + border-bottom: none; +} + +.offcanvas-body a { + font-size: 15px; + color: #333 +} + +.offcanvas-body .active > a { + font-weight: bold; +} + +.offcanvas-body .subtoggle { + padding: 0; + background-color: transparent; + border: none; + width: 30px; + height: 30px; + position: absolute; + right: 0; + top: 1px; + z-index: 1 +} + +.offcanvas-body .subtoggle.open { + transform: rotate(-180deg); + transition: all linear 200ms +} + +/* To top */ +.back-to-top-link { + display: none; + position: fixed; + right: 12px; + bottom: 12px; + z-index: 1020; +} + +@media screen and (max-width: 1080px) { + + body { + font-size: 14px + } + +} + +@media screen and (max-width: 991px) { + + h1 { + font-size: 24px + } + + h2 { + font-size: 22px + } + + h3 { + font-size: 20px + } + + h4 { + font-size: 18px + } + + h5 { + font-size: 16px + } + + h6 { + font-size: 15px + } + + .main-search { + display: none; + } +} + +@media screen and (max-width: 490px) { + + .toolbar { + padding: 6px 0; + } + + .toolbar .bg-alt { + background-color: #333; + color: #fff; + } + + .top-bar { + background-color: #333; + color: #fff; + } + + .top-bar a { + color: #fff; + } + + .cart-module .bi-cart3 { + margin-top: 2px + } + + .cart-module .total_products { + display: none; + } + + .vmCartModule .dropdown-menu { + margin-right: -10px !important; + } + + .cart-module .dropdown-toggle::after { + content: none; + } + + .com-contact-featured__items, .com-contact-category__items { + overflow-x: auto; + } + + footer { + padding-bottom: 30px; + } +} diff --git a/media/templates/site/moko-cassiopeia/images/bg.svg b/media/templates/site/moko-cassiopeia/images/bg.svg new file mode 100644 index 0000000..6e73f8c --- /dev/null +++ b/media/templates/site/moko-cassiopeia/images/bg.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/media/templates/site/moko-cassiopeia/images/logo.svg b/media/templates/site/moko-cassiopeia/images/logo.svg new file mode 100644 index 0000000..c4b4647 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/images/logo.svg @@ -0,0 +1,93 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg b/media/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg new file mode 100644 index 0000000..eae47aa --- /dev/null +++ b/media/templates/site/moko-cassiopeia/images/select-bg-active-rtl.svg @@ -0,0 +1 @@ + diff --git a/media/templates/site/moko-cassiopeia/images/select-bg-active.svg b/media/templates/site/moko-cassiopeia/images/select-bg-active.svg new file mode 100644 index 0000000..19cd786 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/images/select-bg-active.svg @@ -0,0 +1 @@ + diff --git a/media/templates/site/moko-cassiopeia/images/select-bg-rtl.svg b/media/templates/site/moko-cassiopeia/images/select-bg-rtl.svg new file mode 100644 index 0000000..a1ae9a3 --- /dev/null +++ b/media/templates/site/moko-cassiopeia/images/select-bg-rtl.svg @@ -0,0 +1 @@ + diff --git a/media/templates/site/moko-cassiopeia/images/select-bg.svg b/media/templates/site/moko-cassiopeia/images/select-bg.svg new file mode 100644 index 0000000..e2fefcc --- /dev/null +++ b/media/templates/site/moko-cassiopeia/images/select-bg.svg @@ -0,0 +1 @@ + diff --git a/media/templates/site/moko-cassiopeia/images/teaser_bg_sm.png b/media/templates/site/moko-cassiopeia/images/teaser_bg_sm.png new file mode 100644 index 0000000000000000000000000000000000000000..94d8fbe63ec636cb2426fc1d01375bc471eca668 GIT binary patch literal 979 zcmV;^11$WBP)w(E zZ*psMAVX6%akb+%0000LbVXQnLvm$dbZKvHAXI5>WdJoVGB__WFzq-;BLDycElET{ zR7i>Km%)x4Hw;AU5&Hi>^eI3t0dn(gy_G|el4f^yoFG2BfrT|{icJ=)NSSYc{jFc| ztnYvRAz>MiZ3$!}8DT8P63Jq(B^#l()q=b%NsL|L94fE?TVNy!OS0(Ch_Zwhlu^l+ zP$9=Cw&NXHstEw21TZhHMP2sSV*h^FwWvvL|097`6*hyxg$I%)+ByN_1e)x&8_6tD zHI^kr9P}xKkZn4ZeUNfKX29}7qL5=3fbxCl0#YIYG6Bk>z!DN9wYt(Byx16YAn1bR z(I81L2!RHHEAM+j%C0H>CfxX6fvDm)m^i2(Dma;YB6fJvk%qOaKy9dsnS#Y25Gpd@ zQ5|K4{GH$;hdxqbIoqI|0suau@VMYx(0wJ2Ml2qe9e>>}SbAN-}nEQaAezlDr zfNvgs09%u_Z?B!nL31Q|IjZ?`$Ix1J?;CLXgVcR%7xC%?t5nAA#zV5eSaf8w5ZMbe zPx&M-RXX2pGz~4AIwPBIkOG-vDq{)LV5eL3do>AKI-`M0@Wxw1(;-$!t5AD?#g?A6zYo*JzSM87tF z{j3M(|LnUjKJ`>0U!Hwo`r6U!v;WP}zj}P#Mp9@$gwSpAu;b(TtL3b|4GqVda*<@| z5VK{@=kAj249K2pc6BSkd$@W>OyS$hya9<7{+GL_8Y;tUOIGJbH2vGw3}__;)<_WK zB$$>K#wV#!5j_j4$}$JgV6>ZPZC%35dS-cM8)vbH7~B%kW65?sr{#QIHsqy!*X&pB z?pVh#BQLG+>I>d808_aW)&x|YOw#LiR{~Kf@IcCRM`H2z_Vz4jT|)b$*4a4yE)tnc zz5lxGV))hspXJQrfzlH1KYn<4*LAust^4xd=dS+K-j;DP)c#l-jb_x$|)1Oo;F1`HT0TKM_-A1`0Pz`!FhVH_=85GPat1PF?X ziU$c6CNg7}mzM(v6OlPq0S6D0KUVYe^S8IRrlzI?4jsI^yQ{0K2@4tu4j-MIoUpL3 z2^K5}2MPocA_58*0}dbs5+wr*69)(np`oFWG*%HDHw+mu2o@*o?Cg&&Ru>^g6e(97 zBSsGqAPo*1BOo*~CO!=kCp0NSCL%c-B0>ifDU?N49vm+U5F@j*v;+N8xRf@4GIqw6(bQHJ@D}G8X7GlDN8CQJ`oit5*;yyg@qp-G$AKP z6c;QjHfJp|2LLeYI4i+LgI9xa^LFIVvGBFk_7@He%V{qaf;Z=xo}T$VM%O!Zghf}weR1^m$S^qua}-qYtiNMy@i>wsGOC5 za@wkFn~8{dH%NX`YwFOoWQVH9mZ`4Dt+1JfpvB_Ww!~~!LV0w%erQ^~T2tDinRcXg z(csYK!kK-g&cA$bj8BrTl&bYHDIjU+kF6tJ6Rf#(f~zg$oIUfQ%$KOlKNs0>xGa z92|{^LF=PI13|?qSQAi}*>usJy1Z+5{-b_pk~BVWt%6@?&OB0k)6CEBoO^$jL+kHx ztT6|UG~wp|>)+9cRtMJ~|NFyG=zVWi|C##7gcC#f5w5?&wZ1p25vp_D>%ab9^=EX{ zcj@rYro^*DbGI{M^&h8yO+Tf?zoL96u1=F4+&k0h;+ga3&tH6V@#6W57lZpT;*Xk; z5QFdJUcXzloc@X2mqIdSUt6fyYZ=*cukqQY zNsCuj2_>Sav?pbhN0vp_PNOgi!#oT_FZ3Xa(el3MFFoI*w(_CC@8tF%M7QmR?hT z7eX=7ktP6@Qc565YFr4TgfY^RcBPfLWH@oBcQ|`U8x8cdHOdMOqyP(VS^&nYgtt`% zw(7&Y-X4GzQMGlgs@G4iR|R-9yeKygVqq-^&Mc&Nn`VX&cyzKo(XZ)^Usn3$S85^f%Y;cU++(c;OMO z9<9N${&4l~Zs13-U{?+)r*4=GOi^$vK-81vPX@FGyzUeONq#V8Q>PPQ~&R z6PYqdO6*7s=&8Uc(gYA?-0d*h05*sjK!Pw&cSgBA3rVYt#?+XM-U_>NQbqF>AaHG^ zs^%xT#BU+BEKV4wqHG*{>Zsph_rXbw^C@hYc5l54O zr@^y=8MkcYx0k%1B@y@vc*cOaRx<&d>9Z9g2+p^g;l#q?U4T`dm?8YX~?S@6LEUA$N zJFuY8mYeWC&6bFr{85-wq6C4?KE>^emy5e)ngf{9-R3NhouECDo zl=_C|MiJY<7gx&yL^1Yo6X9EE&EQ?PZgt5JIWY=72U)o4u|hk-68XdC5`@Lxiq`Z5 zomSY#dtNxh>g6FRlKsW*3=l`KF864S*%0kdh+uYD{gMg+7Uc3F=3^#|XZR{^;bP}i zvk|OYQ~#Fl&jSCbDd|=?WI+N9mc(eVc_&bUI0aIP#i6*ghlME86C#VFR*+O5<{ewi*fH}tNuM34^NuVn#804Y!Om)EEs#RE?l|< zv<9;Ne3^CjC&wbLpq{M3uim(EdB^j6w<5nn8wJLWRuwp_a&jPL_c1!Ny5$Uurho^c zNbbdi1BI4C+blcTr$T9w0^>+ZOFT(NP}!U!0+=dMsq2%KHz=eq{vt?|Xo`pzn(Je(3|Ef8 zCBk4?;0U4z{RYW!Hi2Sq0PE%@pw*G}C(Ep{#&Q}{;rSz1n4&r)O^P=TuQz_su|`~t zn$3=t)_~J@hLw{~Ii3*goxadYIB245!bp8)Q-s+`36F9FDPc~OAf&R))mW-gSP)kb zHj*{xya&rlfW(#3nZjaU(zJkw8Ksc>TCM;XPf%p7@6M}reK^3c?ta{Ypc<9d_3P{H zqQ1Ir4~O^b?Z*}bo+$odhwP^}QFg+2`)9j7d?_M`EGJ@BTI!TH3OFri`|p!r@0*5xZV zZ+2w;T4wzT(GUNfV~rw|eq04;BUxa}4@ROrAx$+M-ZoIy}Fr))QP${{pO52W-_&c1hN~Hh9pG+=}i>MGNwlbJ3@RGQ%pW&Wu6L>b&UL zNzMswGBwDO2aS?6t7RtbU=6T5P}W|r(F^rNx*OJaXmJ6^(p^-$2N3ZG1TI@38d&z# zZKmrcz%s`-)0Jhdb96$u^=PqL4`JN_&}tQ}W|xy_fzY8px9#hz)zzp!G4(CNsQ@w< z_J3RlAh+(rN7RkB~))RnLw!-@& z1+W@ousWSPV1cG*he6c^Q7Rxs)s>;T%T+;AOHB&86i|wP(lho4H!IjrTx6}jAKf}-TWtJrwJyr;?tltNu*A>Ak;KxQ1~Z7>A09Vss}a%EX^Tj3>lmT!Qxy1 zERyFgCIpMiMi%~ch+-A3@ZGma7Bs5_>yb=WwI(E2C0I|MmJ!y|hee{QpkeQRGprqU zI5sdZyu0Y8B`-id*CfeQEnPh8XE61H?<3@t6O)|RFB41ibs zoNZ7~-6ZS5QTe(K*pi?ZSoj#q<0>#m|I4St&_gHOOc}060Lxxo<%?*s7~6{(>Zjl4 zk$=8=(-D*=oJRs9$>|nDo!e-4oH+l47hbfv$*)Hb(+%u$c~~4TorK1Kx3tF zLPtpu2T{a44}p6x*wC?)BHRrRZ4rfhvu6Mtl*N8WbLGjzK;VTCLU+Ah;4u>K!Ki~P zGG$FoT%iT9M(Y*m(x>4Ra1AHXWQAzKj%*v7g#Fp&cy|5Ui$ydUMbI&%U2g26l`_$X zRnPn^2wZlfTUxF65fS!+EtvJP&4lz4oHR7AN=!RfRCgq|JnJ2XAxS_<$ zX#lKJz+y*}IX|pP#x-zig~>1Us2?{r+U*Nh2@fhd?-TOes=MbmYjV@fKJ z@TP7ktpZ74sfZeQCID}+<$|}8TNUN$h9T0WCs|0{!qk%n=s}WTvRLFNqfZy6tlJIl zft79Dw!~MkSGozmZVut5Xw{=d6b)q)Xa4&wx*#0;Vt&(~+2da(!yGY0xHWIWT-Vv{ zAWtc7X+Xms```smE(n0p4HV1wkNp@eaf79zh}IFgVyoXI_;IT)U{Qkz7U5AM)g*10 z@;O@~i&PybfIuCHQyB3xrR$ebA$GAZHonniV=TdX>m8ECW~f}&W4iahR;8dS~p)1D7S^jhD)k&l`kn8tHf#>_=OAL z=oouICjmGcSahPLOFPuF3`rIc!z_VB>1`bWyN3y7%bb1>4Vvb7Nmq=nuqViLeYINm z`!=F1+n)SBw-+Nbnp%)DE6I{?L$8N*CiaLRJaOzMM-(nx9|l<S?C3X@NA9l@Q?uI$D2*q;438;`GN_RwBL;W}F$6I&ipjIuPQLbvz+EYpb1Gm})udn{XP`ozoHwgd@#s;zw^8CGj{1gZOU@OWm(v` zVH^s(6e1A~b*u{4(Gc$=9_^dVhvVz{uP?qC+b=F>6Ew&$%jnVY`tCcoXP^nzlV!YI zLZRX;jT`KDuCK#x@k7ZHfA2(VdxPgmsvU!<14LNd+rfsk!x*AbrK22JO^t$ti#XA| zE56wEZk-xCBsr3wGuDz%JUdTIgLYB-;WKCz9s(>1R&Bomi)2x<3b0U*AXpV%6k*M)$%H^ zHo?+U?n!W4XY!cEn`OaxhhdoG-#lj4l&eD1Trq8rXySRGA+kp{aw|JRAAIrCdHQ8CF1ZnsOs5Bkk7Ae=tkKX(yrX}C21;HX$E z;tu=Xpm3GeT}2AC94w!wGS>JTWN!7 zX{P||6Obj6Rhg_uvG3JMcY;;z75;5WgjHcx6=~{p4i5>{!{SEa_5%%OT}pCL6}Y>B zVoN0s1z4!+-p-af^h)}kyg<@&L$GuKt6UkPD`r$0c0Nmz_1p^A5nvMGT0y(=mA#t6 zT}3ce^Zqzmj5tRx?2oWXIGdQ?u1&rOR@OFTp%=&LGWFv#zXfj6?KaWW5$F_*83CLX z0#j&J?1L^19TODQsZ*#%gA?t8SoK2XtQ27m7Jk*{p-2<)!fzGce&Bp4JI~LnY*Yc| zsEIu0)qU;^2-bcTH@qWYy?+<1NAy^w#oB@O1a+S#8F@Q7P@<)Tt7M8Ju^knHfm905`s7+OTD^z()m5y5*^&MQ60I zMPilbAS;JF!Dp>O2~ZL!y_p~yb;Nvo$HX&O7^DT8+|_hMHo%GI1>r@<<+DU7^*q!I;r zq4;yBT=YGMTHV=+jxkibiaWNRi3?jUVYje}xC86cPuL5^WIb^2|2bV$tcPITVd{Ze zbvkzh3qUD@E>qs?^;+%Vi$Sv{u8O6dtAocxs!BvDMchzsb5b=y6l@Y6dmd&z&&UFj zlLaI!%M39wuZ@=?ds^vMj$*0QQ>8g2l)Er~{C2u^mTY>dP zWwIn9{XZ$zUvX98Re?pW1T0|-b->6%>Vra=yk!K6ot)Njqe`%v?0&cI z(GgD=(^H)oM6As>Xn~%Au}H3@?|IT3!3;>^izGpxutYQiZ<=9BZGvkeS-F>6ZAh1; zqaawAnM1U`Fo$kMm;Ldi4~>fK$#gv(erv8G;Iv@Y4zkc4@oAn^&Zb$WyU043S?~~_ z@55!KXY}i_OTZ8@zwE)RwSdx z98mIHb-Ko_My3=jDu;0JZts<@;!mohphW+>_^ifrf3?~Utk>BKE0gs!@@0&vQa-nH zVB>vB&0Jsg*cMJzO2>zrLD2_sKF$M;x&N*k&PE(%jsonn8mgR9v&)TB2mp(=`9&<|*=bgxH@>I4fD+{=AG zs1`^n4)tLmRz1}PbI&kDxhPr5hnS06Epd|tAtEbwPRk^EYwj)6x$D!MOF=bNaBA!d?9#;*C)rFpCdn$jI5cJ8DE;iT%sf(wt zbTP`G<$V8@SKh<)0+ANtheEO55XE``)}u()L&d5B(y9g*d!=Ai{t9DR*b;*OB4Vl&TI+QV>kgBZi(svI?)ZA~^6F|H&1d%f8uB$90iyBP9$kL>{cJw# zk1sFn@z})k;c~N#v&7YS)WSWi`74hBSNI!>++AoDfd@M z+1^vwEDBr!)sUN>A)yR0;5-)yAs6`n6M)VoWx|29;rgHOvF~^c7wz!2UI!qX>D%# zO+j?E@1xb4i$A)l2-y|%>iVTU`DJX|eS6d&&TmJ<{;WS6_9vI~A8`ij$DuhIju5H_ z8Dmfeoq!}pxj+PCN}t6YL+OMpK1Na+i!2c#d_V&<_yZk2a-8@h7fA7!GpNiv4*dyY zqFkIbxznT8i_gWx@2SHjJihk?_&nuX77mK;2pizcD1gI{ak2@DHK@QU+gpK}Fnp(no7}YM&+%Sv`8uESmpMdG#T@hn&%mspR|_2B!)fCMtKWy6ir}jz zFZ$#0{KsErHbiUk{bU%zWWk%GpKZ|kgs&KrG)Xm>_>G?~@xWbv==!V#w;&bsuBr0X zfb*l8bM9#8Ot<7<18%B{*qv{mE4Kv)S9*8aE7qQ%BuB%$4!EjHaW!x*p6);8TM8Cs zi(T^H!TOKuUla>R^~)KFQg=FcUaC5bvRIfL!Mo!!P9Rywe$PNxq*4{9LKRsCCKM$l zStmV^g-6!5$1e}6T|<_obCmOZI#W@hOmvJWt>N8sZr%VY7T0wMK?#~UUak1WE_*w- zuWWpa>uP3Segm-P5rg)~jLhjM8V<4b9NM#Qe!BeTx8HtyVUI@PILx-tBxqBs4y0nR zl&0)}5U(T_){t(cc)(6b0wp-bZjQipM6AwzwLEliiFDy>5*1kmO>!e}P9yy#E_X{gZX+9x23#!Ae2sad#t3BNT@XC-1K&Yfu% zX)>o4c#;ccF}b3f!eBAXvb-E3B_3-XVrSW0O_3nrTJUu7%PWiv``X5K;3dw-@LW4K z1gF!{2$D6PW6g+Tqd)!h+lya*8Baz~EH^%;Q)eS|opWh$$7%fKv7AMAV+|68D1wGd zwtFOnKO<_&yMJ)*l(7T3QbmeR$yZgRO3i#iB}oGkcR4M?4H^X&kMQB<>~}va!Ftbm z-hBcY;~C7)KieyGi~lo-5-dno1=j!5V~IWux*Sm$nKTGkV&E@MJ2e$JK&o)n_~IOO zpdGP_H6h{Qma`#ZMPr3qn{QR$^Ad6x>*c`Nct03p+H)t)*aESw$Db zJX&$Hc|@dSEw~0ysF&lJ4Y``lCo_Q6A2L-i`*85X39Q)2zWfPb{ruC9*f0!-VHO~4 zhZIqd#DsHgcy^rn%QG+pki2EWpQ)XlBxc~AruZDuikBb6zT;D@*aOiDk537fl;%1+ z$#OWN2$gbQj6ofT?_evi5-fccC*1~YR7n;lPhqUO?*TGMm*S7s|4(4OtHAmntqQqU zSjARV8{D0A$Hk)>4o+U37yHkOr$jH$HMB~sP)#FI8#xkI^|rkp@k)9kTU-Z%B>@e; z#7yBQJ-yd1wwBxMdN*fG7J!ij)v}OSt*jjLoc&PZ1>m(}+I~g7!e}E|M-v>Q6N0bn z8QP(}ie}?*YK12E4Tp9=nhx!k*O%Y?{NwkRHV!LWX0~+|RYVGnO=;3OnaVb4ip@ip z32BRF%l9z)oXN*Uv0TuV7M)OY0aMIPK)i$`fv5znnrlVECBmi2xrNeMae=rOFZVt# z!4i`yhrPnT+Qm_W+@A?ry#uP%Nryp}e3MX8hI`)}1YroSs_%Lk zx`6?D1r3w0H5V~xzyVZkfs@zcUZFI;OxM}&B>gny1Ro64njlfHHWVuly|DPUY0k~( z)dFILdd;uix0*zTw`pX=Y(KA4MZOy7?}$XUH0U`{u6ZEIH$2vWSXFms5h}a3oX3i^D*{#Mj^!ZyZvm zxRNbFj29AR{lVP%y*5%saa{C4eN<5d6*rL9Mqwrpl9bSd)+R2gHYCkx0ts7Y*I?Yx zHi~WfGP*^?HiHg#%5cdr!oWD(sI4#$^;Oh=%?#y?} zNV=}3yJCX@D`+x8*i`8ke4DV+LX^f-3AmM+K^B9CQB!Gs0;eIKU<<2k3MIi_Q7Ca8 zO3Oh#tab2?>8%cRud)6Yrv8}6gVEdiggsh_1l*{?u#*6KuXo5s#-fs!>3B0 zv5l0H9193?nY+ruPEmj|l2UkTQm`LN&w*YDEu}##Nq198D)8Ck!yBY3rD&t_aej1{ zG8X7MA&HfN*8s$hTY9ETU{x#qG1C<)hmC{%o$l%W={~r7uc|1DVc@(F3~2*Uvi+o2 z9`qv)-37y{T_CVD4GVUJ+K_Zsa(Qh)pO=x?5CDsQAf~W&%jLE<6HNdGa$fT5w>EP! zh2`>ilH2f$;CdSu9L<~vYOj((C(^c^n(E2`+zJ5 z;iU^n!#KB7g|;1Ng{6D;nikw!BIoL!cW;TxALT0BZqry;b9*(|hTHJ=T6=3Hm)n#^ zLt^=T+79~LvKu~!$S2|>9;`D34`&OUfuvcVL!QLA1Zv*H`ry-r-*WZ(2YKA5g-O^q z{&(X2cQY2DG!NG7Cg{l|0Q^BO(3dD0JR}U?hP2D0ahx>@T zMFQ*SsA0NO$8Tl2r;atQajCB%35EWx*LVLEzEDl3VSBntgozib(2#=J~fbgF~>;I&vF;WZBy+Q^~i z-^o3`a2>4wtB-ZX)%-N!Gil7ek-EAK*^ZOvS9N8Bc(B8 z%oi5}kxov$we;9k4bxVcua#96mMqsumb^(S={P|-?VpLEQl1#4U=paR;3U;m!x<`v z;|aPFLZ_y7$YVIhyeUH|oLEQ4`XoHwKkwY$=%ni=*rEwcN;YxP2ziGn9E674yt zlY;_dyIDWmDlA7qE*G-I>bJT2*~;2>AesrEk{89S`#nafnTu;6vR&NI zM=LF{pKvW>-4qL(x1Lz|pOwO!G?s*ko-?}Urk@F{Sv4eewSD{cRT-p2wT?kSBMq9U zodHa(Nz00Y8f225X)gx66!7#C_ZCA=-3uZ>#xjJF1W>FjJnBGZVRFKeos2UByTdSC z;$t!)CR7y2Ftwl zAZuVu7erJ3l?AXhSMuKYeX@|Skg>3NT=?IW!kaVJ{0a2@&3y=3Uyi|AhrE&nFzy_^ z^TJC@WhvMp+(8x4l1G5@Tl(uhw?h;>VJ|X0CC0XGd!`4l0tTKmBn&r2M1vR%u@ zxW$?lHOHKch9Ba?J_TP(liZ$X5Sc#mOY^X5s=KXg^`LTt{IswGFA}y@!XB!E|JOZ3C#>> z6X?=ls>hONrfEVa4dIL`0P9d^hw89(s84A`A`Z?nW_b4m{}+HW`s(zU_Jz(q`x>Bi zr&h7r&{?s;_KM@lIds(&v#S|^^5^${v-sK}x#fpeGqvmsG7oNC7P3 zNiN7&2>Rb7R0FsFBc#TXVA;`9l`T(~3$-dKN7EKYlAx+{; z_lA6TZ}K5}Nk5-Y!P1DiQHu= zyuDg)l4nYvW3UkZ6-8{3{&xHK$AAH>M=9pOnwy0tw*K1pKkH-7Yb$y~yu1#uW~S(j zt99FW;i?cKU)_0u8fGZccQ(>#96Jv+AU4BFk|lf}4anLV50fQsl}btsmd%FhVk!tV z*GM5p`C-8fWGPHmC}S`FlmZ%2>w_TUGp>EzDt5Ywod80a#8? zcVWw-+zz~cxnIC;(YA}jWYg_y(O@MaGrk=KZ;4wlv6e+5@)C*V)n=mpZPO1Dxxy{6 zEFJh}6Gy5tw)_lgo*I$L=U(s04K1E#3&pylT zpag53G?wH_VnwOy4uKVK2h(JW(obx;$Kw)m#+jYjG$=17_F^e{j%y#)u|{@-X`#(M z^h==$jTKDFD1{|p=h9g;z#2|e2x?2gpgh2`4?El(4r{urSF88$d*<=|``(XBvzt>cEH~-tD%yD8OnEYxSqSX0GXs6K^@& zxzAR48yf2(%;CO==T~GeO`$2ZJ7|(Z{*tVf<(ctL-Fpa_==6m3eqB{byYz2?HOp6j znzm;6Vg1K7mbBcjxQeSGRMpHMC7*r$4nUF`>#7n$xTkN=po*!I!d-$DICRXMvRyLO zJvR(lsFt~r(u8j@rlrzcgxvH>Np91~GnX1GELD6n^u?G`mQv#aTANROI9&Ju$%>nt zo8d_}GjbT-_Z!$5;*)8&>p#dgx-C9JQ$vflivD|h!sPI=ct_d8Z!nWj-LO*&$M}0% zJew_I!s4z!@qI>hkxfH}KRz%_9`eX58O#rv>y?_kU3gdEJ*qd`E`7-AYinbHf8s^E z&I@n5Jd8M7-nj4*F;4kQSCpRd8x+=N9t+_m5!>7*mG$@y0OfB2>x~$!*WR3OdjB<9 z#L8bPf&^Fm!9SF-W}bt*SY`&+ot!L#S6ID-jCH$wc}L$|!{|~xH;*3;8^Swq*wc&9 zTSQl>j8nn1n%3ksGTJ!waFAo*Llv)S>Tw7{Ylt+ZX*5c&P!ARwkCo0a3>$RA72O$Q zg_tbV@#jhe7R-iIKRi8wTF>lr_MoN1bMJ9(WxL;?uN`g4yT#%#TWn#g*RT9c+u5|X zQbuuHd_xfzD)@?EAoUezsv(I4r`*~Z>ZlnTCv*x8Er}IlV|!CD_jXf3To|qkF@n12 zLb+aa<<5;eL05hbzlXp7c`|nzV~s-n&*Yi8xz*dnk8{qP=bSUcYy5Xnjh`B|-POIcG}W#}ST_Z* z@wR&;fmM`{7ADKka_jj=elaZm&w8x(u2v`4OUUKH^|gneqVsmoxN?&}2(-){y8HrI zahk#%XRip}!HO4`JTp9P({`h&k1Gr>ay>e(ClxK*Y)7kaAFLb?PyERGok1(o#xs#S zt*EVi1z7vUT6|ppJb8DxGW8@VViZGXT-e+xXG_xN~G08uO?Eq12kgrD+gLLB$#bXD(|5$y4Z0K;ViiQkQ1PUCG>*|1jSjEYLPzISC>r7d=M zbeC$|5X>4SX#;#3W~uV>(%D2-z1f^vtokQ1Sn3wM^}lE-2kT}ct1wyU>>GX0`LG%e zw*J2si#K`|WFdzZQu=Bguvkwl(GFa%=|hs;<*zgVi_7YcD@m5sa`TSem^5(my=U6O z$x1@6hby>7fhNbNQSOn?phh2*5MPo18Q2}X__F-P_1^m zoldI@O_k0;Wpwbx!2#Vk__w$k4_SgJ!gR4-?i2a9MpY&xgJMj9RwdxEk*#X}U$EKZ z43hnrpVrhGfDajz)K>>%xqW>=i9@8ChctbAb9LkUU02F=3D&IArbM|ZcFT%O(+zf} z)28mW=oFK3S2z`$$xy|IWJ5h~BD{+hoqrA1ozgjA&Ax`5bN)KLLGy;|;$tkRs=u2@ z?wrM230-oO4*ERXF3a^eq1KwP%3E<9S5PImRGu7ylq{7b#*kQ=_$L5rGK|!C%+fj-UHz=3`WcK?CCeh% ziY~twMX`4|8Vs4}7o(uXk5pTgY8GVhM`=9s-kHW04=YJljr6|E;h@aH3!hFXqG_KD z)Mdyd8q|=p9{8F_9UpKS(_QwfQ&A=!Q$;+@_ph9u%K$^ z@$gBzA+mxZvE_!Vt(fa`GS_EkUeGRA2vluP0X@=U_DV?U&e<*ktfS*DIPH7tcurVx zgcV?*qz`qFu2r(5S1?;6`9iBshM{Wgao`8LL5!sv47?be;`sFRN|mCl*0ocS1b?ed0U1FqHywFDLl8$1cBMs#P-tdy&44+*gl@W7g+8#z6d_IXgX z>{PY^+VY1~h${E#OUFvIPw-oqExEyom-yC2FT7A(!4r<-2<7YKwyZv@t_TaJ zblBV(y`>k!RbQH=YN|Ju=D>PWGO*4h9L|uH(=~sb1DKABw^&69DQy!%t3b*|VdX_w z4~F3y-fzv-%8-4xrom;_bn9u!a_%cu;jYS17p^1!B#b;WTjj_)ou^!Rp@GG#MzB=O zVbIFynLD&`YFLnXpBoz|s2zCsYvDU! zMM)eaQ4)EY;O8YgEM`Ga1*@RjiQ_{r(TpR7R{>LwhKk|XETjqJD8d~&VV~SI2TgT2 zY4p?dC7CO}<+K|W!2{MMTN~gcpmeFHIKeGvv@Tg84d1bH%l5OtnogxLyH(qrNiY-~ z%~`BFUXWh>ksvGgg~f{m99xSu3sn)sUrdZuKa+0YkY>RGE6`eNytWEiXRAhinj%!p zKxSc@Xy>VLnUeOr9Y-J$NG(fYSUwhKJRK5NNiY`DD-nq-e;b-)uO<^umP=O4sPdDZ zN@TXB{UJT7RxYZS;Nb4Yqp=(zA5smYFRmP@&H1x~jz-RqdcP7e90cPO#FtMg?CSLu9T%O14TJ z(XM3PW=mS2RZCS;THD+p^mw^A^V=g8p-M;a9eFm#@ z^+pa>;R`K%7g?ZXT8NdFIh%FS7HgVrpPMT~?W^J+=^CbunkY5v?1$tKSVWi?K4W?tNdn|Hr~) z6=Vsmf7IRFL=n7FRp|OCnov`IyxB4tutS}w)c_Q3m%%A$f)R3$S;pW{nrL8Q-uw_A( zTJBk-X^2%aoVakL?D24!QsuhC3@BY(7G7D>-(PfkexV-vCq1%Qzdmx)VHPO}j*HD> zIi%JfRu{$k?#*XHz*>78s|83Z8@1A8eBc^ft>>c|Ogsr%eP6mv&mdAbbyCI$?mW|& z2qJ4rEpyt)^ft4RscX)V0+lA$6i5rs)%t*CoYT{($z0~({Iz`W85 zdI|K!!-TjCn3TbaVMaVt~#OhzIVj1vB?a&(vlhl;%t(pYhi*MId0$|~}LHYr|B zvE0IXL^=H1Cxf>qimo;{iQ+-PbtLod?;51>7X}k25@(GmS}0#j5Jj+#^#U_W9-KFP zxtV)I={Xvp@5{mZjnfXt7^e=-^C{!h@z1pB;6z;h_`_W03|Y5ati{T`;lmWl2&~km z%e>20j-)&TRINWT^@CPI`r5S5YYLW93C5iIRhoN z(bxyB6MHUHa`b__EseQE8~hSQ#SMp24VWy&u8@mwaD+`FctR~6^>hj@!gYeKV!QAX z`-Fw=R(xe(6%tLw!D*j)p3w6PXqp#boqdEX;;akLV_DmC;R@CA%<-V?)N6bQszjAe zNP;PxAvp&_>rd9s?zNFJ3gbkit$4K-zv?$wzoKb1B$37Fs)-uAsT~tKL1XH)J2cu& zO`%B?tX4#f33Qm2Axwx6iM0V6SrG*-SX8{Sy=!mF-gwcA{trISnWSm0Rn(qj-kGFz zUDzMbIq!MTd*1kP>b`}PbAlxY)KLjdkSb;vK--hZuhYp$epJpbX~gd(S?uD!-0)Dg zm;gn}N)9UlUPEs(*a9-#j*7E&Q7G!wvYPlUC!o* z6!7Crepb;kNj0b9V-4Tnx3Y6VHLv-CZ@q_g9_+mjLf06!P2zv2L8s7fgeUO8K>ZB6 zz^BnGOS~Y5SfIQ6{al})Tl3|h6xkp>2GFD*l7H-FdO?r`z9v|gB~;ymS0Hx54->YS zckhUnyN^b&x+>LW>jYCE>X=gTIti2r)RD)d_WSRhIplH8!f>{EED|ML9Zm_wcoY+R zfFLpY?2DjE3TGa8;8|ApaRUVl-G>+A4-7AG8){0(S_na(h!qv9op3ScQjn0Xs;NFzo7J_P4<1sTRlRS``X(dFtcKrHRWw9$Y*^ z8uws!W;vTi#vP%1Ocrlqvf6yOUX0y<{mebLgSoeA&Ld8XaORHM}8((B3}L| zT_TYpSdK%C&QD_lbRWU$+96Gyr;}_Eq7$lh>j}NWctWx6JWdw5I{O%lr$0Y`xc1!T z>i%}=C;=l_cVIx-`}4RNhCXKVwkS*yXIX2xspdESg!KnM3|LNF;OC|I^l0NX`3APU5EKpc_ znexP79=9=kX5db|SlvLs$c?MffPDBE4QTqhU_Iiz9mV?h5&W&r*p;s1Y&}KA;{36T z)?t)|@k|t}UDUv#W1y-HmeT_Zo>1)ROZO8diLpRdy9Ak|b0QA$8qPL`ITgekO&f+n zqE;cWBsDSu)bbF5_c$DlV?%LIn9G133~0p8nIMkZ#ZA&ym=baWJ>EIsRGds|Tnd~N z16K;3y=e21({hTBmQ)lUqzbX^h$UZ|4cHAeBz@jaTgQ~l^^a5dVHp096P@Rqq^8SP$U26P(a0jS(#bS^w zYSdU%QdyKQ$`pwLUqnhqzF^>M0>6k2smB$IT>YP^A>SwE${`Di)jk6M_(|nwm&fXY z)lE1|Pcz1%R1qo)*Zt6{XH%EB>lqV50qa>IN`fp|b#5Cbd?{eXSSvN`nUW-Xh(!!C z2ONge3o+c9!GIKz{0kyT9%4&JlEsCaSF>CW9z`5AijWFa@%jX%?M1jkPT^RDh1r}J zPkapG6Qe4Xxpg1pD~Y(?r)2VaK9k8Lv3mkA<<%f~^7<%lK5r0p52zgFY7Rs!f{CSy z^&Jq7xgeRE;X^i#zB6%Rm0<7=C1Mvex3g92qMtW>zRnLn$%F#PBU>bEY}|2#^ny<$ z=mlZ$i_Q`>-ZVlbBj1!Scfj9`u`n|PH$v8Nlpb^Lw{oC~7u>kj`2dFgG2!r3JH}$x z>jYWtFzZYdOJM3M7F=P}Pq6rMie?aIF>Z%mfiFhw9mSH}IQI^x?v3M7jE8F^{W&l-V1w>j$+0}dbde;s^_uXFCKDpZNbv@eay7Jg#2d;saT)o?mY`eCA z)0JLVPp@kLJZ-yNy)IYJHXeF=VEZ@kxq1bxEmzOpG0_58Tn6eEMI4zKo{?f5%e!}v zeI{6`6oyU$iy+YnrUWa=kaBGhDJ@(NcEAdW54;zFmQ;!2AE+I?OF=tK^lF&N2ARzd zp%j@1nn>OXFLu9@?Gg~F;wK2LiW#UD(PCpYZ&E>`G^ve-fd`zRnxBPtLytbHkQb7r zK*$uH+5PeZQG1ujgmQ(DI^jtoMvV9Z6ZZ8z@sP`rQ>@B&Vfa>oE;=3T&Y%w7M93b^mO>U^~|uy^zJ)kg%ZM|OK3-QC!`(z`>j zw)Xb+@wDyQ*`VFJ*DGLc_YAnM-h4dWaO4d9Kke{2v$aB4^mPmmb#e`?$YS^|VBrO> zXm?y=6~&=+JF<(tiv@_MP1 zc`uLBzuas_$snYsQ1OPOJD$m51ch5t=+3hESGffK78h}rsaNR`xdQmziQ)O1qHb;{ zjk??OLMj&+n`TuX;6fj^=z0J77%nOP^Cucpl6lAAq_Kb)!6HwcAWH&z3^ezV;C-XV zwd(}$#OL6kcN-5^T`yfFX}|9D9_(%)-5_8c02u^TmwUGf7Tn1Y;imm1hf$P5-6G$7Ruuu{$jLSYKd zPa^lwa*7Eo22*h~gk(Nc7Mn5hisRf=cGHvMU(W*mMIjR)tG244gDqx*LB?4~j287z zypCEyu3&7chQhu{6`4-@I=up#Ru%X@)yOMwZW3tW_wop=3nfE9*f!BBe-Yv6c+g~rT`F*UU_G+ua!FW4 zj1I2f+ZLY)K3qKvyS4{hy)RL*2-2gjZ3bH8i#+Xaxvq#$?1geUU}4|I7_%fAZ`Z669cXK+L~dgT2UJ{Z6jzH8uSI*wI+>KqqVB7tbY0BryqT} zs_UN`Nv~ef^tz5+V3X=T5I9(|jMtY&VdV9U` zveAgW_D1Q6M$LGm^zBz8?|${!pUTh&NBRO$2P_nJJ0X048^Vqn(29~QKLHEKd~qb; z@319bz@qbmZLkoYU+>zM%qSjT>e=7Fo{|NU_P1OI{O;<(fNR$QYslcJp&nDWl(qZLQme-m*S# zHP@^7qP$r}8<5Y=gWIlwd!vb9g~ zk??&F6Tyvv%iwG8kzaT54Z(tgJV1_NyXPhH^yvOo>K7G`{;>_#mi!StdtFaRut3&v z$!fd8Gs|Oqon}xmaCXwUV1<<8u&`!;a;uZK(C8ZP?GWEW;=p>rMOfLaY3PWt)pt(^@YtwbonD z;HTwQ!7?|EmbIq*FsE0n_10$7sC-`3D^1(ptd~DGtCb%t6ML)I%GLE!x@^}ftD%aq zUbn8Tnp5?=zJ9p+b**|^&024)J?@s^3MRv#d*osi=8j^Q;iYrPY4K1cgjiz)Di)1J z5!*i=rF9CH?`|jF0UHwYV|0bn1Z#feA{C2zB|7DLbn9~O4ju-!VF=$J+v(jpKzQ{l zLh+r0%N@nS{PEF)ogPM7{0!s6zz*!H1JN zH8>CH>FbO9)bD}hRk z_u&Ou%3%#D!J<^*1+XYxaEF)akOmL5LoHOQY~04 z)@ntyI9VtZC-Kdf$Xu;{`H7)v2HG9xw8<3%(YHQp5@owG@ZGQgaiTU4zD;n-M?`;67jXk(S-uCbn zNBB5+#XaWQZ{6M#koI=BftC0^4o7W!+qp>A_ESe=tnMNB$C@CWm0}517-&RFz?#0) z^@Pt;s6ZBagJ5`(N%!^%Ov4M96GE1#?CPX>siCxc819b;G@ zpYhBNNnwK;M5^7VqJTw8`$mgc(?KN*5?NlRvb^5VUZ+ z@Us62Vs%d!B~h`!5wad{%>O2pSO0l^u)FAdsyTWkV0HIl90BXhVk}`wMkm*BGJL00 z9a?8sJq98LnvPpXvRHf^AC6~{%4%0OFvt?DI-8wg*Z_}u2H2Zy-=4{GpEGt17I_f; zCzEgHibV}@;myoD66+bo=LH=smqES&R`W9Pz(+;F&M#fhp`JlsTrzNKj*c0jzK92O z9aZpO&E=FFf6>P^Y#Ab09*m&ePnHOS+0iggp#xNDz7r^!NhdHehvj5H6R|)naM9g` z3h#>?1U9#Sq)$%s3e3On_D8SlyBn%SBVExbqIi-dDAD=henCD^!f3$L53v50DO~?V z)aeV)f|Za316Xp5<|)1q?=w*>w+z#_95+(Mni;7~rb)`Z4VII{l7eIs=DdeP6fJOt z{5l4q>PcD13A4)wgZBX zDrg`}%>~st6vhNq9~CPDq_|L+#34+2W-*`9>-EJI;3Y47l|w^^+=`;+m{Vn`mV%%Y(g~d5gfTHTJ|+u0_<+>;$T^ZUGT4Qy^W;XrIwyenOp(G0;iMLk#xKy5qL$<$4iqbh+$a~Cb6#JPg?y^2 zfDt1&Im>b?6@tZr27sj_Cz@X@Anl$h=rG6@5Bw_Oq`AD7vXP8ldRK9MNd~OIr;bDzc`idjAn(7VjUWf3!oG1 zEJKS)jKy6P;sfR4z8o@zl4MYol0h7xfF)@0l1U(>OY&K-cJwL^Cn!%mb`WC(8|h_R zA8eAFX(k0OtT}tR_WTI|^J%QaQh|e(SCkBjs(=UA2H6WF18xAYBo0gb@t5H5%a{)k<8UfHjsF#}IP_3$AcbcK;1t z{L2;|NMkvtR*t(dL}O!PKuO?o)QTSjFg(65E|7Itu&!qPcA8)bR(}Uo=XNSm-B%l| zZsP}%)pdnJ$^VV9qSHsWK+}XL!D{;bBZ`G%nNnzh<(%_;36doe1+)Yy7(XMp;??E~ zjKQQ@6u@z2$c}298v?1YgV+!j24#OtI2iE&GSv8iuVPpQW32K^Lb15?48)R3k={^K zrIrtGA8V86@`W6^(vlf2-cY16T0XNiyQ01jIpL-Bx@>>eq$^aV=Weq+w7wkj?V`RH$_`N1|<82@S81aE&!R|l+a6QrYHozYt1Jba)#cFU2? z^=-Cb&p$p*#e!Bbyuv6I?nDYLZh;Z5L#SY23LIe;7!R>R+2LvkqWxG!&`99WmI7FvjA=jS{GiqFbC~?F?}OV2F;m=#06YTATG@Mu+2aBB%oeG6X9J zmC6_NC8QQ0PkDw{5G;VUvZ8~jdG0Q^CDf> zx%+V^STJCPfp`g6r$EKH{U3ZF2fR-w>M*|QDAq}^9J0=0txyU^F^Ekc7QExt5v!2+ zL2`AN!HQ$E7b7m|ibc&@NTpH)E0khh^j<(k<$^KC4zz%jP!*2fOQz%#|2+|2vE3eK zV_7r=Md1QF6oIaY?v;E%vY69WpjKL8g~t&l-^(OX#K+>|T1iDwv99=X1qF38Kt_i+ zk){mRnUQEPkj-)gtN@&lkw`+V@Vlfch?*?$g+x}6GeQ0hJT;Afo%BLBolPUdkj8ro zUJ%N~2!0$R8*dN7+g%)NC$LVs!a+jE1s}KMOcVaTK0i%TSZwDZi_yqhFxNn)Fm$+* z8^L<)6uACYuZWd!_4j(^P}K$NSoH3Ib!Pht-48hvLw7q#DthIdb<&BiI^|fn;0f`C zgjmDF%sJ3f@f1f8l%gXPtpZpf2P`;4ObcHPhv)oYoPesCW*r;- zJZOD28ZlVcPO-w-UhJt>(u-*3Vb;w|9$YD?GH%SGq^iDZXeH#dGMb(*y$7Mv!4Z_J zfaq$;UV>(==%p3I$RQBJJ7^Xn?EkL56$#=st5nsXM=ud9b*(fbwGHXCnQo+Kh|@Sc zVO<(xy|y+!hE5>q$00RTtiQF3A0rBz=s$-otz&_6es>@Su)vj^=}f|K(lf^Swt+Mt z1@-zE&%d3fSA6}QUj5^IkS`8m0#>JO+X=9kZa9Or!mf4PAj^_*gRxJ;)G`Lr1$PLr z*k+BEx)2)1=y<|AB%|fDEyA4@S(3}5SaIwuJ%^XW%OQ`XNj;P-HNt%qtPJ*!nwZ5k zZPTB36HH{5*B*{l5P3`9V3BG8;sHdZVBs| zZRnSy2SL$?@O?zf54iC7arEQIPn{M1!@ksio)31Q;z)yHod(uf)nomsew0XE!dAjg zX~U&UpZ7%Bf2xQ&>5qQ1J;j81oCVeGm`0FL31$ zp_KR`mIj-(h*GJWrfF16!>SgsriXQAv)rs#nv<*Lrde3AjB?$!nx^sxap(5aSQUkF zHD2(J@$Q51Rv&DZPC^A@h=>UZq8)G& zjc*#Agwgn5h(5?GnOFY{f8X9MwO+U=(ZxCY>@vg5B=gI+)?Rza%OZYxTw#jmj6J^)FV26=+4Z+Uo&} zq+6^3(qC&A%xUo596ePG3qt%KG+{R}Bi7Q(;S^HAmJ_WR(Fy{V=<0yg)xkkXaUZN# zhpz`UwC%e){|r_q-*7@T?;XPvYE3vPUuYenirqW8caox<$q`t(nUEwESw!pzm8tR* zR_o934Y@)UGO#984y$aB4>CSrIwNqApyX0_G{W|c=EgEwLr)mmwL=fDAw1JuVPE+D zl`~JSt(^U!kzH9>sIROnG(w+FGy`iNEU&Drtt>a=3&3^`m0F|T280l|4;Gdu_|>^H zO@t4u&hXnBXFx3bd~@Udg^h*K%Ea<#h+p&lbG$2Yp~0J2>*^f;W_lR_*S`34VQpot zyjI_MpB?ICefhc7;g@fty@IW1h-OCpkuc%A?=Qj9ccIT6jSV=;KOjj@P1<)lt4XA$ z1Y6Rq8lq)Pip9`zg?H|DZ0Df-Rfn&`*Mr?=T;Z+VV4bXDS!?^jQ?BVSqmB*j?dPE( z9+oS6s9u4)Ou2R=SdgUy6o6%&AgOn-GQkyKB@(6cA2do{s9wm`bM@81 z&}wG29$HVQhd1(>dOf+iIxrSn9}SML*N2I+#$)3z-+T3CbjMPtUO9JcL~SHJGOYaU^F()RQ_oMaCge`DGEAix$t@U5 zrDI8G8YNukc)b>g%DS^AL}n&UgDf|qQxpd_`u9ynW9g^pO&f_sqD1cgNTfeX7|&{v z+UChgcygn%T2y3dg6(hV>{8dTvy1IXy$)2Yqvo%;u%m!=5{lIptB1N`EZx>PPCsPP zvS9HJIa`eNGU_!1Q8v-=8oe5XS7Kdcl^G}>ReXhL5x-OAfCsc(*@27wIsRLx*e1ku zq{|!OH0q1=*Nc-BG9_VBn6WKVmE-Gr^8VvCc)|m$r!5`QGb{u)+CvC0o8JWn9D~O`3iS| z_4zN@uT;zc)`5C;#QYU@I9MX>OruwP`$>k^9xq9sCa+o z!69VIC>DE#50v#Gk{jm1P!#1B~3U<}aQn!gLI-HX@`$D9G{5WPA)f5mt- zuz=*mW2{NnL|L{eRy%foW=KrQh7_{fmJPH88G3CLFS zu16uLWo6P1Q-g`A1UrVR`RpNB1tqT}S|i95Kr8`C97;+BoujX>=7@{D zKrT;z28ysqxr?j%1cC)*^U^D``^=A#h%d!4FYqc~A+oACLM)U6tTg|EMg9$Pe@In& zvE>U?I+;9H#|@%Z)(`43)?N+LdCkBDRfJi%z@e9iI%e^>|KGyZu7gdBk!us9$cxj$Bf(= z=6S31E5h>mT&Yxw=R+JQ6hm1F7N%|I#{7o#O5a7Xc%uOQK=7u4cV{3qM7ljd;|8kw z1a+Ef(LC-C;Y=I2NP?nEmMghG;}9{JumTp90`>F{6b}U}?C*~{L7%4PBRUl`*(|Zi zCboikdBB)c(}S8Bzdw9z#cJn856fR2F~&OC3R27uS3*oCsB9B%9wu&wAqJV*D&#B$ zdi5HjMKD!XQ!J&g6ju>$F=b-N(gZ`I)PT`orD00d4O0o+5T@Xn|78lW)T}|xK1{ft zjf(;8Jac7dOP)t93>6BLV|lq8aZ>8WyRG?h*cgBD=LU@L6}E8POi)HXP&Segj_=KiqH=L;XG zSrJ@bu}Cy#A>%5h+*k~*aG=Few_m_TTx1HSjAX$Tztj!Zuh_1@I(R+Eb%0(SSFuj0 z9;>tc%xxEiZMCvDTGcVQLav0=DZ(wS4TlgbTa(NHRo0Zm(q(PY^q0|1uWMK$*N}iM zV^GCFLBkt_S*A0#O!YFQINnfAMYG;&3AKvj@;nu~kAzGF4p@~!sYF&`c4=#CX=@2% zV0PUW#`8u!UVXK<_tmZ5t=><1dq4RETvZdH=$*BL7KEr)YH*6ja54!v87&E8+JR14 z)k==0@}f&BCOwO$Q>mEWSFIlC4SjFbdH}2SDH>7p5Wo6Ns*u@9CEcq98&OrYDz;24 zFJ3$82JY`MB}w;o57sMP$H-qD9%FHxNQ|Z14_SO!vO34U7+Wc<*A!|EafvN>dXNz} z2v%GIN@F|1vQQpyNFhx;_gaAvrWr;Gn zwLUs}bN^HROy;R*IN}rq*59%fu69ZRfl5O=)ThG1314kgtQxBVR-}k>$r*+t9kBK; z{?6_^(frlnigl8`8#*1=bnBQ-+YbVljk7?C5o6#3rsd!>1}#uxXxW3-4;rx4A=&KZ za4{s{$`U28rW80!J}79QrM6nkNVG(k4$`oU%W6@md_&fgTbo6w;xOeA!Ar2TAgs)9 z^&Z^<>cKrIPe|-8V;#6?&`Kp^F(BgRi8~ZkWsu@qx+uw`2lr*Zn|QHYH0<{~Mad7z z_rD3<|L}d<{yRP%c*x-(``Er}I2;L+MUDE&h=q%;>&A*cVyuJDOdLOdg)vzBk7F#r z>fS08Ql~TwS+exB+c_FVmyEUHV~kK`B+K0UaJ96`?&q*K*fu;Na3vVXY$ebu{%h6$ z6W2u9C`>_>z*P(jVQLO(wkJSxUC--ifHCU)xc`S_`wpbeiluSE> z>jQ#}!agfoN<6G9inn!rK&1KxNfdg8Vl3i|^ocmfz9vHXg#b4}77ey%wS_|+pNx(~ z)LPAYrChFn-oFPa#F;`AeN+qU9G;ldME!De3f-DD*Z$07t8PHY3ks{*fDqIia2xE@8 zs$yM=b^K$6*gjR=cEXwW!(%K<)MP)yAGdV6P8Dh++Lrk3>s3NPl`U47jjPHOC+oB3 z`(`s(a0OUavzYO;XdxaH-%;AB&Y@I`j^O0jeuOBNY!d1%U^MU;8 zYQd0InVSGCR(#tZZ8y)Ir!B*Ub6n@oZ(sQ8?70hkeY}14T<>Oc(|{F%Nl7F;=R;HM z;+XIXOHwVGi6xT`Y{}>&I+~2NJs}@lwsT0g`yEEK;W#42IU02dH9IlnHF1F~31=~tg_gWR zrBW&7y!=RRyaHAEJpG62ZLl_>X>IeThb5tvEBQTf z)ln?SVo4~2q!vza#)tzf!;=N;%|tn2dLp8Dbs_!e-C+E*zIREiBqILfK`3svLe|!N2 z+ul6?(N{P0Zl1M@l?$PFXqD2V83piZ5~ImHcP!>0OalWkypqTgVM!|8

#FPJ%`K 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 ZzX5=OCe3xF!c+hN002ovPDHLkV1iG=Tu=Z2 literal 0 HcmV?d00001 diff --git a/media/templates/site/moko-cassiopeia/images/template_thumbnail.png b/media/templates/site/moko-cassiopeia/images/template_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..e237919ecf79dbf84ba1f87e908928757635fd92 GIT binary patch literal 10747 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

nqW_ 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 z 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�UGSk#WDN<_A*3 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 literal 0 HcmV?d00001 diff --git a/templates/moko-cassiopeia/component.php b/templates/moko-cassiopeia/component.php new file mode 100644 index 0000000..841d12e --- /dev/null +++ b/templates/moko-cassiopeia/component.php @@ -0,0 +1,88 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\HTML\HTMLHelper; + +/** @var Joomla\CMS\Document\HtmlDocument $this */ + +$app = Factory::getApplication(); +$wa = $this->getWebAssetManager(); + +// Color Theme +$paramsColorName = $this->params->get('colorName', 'colors_standard'); +$assetColorName = 'theme.' . $paramsColorName; +$wa->registerAndUseStyle($assetColorName, 'media/templates/site/moko-cassiopeia/css/global/' . $paramsColorName . '.css'); + +// Use a font scheme if set in the template style options +$paramsFontScheme = $this->params->get('useFontScheme', false); +$fontStyles = ''; + +if ($paramsFontScheme) { + if (stripos($paramsFontScheme, 'https://') === 0) { + $this->getPreloadManager()->preconnect('https://fonts.googleapis.com/', ['crossorigin' => 'anonymous']); + $this->getPreloadManager()->preconnect('https://fonts.gstatic.com/', ['crossorigin' => 'anonymous']); + $this->getPreloadManager()->preload($paramsFontScheme, ['as' => 'style', 'crossorigin' => 'anonymous']); + $wa->registerAndUseStyle('fontscheme.current', $paramsFontScheme, [], ['media' => 'print', 'rel' => 'lazy-stylesheet', 'onload' => 'this.media=\'all\'', 'crossorigin' => 'anonymous']); + + if (preg_match_all('/family=([^?:]*):/i', $paramsFontScheme, $matches) > 0) { + $fontStyles = '--font-family-body: "' . str_replace('+', ' ', $matches[1][0]) . '", sans-serif; + --font-family-headings: "' . str_replace('+', ' ', isset($matches[1][1]) ? $matches[1][1] : $matches[1][0]) . '", sans-serif; + --font-weight-normal: 400; + --font-weight-headings: 700;'; + } + } else { + $wa->registerAndUseStyle('fontscheme.current', $paramsFontScheme, ['version' => 'auto'], ['media' => 'print', 'rel' => 'lazy-stylesheet', 'onload' => 'this.media=\'all\'']); + $this->getPreloadManager()->preload($wa->getAsset('style', 'fontscheme.current')->getUri() . '?' . $this->getMediaVersion(), ['as' => 'style']); + } +} + +// Enable assets +$wa->usePreset('template.moko-cassiopeia.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr')) + ->useStyle('template.active.language') + ->useStyle('template.user') + ->useScript('template.user') + ->addInlineStyle(":root { + --hue: 214; + --template-bg-light: #f0f4fb; + --template-text-dark: #495057; + --template-text-light: #ffffff; + --template-link-color: #2a69b8; + --template-special-color: #001B4C; + $fontStyles + }"); + + +// Override 'template.active' asset to set correct ltr/rtl dependency +$wa->registerStyle('template.active', '', [], [], ['template.moko-cassiopeia.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr')]); + +// Browsers support SVG favicons +$this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon.svg', '', [], true, 1), 'icon', 'rel', ['type' => 'image/svg+xml']); +$this->addHeadLink(HTMLHelper::_('image', 'favicon.ico', '', [], true, 1), 'alternate icon', 'rel', ['type' => 'image/vnd.microsoft.icon']); +$this->addHeadLink(HTMLHelper::_('image', 'joomla-favicon-pinned.svg', '', [], true, 1), 'mask-icon', 'rel', ['color' => '#000']); + +// Defer font awesome +$wa->getAsset('style', 'fontawesome')->setAttribute('rel', 'lazy-stylesheet'); +?> + + + + + + + + + + + + + diff --git a/templates/moko-cassiopeia/custom.php b/templates/moko-cassiopeia/custom.php new file mode 100644 index 0000000..b7b611a --- /dev/null +++ b/templates/moko-cassiopeia/custom.php @@ -0,0 +1,30 @@ +' . $js_code . ''; + } + echo $js_code; + } +?> +Custom code included here diff --git a/templates/moko-cassiopeia/darkmode-toggle.js b/templates/moko-cassiopeia/darkmode-toggle.js new file mode 100644 index 0000000..e69de29 diff --git a/templates/moko-cassiopeia/error.php b/templates/moko-cassiopeia/error.php new file mode 100644 index 0000000..1caa0e2 --- /dev/null +++ b/templates/moko-cassiopeia/error.php @@ -0,0 +1,269 @@ +params; +$wa = $this->getWebAssetManager(); + +// ------------------ Params ------------------ +$colorLight = (string) $params->get('colorLightName', 'colors_standard'); +$colorDark = (string) $params->get('colorDarkName', 'colors_standard'); +$themeFab = (int) $params->get('theme_fab_enabled', 1); +$fABodyPos = (string) $params->get('theme_fab_pos', 'br'); +$gtmEnabled = (int) $params->get('googletagmanager', 0); +$gtmId = (string) $params->get('googletagmanagerid', ''); +$fa6KitCode = (string) $params->get('fA6KitCode', ''); +$stickyHeader = (bool) $params->get('stickyHeader', 0); +$brandEnabled = (int) $params->get('brand', 1); +$siteDescription = (string) $params->get('siteDescription', ''); + +// Drawer icon params (escaped) +$params_leftIcon = htmlspecialchars($params->get('drawerLeftIcon', 'fa-solid fa-chevron-right'), ENT_QUOTES, 'UTF-8'); +$params_rightIcon = htmlspecialchars($params->get('drawerRightIcon', 'fa-solid fa-chevron-left'), ENT_QUOTES, 'UTF-8'); + +// ------------------ Styles ------------------ +$wa->useStyle('template.base'); +$wa->useStyle('template.user'); +$wa->useStyle('vendor.vmbasic'); +$wa->useStyle('vendor.gable'); + +// Light/Dark variable sheets (load before consumers) +if ($wa->assetExists('style', 'template.light.' . $colorLight)) { + $wa->useStyle('template.light.' . $colorLight); +} +if ($wa->assetExists('style', 'template.dark.' . $colorDark)) { + $wa->useStyle('template.dark.' . $colorDark); +} + +// ------------------ Scripts ------------------ +$wa->useScript('theme-init.js'); +if ($themeFab === 1) { + $wa->useScript('darkmode-toggle.js'); +} +if ($gtmEnabled === 1) { + $wa->useScript('gtm.js'); +} + +// Optional Font Awesome 6 Kit (preferred) or FA5 fallback +if (!empty($fa6KitCode)) { + HTMLHelper::_('script', 'https://kit.fontawesome.com/' . rawurlencode($fa6KitCode) . '.js', [ + 'crossorigin' => 'anonymous' + ]); +} else { + HTMLHelper::_('stylesheet', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css', ['version' => 'auto'], [ + 'crossorigin' => 'anonymous', + 'referrerpolicy' => 'no-referrer', + ]); +} + +// ------------------ Context (logo, bootstrap needs) ------------------ +$sitename = htmlspecialchars($app->get('sitename'), ENT_QUOTES, 'UTF-8'); + +// Build logo/title +if ($params->get('logoFile')) { + $logo = HTMLHelper::_( + 'image', + Uri::root(false) . htmlspecialchars($params->get('logoFile'), ENT_QUOTES), + $sitename, + ['loading' => 'eager', 'decoding' => 'async'], + false, + 0 + ); +} elseif ($params->get('siteTitle')) { + $logo = '' . htmlspecialchars($params->get('siteTitle'), ENT_COMPAT, 'UTF-8') . ''; +} else { + $logo = HTMLHelper::_('image', 'full_logo.png', $sitename, ['class' => 'logo d-inline-block', 'loading' => 'eager', 'decoding' => 'async'], true, 0); +} + +// ------------------ Error details ------------------ +$errorObj = isset($this->error) && is_object($this->error) ? $this->error : null; +$errorCode = $errorObj ? (int) $errorObj->getCode() : 500; +$errorMsg = $errorObj ? $errorObj->getMessage() : Text::_('JERROR_AN_ERROR_HAS_OCCURRED'); +$debugOn = defined('JDEBUG') && JDEBUG; +?> + + + + + + + + + + + + + + + + +

+ countModules('topbar')) : ?> +
+ +
+ + +
+ countModules('below-topbar')) : ?> +
+ +
+ + + +
+ +
+ + + countModules('below-logo')) : ?> + + +
+ + countModules('menu', true) || $this->countModules('search', true)) : ?> +
+ countModules('menu', true)) : ?> + + + countModules('search', true)) : ?> + + +
+ +
+ + +
+
+
+

+ : + +

+

+ +

+

+ +

+
+
+ +
+ + + + + +
+ + +
+
Debug mode is ON — detailed error information is shown below.
+ +
+
Exception
+
+
+
Class
+
+ +
Code
+
getCode(); ?>
+ +
Message
+
getMessage(), ENT_QUOTES, 'UTF-8'); ?>
+ +
File
+
getFile(), ENT_QUOTES, 'UTF-8'); ?> : getLine(); ?>
+
+
+
+ + getTrace() : []; ?> +
+
Stack Trace ( frames)
+
+ +
    + $frame) : + $file = $frame['file'] ?? '[internal]'; + $line = isset($frame['line']) ? (int) $frame['line'] : 0; + $func = $frame['function'] ?? ''; + $class= $frame['class'] ?? ''; + $type = $frame['type'] ?? ''; + ?> +
  1. +
    # ()
    +
    +
  2. + +
+ + No stack trace available. + +
+
+
+ +
+
+ countModules('footer-menu', true)) : ?> + + + countModules('footer', true)) : ?> +
+ +
+ +
+ + + + diff --git a/templates/moko-cassiopeia/favicon.ico b/templates/moko-cassiopeia/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..710b9c89af50727f14ea0105cfa7cac4551765a5 GIT binary patch literal 15086 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 Ms-pP*N?&pRAF(hjG5`Po literal 0 HcmV?d00001 diff --git a/templates/moko-cassiopeia/html/com_contact/contact/default.php b/templates/moko-cassiopeia/html/com_contact/contact/default.php new file mode 100644 index 0000000..9286424 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_contact/contact/default.php @@ -0,0 +1,177 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\Helper\ContentHelper; +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Layout\FileLayout; +use Joomla\CMS\Layout\LayoutHelper; +use Joomla\CMS\Plugin\PluginHelper; +use Joomla\CMS\Router\Route; +use Joomla\Component\Contact\Site\Helper\RouteHelper; + +$tparams = $this->item->params; +$canDo = ContentHelper::getActions('com_contact', 'category', $this->item->catid); +$canEdit = $canDo->get('core.edit') || ($canDo->get('core.edit.own') && $this->item->created_by === Factory::getUser()->id); +$htag = $tparams->get('show_page_heading') ? 'h2' : 'h1'; +?> + +
+ +
+
+
+ item, $tparams); ?> +
+
+
+ + + get('show_page_heading')) : ?> +

+ escape($tparams->get('page_heading')); ?> +

+ + + item->name && $tparams->get('show_name')) : ?> + + + +
+
+ get('show_contact_category'); ?> + + +

+ item->category_title; ?> +

+ + item->catid, $this->item->language); ?> +

+ + escape($this->item->category_title); ?> + +

+ + + item->event->afterDisplayTitle; ?> + + get('show_contact_list') && count($this->contacts) > 1) : ?> +
+ + contacts, + 'select_contact', + 'class="form-select" onchange="document.location.href = this.value"', + 'link', + 'name', + $this->item->link + ); + ?> +
+ + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> +
+ item->tagLayout = new FileLayout('joomla.content.tags'); ?> + item->tagLayout->render($this->item->tags->itemTags); ?> +
+ + + item->event->beforeDisplayContent; ?> + + params->get('show_info', 1)) : ?> +
+ ' . Text::_('COM_CONTACT_DETAILS') . ''; ?> + + item->image && $tparams->get('show_image')) : ?> +
+ $this->item->image, + 'alt' => $this->item->name, + 'itemprop' => 'image', + ] + ); ?> +
+ + + item->con_position && $tparams->get('show_position')) : ?> +
+
:
+
+ item->con_position; ?> +
+
+ + +
+ loadTemplate('address'); ?> + + get('allow_vcard')) : ?> + + + + +
+
+ + + get('show_links')) : ?> + loadTemplate('links'); ?> + + + get('show_articles') && $this->item->user_id && $this->item->articles) : ?> + ' . Text::_('JGLOBAL_ARTICLES') . ''; ?> + + loadTemplate('articles'); ?> + + + get('show_profile') && $this->item->user_id && PluginHelper::isEnabled('user', 'profile')) : ?> + ' . Text::_('COM_CONTACT_PROFILE') . ''; ?> + + loadTemplate('profile'); ?> + + + get('show_user_custom_fields') && $this->contactUser) : ?> + loadTemplate('user_custom_fields'); ?> + +
+
+ get('show_email_form') && ($this->item->email_to || $this->item->user_id)) : ?> + loadTemplate('form'); ?> + +
+
+ + item->misc && $tparams->get('show_misc')) : ?> + ' . Text::_('COM_CONTACT_OTHER_INFORMATION') . ''; ?> + +
+
+ item->misc; ?> +
+
+ + item->event->afterDisplayContent; ?> +
diff --git a/templates/moko-cassiopeia/html/com_contact/contact/index.html b/templates/moko-cassiopeia/html/com_contact/contact/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_contact/contact/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_contact/default.php b/templates/moko-cassiopeia/html/com_contact/default.php new file mode 100644 index 0000000..9286424 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_contact/default.php @@ -0,0 +1,177 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\Helper\ContentHelper; +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Layout\FileLayout; +use Joomla\CMS\Layout\LayoutHelper; +use Joomla\CMS\Plugin\PluginHelper; +use Joomla\CMS\Router\Route; +use Joomla\Component\Contact\Site\Helper\RouteHelper; + +$tparams = $this->item->params; +$canDo = ContentHelper::getActions('com_contact', 'category', $this->item->catid); +$canEdit = $canDo->get('core.edit') || ($canDo->get('core.edit.own') && $this->item->created_by === Factory::getUser()->id); +$htag = $tparams->get('show_page_heading') ? 'h2' : 'h1'; +?> + +
+ +
+
+
+ item, $tparams); ?> +
+
+
+ + + get('show_page_heading')) : ?> +

+ escape($tparams->get('page_heading')); ?> +

+ + + item->name && $tparams->get('show_name')) : ?> + + + +
+
+ get('show_contact_category'); ?> + + +

+ item->category_title; ?> +

+ + item->catid, $this->item->language); ?> +

+ + escape($this->item->category_title); ?> + +

+ + + item->event->afterDisplayTitle; ?> + + get('show_contact_list') && count($this->contacts) > 1) : ?> +
+ + contacts, + 'select_contact', + 'class="form-select" onchange="document.location.href = this.value"', + 'link', + 'name', + $this->item->link + ); + ?> +
+ + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> +
+ item->tagLayout = new FileLayout('joomla.content.tags'); ?> + item->tagLayout->render($this->item->tags->itemTags); ?> +
+ + + item->event->beforeDisplayContent; ?> + + params->get('show_info', 1)) : ?> +
+ ' . Text::_('COM_CONTACT_DETAILS') . ''; ?> + + item->image && $tparams->get('show_image')) : ?> +
+ $this->item->image, + 'alt' => $this->item->name, + 'itemprop' => 'image', + ] + ); ?> +
+ + + item->con_position && $tparams->get('show_position')) : ?> +
+
:
+
+ item->con_position; ?> +
+
+ + +
+ loadTemplate('address'); ?> + + get('allow_vcard')) : ?> + + + + +
+
+ + + get('show_links')) : ?> + loadTemplate('links'); ?> + + + get('show_articles') && $this->item->user_id && $this->item->articles) : ?> + ' . Text::_('JGLOBAL_ARTICLES') . ''; ?> + + loadTemplate('articles'); ?> + + + get('show_profile') && $this->item->user_id && PluginHelper::isEnabled('user', 'profile')) : ?> + ' . Text::_('COM_CONTACT_PROFILE') . ''; ?> + + loadTemplate('profile'); ?> + + + get('show_user_custom_fields') && $this->contactUser) : ?> + loadTemplate('user_custom_fields'); ?> + +
+
+ get('show_email_form') && ($this->item->email_to || $this->item->user_id)) : ?> + loadTemplate('form'); ?> + +
+
+ + item->misc && $tparams->get('show_misc')) : ?> + ' . Text::_('COM_CONTACT_OTHER_INFORMATION') . ''; ?> + +
+
+ item->misc; ?> +
+
+ + item->event->afterDisplayContent; ?> +
diff --git a/templates/moko-cassiopeia/html/com_contact/index.html b/templates/moko-cassiopeia/html/com_contact/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_contact/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_content/article/index.html b/templates/moko-cassiopeia/html/com_content/article/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/article/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_content/article/toc-left.php b/templates/moko-cassiopeia/html/com_content/article/toc-left.php new file mode 100644 index 0000000..6c2e6c3 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/article/toc-left.php @@ -0,0 +1,158 @@ +item->params; +$canEdit = $params->get('access-edit'); +$user = Factory::getUser(); +$info = $params->get('info_block_position', 0); +$htag = $this->params->get('show_page_heading') ? 'h2' : 'h1'; + +// Check if associations are implemented. If they are, define the parameter. +$assocParam = (Associations::isEnabled() && $params->get('show_associations')); +$currentDate = Factory::getDate()->format('Y-m-d H:i:s'); +$isNotPublishedYet = $this->item->publish_up > $currentDate; +$isExpired = !is_null($this->item->publish_down) && $this->item->publish_down < $currentDate; +?> +
+ + params->get('show_page_heading')) : ?> + + item->pagination) && !$this->item->paginationposition && $this->item->paginationrelative) { + echo $this->item->pagination; + } + ?> + + get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date') + || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author') || $assocParam; ?> + + get('show_title')) : ?> + + + + $params, 'item' => $this->item]); ?> + + + + item->event->afterDisplayTitle; ?> + + + $this->item, 'params' => $params, 'position' => 'above']); ?> + + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tagLayout = new FileLayout('joomla.content.tags'); ?> + + item->tagLayout->render($this->item->tags->itemTags); ?> + + + + item->event->beforeDisplayContent; ?> + + get('urls_position', 0) === 0) : ?> + loadTemplate('links'); ?> + + get('access-view')) : ?> + item); ?> + item->pagination) && !$this->item->paginationposition && !$this->item->paginationrelative) : + echo $this->item->pagination; + endif; + ?> +
+
+ ' . Text::_('TPL_MOKO-CASSIOPEIA_TOC') . ''; + ?> + +
+ item->text; + ?> + +
+ + + + + $this->item, 'params' => $params, 'position' => 'below']); ?> + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tagLayout = new FileLayout('joomla.content.tags'); ?> + item->tagLayout->render($this->item->tags->itemTags); ?> + + + + item->pagination) && $this->item->paginationposition && !$this->item->paginationrelative) : + echo $this->item->pagination; + ?> + + get('urls_position', 0) === 1) : ?> + loadTemplate('links'); ?> + + + get('show_noauth') == true && $user->get('guest')) : ?> + item); ?> + item->introtext); ?> + + get('show_readmore') && $this->item->fulltext != null) : ?> + getMenu(); ?> + getActive(); ?> + id; ?> + + setVar('return', base64_encode(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language))); ?> + $this->item, 'params' => $params, 'link' => $link]); ?> + + + item->pagination) && $this->item->paginationposition && $this->item->paginationrelative) : + echo $this->item->pagination; + ?> + + + item->event->afterDisplayContent; ?> +
+ diff --git a/templates/moko-cassiopeia/html/com_content/article/toc-right.php b/templates/moko-cassiopeia/html/com_content/article/toc-right.php new file mode 100644 index 0000000..cb65cb7 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/article/toc-right.php @@ -0,0 +1,160 @@ +item->params; +$canEdit = $params->get('access-edit'); +$user = Factory::getUser(); +$info = $params->get('info_block_position', 0); +$htag = $this->params->get('show_page_heading') ? 'h2' : 'h1'; + +// Check if associations are implemented. If they are, define the parameter. +$assocParam = (Associations::isEnabled() && $params->get('show_associations')); +$currentDate = Factory::getDate()->format('Y-m-d H:i:s'); +$isNotPublishedYet = $this->item->publish_up > $currentDate; +$isExpired = !is_null($this->item->publish_down) && $this->item->publish_down < $currentDate; +?> +
+ + params->get('show_page_heading')) : ?> + + item->pagination) && !$this->item->paginationposition && $this->item->paginationrelative) { + echo $this->item->pagination; + } + ?> + + get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date') + || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author') || $assocParam; ?> + + get('show_title')) : ?> + + + + $params, 'item' => $this->item]); ?> + + + + item->event->afterDisplayTitle; ?> + + + $this->item, 'params' => $params, 'position' => 'above']); ?> + + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tagLayout = new FileLayout('joomla.content.tags'); ?> + + item->tagLayout->render($this->item->tags->itemTags); ?> + + + + item->event->beforeDisplayContent; ?> + + get('urls_position', 0) === 0) : ?> + loadTemplate('links'); ?> + + get('access-view')) : ?> + item); ?> + item->pagination) && !$this->item->paginationposition && !$this->item->paginationrelative) : + echo $this->item->pagination; + endif; + ?> +
+
+ ' . Text::_('TPL_MOKO-CASSIOPEIA_TOC') . ''; + ?> + + +
+ item->text; + ?> + +
+ + + + + $this->item, 'params' => $params, 'position' => 'below']); ?> + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tagLayout = new FileLayout('joomla.content.tags'); ?> + item->tagLayout->render($this->item->tags->itemTags); ?> + + + + item->pagination) && $this->item->paginationposition && !$this->item->paginationrelative) : + echo $this->item->pagination; + ?> + + get('urls_position', 0) === 1) : ?> + loadTemplate('links'); ?> + + + get('show_noauth') == true && $user->get('guest')) : ?> + item); ?> + item->introtext); ?> + + get('show_readmore') && $this->item->fulltext != null) : ?> + getMenu(); ?> + getActive(); ?> + id; ?> + + setVar('return', base64_encode(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language))); ?> + $this->item, 'params' => $params, 'link' => $link]); ?> + + + item->pagination) && $this->item->paginationposition && $this->item->paginationrelative) : + echo $this->item->pagination; + ?> + + + item->event->afterDisplayContent; ?> +
+ diff --git a/templates/moko-cassiopeia/html/com_content/categories/default.php b/templates/moko-cassiopeia/html/com_content/categories/default.php new file mode 100644 index 0000000..e7f4505 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/categories/default.php @@ -0,0 +1,33 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Language\Text; +use Joomla\CMS\Layout\LayoutHelper; + +// Add strings for translations in Javascript. +Text::script('JGLOBAL_EXPAND_CATEGORIES'); +Text::script('JGLOBAL_COLLAPSE_CATEGORIES'); + +/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ +$wa = $this->document->getWebAssetManager(); +$wa->getRegistry()->addExtensionRegistryFile('com_categories'); +$wa->usePreset('com_categories.shared-categories-accordion'); + +?> +
+ loadTemplate('items'); + ?> +
+ diff --git a/templates/moko-cassiopeia/html/com_content/categories/default_items.php b/templates/moko-cassiopeia/html/com_content/categories/default_items.php new file mode 100644 index 0000000..9e2db70 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/categories/default_items.php @@ -0,0 +1,77 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Router\Route; +use Joomla\Component\Content\Site\Helper\RouteHelper; + +if ($this->maxLevelcat != 0 && count($this->items[$this->parent->id]) > 0) : + ?> +
+ items[$this->parent->id] as $id => $item) : ?> + params->get('show_empty_categories_cat') || $item->numitems || count($item->getChildren())) : ?> +
+
+
+ + escape($item->title); ?> + params->get('show_cat_num_articles_cat') == 1) :?> + +   + numitems; ?> + + +
+ getChildren()) > 0 && $this->maxLevelcat > 1) : ?> + + +
+ params->get('show_description_image') && $item->getParams()->get('image')) : ?> + getParams()->get('image'), $item->getParams()->get('image_alt')); ?> + + params->get('show_subcat_desc_cat') == 1) : ?> + description) : ?> +
+ description, '', 'com_content.categories'); ?> +
+ + + + getChildren()) > 0 && $this->maxLevelcat > 1) : ?> + + +
+ + +
+ + diff --git a/templates/moko-cassiopeia/html/com_content/categories/index.html b/templates/moko-cassiopeia/html/com_content/categories/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/categories/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_content/category/blog.php b/templates/moko-cassiopeia/html/com_content/category/blog.php new file mode 100644 index 0000000..f17f23d --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/category/blog.php @@ -0,0 +1,143 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Layout\FileLayout; +use Joomla\CMS\Layout\LayoutHelper; + +$app = Factory::getApplication(); + +$this->category->text = $this->category->description; +$app->triggerEvent('onContentPrepare', [$this->category->extension . '.categories', &$this->category, &$this->params, 0]); +$this->category->description = $this->category->text; + +$results = $app->triggerEvent('onContentAfterTitle', [$this->category->extension . '.categories', &$this->category, &$this->params, 0]); +$afterDisplayTitle = trim(implode("\n", $results)); + +$results = $app->triggerEvent('onContentBeforeDisplay', [$this->category->extension . '.categories', &$this->category, &$this->params, 0]); +$beforeDisplayContent = trim(implode("\n", $results)); + +$results = $app->triggerEvent('onContentAfterDisplay', [$this->category->extension . '.categories', &$this->category, &$this->params, 0]); +$afterDisplayContent = trim(implode("\n", $results)); + +$htag = $this->params->get('show_page_heading') ? 'h2' : 'h1'; + +?> + + diff --git a/templates/moko-cassiopeia/html/com_content/category/blog_children.php b/templates/moko-cassiopeia/html/com_content/category/blog_children.php new file mode 100644 index 0000000..dd9827c --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/category/blog_children.php @@ -0,0 +1,86 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Router\Route; +use Joomla\Component\Content\Site\Helper\RouteHelper; + +$lang = Factory::getLanguage(); +$user = Factory::getUser(); +$groups = $user->getAuthorisedViewLevels(); + +if ($this->maxLevel != 0 && count($this->children[$this->category->id]) > 0) : ?> + children[$this->category->id] as $id => $child) : ?> + + access, $groups)) : ?> + params->get('show_empty_categories') || $child->numitems || count($child->getChildren())) : ?> + + + + + + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\Language\Associations; +use Joomla\CMS\Layout\LayoutHelper; +use Joomla\CMS\Router\Route; +use Joomla\CMS\Uri\Uri; +use Joomla\Component\Content\Administrator\Extension\ContentComponent; +use Joomla\Component\Content\Site\Helper\RouteHelper; + +// Create a shortcut for params. +$params = $this->item->params; +$canEdit = $this->item->params->get('access-edit'); +$info = $params->get('info_block_position', 0); + +// Check if associations are implemented. If they are, define the parameter. +$assocParam = (Associations::isEnabled() && $params->get('show_associations')); + +$currentDate = Factory::getDate()->format('Y-m-d H:i:s'); +$isUnpublished = ($this->item->state == ContentComponent::CONDITION_UNPUBLISHED || $this->item->publish_up > $currentDate) + || ($this->item->publish_down < $currentDate && $this->item->publish_down !== null); + +?> +
+item); ?> + +
+ +
+ +item); ?> + + + $params, 'item' => $this->item]); ?> + + + + get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date') + || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author') || $assocParam); ?> + + + $this->item, 'params' => $params, 'position' => 'above']); ?> + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tags->itemTags); ?> + + + get('show_intro')) : ?> + + item->event->afterDisplayTitle; ?> + + + + item->event->beforeDisplayContent; ?> + + item->introtext; ?> + + + + $this->item, 'params' => $params, 'position' => 'below']); ?> + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tags->itemTags); ?> + + + + get('show_readmore') && $this->item->readmore) : + if ($params->get('access-view')) : + $link = Route::_(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language)); + else : + $menu = Factory::getApplication()->getMenu(); + $active = $menu->getActive(); + $itemId = $active->id; + $link = new Uri(Route::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false)); + $link->setVar('return', base64_encode(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language))); + endif; ?> + + $this->item, 'params' => $params, 'link' => $link]); ?> + + + + +
+ + + + item->event->afterDisplayContent; ?> +
+
+ + diff --git a/templates/moko-cassiopeia/html/com_content/category/blog_links.php b/templates/moko-cassiopeia/html/com_content/category/blog_links.php new file mode 100644 index 0000000..792c341 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/category/blog_links.php @@ -0,0 +1,27 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Router\Route; +use Joomla\Component\Content\Site\Helper\RouteHelper; + +?> + + + diff --git a/templates/moko-cassiopeia/html/com_content/category/default.php b/templates/moko-cassiopeia/html/com_content/category/default.php new file mode 100644 index 0000000..0f7745b --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/category/default.php @@ -0,0 +1,25 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Layout\LayoutHelper; + +?> + + diff --git a/templates/moko-cassiopeia/html/com_content/category/default_articles.php b/templates/moko-cassiopeia/html/com_content/category/default_articles.php new file mode 100644 index 0000000..f079f29 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/category/default_articles.php @@ -0,0 +1,349 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Component\ComponentHelper; +use Joomla\CMS\Factory; +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Associations; +use Joomla\CMS\Language\Multilanguage; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Router\Route; +use Joomla\CMS\Uri\Uri; +use Joomla\Component\Content\Administrator\Extension\ContentComponent; +use Joomla\Component\Content\Site\Helper\AssociationHelper; +use Joomla\Component\Content\Site\Helper\RouteHelper; + +/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ +$wa = $this->document->getWebAssetManager(); +$wa->useScript('com_content.articles-list'); + +// Create some shortcuts. +$n = count($this->items); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$langFilter = false; + +// Tags filtering based on language filter +if (($this->params->get('filter_field') === 'tag') && (Multilanguage::isEnabled())) { + $tagfilter = ComponentHelper::getParams('com_tags')->get('tag_list_language_filter'); + + switch ($tagfilter) { + case 'current_language': + $langFilter = Factory::getApplication()->getLanguage()->getTag(); + break; + + case 'all': + $langFilter = false; + break; + + default: + $langFilter = $tagfilter; + } +} + +// Check for at least one editable article +$isEditable = false; + +if (!empty($this->items)) { + foreach ($this->items as $article) { + if ($article->params->get('access-edit')) { + $isEditable = true; + break; + } + } +} + +$currentDate = Factory::getDate()->format('Y-m-d H:i:s'); +?> + + + diff --git a/templates/moko-cassiopeia/html/com_content/category/default_children.php b/templates/moko-cassiopeia/html/com_content/category/default_children.php new file mode 100644 index 0000000..942c59a --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/category/default_children.php @@ -0,0 +1,85 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Router\Route; +use Joomla\Component\Content\Site\Helper\RouteHelper; + +$lang = Factory::getLanguage(); +$user = Factory::getUser(); +$groups = $user->getAuthorisedViewLevels(); +?> + +children[$this->category->id]) > 0) : ?> + children[$this->category->id] as $id => $child) : ?> + + access, $groups)) : ?> + params->get('show_empty_categories') || $child->getNumItems(true) || count($child->getChildren())) : ?> + + + + + + diff --git a/templates/moko-cassiopeia/html/com_content/category/index.html b/templates/moko-cassiopeia/html/com_content/category/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/category/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_content/featured/default.php b/templates/moko-cassiopeia/html/com_content/featured/default.php new file mode 100644 index 0000000..8214b33 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/featured/default.php @@ -0,0 +1,75 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +?> + + diff --git a/templates/moko-cassiopeia/html/com_content/featured/default_item.php b/templates/moko-cassiopeia/html/com_content/featured/default_item.php new file mode 100644 index 0000000..07d526b --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/featured/default_item.php @@ -0,0 +1,121 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\Language\Associations; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Layout\LayoutHelper; +use Joomla\CMS\Router\Route; +use Joomla\CMS\Uri\Uri; +use Joomla\Component\Content\Administrator\Extension\ContentComponent; +use Joomla\Component\Content\Site\Helper\RouteHelper; + +// Create a shortcut for params. +$params = &$this->item->params; +$canEdit = $this->item->params->get('access-edit'); +$info = $this->item->params->get('info_block_position', 0); + +// Check if associations are implemented. If they are, define the parameter. +$assocParam = (Associations::isEnabled() && $params->get('show_associations')); + +$currentDate = Factory::getDate()->format('Y-m-d H:i:s'); +$isExpired = !is_null($this->item->publish_down) && $this->item->publish_down < $currentDate; +$isNotPublishedYet = $this->item->publish_up > $currentDate; +$isUnpublished = $this->item->state == ContentComponent::CONDITION_UNPUBLISHED || $isNotPublishedYet || $isExpired; +?> + +item); ?> + +
+ +
+ + + get('show_title')) : ?> +

+ get('link_titles') && $params->get('access-view')) : ?> + + + escape($this->item->title); ?> + +

+ + + item->state == ContentComponent::CONDITION_UNPUBLISHED) : ?> + + + + + + + + + + + $params, 'item' => $this->item]); ?> + + + + item->event->afterDisplayTitle; ?> + + + get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date') + || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author') || $assocParam); ?> + + + $this->item, 'params' => $params, 'position' => 'above']); ?> + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tags->itemTags); ?> + + + + item->event->beforeDisplayContent; ?> + + item->introtext; ?> + + + + $this->item, 'params' => $params, 'position' => 'below']); ?> + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tags->itemTags); ?> + + + + get('show_readmore') && $this->item->readmore) : + if ($params->get('access-view')) : + $link = Route::_(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language)); + else : + $menu = Factory::getApplication()->getMenu(); + $active = $menu->getActive(); + $itemId = $active->id; + $link = new Uri(Route::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false)); + $link->setVar('return', base64_encode(RouteHelper::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language))); + endif; ?> + + $this->item, 'params' => $params, 'link' => $link]); ?> + + + + +
+ + +
+ + +item->event->afterDisplayContent; ?> + diff --git a/templates/moko-cassiopeia/html/com_content/featured/default_links.php b/templates/moko-cassiopeia/html/com_content/featured/default_links.php new file mode 100644 index 0000000..87ff897 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/featured/default_links.php @@ -0,0 +1,26 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Router\Route; +use Joomla\Component\Content\Site\Helper\RouteHelper; + +?> + + diff --git a/templates/moko-cassiopeia/html/com_content/featured/index.html b/templates/moko-cassiopeia/html/com_content/featured/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/featured/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_content/index.html b/templates/moko-cassiopeia/html/com_content/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_content/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default.php b/templates/moko-cassiopeia/html/com_engage/comments/default.php new file mode 100644 index 0000000..e0ec457 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/default.php @@ -0,0 +1,78 @@ + +
+ +

+ headerKey, $this->pagination->total, $this->title) ?> +

+ + loadPosition('engage-before-comments') ?> + + pagination->total): ?> +
+ loadTemplate('list') ?> +
+ + loadPosition('engage-after-comments') ?> + + pagination->pagesTotal > 1): ?> +
+ +
+ + + + areCommentsClosed && $this->user->guest && !$this->perms['create']): ?> + loadTemplate('login') ?> + + + perms['create'] && !$this->areCommentsClosed): ?> + loadTemplate('form') ?> + + + perms['create'] && $this->areCommentsClosed): ?> +
+

+ +

+

+ areCommentsClosedAfterTime): ?> + + + + +

+
+ +
diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_form.php b/templates/moko-cassiopeia/html/com_engage/comments/default_form.php new file mode 100644 index 0000000..4f8f740 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/default_form.php @@ -0,0 +1,90 @@ +get('comments_reply_bad_ux', 0) == 1) && empty($this->form->getValue('body')); + +HTMLHelper::_('behavior.formvalidator'); +?> + +
+ +
+ + +
+ + + + + +
+

+ +

+ + loadPosition('engage-before-reply'); ?> + +
+
+
+ + Some User +
+ + +
+
+ + form->getFieldsets()) as $fieldSet) + { + echo $this->form->renderFieldset($fieldSet); + } ?> + +
+
+ +
+
+ + loadPosition('engage-after-reply'); ?> +
+
diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_list.php b/templates/moko-cassiopeia/html/com_engage/comments/default_list.php new file mode 100644 index 0000000..4e04e3f --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/default_list.php @@ -0,0 +1,286 @@ + 0]; +$parentNames = [0 => '']; + +foreach ($this->items as $comment): +$user = !empty($comment->created_by) && empty($comment->name) ? UserFetcher::getUser($comment->created_by) : new User(); + +if (empty($comment->created_by) || !empty($comment->name)) { + $user->name = $comment->name; + $user->email = $comment->email; +} + +$parentIds[$comment->depth] = $comment->id; +$parentNames[$comment->depth] = $user->name; +// Deeper level comment. Indent with
    tags +if ($comment->depth > $previousLevel): + ?> + depth; $level++): ?> +
      + + tags +elseif ($comment->depth < $previousLevel): ?> + + + + = $comment->depth; $level--): ?> +
    + + + + + tag. +else: ?> + + + + +depth; +$avatar = Avatar::getUserAvatar($comment->created_by, $maxAvatarWidth, $comment->email); +$profile = Avatar::getProfileURL($user); +$commentDate = Factory::getDate($comment->created)->setTimezone($this->userTimezone); +$ipLookupURL = $this->getIPLookupURL($comment->ip); +$isModified = !empty($comment->modified_by) && !empty($comment->modified) && ( + empty($comment->created_by) || empty($comment->created) || ( + ($comment->modified_by != $comment->created_by) && + ($comment->modified != $comment->created) + ) + ); + +if ($isModified) +{ + if ($comment->modified_by == $comment->created_by) + { + // If the comment is modified by the created by user, use the public name determined at the top of the file. + $modifiedBy = $user->name; + } + else + { + // Someone else modified the comment. Use their name. + $modifiedUser = UserFetcher::getUser($comment->modified_by); + // If the user is no longer available, use '???' + $modifiedBy = ($modifiedUser === null || $modifiedUser->guest) ? Text::_('COM_ENGAGE_LBL_COMMENT_MODIFIED_NO_LONGER_AVAILABLE') : $modifiedUser->name; + } + +} + +$openListItem++; +$this->ensureHasParentInfo($comment, $parentIds, $parentNames); +$bsCommentStateClass = ($comment->enabled == 1) ? 'secondary' : (($comment->enabled == -3) ? 'warning' : 'danger') +?> +
  • + +
    + + + + +
    + +
    + + + + + +
    + +
    +
    + escape($user->name) ?> + + perms['state']): ?> +
    + authorise('core.manage', $comment->asset_id)): ?> + + guest): ?> + + + guest): ?> + escape($user->username) ?> + perms['state']): ?> + + escape($user->email) ?> + +
    + +
    +
    + +
    + perms['state']): ?> + + enabled == 1): ?> + + enabled == 0): ?> + + + + + enabled == -3): ?> + + + + perms['delete']): ?> + + + + + + + + + + + perms['delete']): ?> + + + + + perms['edit'] || (($this->user->id === $user->id) && $this->perms['own'])): ?> + + + + +
    +
    + perms['edit'] || $this->user->authorise('core.manage', $comment->asset_id)): ?> +
    + + + + ip ?? '???') ?> + + + + + ip ?? '???') ?> + + +
    + +
    +
    + + enabled == -3): ?> +
    + +
    + enabled != 1): ?> +
    + +
    + + + +
    + body) ?> + +
    + modified)->setTimezone($this->userTimezone)->format(Text::_('DATE_FORMAT_LC2'), true), $modifiedBy) ?> +
    + +
    + + perms['create']): ?> +
    + maxLevel - 1 level comments only. Replies to deeper nested comments are to the $this->maxLevel - 1 level parent. ?> + +
    + +
    + + + + + + +
  • + += 1; $level--): ?> +
+ + + + + + diff --git a/templates/moko-cassiopeia/html/com_engage/comments/default_login.php b/templates/moko-cassiopeia/html/com_engage/comments/default_login.php new file mode 100644 index 0000000..d08c718 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/default_login.php @@ -0,0 +1,45 @@ +get('login_module', '-1'); +$moduleContent = (empty($loginModule) || ($loginModule === '-1')) ? '' : trim($this->loadModule($loginModule)); +$positionContent = trim($this->loadPosition('engage-login')); + +/** + * A reason for this to happen is that site owner wants discussion to be open to invitation-only members of the site but + * visible by anyone. This is mostly relevant in political organizations, NGOs and local / closed community + * organizations where a small number of people are openly discussing a public interest issue, but they don't want to + * allow random people to detract the conversation. + */ +if (empty($moduleContent) && empty($positionContent)) +{ + return; +} +?> +
+

+ +

+ + + +
diff --git a/templates/moko-cassiopeia/html/com_engage/comments/index.html b/templates/moko-cassiopeia/html/com_engage/comments/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/comments/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_engage/index.html b/templates/moko-cassiopeia/html/com_engage/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_engage/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php b/templates/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php new file mode 100644 index 0000000..734fffe --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/accordion_plans.php @@ -0,0 +1,195 @@ +getClassMapping('row-fluid'); +$span7Class = $bootstrapHelper->getClassMapping('span7'); +$span5class = $bootstrapHelper->getClassMapping('span5'); +$imgClass = $bootstrapHelper->getClassMapping('img-polaroid'); +$btnClass = $bootstrapHelper->getClassMapping('btn'); +$btnPrimaryClass = $bootstrapHelper->getClassMapping('btn btn-primary'); +$clearfixClass = $bootstrapHelper->getClassMapping('clearfix'); + +$defaultItemId = $Itemid; + +for ($i = 0 , $n = count($items) ; $i < $n ; $i++) +{ + $item = $items[$i]; + $Itemid = OSMembershipHelperRoute::getPlanMenuId($item->id, $item->category_id, $defaultItemId); + + if ($item->thumb) + { + $imgSrc = $rootUri . '/media/com_osmembership/' . $item->thumb; + } + + if ($item->category_id) + { + $url = Route::_('index.php?option=com_osmembership&view=plan&catid=' . $item->category_id . '&id=' . $item->id . '&Itemid=' . $Itemid); + } + else + { + $url = Route::_('index.php?option=com_osmembership&view=plan&id=' . $item->id . '&Itemid=' . $Itemid); + } + + if ($config->use_https) + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid), false, 1); + } + else + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid)); + } + + $symbol = $item->currency_symbol ?: $item->currency; + ?> +
+ +
+
+
+ thumb) + { + ?> + <?php echo $item->title; ?> + short_description) + { + echo $item->short_description; + } + else + { + echo $item->description; + } + ?> +
+
+ $item]); ?> +
+
+
+
    + getLanguage(); + + if (in_array('subscribe', $actions)) + { + if ($language->hasKey('OSM_SIGNUP_PLAN_' . $item->id)) + { + $signUpLanguageItem = 'OSM_SIGNUP_PLAN_' . $item->id; + } + else + { + $signUpLanguageItem = 'OSM_SIGNUP'; + } + + if ($language->hasKey('OSM_RENEW_PLAN_' . $item->id)) + { + $renewLanguageItem = 'OSM_RENEW_PLAN_' . $item->id; + } + else + { + $renewLanguageItem = 'OSM_RENEW'; + } + ?> +
  • + + id, $subscribedPlanIds) ? Text::_($renewLanguageItem) : Text::_($signUpLanguageItem); ?> + +
  • + hasKey('OSM_UPGRADE_PLAN_' . $item->id)) + { + $upgradeLanguageItem = 'OSM_UPGRADE_PLAN_' . $item->id; + } + else + { + $upgradeLanguageItem = 'OSM_UPGRADE'; + } + + if (count($item->upgrade_rules) > 1) + { + $link = Route::_('index.php?option=com_osmembership&view=upgrademembership&to_plan_id=' . $item->id . '&Itemid=' . OSMembershipHelperRoute::findView('upgrademembership', $Itemid)); + } + else + { + $upgradeOptionId = $item->upgrade_rules[0]->id; + $link = Route::_('index.php?option=com_osmembership&task=register.process_upgrade_membership&upgrade_option_id=' . $upgradeOptionId . '&Itemid=' . $Itemid); + } + ?> +
  • + + + +
  • + hide_details_button)) + { + ?> +
  • + + + +
  • + +
+
+
+
+ getDocument() + ->getWebAssetManager() + ->useScript('core'); + +Text::script('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST'); +$message = "alert(Joomla.JText._('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST'));"; +?> + + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php b/templates/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php new file mode 100644 index 0000000..9e43b82 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/batch_nocheck.php @@ -0,0 +1,24 @@ + + + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/categories.php b/templates/moko-cassiopeia/html/com_osmembership/common/categories.php new file mode 100644 index 0000000..a5b5955 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/categories.php @@ -0,0 +1,56 @@ +getClassMapping('clearfix'); + +for ($i = 0 , $n = count($items) ; $i < $n ; $i++) +{ + $item = $items[$i]; + $link = Route::_(OSMembershipHelperRoute::getCategoryRoute($item->id, $Itemid)); + ?> +
+
+

+ + title;?> + + total_plans ;?> total_plans > 1 ? Text::_('OSM_PLANS') : Text::_('OSM_PLAN') ; ?> +

+
+ description) + { + ?> +
+ description);?> +
+ +
+getDocument() + ->getWebAssetManager() + ->useScript('core'); + +$rootUri = Uri::root(true); +$minHeight = 130; + +if (isset($params)) +{ + $minHeight = (int) $params->get('min_height', 130) ?: 130; +} + +OSMembershipHelperJquery::responsiveEqualHeight('.osm-item-description-text', $minHeight); + +$subscribedPlanIds = OSMembershipHelperSubscription::getSubscribedPlans(); + +if (isset($input) && $input->getInt('number_columns')) +{ + $numberColumns = $input->getInt('number_columns'); +} +elseif (!empty($config->number_columns)) +{ + $numberColumns = $config->number_columns; +} +else +{ + $numberColumns = 3; +} + +if (!isset($categoryId)) +{ + $categoryId = 0; +} + +$span = intval(12 / $numberColumns); + +$btnClass = $bootstrapHelper->getClassMapping('btn'); +$btnPrimaryClass = $bootstrapHelper->getClassMapping('btn btn-primary'); +$imgClass = $bootstrapHelper->getClassMapping('img-polaroid'); +$spanClass = $bootstrapHelper->getClassMapping('span' . $span); +$rowFluidClearfixClass = $bootstrapHelper->getClassMapping('row-fluid clearfix'); +$clearFixClass = $bootstrapHelper->getClassMapping('clearfix'); +?> +
+id, $item->category_id, $defaultItemId); + + if ($item->thumb) + { + $imgSrc = $rootUri . '/media/com_osmembership/' . $item->thumb; + } + + $url = Route::_('index.php?option=com_osmembership&view=plan&catid=' . $item->category_id . '&id=' . $item->id . '&Itemid=' . $Itemid); + + if ($config->use_https) + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid), false, 1); + } + else + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid)); + } + ?> +
+ +
+ thumb) + { + ?> + + + + short_description) + { + $item->short_description = $item->description; + } + ?> +
short_description; ?>
+
+
    + getLanguage(); + + if (in_array('subscribe', $actions)) + { + if ($language->hasKey('OSM_SIGNUP_PLAN_' . $item->id)) + { + $signUpLanguageItem = 'OSM_SIGNUP_PLAN_' . $item->id; + } + else + { + $signUpLanguageItem = 'OSM_SIGNUP'; + } + + if ($language->hasKey('OSM_RENEW_PLAN_' . $item->id)) + { + $renewLanguageItem = 'OSM_RENEW_PLAN_' . $item->id; + } + else + { + $renewLanguageItem = 'OSM_RENEW'; + } + ?> +
  • + + id, $subscribedPlanIds) ? Text::_($renewLanguageItem) : Text::_($signUpLanguageItem); ?> + +
  • + hasKey('OSM_UPGRADE_PLAN_' . $item->id)) + { + $upgradeLanguageItem = 'OSM_UPGRADE_PLAN_' . $item->id; + } + else + { + $upgradeLanguageItem = 'OSM_UPGRADE'; + } + + if (count($item->upgrade_rules) > 1) + { + $link = Route::_('index.php?option=com_osmembership&view=upgrademembership&to_plan_id=' . $item->id . '&Itemid=' . OSMembershipHelperRoute::findView('upgrademembership', $Itemid)); + } + else + { + $upgradeOptionId = $item->upgrade_rules[0]->id; + $link = Route::_('index.php?option=com_osmembership&task=register.process_upgrade_membership&upgrade_option_id=' . $upgradeOptionId . '&Itemid=' . $Itemid); + } + ?> +
  • + + + +
  • + hide_details_button)) + { + ?> +
  • + + + +
  • + +
+
+
+
+ +
+
+ +
diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/default_plans.php b/templates/moko-cassiopeia/html/com_osmembership/common/default_plans.php new file mode 100644 index 0000000..ecd9b73 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/default_plans.php @@ -0,0 +1,231 @@ +getClassMapping('row-fluid'); +$imgClass = $bootstrapHelper->getClassMapping('img-polaroid'); +$btnClass = $bootstrapHelper->getClassMapping('btn'); +$btnPrimaryClass = $bootstrapHelper->getClassMapping('btn btn-primary'); +$clearfixClass = $bootstrapHelper->getClassMapping('clearfix'); + +$defaultItemId = $Itemid; + +if (isset($params)) +{ + $showPlanInformation = $params->get('show_plan_information', 1); + $planInformationPosition = $params->get('plan_information_position', 0); +} +else +{ + $showPlanInformation = 1; + $planInformationPosition = 0; +} + +if ($showPlanInformation && $planInformationPosition == 0) +{ + $leftClass = $bootstrapHelper->getClassMapping('span7'); + $rightClass = $bootstrapHelper->getClassMapping('span5'); +} +else +{ + $leftClass = $bootstrapHelper->getClassMapping('clearfix'); + $rightClass = $bootstrapHelper->getClassMapping('clearfix'); +} + +for ($i = 0 , $n = count($items) ; $i < $n ; $i++) +{ + $item = $items[$i]; + $Itemid = OSMembershipHelperRoute::getPlanMenuId($item->id, $item->category_id, $defaultItemId); + + if ($item->thumb) + { + $imgSrc = $rootUri . '/media/com_osmembership/' . $item->thumb; + } + + if ($item->category_id) + { + $url = Route::_('index.php?option=com_osmembership&view=plan&catid=' . $item->category_id . '&id=' . $item->id . '&Itemid=' . $Itemid); + } + else + { + $url = Route::_('index.php?option=com_osmembership&view=plan&id=' . $item->id . '&Itemid=' . $Itemid); + } + + if ($config->use_https) + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid), false, 1); + } + else + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid)); + } + ?> +
+ +
+
+ +
+ $item]); ?> +
+ +
+ thumb) + { + ?> + <?php echo $item->title; ?> + short_description) + { + echo $item->short_description; + } + else + { + echo $item->description; + } + ?> +
+ +
+ $item]); ?> +
+ +
+
+
    + getLanguage(); + + if (in_array('subscribe', $actions)) + { + if ($language->hasKey('OSM_SIGNUP_PLAN_' . $item->id)) + { + $signUpLanguageItem = 'OSM_SIGNUP_PLAN_' . $item->id; + } + else + { + $signUpLanguageItem = 'OSM_SIGNUP'; + } + + if ($language->hasKey('OSM_RENEW_PLAN_' . $item->id)) + { + $renewLanguageItem = 'OSM_RENEW_PLAN_' . $item->id; + } + else + { + $renewLanguageItem = 'OSM_RENEW'; + } + ?> +
  • + + id, $subscribedPlanIds) ? Text::_($renewLanguageItem) : Text::_($signUpLanguageItem); ?> + +
  • + hasKey('OSM_UPGRADE_PLAN_' . $item->id)) + { + $upgradeLanguageItem = 'OSM_UPGRADE_PLAN_' . $item->id; + } + else + { + $upgradeLanguageItem = 'OSM_UPGRADE'; + } + + if (count($item->upgrade_rules) > 1) + { + $link = Route::_('index.php?option=com_osmembership&view=upgrademembership&to_plan_id=' . $item->id . '&Itemid=' . OSMembershipHelperRoute::findView('upgrademembership', $Itemid)); + } + else + { + $upgradeOptionId = $item->upgrade_rules[0]->id; + $link = Route::_('index.php?option=com_osmembership&task=register.process_upgrade_membership&upgrade_option_id=' . $upgradeOptionId . '&Itemid=' . $Itemid); + } + ?> +
  • + + + +
  • + hide_details_button)) + { + ?> +
  • + + + +
  • + +
+
+
+
+first_name . ' ' . $rowMember->last_name); +} + +echo implode("\r\n", $names); + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/index.html b/templates/moko-cassiopeia/html/com_osmembership/common/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php b/templates/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php new file mode 100644 index 0000000..0dc2da4 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/paymentredirect.php @@ -0,0 +1,36 @@ + +
+
> + $val) + { + echo ''; + echo "\n"; + } + ?> + +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php b/templates/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php new file mode 100644 index 0000000..c765448 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/plan_custom_fields.php @@ -0,0 +1,45 @@ +getFieldset('basic') as $field) +{ + if ($field->getAttribute('hide')) + { + continue; + } +?> + + + getAttribute('label')); ?>: + + + fieldsData->get($field->getAttribute('name')); ?> + + +currency_symbol ?: $item->currency; +?> + + setup_fee > 0) + { + ?> + + + + + recurring_subscription && $item->trial_duration) + { + ?> + + + + + + + + + + expired_date)) + { + ?> + + + + + + + + + + $item]); + } + ?> +
+ : + + setup_fee, $config, $symbol); ?> +
+ : + + lifetime_membership) + { + echo Text::_('OSM_LIFETIME'); + } + else + { + echo OSMembershipHelperSubscription::getDurationText($item->trial_duration, $item->trial_duration_unit); + } + ?> +
+ : + + trial_amount > 0) + { + echo OSMembershipHelper::formatCurrency($item->trial_amount, $config, $symbol); + } + else + { + echo Text::_('OSM_FREE'); + } + ?> +
+ : + + lifetime_membership) + { + echo Text::_('OSM_LIFETIME'); + } + else + { + echo OSMembershipHelperSubscription::getDurationText($item->subscription_length, $item->subscription_length_unit); + } + ?> +
+ : + + price > 0) + { + echo OSMembershipHelper::formatCurrency($item->price, $config, $symbol); + } + else + { + echo Text::_('OSM_FREE'); + } + ?> +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/priceduration.php b/templates/moko-cassiopeia/html/com_osmembership/common/priceduration.php new file mode 100644 index 0000000..0978186 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/priceduration.php @@ -0,0 +1,70 @@ +dec_point ?? '.'; +$thousands_sep = $config->thousands_sep ?? ','; + +if ($item->lifetime_membership) +{ + $subscriptionLengthText = Text::_('OSM_LIFETIME'); +} +else +{ + $subscriptionLengthText = OSMembershipHelperSubscription::getDurationText($item->subscription_length, $item->subscription_length_unit, false); +} + +if ($item->price > 0) +{ + $priceParts = explode('.', $item->price); + + if ($priceParts[1] == '00' || $config->decimals === '0') + { + $numberDecimals = 0; + } + else + { + $numberDecimals = 2; + } + + $symbol = $item->currency_symbol ?: $item->currency; + + if (!$symbol) + { + $symbol = $config->currency_symbol; + } + + if ($config->currency_position == 0) + { + echo $symbol . number_format($item->price, $numberDecimals, $dec_point, $thousands_sep) . ($subscriptionLengthText ? "/$subscriptionLengthText" : ''); + } + else + { + echo number_format($item->price, $numberDecimals, $dec_point, $thousands_sep) . $symbol . ($subscriptionLengthText ? "/$subscriptionLengthText" : ''); + } +} +else +{ + echo Text::_('OSM_FREE') . ($subscriptionLengthText ? " /$subscriptionLengthText" : ''); +} + + + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php b/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php new file mode 100644 index 0000000..bbf8854 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_circle_plans.php @@ -0,0 +1,237 @@ +getParams(); +} + +if (isset($input) && $input->getInt('recommended_plan_id')) +{ + $recommendedPlanId = $input->getInt('recommended_plan_id'); +} +else +{ + $recommendedPlanId = (int) $params->get('recommended_campaign_id'); +} + +$standardPlanBackgroundColor = $params->get('standard_plan_color', '#00B69C'); +$recommendedPlanBackgroundColor = $params->get('recommended_plan_color', '#bF75500'); +$showDetailsButton = $params->get('show_details_button', 0); + +if (isset($input) && $input->getInt('number_columns')) +{ + $numberColumns = $input->getInt('number_columns'); +} +elseif (isset($config->number_columns)) +{ + $numberColumns = $config->number_columns; +} +else +{ + $numberColumns = 3; +} + +$numberColumns = min($numberColumns, 5); + +if (!isset($categoryId)) +{ + $categoryId = 0; +} + +$span = intval(12 / $numberColumns); +$imgClass = $bootstrapHelper->getClassMapping('img-polaroid'); +$spanClass = $bootstrapHelper->getClassMapping('span' . $span); + +$i = 0; +$numberPlans = count($items); +$defaultItemId = $Itemid; +$rootUri = Uri::root(true); + +foreach ($items as $item) +{ + $Itemid = OSMembershipHelperRoute::getPlanMenuId($item->id, $item->category_id, $defaultItemId); + + if ($item->thumb) + { + $imgSrc = $rootUri . '/media/com_osmembership/' . $item->thumb; + } + + $url = Route::_('index.php?option=com_osmembership&view=plan&catid=' . $item->category_id . '&id=' . $item->id . '&Itemid=' . $Itemid); + + if ($config->use_https) + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid), false, 1); + } + else + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid)); + } + + if (!$item->short_description) + { + $item->short_description = $item->description; + } + + if ($item->id == $recommendedPlanId) + { + $recommended = true; + $backgroundColor = $recommendedPlanBackgroundColor; + } + else + { + $recommended = false; + $backgroundColor = $standardPlanBackgroundColor; + } + + if ($i % $numberColumns == 0) + { + ?> +
+ +
+
+
+

+ title; ?> +

+
+

+ $item]); ?> +

+
+
+
+ short_description;?> +
+ +
+
+ +
+ ' ; +} +?> + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php b/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php new file mode 100644 index 0000000..b69920b --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_flat_plans.php @@ -0,0 +1,233 @@ +getParams(); +} + +if (isset($input) && $input->getInt('recommended_plan_id')) +{ + $recommendedPlanId = $input->getInt('recommended_plan_id'); +} +else +{ + $recommendedPlanId = (int) $params->get('recommended_campaign_id'); +} + +$standardPlanBackgroundColor = $params->get('standard_plan_color', '#00B69C'); +$recommendedPlanBackgroundColor = $params->get('recommended_plan_color', '#F75500'); +$showDetailsButton = $params->get('show_details_button', 0); + +if (isset($input) && $input->getInt('number_columns')) +{ + $numberColumns = $input->getInt('number_columns'); +} +elseif (isset($config->number_columns)) +{ + $numberColumns = $config->number_columns; +} +else +{ + $numberColumns = 3; +} + +$numberColumns = min($numberColumns, 5); + +if (!isset($categoryId)) +{ + $categoryId = 0; +} + +$span = intval(12 / $numberColumns); +$imgClass = $bootstrapHelper->getClassMapping('img-polaroid'); +$spanClass = $bootstrapHelper->getClassMapping('span' . $span); + +$i = 0; +$numberPlans = count($items); +$defaultItemId = $Itemid; +$rootUri = Uri::root(true); + +foreach ($items as $item) +{ + $Itemid = OSMembershipHelperRoute::getPlanMenuId($item->id, $item->category_id, $defaultItemId); + + if ($item->thumb) + { + $imgSrc = $rootUri . '/media/com_osmembership/' . $item->thumb; + } + + $url = Route::_('index.php?option=com_osmembership&view=plan&catid=' . $item->category_id . '&id=' . $item->id . '&Itemid=' . $Itemid); + + if ($config->use_https) + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid), false, 1); + } + else + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid)); + } + + if (!$item->short_description) + { + $item->short_description = $item->description; + } + + if ($item->id == $recommendedPlanId) + { + $recommended = true; + $backgroundColor = $recommendedPlanBackgroundColor; + } + else + { + $recommended = false; + $backgroundColor = $standardPlanBackgroundColor; + } + + if ($i % $numberColumns == 0) + { + ?> +
+ +
+
+
+

+ title; ?> +

+
+
+

+ $item]); ?> +

+
+
+ short_description;?> +
+ +
+
+ +
+ ' ; +} + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php b/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php new file mode 100644 index 0000000..4e3e9f4 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/pricingtable_plans.php @@ -0,0 +1,261 @@ +getParams(); +} + +// Background color settings +$badgeBgColor = $params->get('recommended_badge_background_color'); +$headerBgColor = $params->get('header_background_color'); +$priceBgColor = $params->get('price_background_color'); +$recommendedPriceBgColor = $params->get('recommended_plan_price_background_color'); + +if (isset($input) && $input->getInt('recommended_plan_id')) +{ + $recommendedPlanId = $input->getInt('recommended_plan_id'); +} +else +{ + $recommendedPlanId = (int) $params->get('recommended_campaign_id'); +} + +$showDetailsButton = $params->get('show_details_button', 0); + +if (isset($input) && $input->getInt('number_columns')) +{ + $numberColumns = $input->getInt('number_columns'); +} +elseif (isset($config->number_columns)) +{ + $numberColumns = $config->number_columns ; +} +else +{ + $numberColumns = 3 ; +} + +$numberColumns = min($numberColumns, 4); + +if (!isset($categoryId)) +{ + $categoryId = 0; +} + +$span = intval(12 / $numberColumns); + +$btnClass = $bootstrapHelper->getClassMapping('btn'); +$btnPrimaryClass = $bootstrapHelper->getClassMapping('btn btn-primary'); +$imgClass = $bootstrapHelper->getClassMapping('img-polaroid'); +$spanClass = $bootstrapHelper->getClassMapping('span' . $span); + +$rootUri = Uri::root(true); +$i = 0; +$numberPlans = count($items); +$defaultItemId = $Itemid; + +foreach ($items as $item) +{ + $Itemid = OSMembershipHelperRoute::getPlanMenuId($item->id, $item->category_id, $defaultItemId); + + if ($item->thumb) + { + $imgSrc = $rootUri . '/media/com_osmembership/' . $item->thumb; + } + + $url = Route::_('index.php?option=com_osmembership&view=plan&catid=' . $item->category_id . '&id=' . $item->id . '&Itemid=' . $Itemid); + + if ($config->use_https) + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid), false, 1); + } + else + { + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $Itemid)); + } + + if (!$item->short_description) + { + $item->short_description = $item->description; + } + + if ($item->id == $recommendedPlanId) + { + $recommended = true; + } + else + { + $recommended = false; + } + + if ($recommended && $recommendedPriceBgColor) + { + $planPriceBackgroundColor = $recommendedPriceBgColor; + } + elseif ($priceBgColor) + { + $planPriceBackgroundColor = $priceBgColor; + } + else + { + $planPriceBackgroundColor = ''; + } + + if ($i % $numberColumns == 0) + { + ?> +
+ +
+
+ + + +
> +

+ title; ?> +

+
+
> +

+

+ $item]); ?> +

+

+
+
+ short_description;?> +
+ getLanguage(); + ?> + + +
+
+ +
+ ' ; +} + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/renew_options.php b/templates/moko-cassiopeia/html/com_osmembership/common/renew_options.php new file mode 100644 index 0000000..05b8822 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/renew_options.php @@ -0,0 +1,129 @@ + +
    + getIdentity()->id; + $renewOptionCount = 0; + $fieldSuffix = OSMembershipHelper::getFieldSuffix(); + + foreach ($this->planIds as $planId) + { + $plan = $this->plans[$planId]; + $taxRate = 0; + + if ($this->config->show_price_including_tax && !$this->config->setup_price_including_tax) + { + $taxRate = OSMembershipHelper::calculateMaxTaxRate($planId); + } + + $symbol = $plan->currency_symbol ?: $plan->currency; + $renewOptions = $this->renewOptions[$planId] ?? []; + + if (count($renewOptions)) + { + foreach ($renewOptions as $renewOption) + { + $checked = ''; + + if ($renewOptionCount == 0) + { + $checked = ' checked="checked" '; + } + + $renewOptionCount++; + $renewOptionLengthText = OSMembershipHelperSubscription::getDurationText($renewOption->renew_option_length, $renewOption->renew_option_length_unit); + + $renewOptionText = Text::sprintf('OSM_RENEW_OPTION_TEXT', $plan->title, $renewOptionLengthText, OSMembershipHelper::formatCurrency($renewOption->price * (1 + $taxRate / 100), $this->config, $symbol)); + + if (strpos($renewOptionText, '[EXPIRED_DATE]')) + { + $expiredDate = OSMembershipHelperSubscription::getPlanExpiredDate($planId); + + if ($expiredDate) + { + $expiredDate = HTMLHelper::_('date', $expiredDate, $this->config->date_format); + } + + $renewOptionText = str_replace('[EXPIRED_DATE]', $expiredDate, $renewOptionText); + } + ?> +
  • + /> + +
  • + subscription_length, $plan->subscription_length_unit); + + $renewalDiscountRule = OSMembershipHelperSubscription::getRenewalDiscount($userId, $planId); + + if ($renewalDiscountRule) + { + if ($renewalDiscountRule->discount_type == 0) + { + $plan->price = round($plan->price * (1 - $renewalDiscountRule->discount_amount / 100), 2); + } + else + { + $plan->price = $plan->price - $renewalDiscountRule->discount_amount; + } + + if ($plan->price < 0) + { + $plan->price = 0; + } + } + + $renewOptionText = Text::sprintf('OSM_RENEW_OPTION_TEXT', $plan->title, $subscriptionLengthText, OSMembershipHelper::formatCurrency($plan->price * (1 + $taxRate / 100), $this->config, $symbol)); + + if (strpos($renewOptionText, '[EXPIRED_DATE]')) + { + $expiredDate = OSMembershipHelperSubscription::getPlanExpiredDate($plan->id); + + if ($expiredDate) + { + $expiredDate = HTMLHelper::_('date', $expiredDate, $this->config->date_format); + } + + $renewOptionText = str_replace('[EXPIRED_DATE]', $expiredDate, $renewOptionText); + } + ?> +
  • + /> + +
  • + +
+
+ +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php b/templates/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php new file mode 100644 index 0000000..a020cfa --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/restrictionmsg.php @@ -0,0 +1,31 @@ +' . $introText . ''; +} +?> +
+ +
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php b/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php new file mode 100644 index 0000000..89abd4b --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_history.php @@ -0,0 +1,176 @@ +get('db'); +$query = $db->getQuery(true) + ->select('COUNT(*)') + ->from('#__osmembership_plugins') + ->where('published = 1') + ->where('name NOT LIKE "os_offline%"'); +$db->setQuery($query); +$hasOnlinePaymentPlugin = $db->loadResult() > 0; + +$makePaymentItemid = OSMembershipHelperRoute::getViewRoute('payment', $this->Itemid); + +$cols = 5; + +$bootstrapHelper = OSMembershipHelperBootstrap::getInstance(); +$centerClass = $bootstrapHelper->getClassMapping('center'); +$hiddenPhoneClass = $bootstrapHelper->getClassMapping('hidden-phone'); +?> + + + + + + + + + config->activate_invoice_feature) + { + $cols++ ; + ?> + + + + + + items) ; $i < $n ; $i++) { + $row = $this->items[$i]; + $k = 1 - $k; + $link = Route::_('index.php?option=com_osmembership&view=subscription&id=' . $row->id . '&Itemid=' . $this->Itemid); + $symbol = $row->currency_symbol ?: $row->currency; + ?> + + + + + + + config->activate_invoice_feature) + { + ?> + + + + + + total > $pagination->limit)) + { + ?> + + + + + + +
+ + + + + + + + + + + +
+ plan_title; ?> + + created_date, $this->config->date_format); ?> + + from_date, $this->config->date_format); ?> + + lifetime_membership || $row->to_date == '2099-12-31 23:59:59') + { + echo Text::_('OSM_LIFETIME'); + } + else + { + echo HTMLHelper::_('date', $row->to_date, $this->config->date_format); + } + ?> + + + gross_amount, $this->config, $symbol)?> + + published) + { + case 0 : + echo Text::_('OSM_PENDING'); + + if ($this->config->enable_subscription_payment && $row->gross_amount > 0 && $hasOnlinePaymentPlugin) + { + ?> +
+ +
+ invoice_number) + { + ?> + config); ?> + +
+ +
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php b/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php new file mode 100644 index 0000000..fd626e3 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/subscriptions_pdf.php @@ -0,0 +1,105 @@ + +

+

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ No + + + + + + + + + + + + + + + + + + +
first_name; ?>last_name; ?>plan; ?>from_date . ' / ' . $row->to_date; ?>email; ?>created_date; ?>amount; ?> + published) + { + case 0: + echo Text::_('OSM_PENDING'); + break; + case 1: + echo Text::_('OSM_ACTIVE'); + break; + case 2: + echo Text::_('OSM_EXPIRED'); + break; + case 3 : + echo Text::_('OSM_CANCELLED_PENDING'); + break ; + case 4 : + echo Text::_('OSM_CANCELLED_REFUNDED'); + break ; + } + ?> + id; ?>
diff --git a/templates/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php b/templates/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php new file mode 100644 index 0000000..f27993a --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/common/upgrade_options.php @@ -0,0 +1,48 @@ + +
    + upgradeRules as $rule) + { + $checked = ''; + + if ($upgradeOptionCount == 0) + { + $checked = ' checked="checked" '; + } + + $upgradeOptionCount++; + $upgradeToPlan = $this->plans[$rule->to_plan_id]; + $symbol = $upgradeToPlan->currency_symbol ?: $upgradeToPlan->currency; + + $taxRate = 0; + + if ($this->config->show_price_including_tax && !$this->config->setup_price_including_tax) + { + $taxRate = OSMembershipHelper::calculateMaxTaxRate($rule->to_plan_id); + } + ?> +
  • + /> + +
  • + +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/index.html b/templates/moko-cassiopeia/html/com_osmembership/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default.php new file mode 100644 index 0000000..9c549e5 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default.php @@ -0,0 +1,141 @@ + true, 'sanitize' => false]); + +$config = OSMembershipHelper::getConfig(); +$editor = Editor::getInstance($config->get('editor') ?: Factory::getApplication()->get('editor')); +$translatable = Multilanguage::isEnabled() && count($this->languages); +$bootstrapHelper = OSMembershipHelperBootstrap::getInstance(); +$rowFluid = $bootstrapHelper->getClassMapping('row-fluid'); +$span8 = $bootstrapHelper->getClassMapping('span7'); +$span4 = $bootstrapHelper->getClassMapping('span5'); + +HTMLHelper::_('formbehavior.chosen', '.advSelect'); + +Factory::getApplication() + ->getDocument() + ->getWebAssetManager() + ->useScript('core') + ->useScript('showon') + ->registerAndUseScript('com_osmembership.site-mplan-default', 'media/com_osmembership/js/site-mplan-default.min.js'); + +$keys = ['OSM_ENTER_PLAN_TITLE', 'OSM_ENTER_SUBSCRIPTION_LENGTH', 'OSM_PRICE_REQUIRED', 'OSM_INVALID_SUBSCRIPTION_LENGTH']; +OSMembershipHelperHtml::addJSStrings($keys); +?> +
+

item->id > 0 ? Text::_('OSM_EDIT_PLAN') : Text::_('OSM_ADD_PLAN'); ?>

+
+ render(); ?> +
+
+ 'basic-information-page', 'recall' => true]); + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'basic-information-page', Text::_('OSM_BASIC_INFORMATION')); + echo $this->loadTemplate('general', ['editor' => $editor]); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'recurring-settings-page', Text::_('OSM_RECURRING_SETTINGS')); + echo $this->loadTemplate('recurring_settings'); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'renew-options-page', Text::_('OSM_RENEW_OPTIONS')); + echo $this->loadTemplate('renew_options'); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'upgrade-options-page', Text::_('OSM_UPGRADE_OPTIONS')); + echo $this->loadTemplate('upgrade_options'); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'renewal-discounts-page', Text::_('OSM_EARLY_RENEWAL_DISCOUNTS')); + echo $this->loadTemplate('renewal_discounts'); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'reminders-settings-page', Text::_('OSM_REMINDERS_SETTINGS')); + echo $this->loadTemplate('reminders_settings'); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'group-membership-settings-page', Text::_('OSM_GROUP_MEMBERSHIP')); + echo $this->loadTemplate('group_membership'); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'advanced-settings-page', Text::_('OSM_ADVANCED_SETTINGS')); + echo $this->loadTemplate('advanced_settings'); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'metadata-page', Text::_('OSM_META_DATA')); + echo $this->loadTemplate('metadata'); + echo HTMLHelper::_( 'uitab.endTab'); + + if ($this->config->activate_member_card_feature) + { + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'member-card-page', Text::_('OSM_MEMBER_CARD_SETTINGS')); + echo $this->loadTemplate('member_card', ['editor' => $editor]); + echo HTMLHelper::_( 'uitab.endTab'); + } + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'messages-page', Text::_('OSM_MESSAGES')); + echo $this->loadTemplate('messages', ['editor' => $editor]); + echo HTMLHelper::_( 'uitab.endTab'); + + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'reminder-messages-page', Text::_('OSM_REMINDER_MESSAGES')); + echo $this->loadTemplate('reminder_messages', ['editor' => $editor]); + echo HTMLHelper::_( 'uitab.endTab'); + + if ($translatable) + { + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'translation-page', Text::_('OSM_TRANSLATION')); + echo $this->loadTemplate('translation', ['editor' => $editor]); + echo HTMLHelper::_( 'uitab.endTab'); + } + + if (count($this->plugins)) + { + $count = 0 ; + + foreach ($this->plugins as $plugin) + { + if (is_array($plugin) && array_key_exists('title', $plugin) && array_key_exists('form', $plugin)) + { + $count++ ; + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'tab_' . $count, Text::_($plugin['title'])); + echo $plugin['form']; + echo HTMLHelper::_( 'uitab.endTab'); + } + } + } + + // Add support for custom settings layout + if (file_exists(__DIR__ . '/default_custom_settings.php')) + { + echo HTMLHelper::_( 'uitab.addTab', 'plan', 'custom-settings-page', Text::_('OSM_CUSTOM_SETTINGS')); + echo $this->loadTemplate('custom_settings', ['editor' => $editor]); + echo HTMLHelper::_( 'uitab.endTab'); + } + + echo HTMLHelper::_( 'uitab.endTabSet'); + ?> +
+ + + + +
+
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php new file mode 100644 index 0000000..52635ba --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_advanced_settings.php @@ -0,0 +1,173 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); +?> +
+
+ +
+
+ +
+
+item->id && !$this->item->recurring_subscription) +{ +?> +
+
+ +
+
+ lists['subscription_start_date_option'];?> +
+
+
'1']); ?>'> +
+ +
+
+ planParams->get('subscription_start_date'), 'subscription_start_date', 'subscription_start_date', '%Y-%m-%d %H:%M:%S') ; ?> +
+
+
'2']); ?>'> +
+ +
+
+ lists['subscription_start_date_field'];?> +
+
+ +
+
+ +
+
+ lists['free_plan_subscription_status'];?> +
+
+
+
+ +
+
+ lists['login_redirect_menu_id']; ?> +
+
+
+
+ +
+
+ lists['number_fields_per_row']; ?> +
+
+
+
+ +
+
+ lists['payment_methods'];?> +
+
+
+
+ +
+
+ lists['currency'];?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ item->publish_up, 'publish_up', 'publish_up', $this->datePickerFormat . ' %H:%M:%S', ['class' => 'input-medium']); ?> +
+
+
+
+ +
+
+ item->publish_down, 'publish_down', 'publish_down', $this->datePickerFormat . ' %H:%M:%S', ['class' => 'input-medium']); ?> +
+
+
+
+ +
+
+ item->terms_and_conditions_article_id, 'terms_and_conditions_article_id'); ?> +
+
+
+
+ +
+
+ +
+
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_general.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_general.php new file mode 100644 index 0000000..9ec11c0 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_general.php @@ -0,0 +1,166 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); +?> +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ lists['category_id']; ?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ lists['subscription_length_unit']; ?> +
+
+
+
+ +
+
+ item->expired_date, 'expired_date', 'expired_date', $this->datePickerFormat) ; ?> +
+
+item->expired_date) +{ +?> +
+
+ +
+
+ lists['prorated_signup_cost'];?> +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ lists['lifetime_membership'];?> +
+
+
+
+ +
+
+ + item->thumb) + { + ?> + + + +
+
+
+
+ +
+
+ lists['enable_renewal']; ?> +
+
+
+
+ +
+
+ lists['access']; ?> +
+
+lists['published'])) + { + ?> +
+
+ +
+
+ lists['published']; ?> +
+
+ +
+
+ +
+
+ display('short_description', $this->item->short_description, '100%', '250', '75', '10') ; ?> +
+
+
+
+ +
+
+ display('description', $this->item->description, '100%', '250', '75', '10') ; ?> +
+
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php new file mode 100644 index 0000000..41c26a8 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_group_membership.php @@ -0,0 +1,45 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); +?> +
+
+ +
+
+ lists['number_members_type']; ?> +
+
+
'0']); ?>'> +
+ +
+
+ +
+
+
'1']); ?>'> +
+ +
+
+ lists['number_members_field']; ?> +
+
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php new file mode 100644 index 0000000..1c2fe3c --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_member_card.php @@ -0,0 +1,46 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); + +?> +
+
+ +
+
+ item->activate_member_card_feature); ?> +
+
+
+
+ +
+
+ item->card_bg_image, 'card_bg_image'); ?> +
+
+
+
+ +
+
+ display('card_layout', $this->item->card_layout, '100%', '550', '75', '8') ;?> +
+
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php new file mode 100644 index 0000000..fae9e81 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_messages.php @@ -0,0 +1,194 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); +?> +
+

+
+
+
+ +
+
+ display('subscription_form_message', $this->item->subscription_form_message, '100%', '250', '75', '10'); ?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('user_email_body', $this->item->user_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('user_email_body_offline', $this->item->user_email_body_offline, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('admin_email_body', $this->item->admin_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('thanks_message', $this->item->thanks_message, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('thanks_message_offline', $this->item->thanks_message_offline, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('subscription_approved_email_body', $this->item->subscription_approved_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('user_renew_email_body', $this->item->user_renew_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('user_renew_email_body_offline', $this->item->user_renew_email_body_offline, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('admin_renew_email_body', $this->item->admin_renew_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('user_upgrade_email_body', $this->item->user_upgrade_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('user_upgrade_email_body_offline', $this->item->user_upgrade_email_body_offline, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('admin_upgrade_email_body', $this->item->admin_upgrade_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('renew_thanks_message', $this->item->renew_thanks_message, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('renew_thanks_message_offline', $this->item->renew_thanks_message_offline, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('upgrade_thanks_message', $this->item->upgrade_thanks_message, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('upgrade_thanks_message_offline', $this->item->upgrade_thanks_message_offline, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('invoice_layout', $this->item->invoice_layout, '100%', '250', '75', '8'); ?> +
+
diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php new file mode 100644 index 0000000..3028781 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_metadata.php @@ -0,0 +1,56 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); +?> +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php new file mode 100644 index 0000000..9c17b56 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_recurring_settings.php @@ -0,0 +1,81 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); +?> +
+
+
+ +
+
+ lists['recurring_subscription']; ?> +
+
+
'1']); ?>'> +
+ +
+
+ +
+
+
'1']); ?>'> +
+ +
+
+ + lists['trial_duration_unit']; ?> +
+
+
'1']); ?>'> +
+ +
+
+ +
+
+ + item->number_payments > 0) + { + ?> +
+
+ +
+
+ lists['last_payment_action']; ?> +
+
+
'2']); ?>'> +
+ +
+
+ + lists['extend_duration_unit']; ?> +
+
+ +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php new file mode 100644 index 0000000..8c72f6b --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminder_messages.php @@ -0,0 +1,75 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); +?> +
+

+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('first_reminder_email_body', $this->item->first_reminder_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('second_reminder_email_body', $this->item->second_reminder_email_body, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('third_reminder_email_body', $this->item->third_reminder_email_body, '100%', '250', '75', '8'); ?> +
+
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php new file mode 100644 index 0000000..051c8a1 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_reminders_settings.php @@ -0,0 +1,62 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); +?> +
+
+
+ +
+
+ lists['send_first_reminder_time']; ?> +
+
+
+
+ +
+
+ lists['send_second_reminder_time']; ?> +
+
+
+
+ +
+
+ lists['send_third_reminder_time']; ?> +
+
+ item->number_payments > 0) + { + ?> +
+
+ +
+
+ lists['send_subscription_end_time']; ?> +
+
+ +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php new file mode 100644 index 0000000..7513c9c --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renew_options.php @@ -0,0 +1,34 @@ +prices as $renewOption) +{ + $formData['renew_options'][] = [ + 'id' => $renewOption->id, + 'renew_option_length' => $renewOption->renew_option_length, + 'renew_option_length_unit' => $renewOption->renew_option_length_unit, + 'price' => $renewOption->price, + ]; +} + +$form->bind($formData); + +foreach ($form->getFieldset() as $field) +{ + echo $field->input; +} + diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php new file mode 100644 index 0000000..825f088 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_renewal_discounts.php @@ -0,0 +1,34 @@ +renewalDiscounts as $renewalDiscount) +{ + $formData['renewal_discounts'][] = [ + 'id' => $renewalDiscount->id, + 'number_days' => $renewalDiscount->number_days, + 'discount_type' => $renewalDiscount->discount_type, + 'discount_amount' => $renewalDiscount->discount_amount, + ]; +} + +$form->bind($formData); + +foreach ($form->getFieldset() as $field) +{ + echo $field->input; +} + diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php new file mode 100644 index 0000000..64cf5e4 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/default_translation.php @@ -0,0 +1,223 @@ +getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); + +echo HTMLHelper::_('bootstrap.startTabSet', 'plan-translation', ['active' => 'translation-page-' . $this->languages[0]->sef, 'recall' => true]); + +foreach ($this->languages as $language) +{ + $sef = $language->sef; + echo HTMLHelper::_('bootstrap.addTab', 'plan-translation', 'translation-page-' . $sef, $language->title . ' '); + ?> +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('short_description_' . $sef, $this->item->{'short_description_' . $sef}, '100%', '250', '75', '10') ; ?> +
+
+
+
+ +
+
+ display('description_' . $sef, $this->item->{'description_' . $sef}, '100%', '250', '75', '10') ; ?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('subscription_form_message_' . $sef, $this->item->{'subscription_form_message_' . $sef}, '100%', '250', '75', '10') ; ?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('user_email_body_' . $sef, $this->item->{'user_email_body_' . $sef}, '100%', '250', '75', '8') ;?> +
+
+
+
+ +
+
+ display('user_email_body_offline_' . $sef, $this->item->{'user_email_body_offline_' . $sef}, '100%', '250', '75', '8') ;?> +
+
+
+
+ +
+
+ display('thanks_message_' . $sef, $this->item->{'thanks_message_' . $sef}, '100%', '250', '75', '8') ;?> +
+
+
+
+ +
+
+ display('thanks_message_offline_' . $sef, $this->item->{'thanks_message_offline_' . $sef}, '100%', '250', '75', '8') ;?> +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ display('subscription_approved_email_body_' . $sef, $this->item->{'subscription_approved_email_body_' . $sef}, '100%', '250', '75', '8') ;?> +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ display('user_renew_email_body_' . $sef, $this->item->{'user_renew_email_body_' . $sef}, '100%', '250', '75', '8') ;?> +
+
+
+
+ +
+
+ display('renew_thanks_message_' . $sef, $this->item->{'renew_thanks_message_' . $sef}, '100%', '250', '75', '8') ;?> +
+
+
+
+ +
+
+ display('renew_thanks_message_offline_' . $sef, $this->item->{'renew_thanks_message_offline_' . $sef}, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('upgrade_thanks_message_' . $sef, $this->item->{'upgrade_thanks_message_' . $sef}, '100%', '250', '75', '8'); ?> +
+
+
+
+ +
+
+ display('upgrade_thanks_message_offline_' . $sef, $this->item->{'upgrade_thanks_message_offline_' . $sef}, '100%', '250', '75', '8'); ?> +
+
+ + getClassMapping('row-fluid'); +$controlGroupClass = $bootstrapHelper->getClassMapping('control-group'); +$controlLabelClass = $bootstrapHelper->getClassMapping('control-label'); +$controlsClass = $bootstrapHelper->getClassMapping('controls'); + +$form = Form::getInstance('upgrade_options', JPATH_ADMINISTRATOR . '/components/com_osmembership/view/plan/forms/upgrade_options.xml'); +$formData['upgrade_options'] = []; + +foreach ($this->upgradeRules as $upgradeOption) +{ + $formData['upgrade_options'][] = [ + 'id' => $upgradeOption->id, + 'to_plan_id' => $upgradeOption->to_plan_id, + 'price' => $upgradeOption->price, + 'upgrade_prorated' => $upgradeOption->upgrade_prorated, + 'published' => $upgradeOption->published, + ]; +} + +$form->bind($formData); + +foreach ($form->getFieldset() as $field) +{ + echo $field->input; +} + diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html b/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplan/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplans/default.php b/templates/moko-cassiopeia/html/com_osmembership/mplans/default.php new file mode 100644 index 0000000..b9237cc --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplans/default.php @@ -0,0 +1,238 @@ +getClassMapping('center'); +$cols = 10; +$config = OSMembershipHelper::getConfig(); +?> +
+ params->get('show_page_heading', 1)) + { + if ($this->input->getInt('hmvc_call')) + { + $hTag = 'h2'; + } + else + { + $hTag = 'h1'; + } + ?> + < class="osm-heading">> + params->get('intro_text'))) + { + ?> +
+ params->get('intro_text')); ?> +
+ +
+ render(); ?> +
+
+
+ loadTemplate('search_bar'); ?> +
+ + + + + + showCategory) + { + $cols++; + ?> + + showThumbnail) + { + $cols++; + ?> + + + + + + + + + + + + + + + + + + + items); $i < $n; $i++) + { + $row = $this->items[$i]; + $link = Route::_('index.php?option=com_osmembership&task=mplan.edit&id=' . $row->id . '&Itemid=' . $this->Itemid, false); + $checked = HTMLHelper::_('grid.id', $i, $row->id); + $published = HTMLHelper::_('jgrid.published', $row->published, $i, 'mplan.'); + $symbol = $row->currency_symbol ?: $row->currency; + ?> + "> + + + showCategory) + { + ?> + + showThumbnail) + { + ?> + + + + + + + + + + + + + +
+ + + state->filter_order_Dir, $this->state->filter_order); ?> + + state->filter_order_Dir, $this->state->filter_order); ?> + + + + + + state->filter_order_Dir, $this->state->filter_order); ?> + + state->filter_order_Dir, $this->state->filter_order); ?> + + + + + + state->filter_order_Dir, $this->state->filter_order); ?> + + state->filter_order_Dir, $this->state->filter_order); ?> + + state->filter_order_Dir, $this->state->filter_order); ?> +
+ pagination->getListFooter(); ?> +
+ + + id)) + { + ?> + title ; ?> + title; + } + ?> + category_title; ?> + thumb) + { + ?> + + + + lifetime_membership) + { + echo Text::_('OSM_LIFETIME'); + } + else + { + echo OSMembershipHelperSubscription::getDurationText($row->subscription_length, $row->subscription_length_unit); + } + ?> + + recurring_subscription ? Text::_('JYES') : Text::_('JNO'); ?> + + price > 0) + { + echo OSMembershipHelper::formatCurrency($row->price, $config, $symbol); + } + else + { + echo Text::_('OSM_FREE'); + } + ?> + + id); ?> + + id, 1); ?> + + access_level; ?> + + id)) + { + echo $published; + } + else + { + echo $row->published ? Text::_('JYES') : Text::_('JNO'); + } + ?> + + id; ?> +
+ + + + + +
+
diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php b/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php new file mode 100644 index 0000000..8318353 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.bootstrap4.php @@ -0,0 +1,39 @@ +bootstrapHelper->getClassMapping('pull-left'); +?> + +
+ lists['filter_category_id'])) + { + echo $this->lists['filter_category_id']; + } + + echo $this->lists['filter_state']; + echo $this->pagination->getLimitBox(); + ?> +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php b/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php new file mode 100644 index 0000000..f1800d4 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplans/default_search_bar.php @@ -0,0 +1,38 @@ +bootstrapHelper->getClassMapping('pull-left'); +?> + +
+ + +
+
+ lists['filter_category_id'])) + { + echo $this->lists['filter_category_id']; + } + + echo $this->lists['filter_state']; + + echo $this->pagination->getLimitBox(); + ?> +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html b/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/mplans/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/plan/default.php b/templates/moko-cassiopeia/html/com_osmembership/plan/default.php new file mode 100644 index 0000000..8643c8a --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plan/default.php @@ -0,0 +1,176 @@ +item; + +$clearfixClass = $this->bootstrapHelper->getClassMapping('clearfix'); + +if ($item->thumb) +{ + $imgSrc = Uri::base() . 'media/com_osmembership/' . $item->thumb; +} + +if ($this->config->use_https) +{ + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $this->Itemid), false, 1); +} +else +{ + $signUpUrl = Route::_(OSMembershipHelperRoute::getSignupRoute($item->id, $this->Itemid)); +} + +$subscribedPlanIds = OSMembershipHelperSubscription::getSubscribedPlans(); + +$showPlanInformation = $this->params->get('show_plan_information', 1); +$planInformationPosition = $this->params->get('plan_information_position', 0); + +if ($showPlanInformation && $planInformationPosition == 0) +{ + $leftClass = $this->bootstrapHelper->getClassMapping('span7'); + $rightClass = $this->bootstrapHelper->getClassMapping('span5'); +} +else +{ + $leftClass = $this->bootstrapHelper->getClassMapping('clearfix'); + $rightClass = $this->bootstrapHelper->getClassMapping('clearfix'); +} +?> +
+
+

+ params->get('page_heading'); ?> +

+
+
+
+ +
+ $item]); ?> +
+ +
+ thumb) + { + ?> + <?php echo $item->title; ?> + description) + { + echo $item->description; + } + else + { + echo $item->short_description; + } + ?> +
+ +
+ $item]); ?> +
+ +
+ + renewOptions) || count($this->upgradeRules)) + { + echo $this->loadTemplate('renew_upgrade'); + } + ?> +
+
    + getLanguage(); + + if (in_array('subscribe', $actions)) + { + if ($language->hasKey('OSM_SIGNUP_PLAN_' . $item->id)) + { + $signUpLanguageItem = 'OSM_SIGNUP_PLAN_' . $item->id; + } + else + { + $signUpLanguageItem = 'OSM_SIGNUP'; + } + + if ($language->hasKey('OSM_RENEW_PLAN_' . $item->id)) + { + $renewLanguageItem = 'OSM_RENEW_PLAN_' . $item->id; + } + else + { + $renewLanguageItem = 'OSM_RENEW'; + } + ?> +
  • + + id, $subscribedPlanIds) ? Text::_($renewLanguageItem) : Text::_($signUpLanguageItem); ?> + +
  • + hasKey('OSM_UPGRADE_PLAN_' . $item->id)) + { + $upgradeLanguageItem = 'OSM_UPGRADE_PLAN_' . $item->id; + } + else + { + $upgradeLanguageItem = 'OSM_UPGRADE'; + } + + if (count($item->upgrade_rules) > 1) + { + $link = Route::_('index.php?option=com_osmembership&view=upgrademembership&to_plan_id=' . $item->id . '&Itemid=' . OSMembershipHelperRoute::findView('upgrademembership', $this->Itemid)); + } + else + { + $upgradeOptionId = $item->upgrade_rules[0]->id; + $link = Route::_('index.php?option=com_osmembership&task=register.process_upgrade_membership&upgrade_option_id=' . $upgradeOptionId . '&Itemid=' . $this->Itemid); + } + ?> +
  • + + + +
  • + +
+
+
+
diff --git a/templates/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php b/templates/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php new file mode 100644 index 0000000..2176c55 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plan/default_renew_upgrade.php @@ -0,0 +1,45 @@ + +
+ renewOptions)) + { + ?> +
+

+ loadCommonLayout('common/tmpl/renew_options.php');?> +
+ upgradeRules)) + { + ?> +
+

+ loadCommonLayout('common/tmpl/upgrade_options.php'); + ?> +
+ +
+
+ +
+ diff --git a/templates/moko-cassiopeia/html/com_osmembership/plan/index.html b/templates/moko-cassiopeia/html/com_osmembership/plan/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plan/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/columns.php b/templates/moko-cassiopeia/html/com_osmembership/plans/columns.php new file mode 100644 index 0000000..bcee22a --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plans/columns.php @@ -0,0 +1,84 @@ + +
+ params->get('show_page_heading', 1)) + { + if ($this->category) + { + $pageHeading = $this->params->get('page_heading') ?: $this->category->title; + } + else + { + $pageHeading = $this->params->get('page_heading') ?: Text::_('OSM_SUBSCRIPTION_PLANS'); + } + + if ($this->input->getInt('hmvc_call')) + { + $hTag = 'h2'; + } + else + { + $hTag = 'h1'; + } + ?> + < class="osm-page-title">> + category->description)) + { + $description = $this->category->description; + } + elseif (OSMembershipHelper::isValidMessage($this->params->get('intro_text'))) + { + $description = $this->params->get('intro_text'); + } + else + { + $description = ''; + } + + if ($description) + { + ?> +
+ +
+ categories)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/categories.php', ['items' => $this->categories, 'categoryId' => $this->categoryId, 'config' => $this->config, 'Itemid' => $this->Itemid]); + } + + if (count($this->items)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/columns_plans.php', ['items' => $this->items, 'input' => $this->input, 'config' => $this->config, 'Itemid' => $this->Itemid, 'categoryId' => $this->categoryId, 'bootstrapHelper' => $this->bootstrapHelper, 'params' => $this->params]); + } + + if (!$this->input->getInt('hmvc_call') && ($this->pagination->total > $this->pagination->limit)) + { + ?> + + +
diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/default.php b/templates/moko-cassiopeia/html/com_osmembership/plans/default.php new file mode 100644 index 0000000..e9980c7 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plans/default.php @@ -0,0 +1,83 @@ + +
+ params->get('show_page_heading', 1)) + { + if ($this->category) + { + $pageHeading = $this->params->get('page_heading') ?: $this->category->title; + } + else + { + $pageHeading = $this->params->get('page_heading') ?: Text::_('OSM_SUBSCRIPTION_PLANS'); + } + + if ($this->input->getInt('hmvc_call')) + { + $hTag = 'h2'; + } + else + { + $hTag = 'h1'; + } + ?> + < class="osm-page-title">> + category->description)) + { + $description = $this->category->description; + } + elseif (OSMembershipHelper::isValidMessage($this->params->get('intro_text'))) + { + $description = $this->params->get('intro_text'); + } + else + { + $description = ''; + } + + if ($description) + { + ?> +
+ +
+ categories)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/categories.php', ['items' => $this->categories, 'categoryId' => $this->categoryId, 'config' => $this->config, 'Itemid' => $this->Itemid]); + } + + if (count($this->items)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/default_plans.php', ['items' => $this->items, 'input' => $this->input, 'config' => $this->config, 'Itemid' => $this->Itemid, 'categoryId' => $this->categoryId, 'bootstrapHelper' => $this->bootstrapHelper, 'params' => $this->params]); + } + + if (!$this->input->getInt('hmvc_call') && ($this->pagination->total > $this->pagination->limit)) + { + ?> + + +
diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/index.html b/templates/moko-cassiopeia/html/com_osmembership/plans/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plans/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php b/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php new file mode 100644 index 0000000..0572e69 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtable.php @@ -0,0 +1,75 @@ +category ? $this->category->id : 0; +?> +
+ params->get('show_page_heading', 1)) + { + if ($this->category) + { + $pageHeading = $this->params->get('page_heading') ?: $this->category->title; + } + else + { + $pageHeading = $this->params->get('page_heading') ?: Text::_('OSM_SUBSCRIPTION_PLANS'); + } + + if ($this->input->getInt('hmvc_call')) + { + $hTag = 'h2'; + } + else + { + $hTag = 'h1'; + } + ?> + < class="osm-page-title">> + category->description)) + { + $description = $this->category->description; + } + elseif (OSMembershipHelper::isValidMessage($this->params->get('intro_text'))) + { + $description = $this->params->get('intro_text'); + } + else + { + $description = ''; + } + + if ($description) + { + ?> +
+ +
+ categories)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/categories.php', ['items' => $this->categories, 'categoryId' => $this->categoryId, 'config' => $this->config, 'Itemid' => $this->Itemid]); + } + + if (count($this->items)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/pricingtable_plans.php', ['items' => $this->items, 'input' => $this->input, 'config' => $this->config, 'Itemid' => $this->Itemid, 'categoryId' => $this->categoryId, 'bootstrapHelper' => $this->bootstrapHelper, 'params' => $this->params]); + } + ?> +
diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php b/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php new file mode 100644 index 0000000..6361a88 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtablecircle.php @@ -0,0 +1,75 @@ +category ? $this->category->id : 0; +?> +
+ params->get('show_page_heading', 1)) + { + if ($this->category) + { + $pageHeading = $this->params->get('page_heading') ?: $this->category->title; + } + else + { + $pageHeading = $this->params->get('page_heading') ?: Text::_('OSM_SUBSCRIPTION_PLANS'); + } + + if ($this->input->getInt('hmvc_call')) + { + $hTag = 'h2'; + } + else + { + $hTag = 'h1'; + } + ?> + < class="osm-page-title">> + category->description)) + { + $description = $this->category->description; + } + elseif (OSMembershipHelper::isValidMessage($this->params->get('intro_text'))) + { + $description = $this->params->get('intro_text'); + } + else + { + $description = ''; + } + + if ($description) + { + ?> +
+ +
+ categories)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/categories.php', ['items' => $this->categories, 'categoryId' => $this->categoryId, 'config' => $this->config, 'Itemid' => $this->Itemid]); + } + + if (count($this->items)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/pricingtable_circle_plans.php', ['items' => $this->items, 'input' => $this->input, 'config' => $this->config, 'Itemid' => $this->Itemid, 'categoryId' => $this->categoryId, 'bootstrapHelper' => $this->bootstrapHelper, 'params' => $this->params]); + } + ?> +
diff --git a/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php b/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php new file mode 100644 index 0000000..80724d4 --- /dev/null +++ b/templates/moko-cassiopeia/html/com_osmembership/plans/pricingtableflat.php @@ -0,0 +1,75 @@ +category ? $this->category->id : 0; +?> +
+ params->get('show_page_heading', 1)) + { + if ($this->category) + { + $pageHeading = $this->params->get('page_heading') ?: $this->category->title; + } + else + { + $pageHeading = $this->params->get('page_heading') ?: Text::_('OSM_SUBSCRIPTION_PLANS'); + } + + if ($this->input->getInt('hmvc_call')) + { + $hTag = 'h2'; + } + else + { + $hTag = 'h1'; + } + ?> + < class="osm-page-title">> + category->description)) + { + $description = $this->category->description; + } + elseif (OSMembershipHelper::isValidMessage($this->params->get('intro_text'))) + { + $description = $this->params->get('intro_text'); + } + else + { + $description = ''; + } + + if ($description) + { + ?> +
+ +
+ categories)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/categories.php', ['items' => $this->categories, 'categoryId' => $this->categoryId, 'config' => $this->config, 'Itemid' => $this->Itemid]); + } + + if (count($this->items)) + { + echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/pricingtable_flat_plans.php', ['items' => $this->items, 'input' => $this->input, 'config' => $this->config, 'Itemid' => $this->Itemid, 'categoryId' => $this->categoryId, 'bootstrapHelper' => $this->bootstrapHelper, 'params' => $this->params]); + } + ?> +
diff --git a/templates/moko-cassiopeia/html/index.html b/templates/moko-cassiopeia/html/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/layouts/chromes/card.php b/templates/moko-cassiopeia/html/layouts/chromes/card.php new file mode 100644 index 0000000..c2c02c4 --- /dev/null +++ b/templates/moko-cassiopeia/html/layouts/chromes/card.php @@ -0,0 +1,61 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\Utilities\ArrayHelper; + +$module = $displayData['module']; +$params = $displayData['params']; +$attribs = $displayData['attribs']; + +if ($module->content === null || $module->content === '') { + return; +} + +$moduleTag = $params->get('module_tag', 'div'); +$moduleAttribs = []; +$moduleAttribs['class'] = $module->position . ' card ' . htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_QUOTES, 'UTF-8'); +$headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8'); +$headerClass = htmlspecialchars($params->get('header_class', ''), ENT_QUOTES, 'UTF-8'); +$headerAttribs = []; +$headerAttribs['class'] = $headerClass; + +// Only output a header class if it is not card-title +if ($headerClass !== 'card-title') : + $headerAttribs['class'] = 'card-header ' . $headerClass; +endif; + +// Only add aria if the moduleTag is not a div +if ($moduleTag !== 'div') { + if ($module->showtitle) : + $moduleAttribs['aria-labelledby'] = 'mod-' . $module->id; + $headerAttribs['id'] = 'mod-' . $module->id; + else : + $moduleAttribs['aria-label'] = $module->title; + endif; +} + +$header = '<' . $headerTag . ' ' . ArrayHelper::toString($headerAttribs) . '>' . $module->title . ''; +?> +< > + showtitle && $headerClass !== 'card-title') : ?> + + +
+ showtitle && $headerClass === 'card-title') : ?> + + + content; ?> +
+> + diff --git a/templates/moko-cassiopeia/html/layouts/chromes/html5.php b/templates/moko-cassiopeia/html/layouts/chromes/html5.php new file mode 100644 index 0000000..0100966 --- /dev/null +++ b/templates/moko-cassiopeia/html/layouts/chromes/html5.php @@ -0,0 +1,88 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + * + * html5 (chosen html5 tag and font header tags) + */ + +defined('_JEXEC') or die; + +use Joomla\Utilities\ArrayHelper; + +$module = $displayData['module']; +$params = $displayData['params']; + +//var_dump($module->position); + +if ((string) $module->content === '') { + return; +} + +$moduleIcon = ''; + +if ($module->position == 'sidebar-left' || $module->position == 'sidebar-right') { + switch ($module->module) { + case 'mod_virtuemart_cart': + $moduleIcon = ' + + '; + break; + case 'mod_virtuemart_category': + $moduleIcon = ' + + '; + break; + case 'mod_virtuemart_product': + $moduleIcon = ' + + + + '; + break; + default: + $moduleIcon = ''; + } +} + +$moduleTag = htmlspecialchars($params->get('module_tag', 'div'), ENT_QUOTES, 'UTF-8'); +$moduleAttribs = []; +$moduleAttribs['class'] = 'moduletable ' . htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_QUOTES, 'UTF-8'); +$bootstrapSize = (int) $params->get('bootstrap_size', 0); +$asideCol = ($module->position == 'sidebar-left' || $module->position == 'sidebar-right') ? ' col-md-6' : ''; +$footerCol = $module->position == 'footer' ? ' col-md-6' : ''; +$moduleAttribs['class'] .= $bootstrapSize !== 0 ? $footerCol . ' col-lg-' . $bootstrapSize : $asideCol; +$headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8'); +$headerClass = htmlspecialchars($params->get('header_class', ''), ENT_QUOTES, 'UTF-8'); +$headerAttribs = []; +$headerAttribs['class'] = 'module-title '; + +// Only output a header class if one is set +if ($headerClass !== '') { + $headerAttribs['class'] = $headerClass; +} + +// Only add aria if the moduleTag is not a div +if ($moduleTag !== 'div') { + if ($module->showtitle) : + $moduleAttribs['aria-labelledby'] = 'mod-' . $module->id; + $headerAttribs['id'] = 'mod-' . $module->id; + else : + $moduleAttribs['aria-label'] = $module->title; + endif; +} + +$header = '<' . $headerTag . ' ' . ArrayHelper::toString($headerAttribs) . '>' . $module->title . $moduleIcon . ''; +?> +< > + showtitle) : ?> + + + content; ?> +> + diff --git a/templates/moko-cassiopeia/html/layouts/chromes/index.html b/templates/moko-cassiopeia/html/layouts/chromes/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/layouts/chromes/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/layouts/chromes/noCard.php b/templates/moko-cassiopeia/html/layouts/chromes/noCard.php new file mode 100644 index 0000000..f5be590 --- /dev/null +++ b/templates/moko-cassiopeia/html/layouts/chromes/noCard.php @@ -0,0 +1,55 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\Utilities\ArrayHelper; + +$module = $displayData['module']; +$params = $displayData['params']; +$attribs = $displayData['attribs']; + +if ($module->content === null || $module->content === '') { + return; +} + +$moduleTag = $params->get('module_tag', 'div'); +$moduleAttribs = []; +$moduleAttribs['class'] = $module->position . ' no-card ' . htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_QUOTES, 'UTF-8'); +$headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8'); +$headerClass = htmlspecialchars($params->get('header_class', ''), ENT_QUOTES, 'UTF-8'); +$headerAttribs = []; + +// Only output a header class if one is set +if ($headerClass !== '') { + $headerAttribs['class'] = $headerClass; +} + +// Only add aria if the moduleTag is not a div +if ($moduleTag !== 'div') { + if ($module->showtitle) : + $moduleAttribs['aria-labelledby'] = 'mod-' . $module->id; + $headerAttribs['id'] = 'mod-' . $module->id; + else : + $moduleAttribs['aria-label'] = $module->title; + endif; +} + +$header = '<' . $headerTag . ' ' . ArrayHelper::toString($headerAttribs) . '>' . $module->title . ''; +?> +< > + showtitle) : ?> + + + content; ?> +> + diff --git a/templates/moko-cassiopeia/html/layouts/index.html b/templates/moko-cassiopeia/html/layouts/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/layouts/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_custom/banner.php b/templates/moko-cassiopeia/html/mod_custom/banner.php new file mode 100644 index 0000000..2b8a89f --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_custom/banner.php @@ -0,0 +1,34 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Uri\Uri; + +$modId = 'mod-custom' . $module->id; + +if ($params->get('backgroundimage')) { + /** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ + $wa = $app->getDocument()->getWebAssetManager(); + $wa->addInlineStyle(' +#' . $modId . '{background-image: url("' . Uri::root(true) . '/' . HTMLHelper::_('cleanImageURL', $params->get('backgroundimage'))->url . '");} +', ['name' => $modId]); +} +?> + + + diff --git a/templates/moko-cassiopeia/html/mod_custom/hero.php b/templates/moko-cassiopeia/html/mod_custom/hero.php new file mode 100644 index 0000000..1ec8c73 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_custom/hero.php @@ -0,0 +1,34 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Uri\Uri; + +$modId = 'mod-custom' . $module->id; + +if ($params->get('backgroundimage')) { + /** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ + $wa = $app->getDocument()->getWebAssetManager(); + $wa->addInlineStyle(' +#' . $modId . '{background-image: url("' . Uri::root(true) . '/' . HTMLHelper::_('cleanImageURL', $params->get('backgroundimage'))->url . '");} +', ['name' => $modId]); +} +?> + +
+
+ content; ?> +
+
+ diff --git a/templates/moko-cassiopeia/html/mod_custom/index.html b/templates/moko-cassiopeia/html/mod_custom/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_custom/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_gabble/default.php b/templates/moko-cassiopeia/html/mod_gabble/default.php new file mode 100644 index 0000000..379d70f --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_gabble/default.php @@ -0,0 +1,160 @@ +getSession(); +$config = $app->getParams('com_gabble'); +$document = Factory::getDocument(); +$document->addStyleSheet('media/com_gabble/css/gabble.css'); +$document->addStyleSheet('media/templates/site/cassiopeia_meaewellness/css/gable.css'); +$lang = Factory::getLanguage(); +$lang->load('com_gabble'); + +Text::script('COM_GABBLE_TIMEOUT'); + +if ( !$currentuser->get("id")){ + + echo '
+
+
+
'. Text::_('COM_GABBLE_LOGGEDIN') . '
+
+
+
'; + + return; + +} + +$input = $app->input; + +if ($input->get('option') == 'com_gabble') { + + echo '
+
+
+ +
'. Text::_('COM_GABBLE_GABBLE_CHAT') . '
+
+
+
'; + + return; + +} + +$document->addScript('media/com_gabble/js/gabble_com.js'); +//$document->addScript('media/templates/site/cassiopeia_meaewellness/js/mod_gabblegabble_com.js'); +?> + +
+ +
+ +
+
+ +
+ +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + +
+ + + +
+ +
+ " alt="OpenAI GPT"> +
+ +
+ +
+ + + + + "> + + + + + +
+ +

Tabaoca

+ diff --git a/templates/moko-cassiopeia/html/mod_gabble/index.html b/templates/moko-cassiopeia/html/mod_gabble/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_gabble/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_membershipplans/index.html b/templates/moko-cassiopeia/html/mod_membershipplans/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_membershipplans/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_menu/collapse-metismenu.php b/templates/moko-cassiopeia/html/mod_menu/collapse-metismenu.php new file mode 100644 index 0000000..925e889 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_menu/collapse-metismenu.php @@ -0,0 +1,28 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; + +HTMLHelper::_('bootstrap.collapse'); +?> + + + diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php new file mode 100644 index 0000000..b1f1627 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu.php @@ -0,0 +1,110 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Helper\ModuleHelper; +use Joomla\Utilities\ArrayHelper; + +/** @var \Joomla\CMS\WebAsset\WebAssetManager $wa */ +$wa = $app->getDocument()->getWebAssetManager(); +$wa->registerAndUseScript('metismenu', 'media/templates/site/moko-cassiopeia/js/mod_menu/menu-metismenu.min.js', [], ['defer' => true], ['metismenujs']); + +$attributes = []; +$attributes['class'] = 'mod-menu mod-menu_dropdown-metismenu metismenu mod-list ' . $class_sfx; + +if ($tagId = $params->get('tag_id', '')) { + $attributes['id'] = $tagId; +} + +$start = (int) $params->get('startLevel', 1); + +?> +
    > + &$item) { + // Skip sub-menu items if they are set to be hidden in the module's options + if (!$showAll && $item->level > $start) { + continue; + } + + $itemParams = $item->getParams(); + $class = []; + $class[] = 'metismenu-item item-' . $item->id . ' level-' . ($item->level - $start + 1); + + if ($item->id == $default_id) { + $class[] = 'default'; + } + + if ($item->id == $active_id || ($item->type === 'alias' && $itemParams->get('aliasoptions') == $active_id)) { + $class[] = 'current'; + } + + if (in_array($item->id, $path)) { + $class[] = 'active'; + } elseif ($item->type === 'alias') { + $aliasToId = $itemParams->get('aliasoptions'); + + if (count($path) > 0 && $aliasToId == $path[count($path) - 1]) { + $class[] = 'active'; + } elseif (in_array($aliasToId, $path)) { + $class[] = 'alias-parent-active'; + } + } + + if ($item->type === 'separator') { + $class[] = 'divider'; + } + + if ($showAll) { + if ($item->deeper) { + $class[] = 'deeper'; + } + + if ($item->parent) { + $class[] = 'parent'; + } + } + + echo '
  • '; + + switch ($item->type) : + case 'separator': + case 'component': + case 'heading': + case 'url': + require ModuleHelper::getLayoutPath('mod_menu', 'dropdown-metismenu_' . $item->type); + break; + + default: + require ModuleHelper::getLayoutPath('mod_menu', 'dropdown-metismenu_url'); + endswitch; + + switch (true) : + // The next item is deeper. + case $showAll && $item->deeper: + echo '
      '; + break; + + // The next item is shallower. + case $item->shallower: + echo ''; + echo str_repeat('
  • ', $item->level_diff); + break; + + // The next item is on the same level. + default: + echo ''; + break; + endswitch; +} +?>
+ diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php new file mode 100644 index 0000000..e8cc033 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_component.php @@ -0,0 +1,79 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Filter\OutputFilter; +use Joomla\CMS\HTML\HTMLHelper; + +$attributes = []; + +if ($item->anchor_title) { + $attributes['title'] = $item->anchor_title; +} + +if ($item->anchor_css) { + $attributes['class'] = $item->anchor_css; +} + +if ($item->anchor_rel) { + $attributes['rel'] = $item->anchor_rel; +} + +if ($item->id == $active_id) { + $attributes['aria-current'] = 'location'; + + if ($item->current) { + $attributes['aria-current'] = 'page'; + } +} + +$linktype = $item->title; + +if ($item->menu_icon) { + // The link is an icon + if ($itemParams->get('menu_text', 1)) { + // If the link text is to be displayed, the icon is added with aria-hidden + $linktype = '' . $item->title; + } else { + // If the icon itself is the link, it needs a visually hidden text + $linktype = '' . $item->title . ''; + } +} elseif ($item->menu_image) { + // The link is an image, maybe with an own class + $image_attributes = []; + + if ($item->menu_image_css) { + $image_attributes['class'] = $item->menu_image_css; + } + + $linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes); + + if ($itemParams->get('menu_text', 1)) { + $linktype .= '' . $item->title . ''; + } +} + +if ($item->browserNav == 1) { + $attributes['target'] = '_blank'; +} elseif ($item->browserNav == 2) { + $options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes'; + + $attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;"; +} + +echo HTMLHelper::link(OutputFilter::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT, 'UTF-8', false)), $linktype, $attributes); + +if ($showAll && $item->deeper) { + echo ''; +} + diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php new file mode 100644 index 0000000..6df3bd0 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_heading.php @@ -0,0 +1,61 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\Utilities\ArrayHelper; + +$attributes = []; + +if ($item->anchor_title) { + $attributes['title'] = $item->anchor_title; +} + +$attributes['class'] = 'mod-menu__heading nav-header'; +$attributes['class'] .= $item->anchor_css ? ' ' . $item->anchor_css : null; + +$linktype = $item->title; + +if ($item->menu_icon) { + // The link is an icon + if ($itemParams->get('menu_text', 1)) { + // If the link text is to be displayed, the icon is added with aria-hidden + $linktype = '' . $item->title; + } else { + // If the icon itself is the link, it needs a visually hidden text + $linktype = '' . $item->title . ''; + } +} elseif ($item->menu_image) { + // The link is an image, maybe with an own class + $image_attributes = []; + + if ($item->menu_image_css) { + $image_attributes['class'] = $item->menu_image_css; + } + + $linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes); + + if ($itemParams->get('menu_text', 1)) { + $linktype .= '' . $item->title . ''; + } +} + +if ($showAll && $item->deeper) { + $attributes['class'] .= ' mm-collapsed mm-toggler mm-toggler-nolink'; + $attributes['aria-haspopup'] = 'true'; + $attributes['aria-expanded'] = 'false'; + echo ''; +} else { + echo '' . $linktype . ''; +} + diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php new file mode 100644 index 0000000..640ae62 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_separator.php @@ -0,0 +1,61 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\Utilities\ArrayHelper; + +$attributes = []; + +if ($item->anchor_title) { + $attributes['title'] = $item->anchor_title; +} + +$attributes['class'] = 'mod-menu__separator separator'; +$attributes['class'] .= $item->anchor_css ? ' ' . $item->anchor_css : null; + +$linktype = $item->title; + +if ($item->menu_icon) { + // The link is an icon + if ($itemParams->get('menu_text', 1)) { + // If the link text is to be displayed, the icon is added with aria-hidden + $linktype = '' . $item->title; + } else { + // If the icon itself is the link, it needs a visually hidden text + $linktype = '' . $item->title . ''; + } +} elseif ($item->menu_image) { + // The link is an image, maybe with an own class + $image_attributes = []; + + if ($item->menu_image_css) { + $image_attributes['class'] = $item->menu_image_css; + } + + $linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes); + + if ($itemParams->get('menu_text', 1)) { + $linktype .= '' . $item->title . ''; + } +} + +if ($showAll && $item->deeper) { + $attributes['class'] .= ' mm-collapsed mm-toggler mm-toggler-nolink'; + $attributes['aria-haspopup'] = 'true'; + $attributes['aria-expanded'] = 'false'; + echo ''; +} else { + echo '' . $linktype . ''; +} + diff --git a/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php new file mode 100644 index 0000000..391fa00 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_menu/dropdown-metismenu_url.php @@ -0,0 +1,76 @@ + + * @copyright (C) 2025 Jonathan Miler || Moko Consulting + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Filter\OutputFilter; +use Joomla\CMS\HTML\HTMLHelper; + +$attributes = []; + +if ($item->anchor_title) { + $attributes['title'] = $item->anchor_title; +} + +if ($item->anchor_css) { + $attributes['class'] = $item->anchor_css; +} + +if ($item->anchor_rel) { + $attributes['rel'] = $item->anchor_rel; +} + +$linktype = $item->title; + +if ($item->menu_icon) { + // The link is an icon + if ($itemParams->get('menu_text', 1)) { + // If the link text is to be displayed, the icon is added with aria-hidden + $linktype = '' . $item->title; + } else { + // If the icon itself is the link, it needs a visually hidden text + $linktype = '' . $item->title . ''; + } +} elseif ($item->menu_image) { + // The link is an image, maybe with an own class + $image_attributes = []; + + if ($item->menu_image_css) { + $image_attributes['class'] = $item->menu_image_css; + } + + $linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes); + + if ($itemParams->get('menu_text', 1)) { + $linktype .= '' . $item->title . ''; + } +} + +if ($item->browserNav == 1) { + $attributes['target'] = '_blank'; + $attributes['rel'] = 'noopener noreferrer'; + + if ($item->anchor_rel == 'nofollow') { + $attributes['rel'] .= ' nofollow'; + } +} elseif ($item->browserNav == 2) { + $options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,' . $params->get('window_open'); + + $attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;"; +} + +echo HTMLHelper::link(OutputFilter::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT, 'UTF-8', false)), $linktype, $attributes); + +if ($showAll && $item->deeper) { + echo ''; +} + diff --git a/templates/moko-cassiopeia/html/mod_menu/index.html b/templates/moko-cassiopeia/html/mod_menu/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_menu/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_cart/default.php b/templates/moko-cassiopeia/html/mod_virtuemart_cart/default.php new file mode 100644 index 0000000..493e59e --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_cart/default.php @@ -0,0 +1,99 @@ +prepareAjaxData(true); +$view = vRequest::getCmd('view'); +?> + +
+
+

+ totalProductTxt ?> +

+
+ + +
+
+
+
+
+
+
+ +  x  + +
+
+ _priceConfig['salesPrice'][0]) : ?> +
+ +
+ +
+
+
+
+
+
+ +
+ products as $product) : ?> +
+
+ +
+ +
+ +
+ + + +  x  + + + +
+ +
+
+ + _priceConfig['salesPrice'][0]) : ?> +
+ + + +
+ +
+
+
+
+ +
+ +
+ + + + + products) ? $data->billTotal : ''; ?> + +
+ + + + + + + +
diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php b/templates/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php new file mode 100644 index 0000000..c6389bd --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_cart/dropdown.php @@ -0,0 +1,107 @@ +prepareAjaxData(true); +$view = vRequest::getCmd('view'); +?> + + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_cart/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/all.php b/templates/moko-cassiopeia/html/mod_virtuemart_category/all.php new file mode 100644 index 0000000..a0d4eff --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_category/all.php @@ -0,0 +1,44 @@ +get('level', 0); +?> +
    + + virtuemart_category_id); + $cattext = $category->category_name; + + if (in_array( $category->virtuemart_category_id, $parentCategories)) { + $active_menu = ' active'; + } + ?> +
  • + + childs) && $sublevel > 0) : ?> +
      + childs as $child) : ?> + virtuemart_category_id == $category_id) { + $active_menu = ' active'; + } + $caturl = Route::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id); + $cattext = vmText::_($child->category_name); + ?> +
    • + +
    • + +
    + +
  • + +
diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/current.php b/templates/moko-cassiopeia/html/mod_virtuemart_category/current.php new file mode 100644 index 0000000..973a2a7 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_category/current.php @@ -0,0 +1,67 @@ +getWebAssetManager(); +$wa->addInlineScript('jQuery(function($) { + $(\'.vm-menu-btn\').click(function(e){ + e.stopPropagation(); + e.preventDefault(); + }); + }); +'); + +$category_id = vRequest::getInt ('virtuemart_category_id', 0); +$sublevel = $params->get('level', 0); +$btnIcon = ' + +'; +?> +
    + + virtuemart_category_id, $parentCategories)) { + $active_menu = ' active'; + } + + $has_children = !empty($category->childs) ? ' has-children' : ''; + $collapsed = empty($active_menu) ? ' collapsed' : ''; + $caturl = Route::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id); + $btn = ''; + $submenu_btn = !empty($category->childs) && $sublevel > 0 ? $btn : ''; + $cattext = $category->category_name . $submenu_btn; + ?> +
  • + + childs) && $sublevel > 0) : ?> +
    +
      + childs as $child) : ?> + virtuemart_category_id == $category_id) { + $active_menu = ' active'; + } + $caturl = Route::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id); + $childcattext = $child->category_name; + ?> +
    • + +
    • + +
    +
    + +
  • + +
diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/default.php b/templates/moko-cassiopeia/html/mod_virtuemart_category/default.php new file mode 100644 index 0000000..e151aa9 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_category/default.php @@ -0,0 +1,67 @@ +getWebAssetManager(); +$wa->addInlineScript('jQuery(function($) { + $(\'.vm-menu-btn\').click(function(e){ + e.stopPropagation(); + e.preventDefault(); + }); + }); +'); + +$category_id = vRequest::getInt ('virtuemart_category_id', 0); +$sublevel = $params->get('level', 0); +$btnIcon = ' + +'; +?> +
    + + virtuemart_category_id, $parentCategories)) { + $active_menu = ' active'; + } + + $has_children = !empty($category->childs) ? ' has-children' : ''; + $collapsed = empty($active_menu) ? ' collapsed' : ''; + $caturl = Route::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$category->virtuemart_category_id); + $btn = ''; + $submenu_btn = !empty($category->childs) && $sublevel > 0 ? $btn : ''; + $cattext = $category->category_name . $submenu_btn; + ?> +
  • + + childs) && $sublevel > 0) : ?> +
    +
      + childs as $child) : ?> + virtuemart_category_id == $category_id) { + $active_menu = ' active'; + } + $caturl = Route::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$child->virtuemart_category_id); + $childcattext = $child->category_name; + ?> +
    • + +
    • + +
    +
    + +
  • + +
diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_category/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_category/wall.php b/templates/moko-cassiopeia/html/mod_virtuemart_category/wall.php new file mode 100644 index 0000000..dcdcb3b --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_category/wall.php @@ -0,0 +1,28 @@ +addImages($categories); +$categories_per_row = vmConfig::get('categories_per_row'); +$bscol = $module->position == 'sidebar-left' || $module->position == 'sidebar-right' ? '6' : '3'; +?> + + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_currencies/default.php b/templates/moko-cassiopeia/html/mod_virtuemart_currencies/default.php new file mode 100644 index 0000000..d24b9a7 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_currencies/default.php @@ -0,0 +1,38 @@ +getCurrency($virtuemart_currency_id); +?> + + +

+ + +
+ +
+ + + + + * + * This file is part of a Moko Consulting project. + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + --> + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php b/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php new file mode 100644 index 0000000..305e83a --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/default.php @@ -0,0 +1,67 @@ + + + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_manufacturer/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_product/default.php b/templates/moko-cassiopeia/html/mod_virtuemart_product/default.php new file mode 100644 index 0000000..9474030 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_product/default.php @@ -0,0 +1,167 @@ +showRating(); + +$emptyStar = ' + +'; + +$star = ' + +'; + +$bscol = ' col-xl-' . floor (12 / $products_per_row); +?> + +
+ +
+ + + +
+ +
+
> + images[0]) ? $product->images[0]->displayMediaThumb ('class="vm-products-module-img img-fluid"', FALSE) : ''; + echo HTMLHelper::_ ('link', Route::_ ('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id), $image, array('title' => $product->product_name)); + ?> +
+
+ + getRatingByProduct($product->virtuemart_product_id, true); + $maxrating = VmConfig::get('vm_maximum_rating_scale', 5); + ?> + rating)) : ?> +
+ +
+ + rating * 16; ?> +
+
+ +
+
rating, 2) . '/' . $maxrating) ?>" data-bs-toggle="tooltip"> +
+ +
+
+
+ + + $product)); ?> +
+ + virtuemart_product_id . '&virtuemart_category_id=' .$product->virtuemart_category_id); ?> + +

+ + product_name; ?> + +

+ +

+ product_s_desc, 60, ' ...') ?> +

+ +
+ prices['salesPrice'])) { + echo $currency->createPriceDiv ('salesPrice', '', $product->prices, FALSE, FALSE, 1.0, TRUE); + } + + if ($product->prices['discountAmount']) { + echo $currency->createPriceDiv ('basePriceWithTax', '', $product->prices, FALSE, FALSE, 1.0, TRUE); + } + } + ?> +
+ + + $product)); ?> + + + +
+ +
+ +
    + +
  • +
    +
    + images[0]) ? $product->images[0]->displayMediaThumb ('class="vm-products-module-img img-fluid"', FALSE) : ''; + echo HTMLHelper::_ ('link', Route::_ ('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id), $image, array('title' => $product->product_name)); + ?> +
    +
    + virtuemart_product_id . '&virtuemart_category_id=' .$product->virtuemart_category_id); ?> + +

    + + product_name; ?> + +

    + +
    + prices['salesPrice'])) { + echo $currency->createPriceDiv ('salesPrice', '', $product->prices, FALSE, FALSE, 1.0, TRUE); + } + + if ($product->prices['discountAmount']) { + echo $currency->createPriceDiv ('basePriceWithTax', '', $product->prices, FALSE, FALSE, 1.0, TRUE); + } + } + ?> +
    + + +
    +
    +
  • + +
+ + + + + +
diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_product/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_search/default.php b/templates/moko-cassiopeia/html/mod_virtuemart_search/default.php new file mode 100644 index 0000000..6776c11 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_search/default.php @@ -0,0 +1,56 @@ + + +
+ + + + + + '; + } + ?> +
diff --git a/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html b/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/mod_virtuemart_search/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/html/tinymce/index.html b/templates/moko-cassiopeia/html/tinymce/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/html/tinymce/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/index.html b/templates/moko-cassiopeia/index.html new file mode 100644 index 0000000..206e130 --- /dev/null +++ b/templates/moko-cassiopeia/index.html @@ -0,0 +1,118 @@ + + + + + + + + + Redirecting… + + + + + + + + + + + + + + + + + + + +
Redirecting to the site root… If you are not redirected, click here.
+ + diff --git a/templates/moko-cassiopeia/index.php b/templates/moko-cassiopeia/index.php new file mode 100644 index 0000000..da8515b --- /dev/null +++ b/templates/moko-cassiopeia/index.php @@ -0,0 +1,484 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Uri\Uri; + +/** @var Joomla\CMS\Document\HtmlDocument $this */ + +$app = Factory::getApplication(); +$input = $app->getInput(); +$wa = $this->getWebAssetManager(); +$params_ColorName = $this->params->get('colorName', 'colors_standard'); +$params_googletagmanager = $this->params->get('googletagmanager', false); +$params_googletagmanagerid = $this->params->get('googletagmanagerid', null); +$params_googleanalytics = $this->params->get('googleanalytics', false); +$params_googleanalyticsid = $this->params->get('googleanalyticsid', null); +$params_custom_head_start = $this->params->get('custom_head_start', null); +$params_custom_head_end = $this->params->get('custom_head_end', null); +$params_leftIcon = htmlspecialchars( + $this->params->get('drawerLeftIcon', 'fa-solid fa-chevron-left'), + ENT_COMPAT, 'UTF-8' +); +$params_rightIcon = htmlspecialchars( + $this->params->get('drawerRightIcon', 'fa-solid fa-chevron-right'), + ENT_COMPAT, 'UTF-8' +); + +// Add Bootstrap 5 Support +HTMLHelper::_('bootstrap.framework'); +HTMLHelper::_('bootstrap.loadCss', true); +HTMLHelper::_('bootstrap.alert'); +HTMLHelper::_('bootstrap.button'); +HTMLHelper::_('bootstrap.carousel'); +HTMLHelper::_('bootstrap.collapse'); +HTMLHelper::_('bootstrap.dropdown'); +HTMLHelper::_('bootstrap.modal'); +HTMLHelper::_('bootstrap.offcanvas'); +HTMLHelper::_('bootstrap.popover'); +HTMLHelper::_('bootstrap.scrollspy'); +HTMLHelper::_('bootstrap.tab'); +HTMLHelper::_('bootstrap.tooltip'); +HTMLHelper::_('bootstrap.toast'); + +// Detecting Active Variables +$option = $input->getCmd('option', ''); +$view = $input->getCmd('view', ''); +$layout = $input->getCmd('layout', ''); +$task = $input->getCmd('task', ''); +$itemid = $input->getCmd('Itemid', ''); +$sitename = htmlspecialchars($app->get('sitename'), ENT_QUOTES, 'UTF-8'); +$menu = $app->getMenu()->getActive(); +$pageclass = $menu !== null ? $menu->getParams()->get('pageclass_sfx', '') : ''; + +// Template path +$templatePath = 'media/templates/site/moko-cassiopeia'; + +// Color Theme +$assetColorName = 'theme.' . $params_ColorName; +$wa->registerAndUseStyle($assetColorName, $templatePath . '/css/global/' . $params_ColorName . '.css'); + +// Use a font scheme if set in the template style options +$params_FontScheme = $this->params->get('useFontScheme', false); +$fontStyles = ''; + +if ($params_FontScheme) { + if (stripos($params_FontScheme, 'https://') === 0) { + $this->getPreloadManager()->preconnect('https://fonts.googleapis.com/', ['crossorigin' => 'anonymous']); + $this->getPreloadManager()->preconnect('https://fonts.gstatic.com/', ['crossorigin' => 'anonymous']); + $this->getPreloadManager()->preload($params_FontScheme, ['as' => 'style', 'crossorigin' => 'anonymous']); + $wa->registerAndUseStyle('fontscheme.current', $params_FontScheme, [], ['media' => 'print', 'rel' => 'lazy-stylesheet', 'onload' => 'this.media=\'all\'', 'crossorigin' => 'anonymous']); + + if (preg_match_all('/family=([^?:]*):/i', $params_FontScheme, $matches) > 0) { + $fontStyles = '--font-family-body: "' . str_replace('+', ' ', $matches[1][0]) . '", sans-serif;\n'; + $fontStyles .= '--font-family-headings: "' . str_replace('+', ' ', isset($matches[1][1]) ? $matches[1][1] : $matches[1][0]) . '", sans-serif;\n'; + $fontStyles .= '--font-weight-normal: 400;\n'; + $fontStyles .= '--font-weight-headings: 700;'; + } + } else { + $wa->registerAndUseStyle('fontscheme.current', $params_FontScheme, ['version' => 'auto'], ['media' => 'print', 'rel' => 'lazy-stylesheet', 'onload' => 'this.media=\'all\'']); + $this->getPreloadManager()->preload($wa->getAsset('style', 'fontscheme.current')->getUri() . '?' . $this->getMediaVersion(), ['as' => 'style']); + } +} + +// Enable assets +$wa->usePreset('template.MOKO-CASSIOPEIA.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr')) + ->useStyle('template.active.language') + ->useStyle('template.user') + ->useScript('template.user') + ->addInlineStyle(":root {\n --hue: 214;\n --template-bg-light: #f0f4fb;\n --template-text-dark: #495057;\n --template-text-light: #ffffff;\n --template-link-color: #2a69b8;\n --template-special-color: #001B4C;\n $fontStyles\n }"); + +// Override 'template.active' asset for correct dependency +$wa->registerStyle('template.active', '', [], [], ['template.MOKO-CASSIOPEIA.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr')]); + +// Logo file or site title +if ($this->params->get('logoFile')) { + $logo = HTMLHelper::_('image', Uri::root(false) . htmlspecialchars($this->params->get('logoFile'), ENT_QUOTES), $sitename, ['loading' => 'eager', 'decoding' => 'async'], false, 0); +} elseif ($this->params->get('siteTitle')) { + $logo = '' . htmlspecialchars($this->params->get('siteTitle'), ENT_COMPAT, 'UTF-8') . ''; +} else { + $logo = HTMLHelper::_('image', 'full_logo.png', $sitename, ['class' => 'logo d-inline-block', 'loading' => 'eager', 'decoding' => 'async'], true, 0); +} + +$hasClass = ''; +if ($this->countModules('sidebar-left', true)) { $hasClass .= ' has-sidebar-left'; } +if ($this->countModules('sidebar-right', true)) { $hasClass .= ' has-sidebar-right'; } +if ($this->countModules('drawer-left', true)) { $hasClass .= ' has-drawer-left'; } +if ($this->countModules('drawer-right', true)) { $hasClass .= ' has-drawer-right'; } + +$params_DrawerIconLeft = $this->params->get('drawerIconLeft', 'fas fa-chevron-right'); +$params_DrawerIconRight = $this->params->get('drawerIconRight', 'fas fa-chevron-left'); + +// Container +$wrapper = $this->params->get('fluidContainer') ? 'wrapper-fluid' : 'wrapper-static'; + +$this->setMetaData('viewport', 'width=device-width, initial-scale=1'); +$stickyHeader = $this->params->get('stickyHeader') ? 'position-sticky sticky-top' : ''; + +if ($this->params->get('fA6KitCode')) { + $fa6Kit = "https://kit.fontawesome.com/" . $this->params->get('fA6KitCode') . ".js"; + JHtml::_('script', $fa6Kit, ['crossorigin' => 'anonymous']); +} else { + $wa->getAsset('style', 'fontawesome')->setAttribute('rel', 'lazy-stylesheet'); +} +// Add Bootstrap TOC CSS +$this->addStyleSheet($templatePath . '/css/vendor/afeld/bootstrap-toc.min.css'); + +// Add Bootstrap TOC JS (should be loaded after Bootstrap JS) +$this->addScript($templatePath . '/js/vendor/afeld/bootstrap-toc.min.js'); + +?> + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + countModules('topbar')) : ?> +
+ +
+ + +
+ countModules('below-topbar')) : ?> +
+ +
+ + + params->get('brand', 1)) : ?> +
+ +
+ + + countModules('below-logo')) : ?> + + +
+ + +countModules('drawer-left')) : ?> + + + +countModules('drawer-right')) : ?> + + + + countModules('menu', true) || $this->countModules('search', true)) : ?> +
+ countModules('menu', true)) : ?> + + + countModules('search', true)) : ?> + + +
+ +
+ +
+ countModules('banner', true)) : ?> +
+ +
+ + + countModules('top-a', true)) : ?> +
+ +
+ + + countModules('top-b', true)) : ?> +
+ +
+ + + countModules('sidebar-left', true)) : ?> +
+ +
+ + +
+ + + +
+ +
+ +
+ + countModules('sidebar-right', true)) : ?> +
+ +
+ + + countModules('bottom-a', true)) : ?> +
+ +
+ + + countModules('bottom-b', true)) : ?> +
+ +
+ +
+ +
+ countModules('footer-menu', true)) : ?> + + + countModules('footer', true)) : ?> +
+ +
+ +
+ +params->get('backTop') == 1) : ?> + + + + + +countModules('drawer-left', true)) : ?> + + + + +countModules('drawer-right', true)) : ?> + + + + + +
+
+ Light +
+ +
+ Dark + +
+
+ + + + diff --git a/templates/moko-cassiopeia/joomla.asset.json b/templates/moko-cassiopeia/joomla.asset.json new file mode 100644 index 0000000..89f8c34 --- /dev/null +++ b/templates/moko-cassiopeia/joomla.asset.json @@ -0,0 +1,151 @@ +{ + "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json", + "name": "tpl_moko-cassiopeia", + "version": "02.00", + "description": "Moko-Cassiopeia template assets", + "license": "GPL-3.0-or-later", + "x-header": + { + "copyright_year": 2025, + "author": "Jonathan Miller", + "owner": "Moko Consulting", + "contact": "hello@mokoconsulting.tech", + "project": "Moko-Cassiopeia Template", + "spdx_license": "GPL-3.0-or-later", + "notice": "This file is part of a Moko Consulting project.", + "disclaimer": "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/." + }, + "assets": [ + { + "name": "template.base", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/template.css", + "attributes": + { + "media": "all" + } + }, + { + "name": "template.user", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/user.css", + "attributes": + { + "media": "all" + } + }, + { + "name": "template.editor", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/editor.css", + "attributes": + { + "media": "all" + } + }, + { + "name": "vendor.vmbasic", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/vendor/vmbasic.css", + "attributes": + { + "media": "all" + } + }, + { + "name": "vendor.gable", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/vendor/gable.css", + "attributes": + { + "media": "all" + } + }, + { + "name": "vendor.bootstrap-toc", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/vendor/afeld/bootstrap-toc.min.css", + "attributes": + { + "media": "all" + } + }, + { + "name": "template.light.colors_standard", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/global/colors/light/colors_standard.css" + }, + { + "name": "template.light.colors_alternative", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/global/colors/light/colors_alternative.css" + }, + { + "name": "template.light.colors_custom", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/global/colors/light/colors_custom.css" + }, + + { + "name": "template.dark.colors_standard", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_standard.css" + }, + { + "name": "template.dark.colors_alternative", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_alternative.css" + }, + { + "name": "template.dark.colors_custom", + "type": "style", + "uri": "media/templates/site/moko-cassiopeia/css/global/colors/dark/colors_custom.css" + }, + + { + "name": "template.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/template.js", + "attributes": + { + "defer": true + } + }, + { + "name": "theme-init.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/theme-init.js", + "attributes": + { + "defer": true + } + }, + { + "name": "darkmode-toggle.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/darkmode-toggle.js", + "attributes": + { + "defer": true + } + }, + { + "name": "gtm.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/gtm.js", + "attributes": + { + "defer": true + } + }, + { + "name": "vendor.bootstrap-toc.js", + "type": "script", + "uri": "media/templates/site/moko-cassiopeia/js/vendor/afeld/bootstrap-toc.min.js", + "attributes": + { + "defer": true + } + } + ] +} diff --git a/templates/moko-cassiopeia/offline.php b/templates/moko-cassiopeia/offline.php new file mode 100644 index 0000000..f4a21d9 --- /dev/null +++ b/templates/moko-cassiopeia/offline.php @@ -0,0 +1,343 @@ +params + * @var string $this->language + * @var string $this->direction + */ + +$app = Factory::getApplication(); +$doc = Factory::getDocument(); +$params = $this->params ?: $app->getTemplate(true)->params; +$direction = $this->direction ?: 'ltr'; + +/* ----------------------- + Load ONLY template.css + colors_*.css (with min toggle) +------------------------ */ +$useMin = !((int) $params->get('development_mode', 0) === 1); +$assetSuffix = $useMin ? '.min' : ''; +$base = rtrim(Uri::root(true), '/') . '/templates/' . $this->template . '/css/'; + +$doc->addStyleSheet($base . 'template' . $assetSuffix . '.css', ['version' => 'auto'], ['id' => 'moko-template']); +/* If you have a template param for color variant, set it here; defaults to 'standard' */ +$colorKey = (string) ($params->get('colors', 'standard') ?: 'standard'); +$colorKey = preg_replace('~[^a-z0-9_-]~i', '', $colorKey); +$doc->addStyleSheet($base . 'colors_' . $colorKey . $assetSuffix . '.css', ['version' => 'auto'], ['id' => 'moko-colors']); + +/* Bootstrap CSS/JS for accordion behavior; safe to keep. */ +HTMLHelper::_('bootstrap.loadCss', true, $doc); +HTMLHelper::_('bootstrap.framework'); + +/* ----------------------- + Title + Meta (Include Site Name in Page Titles) +------------------------ */ +$sitename = (string) $app->get('sitename'); +$baseTitle = Text::_('JGLOBAL_OFFLINE') ?: 'Offline'; +$snSetting = (int) $app->get('sitename_pagetitles', 0); // 0=no, 1=before, 2=after + +if ($snSetting === 1) { + $doc->setTitle(Text::sprintf('JPAGETITLE', $sitename, $baseTitle)); // Site Name BEFORE +} elseif ($snSetting === 2) { + $doc->setTitle(Text::sprintf('JPAGETITLE', $baseTitle, $sitename)); // Site Name AFTER +} else { + $doc->setTitle($baseTitle); +} +$doc->setMetaData('robots', 'noindex, nofollow'); + +/* ----------------------- + Offline content from Global Config +------------------------ */ +$displayOfflineMessage = (int) $app->get('display_offline_message', 1); // 0|1|2 +$offlineMessage = trim((string) $app->get('offline_message', '')); + +/* ----------------------- + Brand (mutually exclusive: logoFile OR siteTitle) +------------------------ */ +if ($params->get('logoFile')) { + $logo = HTMLHelper::_( + 'image', + Uri::root(false) . htmlspecialchars((string) $params->get('logoFile'), ENT_QUOTES, 'UTF-8'), + $sitename, + [ + 'class' => 'logo d-inline-block', + 'loading' => 'eager', + 'decoding' => 'async', + 'style' => 'max-height:64px;height:auto;width:auto;' + ], + false, + 0 + ); +} elseif ($params->get('siteTitle')) { + $logo = '' + . htmlspecialchars((string) $params->get('siteTitle'), ENT_COMPAT, 'UTF-8') + . ''; +} else { + $logo = HTMLHelper::_( + 'image', + 'full_logo.png', + $sitename, + [ + 'class' => 'logo d-inline-block', + 'loading' => 'eager', + 'decoding' => 'async', + 'style' => 'max-height:64px;height:auto;width:auto;' + ], + true, + 0 + ); +} + +$brandTagline = (string) ($params->get('brand_tagline') ?: $params->get('siteDescription') ?: ''); +$showTagline = (int) $params->get('show_brand_tagline', 0); +$showSwitcher = (int) $params->get('show_theme_switcher', 1); + +/* ----------------------- + Login routes & Users +------------------------ */ +$action = Route::_('index.php', true); +$return = base64_encode(Uri::base()); +$allowRegistration = (bool) ComponentHelper::getParams('com_users')->get('allowUserRegistration', 0); + +if (class_exists('\Joomla\Component\Users\Site\Helper\RouteHelper')) { + $resetUrl = \Joomla\Component\Users\Site\Helper\RouteHelper::getResetRoute(); + $remindUrl = \Joomla\Component\Users\Site\Helper\RouteHelper::getRemindRoute(); + $registrationUrl = \Joomla\Component\Users\Site\Helper\RouteHelper::getRegistrationRoute(); +} else { + $resetUrl = Route::_('index.php?option=com_users&view=reset'); + $remindUrl = Route::_('index.php?option=com_users&view=remind'); + $registrationUrl = Route::_('index.php?option=com_users&view=registration'); +} +?> + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + countModules('offline-header')) : ?> +
+ +
+ + +
+
+ +
+
+ + +
+ +
+

+

+
+ +
+

+

+ +

+
+ + + + countModules('offline')) : ?> +
+ +
+ + + +
+
+

+ +

+
+
+
+
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ + + + + +
+ + +
+
+
+
+
+ +
+
+
+ + + + + diff --git a/templates/moko-cassiopeia/templateDetails.xml b/templates/moko-cassiopeia/templateDetails.xml new file mode 100644 index 0000000..6246ea5 --- /dev/null +++ b/templates/moko-cassiopeia/templateDetails.xml @@ -0,0 +1,237 @@ + + + + + https://raw.githubusercontent.com/mokoconsulting-tech/MokoUpdates/refs/heads/main/joomla/moko-cassiopeia/updates.xml + + moko-cassiopeia + 02.00 + 2025-08-23 + Jonathan Miller || Moko Consulting + hello@mokoconsulting.tech + (C)GNU General Public License Version 2 - 2025 Moko Consulting + TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION + 1 + + component.php + error.php + index.php + joomla.asset.json + offline.php + templateDetails.xml + html + + + media/templates/site/moko-cassiopeia/css/editor.css + + + js + css + images + fonts + + + topbar + below-topbar + below-logo + menu + search + banner + top-a + top-b + main-top + main-bottom + breadcrumbs + sidebar-left + sidebar-right + bottom-a + bottom-b + footer-menu + footer + debug + offline-header + offline + offline-footer + drawer-left + drawer-right + + + en-GB/tpl_moko-cassiopeia.ini + en-GB/tpl_moko-cassiopeia.sys.ini + en-US/tpl_moko-cassiopeia.ini + en-US/tpl_moko-cassiopeia.sys.ini + + + + +
+ + + + + +
+ + +
+ + + + + + + + + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+