Commit 1eda1725 authored by Florian Radut's avatar Florian Radut
Browse files

- Fixed stored XSS vulnerabilities involving menu icon titles and submenu labels.

- Improved HTML filtering for translated slideshow text and author/date labels, and escaped content-type labels in developer links.
- Preserved translation support and safe HTML in slide descriptions, including links, line breaks and emphasis.
- Fixed multilingual slide links by resolving URL aliases before generating links in the current language.
- Improved caching for translated text and multilingual slide links.
- Hardened custom CSS file validation.
- Fixed #3630998: TypeError: in_array() argument #2 must be of type array, string given in preprocessAggregatorContainer().
parent 27b7e9ca
Loading
Loading
Loading
Loading
+8 −34
Changes for CHANGELOG.txt: 8 added lines, 34 removed lines.
Original line number Diff line number Diff line
ABC 2.0.1 (2026-10-03)
ABC 2.0.1 (2026-10-17)
======================

- Hardened Font Awesome menu titles, including nested menu items.
@@ -10,11 +10,11 @@ ABC 2.0.1 (2026-10-03)
  current URL language. Retained query strings, fragments and external URLs.
- Added cache dependencies for translated text and language-aware aliases.
- Restricted custom CSS to real .css files within the Drupal installation.
- Updated slideshow field guidance.
- Fixed a container preprocessing TypeError when CSS classes are supplied as
  a string. Preserved Aggregator layout classes for string and array input.
- Aligned block-content widths, responsive User blocks, Cards and Media layouts.
- Added selected Media widget styling and contained published Media galleries.
- TypeError: in_array() argument #2 must be of type array, string given in 
  preprocessAggregatorContainer().

After upgrading, rebuild Drupal caches per site.

ABC 2.0.0
===============
@@ -29,38 +29,12 @@ ABC 2.0 modernizes the familiar theme for Drupal 11.4+ and Drupal 12.
- Improved PureCSS buttons, pagination, form controls and table integration.
- Replaced FlexSlider with a new responsive slideshow.
- Improved mobile branding, navigation and header search.
- Retained full-width slideshow placement and aligned captions.
- Preserved the original Top links region and added the Footer left region.
- Added an optional Full-width content region with PureCSS zebra Views rows.
- Moved Full-width content before Content below and User 5-8.
- Constrain card listings to Web page width, including the full-width homepage.
- List content layout settings alphabetically.
- Apply layout choices to each routed Views page; cards retain sidebars by
  default with an optional full-width setting.
- Move shared Zebra row colors above the alphabetical listing controls.
- Let blank custom colors use theme defaults while staying blank in settings.
- Add shared Zebra background opacity, defaulting to 100%.
- Detect all installed content types for author/date controls; preserve existing
  choices and let new types inherit shared defaults.
- Allow updated-only metadata for every type; retain and document the
  24-hour threshold to avoid marking initial drafting saves as updates.
- Added an optional full-width homepage using existing main content without
  sidebars, and placed Content layouts after Layout settings.
- Added per-display Standard, Zebra rows and Cards controls under Content layouts,
  with responsive columns, spacing and boxed/full-width zebra backgrounds.
- Added optional reusable layout styles and advanced markup examples.
- Fixed toolbar spacing, tab sizing and slider alignment.
- Added a grey SVG default logo; kept the ABC PNG choices under _custom/logo
  for selection through Drupal's standard logo path field.
- Preserved ABC background artwork and independent color settings.
- Replaced decorative menu and gradient images with CSS.
- Replaced block arrows with vertical lines matching the block-title color.
- Restored compact Top links with rollover colors and mobile hiding.
- Removed unused icon files.
- Added custom hex fields and pickers alongside the original ABC color choices,
  plus separate odd/even colors for optional teaser rows.
- Preserved dark palettes and positive/negative icon variants.
- Added menu color controls and hexadecimal color inputs.
- Improved font sizing and language-specific logos.
- Added a standard social links menu and block.
- Added the Footer left region.
- Updated Book, Views and maintenance-page templates.
- Removed obsolete HTTP-header, block-cache and toolbar-fix settings.
- Updated customization examples and documentation.
+166 −371

File changed.

Preview size limit exceeded, changes collapsed.

+9 −12
Changes for _custom/README.txt: 9 added lines, 12 removed lines.
Original line number Diff line number Diff line
ABC 2.0.0 - CUSTOMIZATION EXAMPLES
ABC - CUSTOMIZATION EXAMPLES
======================================

This directory contains a sample stylesheet and bundled demonstration images.
@@ -19,17 +19,19 @@ updated when you replace the theme: compare and merge changes yourself.

WHAT IS ACTIVE IN THE EXAMPLE?
------------------------------
The example enables branding, content-image floats, sidebar borders and
responsive sidebar columns, a 10em slider-image minimum height, and cookie
button styling. Remove any rules you do not want. Optional examples remain
commented out. Responsive rules are grouped at the bottom of the stylesheet.
Branding and EU Cookie Compliance styling are active.
All customization examples are commented out, including image floats,
slideshow minimum height and sidebar borders. Uncomment only the examples
you need. Media galleries, field separation, block widths and component
spacing are part of the theme and do not depend on this example file.
Responsive rules are grouped at the bottom of the stylesheet.

ICON CUSTOMIZATION
------------------
Prefer Layout settings > Icon colors for social and page icon colors.
The example also documents CSS variables; leave the corresponding settings
blank to use those variables. Both SVG and Font Awesome use the same colors.
The Other social network image example hides either renderer. When using a
blank to use those variables. The theme uses its local SVG sprites.
The Other social network image example hides the normal SVG icon. When using a
personal copy, update its image URL as well. Page icons must be enabled for
page/file icon color rules to have an effect.

@@ -71,8 +73,3 @@ and the built-in Aggregator latest-items page when that module is enabled.
Zebra colors are shared by these listings. Empty color fields use defaults;
icon placeholders and pickers preview the selected shipped palette. Custom CSS
may change the actual inherited link color.

optional-layouts.html contains copyable markup for manually authored sections,
cards, image/text splits, features, buttons and videos. It is not loaded by the
theme and is not required by the settings controls. Supply your own content,
links and media; use a trusted text format or a theme template.
+277 −363

File changed.

Preview size limit exceeded, changes collapsed.

_custom/optional-layouts.html

deleted100644 → 0
+0 −65
Changes for _custom/optional-layouts.html: 0 added lines, 65 removed lines.
Original line number Diff line number Diff line
<!-- Copy individual patterns into trusted blocks or templates. This file is not
     loaded by the theme. Supply your own text, links and media.
     For ordinary Views listings and /aggregator, use Content layouts in theme
     settings instead. These examples are for manually authored content. -->

<!-- Section and image/text split. Remove layout-split--reverse for normal order. -->
<section class="layout-section layout-space-normal">
  <div class="layout-section__inner">
    <div class="pure-g layout-split layout-split--reverse">
      <div class="pure-u-1 pure-u-md-1-2">
        <img src="/sites/default/files/example-image.jpg" alt="Describe the image" width="800" height="450" loading="lazy">
      </div>
      <div class="pure-u-1 pure-u-md-1-2">
        <h2>Section heading</h2>
        <p>Your introduction or explanation.</p>
        <a class="layout-button" href="/about">Learn more</a>
      </div>
    </div>
  </div>
</section>

<!-- Cards. Duplicate a column for each card; PureCSS controls column count. -->
<div class="pure-g layout-cards">
  <div class="pure-u-1 pure-u-md-1-2 pure-u-lg-1-4">
    <article class="layout-card">
      <h3>Card heading</h3>
      <p>A short description.</p>
      <div class="layout-card__actions">
        <a class="layout-button layout-button--outline" href="/about">Explore</a>
      </div>
    </article>
  </div>
  <div class="pure-u-1 pure-u-md-1-2 pure-u-lg-1-4">
    <article class="layout-card layout-card--featured">
      <p>Featured</p>
      <h3>Featured card</h3>
      <p>A longer description demonstrates how the action stays at the bottom.</p>
      <div class="layout-card__actions">
        <a class="layout-button" href="/about">Explore</a>
      </div>
    </article>
  </div>
</div>

<!-- Features. Duplicate the column as needed. A decorative icon has empty alt. -->
<div class="pure-g layout-features">
  <div class="pure-u-1 pure-u-md-1-2 pure-u-lg-1-4">
    <div class="layout-feature">
      <img class="layout-feature__icon" src="/sites/default/files/example-icon.svg" alt="" width="32" height="32">
      <div class="layout-feature__body">
        <h3>Feature heading</h3>
        <p>A short explanation.</p>
      </div>
    </div>
  </div>
</div>

<!-- Video. Supply actual video, poster and caption files; no autoplay. -->
<div class="layout-video">
  <video controls preload="none" poster="/sites/default/files/example-poster.jpg">
    <source src="/sites/default/files/example-video.mp4" type="video/mp4">
    <track kind="captions" src="/sites/default/files/example-captions.vtt" srclang="en" label="English" default>
    <a href="/sites/default/files/example-video.mp4">Download the video</a>
  </video>
</div>
Loading