Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
59dbd1a
[cypress] + com_scheduler (#44239)
alikon Oct 29, 2024
0662f56
[5.2] add test for site router (sef) (#44253)
heelc29 Oct 30, 2024
69e2e1f
URL in email broken with Mail Template Layout (#44378)
leeroy1821 Oct 31, 2024
c9057e1
[Guided Tours] Fix blank screen after a session time out on the steps…
obuisard Oct 31, 2024
e3cc332
Avoid strlen for admin submenu items (#43884)
chmst Oct 31, 2024
c0539b1
[5.2] fix for Error with trashing items when items are checked out (#…
alikon Nov 1, 2024
6808902
[5.2] Rename update SQL scripts 5.2.0-2024-09-24.sql to 5.2.1-2024-09…
richard67 Nov 1, 2024
31640ec
[5.2.] Fix Dark mode in user-captive view - Fix for Issue #43448 (#44…
coolcat-creations Nov 1, 2024
7e6ac90
[5.2] Allow relative URLs in wrapper module and component (#44314)
SniperSister Nov 1, 2024
94bd619
[5.2] fix for undefined property: $module (#44280)
alikon Nov 1, 2024
cc82bbe
SEF URLs: Check if SEF plugin is published (#44283)
Hackwar Nov 3, 2024
50a859b
[5][cypress] mod_articles (#44393)
alikon Nov 4, 2024
9b13ba2
Changing file permissions
Hackwar Nov 5, 2024
ba684a4
Joomla! 5.2.1
Hackwar Nov 5, 2024
2f401da
[5.2] atum light mode - Fix modal window link color (#44176)
RickR2H Nov 7, 2024
83333d4
[5.2] Error handling on extension update (#43321)
BrainforgeUK Nov 7, 2024
d7bc6e9
[5.2] Articles Module: Remove unused css + modified container query (…
drmenzelit Nov 7, 2024
a79ec96
Fix JS errors in admin menu (#44410)
C-Lodder Nov 7, 2024
8eddd25
Revert to dev
Hackwar Nov 7, 2024
f8688d6
Merge branch '5.2-dev' of github.com:joomla/joomla-cms into 5.2-dev
Hackwar Nov 7, 2024
773f7d4
Update debug.es6.js (#44342)
Shivam7-1 Nov 7, 2024
7802043
Smart Search: Fix URL with highlight query (#43398)
Hackwar Nov 7, 2024
30a64b3
Merge branch '5.2-dev' of github.com:joomla/joomla-cms into 5.2-dev
Hackwar Nov 7, 2024
ce8b38b
[5.2] Add required content filters for the administrator menu (#44426)
Kubik-Rubik Nov 9, 2024
73b5d03
Add missing html elements to sanitizer for finder debugging (#44422)
HLeithner Nov 10, 2024
97fcd9d
[5.2] Fix reCAPTCHA Invisble error getElementsByClassName().forEach i…
Fedik Nov 10, 2024
63305a4
[5.2] Fix wrong core files and core folders permissions 777 on update…
richard67 Nov 10, 2024
dc71a36
Merge branch '5.2-dev' into 5.3-dev-upmerge-2024-11-11
richard67 Nov 11, 2024
f37d1a2
Fix JS CS missing trailing comma
richard67 Nov 11, 2024
34bdb13
Update phpstan to 2.0 (#44436)
Hackwar Nov 11, 2024
04daa28
Fix JS CS missing trailing comma (#44435)
richard67 Nov 11, 2024
2b0cfcc
Merge remote-tracking branch 'upstream/5.2-dev' into 5.3-dev-upmerge-…
richard67 Nov 11, 2024
4b05477
Adapt system test to 5.3
richard67 Nov 11, 2024
81f5d6c
Revert "Adapt system test to 5.3"
richard67 Nov 11, 2024
4f2a09e
Adapt system test to 5.3 2nd trial
richard67 Nov 11, 2024
b686fb9
Merge branch '5.3-dev' into 5.3-dev-upmerge-2024-11-11
richard67 Nov 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
427 changes: 427 additions & 0 deletions administrator/components/com_admin/script.php

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@ protected function populateState($ordering = 'a.id', $direction = 'desc')
$this->context .= '.' . $forcedLanguage;
}

// Required content filters for the administrator menu
$this->getUserStateFromRequest($this->context . '.filter.category_id', 'filter_category_id');
$this->getUserStateFromRequest($this->context . '.filter.level', 'filter_level');
$this->getUserStateFromRequest($this->context . '.filter.author_id', 'filter_author_id');
$this->getUserStateFromRequest($this->context . '.filter.tag', 'filter_tag', '');
$this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access');
$this->getUserStateFromRequest($this->context . '.filter.language', 'filter_language', '');

// List state information.
parent::populateState($ordering, $direction);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,21 @@
*/
class StepController extends FormController
{
/**
* Gets the URL arguments to append to a list redirect.
*
* @return string The arguments to append to the redirect URL.
*
* @since __DEPLOY_VERSION__
*/
protected function getRedirectToListAppend()
{
$append = parent::getRedirectToListAppend();
$tourId = $this->app->getUserState('com_guidedtours.tour_id');
if (!empty($tourId)) {
$append .= '&tour_id=' . $tourId;
}

return $append;
}
}
23 changes: 19 additions & 4 deletions administrator/components/com_installer/src/Model/UpdateModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
use Joomla\Database\Exception\ExecutionFailureException;
use Joomla\Database\ParameterType;
use Joomla\Database\QueryInterface;
use Joomla\Filesystem\Path;
use Joomla\Utilities\ArrayHelper;

// phpcs:disable PSR1.Files.SideEffects
Expand Down Expand Up @@ -358,10 +359,24 @@ public function update($uids, $minimumStability = Updater::STABILITY_STABLE)
$update->set('extra_query', $updateSiteInstance->extra_query);
}

$this->preparePreUpdate($update, $instance);

// Install sets state and enqueues messages
$res = $this->install($update);
try {
$this->preparePreUpdate($update, $instance);

// Install sets state and enqueues messages
$res = $this->install($update);
} catch (\Throwable $t) {
$res = false;

Factory::getApplication()->enqueueMessage(
Text::sprintf(
'COM_INSTALLER_UPDATE_ERROR',
$instance->name,
$t->getMessage(),
(JDEBUG ? str_replace(JPATH_ROOT, 'JROOT', Path::clean($t->getFile())) . ':' . $t->getLine() : '')
),
'error'
);
}

if ($res) {
$instance->delete($uid);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,14 @@ protected function getTypeOptionsFromManifest($component)
$request['sub'] = (string) $attributes->sub;
}

$o->request = array_filter($request, 'strlen');
$o->request = array_filter($request, function ($value) {
if (\is_array($value)) {
return !empty($value);
}

return \strlen($value);
});

$options[] = new CMSObject($o);

// Do not repeat the default view link (index.php?option=com_abc).
Expand Down
8 changes: 5 additions & 3 deletions administrator/components/com_users/tmpl/captive/select.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
</p>
</div>

<div class="com-users-select-methods p-2">
<div class="com-users-methods-list-method com-users-methods-list-method-name-backupcodes com-users-methods-list-method-active">
<?php foreach ($this->records as $record) :
if (!array_key_exists($record->method, $this->mfaMethods) && ($record->method != 'backupcodes')) {
continue;
Expand All @@ -48,11 +48,13 @@

$methodName = $this->getModel()->translateMethodName($record->method);
?>
<a class="com-users-method p-2 border-top border-dark bg-light d-flex flex-row flex-wrap justify-content-start align-items-center text-decoration-none gap-2 text-body"
<a class="com-users-method list-group-item-action p-2 border-top border-dark d-flex flex-row flex-wrap justify-content-start align-items-center text-decoration-none gap-2"
href="<?php echo Route::_('index.php?option=com_users&view=captive&record_id=' . $record->id)?>">
<div class="com-users-methods-list-method-image">
<img src="<?php echo Uri::root() . $this->getModel()->getMethodImage($record->method) ?>"
alt="<?php echo $this->escape(strip_tags($record->title)) ?>"
class="com-users-method-image img-fluid" />
class="img-fluid" />
</div>
<?php if (!$this->allowEntryBatching || !$allowEntryBatching) : ?>
<span class="com-users-method-title flex-grow-1 fs-5 fw-bold">
<?php if ($record->method === 'backupcodes') : ?>
Expand Down
1 change: 1 addition & 0 deletions administrator/language/en-GB/com_installer.ini
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ COM_INSTALLER_UNINSTALL_ERROR="Error uninstalling %s."
COM_INSTALLER_UNINSTALL_ERROR_LOCKED_EXTENSION="The extension \"%1$s\" (ID %2$s) is locked and cannot be uninstalled."
COM_INSTALLER_UNINSTALL_SUCCESS="Uninstalling the %s was successful."
COM_INSTALLER_UNPACK_ERROR="Failed to extract file: %s"
COM_INSTALLER_UPDATE_ERROR="Error updating: %1$s<br>%2$s<br>%3$s<br>"
COM_INSTALLER_UPDATE_FILTER_SEARCH_DESC="Search in extension name. Prefix with ID:, UID: or EID: to search for an update ID, update site ID or extension ID."
COM_INSTALLER_UPDATE_FILTER_SEARCH_LABEL="Search Extensions with Updates"
COM_INSTALLER_UPDATE_FORM_EDIT="Edit Update Site"
Expand Down
Empty file modified administrator/language/en-GB/plg_schemaorg_blogposting.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_blogposting.sys.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_book.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_book.sys.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_custom.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_custom.sys.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_event.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_event.sys.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_jobposting.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_jobposting.sys.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_organization.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_organization.sys.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_person.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_person.sys.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_recipe.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_schemaorg_recipe.sys.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_system_schemaorg.ini
100755 → 100644
Empty file.
Empty file modified administrator/language/en-GB/plg_system_schemaorg.sys.ini
100755 → 100644
Empty file.
40 changes: 28 additions & 12 deletions administrator/templates/atum/component.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,36 @@
$linkColorDark = $this->params->get('link-color-dark', '#6fbfdb');
list($rd, $gd, $bd) = sscanf($linkColorDark, "#%02x%02x%02x");

$adjustColorLightness = function ($r, $g, $b, $percent) {
$adjust = function ($color) use ($percent) {
$newColor = $color + ($color * $percent / 100);
return min(max(0, $newColor), 255);
};
return [$adjust($r), $adjust($g), $adjust($b)];
};

list($lighterRd, $lighterGd, $lighterBd) = $adjustColorLightness($rd, $gd, $bd, 10);
$linkColorDarkHvr = sprintf("%d, %d, %d", $lighterRd, $lighterGd, $lighterBd);

// Enable assets
$wa->usePreset('template.atum.' . ($this->direction === 'rtl' ? 'rtl' : 'ltr'))
->useStyle('template.active.language')
->useStyle('template.user')
->addInlineStyle(':root {
--hue: ' . $matches[1] . ';
--template-bg-light: ' . $this->params->get('bg-light', 'var(--template-bg-light)') . ';
--template-text-dark: ' . $this->params->get('text-dark', 'var(--template-text-dark)') . ';
--template-text-light: ' . $this->params->get('text-light', 'var(--template-text-light)') . ';
--link-color: ' . $linkColor . ';
--hue: ' . $matches[1] . ';
--template-bg-light: ' . $this->params->get('bg-light', 'var(--template-bg-light)') . ';
--template-text-dark: ' . $this->params->get('text-dark', 'var(--template-text-dark)') . ';
--template-text-light: ' . $this->params->get('text-light', 'var(--template-text-light)') . ';
--link-color: ' . $linkColor . ';
--link-color-rgb: ' . $r . ',' . $g . ',' . $b . ';
--template-special-color: ' . $this->params->get('special-color', 'var(--template-special-color)') . ';
}')
->addInlineStyle('@media (prefers-color-scheme: dark) { :root {
--link-color: ' . $linkColorDark . ';
--link-color-rgb: ' . $rd . ',' . $gd . ',' . $bd . ';
}}');
--template-special-color: ' . $this->params->get('special-color', 'var(--template-special-color)') . ';
}')
->addInlineStyle(':root[data-color-scheme="dark"] {
--link-color: ' . $linkColorDark . ';
--link-color-rgb: ' . $rd . ',' . $gd . ',' . $bd . ';
--link-color-rgb-hvr: ' . $linkColorDarkHvr . ';
--template-special-color: #6fbfdb;
}');

// No template.js for modals
$wa->disableScript('template.atum');
Expand Down Expand Up @@ -75,14 +88,17 @@
?>

<!DOCTYPE html>
<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>"<?php echo $themeModeAttr; ?>>
<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" <?php echo $themeModeAttr; ?>>

<head>
<jdoc:include type="metas" />
<jdoc:include type="styles" />
<jdoc:include type="scripts" />
</head>

<body class="contentpane component">
<jdoc:include type="message" />
<jdoc:include type="component" />
</body>

</html>
7 changes: 5 additions & 2 deletions build/media_source/com_finder/js/debug.es6.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,14 @@
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
onSuccess: (response) => {
const output = document.getElementById('indexer-output');
const allowedHtml = {
fieldset: [], legend: [], dl: ['class'], dt: ['class'], dd: ['class'],
};
try {
const parsed = JSON.parse(response);
output.innerHTML = parsed.rendered;
output.innerHTML = Joomla.sanitizeHtml(parsed.rendered, allowedHtml);
} catch (e) {
output.innerHTML = response;
output.innerHTML = Joomla.sanitizeHtml(response, allowedHtml);
}
},
onError: (xhr) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
const selfChecked = isChecked(target);

if (root) {
getTreeElements(root).map((element) => toggleState(element, selfChecked));
getTreeElements(root).forEach((element) => toggleState(element, selfChecked));
}
};

Expand Down
24 changes: 2 additions & 22 deletions build/media_source/mod_articles/css/mod-articles.css
Original file line number Diff line number Diff line change
@@ -1,23 +1,3 @@
.mod-articles-item-card .mod-articles-link::before {
position: absolute;
z-index: 1;
content: "";
inset: 0;
}
.mod-articles-item-card {
position: relative;
}
.mod-articles-item-card:focus-within {
box-shadow: 0 0 0 var(--focus-ring-width) var(--focus-ring-color);
}
.mod-articles-item-card:focus-within :focus {
border: none;
outline: none;
box-shadow: none;
}
.mod-articles-item-card:hover {
box-shadow: 1px 1px 4px #0000001a;
}
.mod-articles-item {
display: flex;
flex-direction: column;
Expand All @@ -29,8 +9,8 @@
margin-bottom: .5rem;
}
@supports (container-type: inline-size) {
div:has(.mod-articles-grid),
section:has(.mod-articles-grid) {
div:has(> .mod-articles-grid),
section:has(> .mod-articles-grid) {
container-type: inline-size;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
window.JoomlainitReCaptchaInvisible = () => {
const optionKeys = ['sitekey', 'badge', 'size', 'tabindex', 'callback', 'expired-callback', 'error-callback'];

document.getElementsByClassName('g-recaptcha').forEach((element) => {
document.querySelectorAll('.g-recaptcha').forEach((element) => {
let options = {};

if (element.dataset) {
Expand Down
11 changes: 7 additions & 4 deletions build/media_source/system/js/treeselectmenu.es6.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

const treeselectmenu = document.getElementById('treeselectmenu').innerHTML;
const treeselectmenu = document.getElementById('treeselectmenu');
const direction = (document.dir !== undefined) ? document.dir : document.documentElement.dir;

document.querySelectorAll('.treeselect li').forEach((li) => {
Expand All @@ -20,11 +20,14 @@ document.querySelectorAll('.treeselect li').forEach((li) => {
li.querySelector('span.icon-').classList.add('treeselect-toggle', 'icon-chevron-down');

// Append drop down menu in nodes
li.querySelector('div.treeselect-item label').insertAdjacentHTML('afterend', treeselectmenu);
if (treeselectmenu) {
li.querySelector('div.treeselect-item label').insertAdjacentHTML('afterend', treeselectmenu.innerHTML);
}

const sub = li.querySelector('ul.treeselect-sub');
if (!sub.querySelector('ul.treeselect-sub')) {
li.querySelector('div.treeselect-menu-expand').remove();
const expand = li.querySelector('div.treeselect-menu-expand');
if (!sub.querySelector('ul.treeselect-sub') && expand) {
expand.remove();
}
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
}
}

&.view-user, &.view-methods {
&.view-user, &.view-methods, &.view-captive {
#com-users-methods-reset-container {
background-color: $users-methods-reset-cont-bg;
}
Expand Down
7 changes: 6 additions & 1 deletion components/com_tags/src/Service/Router.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,12 @@ public function __construct(SiteApplication $app, AbstractMenu $menu, ?CategoryF
parent::__construct($app, $menu);

$sefPlugin = PluginHelper::getPlugin('system', 'sef');
$this->sefparams = new Registry($sefPlugin->params);

if ($sefPlugin) {
$this->sefparams = new Registry($sefPlugin->params);
} else {
$this->sefparams = new Registry();
}

$this->buildLookup();
}
Expand Down
1 change: 1 addition & 0 deletions components/com_wrapper/tmpl/wrapper/default.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
type="url"
validate="url"
filter="url"
relative="true"
label="COM_WRAPPER_FIELD_URL_LABEL"
required="true"
/>
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.2",
"joomla/mediawiki": "^3.0",
"joomla/test": "~3.0",
"phpstan/phpstan": "^1.12.4",
"phpstan/phpstan-deprecation-rules": "^1.2.1"
"phpstan/phpstan": "^2.0",
"phpstan/phpstan-deprecation-rules": "^2.0"
},
"replace": {
"paragonie/random_compat": "9.99.99",
Expand Down
Loading