Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
51ccf4f
fix calendar positioning (#41477)
Aug 28, 2023
2a7248c
Update joomla-field-media.w-c.es6.js (#41361)
dgrammatiko Aug 28, 2023
34863ad
Fixing md5 Deprecation in document.php (#39880)
crystalenka Aug 28, 2023
17adb7a
modal field check for danger alert (#39173)
heelc29 Aug 28, 2023
f330f5f
fix (#41138)
Denitz Aug 28, 2023
e4d7e85
[4.x] Cassiopeia Install SQL (#37389)
brianteeman Aug 28, 2023
d6e533c
Fix/showon (#37451)
toroworx Aug 29, 2023
b0619cd
Bugfix for Issue #38599 - Smart Search indexing macros from articles …
MacJoom Aug 29, 2023
d35dc78
[4,3] joomla alert icons (#39312)
brianteeman Aug 29, 2023
216e277
Update StyleModel.php (#40665)
BrainforgeUK Aug 29, 2023
c229978
Update Query.php (#40687)
obuisard Aug 29, 2023
c15defb
remove hitcount variable from uri after voting (#41474)
Aug 29, 2023
87d9ed9
Fix deprecated message in categories when extension is empty (#40604)
chmst Aug 29, 2023
fba14cf
Re-add minus to allowed filenames in com_templates (#41369)
ManuelHu Aug 29, 2023
a558728
Invalid delete of all content articles from smart search index (#41288)
Denitz Aug 29, 2023
d20c455
[4][cli] schema update check (#40468)
alikon Aug 29, 2023
f8891fd
Tags: Don't put NULL into trim() (#41509)
Hackwar Aug 30, 2023
e63aeca
[4] Add multilanguage filter taxonomy rows in com_finder advanced fil…
SniperSister Aug 30, 2023
3ea52a7
Check if the pre update check box actually exists (#41467)
laoneo Aug 30, 2023
17585ed
Allow onValidateContact plugin to show error message (#37540)
beefcakefu Aug 30, 2023
c189551
[4.4] Backward compatibility handling for plugins that setting the re…
Fedik Aug 31, 2023
28f7b8b
Tests for com_privacy consent on user site (#41529)
andyforrest Sep 1, 2023
fa103ee
[4.4] system test for com_installer (#41483)
alikon Sep 1, 2023
4db71ec
Merge branch '4.3-dev' into 4.4-dev
laoneo Sep 1, 2023
7b7f943
Missing System Tests in #41362 (#41479)
obuisard Sep 1, 2023
1162259
Update Language.php (#41353)
BrainforgeUK Sep 1, 2023
3bb67d5
Filter for special characters that fail sending test mail (#41469)
Sep 1, 2023
e109bd3
Backporting event changes (#41484)
Fedik Sep 2, 2023
e33f573
api tests for endpoints for com_privacy consent (#41544)
andyforrest Sep 4, 2023
e41bae2
Merge branch '4.3-dev' into 4.4-dev
laoneo Sep 4, 2023
d2929f4
Show the plugin name in the update screen (#41537)
laoneo Sep 4, 2023
50cf1e3
Replace the special characters in site name for mail templates (#41582)
laoneo Sep 4, 2023
d092fa2
Merge branch '4.3-dev' into 4.4-dev
laoneo Sep 4, 2023
e481884
Updates the dependencies (#41538)
laoneo Sep 4, 2023
206cecf
Merge branch '4.4-dev' into upmerge
laoneo Sep 4, 2023
8f0e820
Update dependencies
laoneo Sep 4, 2023
7119ca0
Update incompatible HTML file
laoneo Sep 4, 2023
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
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ class Dispatcher extends ComponentDispatcher
*/
protected function checkAccess()
{
$extension = $this->getApplication()->getInput()->getCmd('extension');
$extension = empty($this->getApplication()->getInput()->getCmd('extension'))
? ''
: $this->getApplication()->getInput()->getCmd('extension');

$parts = explode('.', $extension);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1216,7 +1216,8 @@ public function sendTestMail()
$mailer = new MailTemplate('com_config.test_mail', $user->getParam('language', $app->get('language')), $mail);
$mailer->addTemplateData(
[
'sitename' => $app->get('sitename'),
// Replace the occurrences of "@" and "|" in the site name
'sitename' => str_replace(['@', '|'], '', $app->get('sitename')),
'method' => Text::_('COM_CONFIG_SENDMAIL_METHOD_' . strtoupper($mail->Mailer)),
]
);
Expand Down
5 changes: 4 additions & 1 deletion administrator/components/com_finder/src/Indexer/Adapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -651,7 +651,7 @@ protected function getListQuery($query = null)
*
* @param integer $id The plugin ID
*
* @return string The plugin type
* @return string|null The plugin type
*
* @since 2.5
*/
Expand All @@ -661,6 +661,7 @@ protected function getPluginType($id)
$query = $this->db->getQuery(true)
->select($this->db->quoteName('element'))
->from($this->db->quoteName('#__extensions'))
->where($this->db->quoteName('folder') . ' = ' . $this->db->quote('finder'))
->where($this->db->quoteName('extension_id') . ' = ' . (int) $id);
$this->db->setQuery($query);

Expand Down Expand Up @@ -895,6 +896,8 @@ protected function pluginDisable($pks)
foreach ($items as $item) {
$this->remove($item);
}
// Stop processing plugins
break;
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions administrator/components/com_finder/src/Indexer/Language.php
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ public function tokenise($input)
*
* Regexes:
* 1. Remove everything except letters, numbers, quotes, apostrophe, plus, dash, period, and comma.
* 2. Remove plus, dash, period, and comma characters located before letter characters.
* 2. Remove plus, dash, and comma characters located before letter characters.
* 3. Remove plus, dash, period, and comma characters located after other characters.
* 4. Remove plus, period, and comma characters enclosed in alphabetical characters. Ungreedy.
* 5. Remove orphaned apostrophe, plus, dash, period, and comma characters.
Expand All @@ -147,7 +147,7 @@ public function tokenise($input)
*/
$input = StringHelper::strtolower($input);
$input = preg_replace('#[^\pL\pM\pN\p{Pi}\p{Pf}\'+-.,]+#mui', ' ', $input);
$input = preg_replace('#(^|\s)[+-.,]+([\pL\pM]+)#mui', ' $1', $input);
$input = preg_replace('#(^|\s)[+-,]+([\pL\pM]+)#mui', ' $1', $input);
$input = preg_replace('#([\pL\pM\pN]+)[+-.,]+(\s|$)#mui', '$1 ', $input);
$input = preg_replace('#([\pL\pM]+)[+.,]+([\pL\pM]+)#muiU', '$1 $2', $input);
$input = preg_replace('#(^|\s)[\'+-.,]+(\s|$)#mui', ' ', $input);
Expand Down
19 changes: 14 additions & 5 deletions administrator/components/com_finder/src/Service/HTML/Filter.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use Joomla\Component\Finder\Administrator\Helper\LanguageHelper;
use Joomla\Component\Finder\Administrator\Indexer\Query;
use Joomla\Database\DatabaseAwareTrait;
use Joomla\Database\ParameterType;
use Joomla\Filter\OutputFilter;
use Joomla\Registry\Registry;

Expand Down Expand Up @@ -292,19 +293,27 @@ public function select($idxQuery, $options)
$query->clear()
->select('t.*')
->from($db->quoteName('#__finder_taxonomy') . ' AS t')
->where('t.lft > ' . (int) $bv->lft)
->where('t.rgt < ' . (int) $bv->rgt)
->where('t.lft > :lft')
->where('t.rgt < :rgt')
->where('t.state = 1')
->where('t.access IN (' . $groups . ')')
->order('t.title');
->whereIn('t.access', $user->getAuthorisedViewLevels())
->order('t.title')
->bind(':lft', $bv->lft, ParameterType::INTEGER)
->bind(':rgt', $bv->rgt, ParameterType::INTEGER);

// Apply multilanguage filter
if (Multilanguage::isEnabled()) {
$language = [Factory::getLanguage()->getTag(), '*'];
$query->whereIn($db->quoteName('t.language'), $language, ParameterType::STRING);
}

// Self-join to get the parent title.
$query->select('e.title AS parent_title')
->join('LEFT', $db->quoteName('#__finder_taxonomy', 'e') . ' ON ' . $db->quoteName('e.id') . ' = ' . $db->quoteName('t.parent_id'));

// Limit the nodes to a predefined filter.
if (!empty($filter->data)) {
$query->where('t.id IN(' . $filter->data . ')');
$query->whereIn('t.id', explode(",", $filter->data));
}

// Load the branches.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ public function createFile()
$this->setMessage(Text::_('COM_TEMPLATES_INVALID_FILE_TYPE'), 'error');
$url = 'index.php?option=com_templates&view=template&id=' . $id . '&file=' . $file . '&isMedia=' . $this->input->getInt('isMedia', 0);
$this->setRedirect(Route::_($url, false));
} elseif (!preg_match('/^(?!\.)(?!.*\.$)(?!.*\.\.)[a-zA-Z0-9_.]+$/', $name)) {
} elseif (!preg_match('/^(?!\.)(?!.*\.$)(?!.*\.\.)[a-zA-Z0-9_.-]+$/', $name)) {
$this->setMessage(Text::_('COM_TEMPLATES_INVALID_FILE_NAME'), 'error');
$url = 'index.php?option=com_templates&view=template&id=' . $id . '&file=' . $file . '&isMedia=' . $this->input->getInt('isMedia', 0);
$this->setRedirect(Route::_($url, false));
Expand Down Expand Up @@ -672,7 +672,7 @@ public function renameFile()
$this->setMessage(Text::_('COM_TEMPLATES_ERROR_RENAME_ASSET_FILE'), 'warning');
$url = 'index.php?option=com_templates&view=template&id=' . $id . '&file=' . $file . '&isMedia=' . $isMedia;
$this->setRedirect(Route::_($url, false));
} elseif (!preg_match('/^(?!\.)(?!.*\.$)(?!.*\.\.)[a-zA-Z0-9_.]+$/', $newName)) {
} elseif (!preg_match('/^(?!\.)(?!.*\.$)(?!.*\.\.)[a-zA-Z0-9_.-]+$/', $newName)) {
$this->setMessage(Text::_('COM_TEMPLATES_INVALID_FILE_NAME'), 'error');
$url = 'index.php?option=com_templates&view=template&id=' . $id . '&file=' . $file . '&isMedia=' . $isMedia;
$this->setRedirect(Route::_($url, false));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -395,9 +395,12 @@ protected function preprocessForm(Form $form, $data, $group = 'content')
$formFile = Path::clean($client->path . '/templates/' . $template . '/templateDetails.xml');

// Load the core and/or local language file(s).
// Default to using parent template language constants
$lang->load('tpl_' . $data->parent, $client->path)
|| $lang->load('tpl_' . $data->parent, $client->path . '/templates/' . $data->parent);

// Apply any, optional, overrides for child template language constants
$lang->load('tpl_' . $template, $client->path)
|| (!empty($data->parent) && $lang->load('tpl_' . $data->parent, $client->path))
|| (!empty($data->parent) && $lang->load('tpl_' . $data->parent, $client->path . '/templates/' . $data->parent))
|| $lang->load('tpl_' . $template, $client->path . '/templates/' . $template);

if (file_exists($formFile)) {
Expand Down
8 changes: 7 additions & 1 deletion build/media_source/com_joomlaupdate/js/default.es6.js
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,7 @@ Joomla = window.Joomla || {};
const pluginTitleTableCell = tableRow.querySelector('.exname');
pluginTitleTableCell.innerHTML = `${Joomla.sanitizeHtml(pluginTitleTableCell.innerHTML)}
<div class="small">
${document.querySelector(`td[data-extension-id="${plugin.extension_id}"]`) ? '' : ` - ${plugin.name}`}
<span class="badge bg-warning">
<span class="icon-warning"></span>
${Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN')}
Expand Down Expand Up @@ -569,10 +570,15 @@ Joomla = window.Joomla || {};
status = 'warning';
}

if (PreUpdateChecker.nonCoreCriticalPlugins.length === 0 && status === 'success') {
if (PreUpdateChecker.nonCoreCriticalPlugins.length === 0 && status === 'success' && document.getElementById('preupdatecheckbox')) {
document.getElementById('preupdatecheckbox').style.display = 'none';
}

if (PreUpdateChecker.nonCoreCriticalPlugins.length === 0 && status === 'success' && document.getElementById('noncoreplugins')) {
document.getElementById('noncoreplugins').checked = true;
}

if (PreUpdateChecker.nonCoreCriticalPlugins.length === 0 && status === 'success') {
[].slice.call(document.querySelectorAll('button.submitupdate')).forEach((el) => {
el.classList.remove('disabled');
el.removeAttribute('disabled');
Expand Down
4 changes: 3 additions & 1 deletion build/media_source/system/js/fields/calendar.es5.js
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,9 @@

if (window.innerHeight < containerTmp.getBoundingClientRect().bottom + 20) {
containerTmp.style.marginTop = - (containerTmp.getBoundingClientRect().height + this.inputField.getBoundingClientRect().height) + "px";
}
} else {
containerTmp.style.marginTop = 'initial';
}

this.processCalendar();
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ class JoomlaFieldMedia extends HTMLElement {
let type;
this.buttonClearEl.style.display = '';
this.previewElement.innerHTML = '';
const ext = getExtension(value);
const ext = getExtension(value).toLowerCase();

if (supportedExtensions.images.includes(ext)) type = 'images';
if (supportedExtensions.audios.includes(ext)) type = 'audios';
Expand Down
7 changes: 5 additions & 2 deletions build/media_source/system/js/fields/modal-fields.es5.js
Original file line number Diff line number Diff line change
Expand Up @@ -150,8 +150,11 @@
iframeDocument = this.contentDocument;

// Validate the child form and update parent form.
if (iframeDocument.getElementById(idFieldId) && iframeDocument.getElementById(idFieldId).value != '0')
{
if (
iframeDocument.getElementById(idFieldId)
&& iframeDocument.getElementById(idFieldId).value != '0'
&& [].slice.call(iframeDocument.querySelectorAll('joomla-alert[type="danger"]')).length == 0
) {
window.processModalParent(fieldPrefix, iframeDocument.getElementById(idFieldId).value, iframeDocument.getElementById(titleFieldId).value);

// If Save & Close (save task), submit the edit close action (so we don't have checked out items).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
flex-direction: column;
justify-content: center;
padding: .8rem;
line-height: normal;
color: var(--white);
background: var(--alert-accent-color, var(--template-bg-dark));
align-content: center;
Expand Down
13 changes: 12 additions & 1 deletion components/com_contact/src/Controller/ContactController.php
Original file line number Diff line number Diff line change
Expand Up @@ -180,12 +180,23 @@ public function submit()
'data' => $eventData,
]))->getArgument('result', []);

$passValidation = true;

foreach ($results as $result) {
if ($result instanceof \Exception) {
return false;
$passValidation = false;
$app->enqueueMessage($result->getMessage(), 'error');
}
}

if (!$passValidation) {
$app->setUserState('com_contact.contact.data', $data);

$this->setRedirect(Route::_('index.php?option=com_contact&view=contact&id=' . $id . '&catid=' . $contact->catid, false));

return false;
}

// Passed Validation: Process the contact plugins to integrate with other applications
$this->getDispatcher()->dispatch('onSubmitContact', new SubmitContactEvent('onSubmitContact', [
'subject' => $contact,
Expand Down
4 changes: 2 additions & 2 deletions components/com_tags/src/Controller/TagsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ public function searchAjax()

// Receive request data
$filters = [
'like' => trim($this->input->get('like', null, 'string')),
'title' => trim($this->input->get('title', null, 'string')),
'like' => trim($this->input->get('like', '', 'string')),
'title' => trim($this->input->get('title', '', 'string')),
'flanguage' => $this->input->get('flanguage', null, 'word'),
'published' => $this->input->get('published', 1, 'int'),
'parent_id' => $this->input->get('parent_id', 0, 'int'),
Expand Down
10 changes: 5 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@
"google/recaptcha": "^1.3.0",
"laminas/laminas-diactoros": "^2.25.2",
"paragonie/sodium_compat": "^1.20",
"phpmailer/phpmailer": "^6.8.0",
"phpmailer/phpmailer": "^6.8.1",
"psr/link": "~1.1.1",
"symfony/console": "^6.3.2",
"symfony/console": "^6.3.4",
"symfony/error-handler": "^6.3.2",
"symfony/ldap": "^6.3.0",
"symfony/options-resolver": "^6.3.0",
"symfony/polyfill-mbstring": "^1.27.0",
"symfony/polyfill-mbstring": "^1.28.0",
"symfony/web-link": "^6.3.0",
"symfony/yaml": "^6.3.3",
"typo3/phar-stream-wrapper": "^3.1.7",
Expand All @@ -93,11 +93,11 @@
"ext-gd": "*",
"web-auth/webauthn-lib": "4.3.0",
"ext-dom": "*",
"composer/ca-bundle": "^1.3.6",
"composer/ca-bundle": "^1.3.7",
"dragonmantank/cron-expression": "^3.3.3",
"enshrined/svg-sanitize": "^0.15.4",
"lcobucci/jwt": "^4.3.0",
"web-token/signature-pack": "^3.2.7",
"web-token/signature-pack": "^3.2.8",
"phpseclib/bcmath_compat": "^2.0.1",
"jfcherng/php-diff": "^6.15.3",
"voku/portable-utf8": "^6.0.13"
Expand Down
Loading