Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
d736f4e
[4.0] Backup message (#36487)
brianteeman Jan 1, 2022
537ae51
Remove reference & in usort callback function (#36503)
HLeithner Jan 2, 2022
3fe1353
Update paragonie sodium_compat to 1.17.0 (#36491)
HLeithner Jan 2, 2022
38cb894
[3.10] Finder plugins modify component params registry / Backport #35…
zero-24 Jan 2, 2022
4fa5a6e
[4.0] xml code style (#36532)
brianteeman Jan 2, 2022
267cfa4
[4.0] media manager breadcrumbs (#36154)
brianteeman Jan 2, 2022
c48d7a7
[4.0] RTL: Correcting Admin login 2factor and feedback hints (#36024)
brianteeman Jan 2, 2022
ef34efd
[4.0] Category list (#36536)
brianteeman Jan 2, 2022
e978e60
[4.0] Make routing work in console applications (#36332)
laoneo Jan 2, 2022
d39b885
Update list-fancy-select.php (#36543)
brianteeman Jan 3, 2022
be21cbf
[4.0] archive icon (#36263)
brianteeman Jan 3, 2022
419a422
[4.0] Banner Client tips (#36262)
brianteeman Jan 3, 2022
54595e3
Fix article creation from frontend (#36542)
alikon Jan 3, 2022
3197ab0
[4.0] Handle when toggle icon is not available (#36329)
laoneo Jan 4, 2022
f4bdbc4
Take workflow extension into account when setting a default (#36527)
roland-d Jan 4, 2022
dace4ad
Fix uploadlimits checks (#36023)
HLeithner Jan 4, 2022
046209a
Make edit_lock layout reusable for other extensions (#35112)
joomdonation Jan 4, 2022
773f9cd
Allow to set a value for SubformField (#35921)
HLeithner Jan 4, 2022
2280a53
[4.0] Fix example in cleanImageURL docblock (#36554)
Jan 4, 2022
83d5ccd
Fix Codemirror behind tabs (#36140)
Fedik Jan 4, 2022
e1541bd
Remove dependency on Factory in AdminController
wilsonge Jan 4, 2022
7f757e9
[4.0] Ensure path contains api in the router (#36315)
laoneo Jan 4, 2022
0a5f259
[4.0] Check model is set before calling its methods (#36378)
PhilETaylor Jan 4, 2022
477fa5b
Category edit form should use return url (#36560)
crystalenka Jan 4, 2022
254abe4
[4.0] Sample Data plugin images (#36237)
brianteeman Jan 4, 2022
dc283f2
[4.0] If the Mail Template was not found in the db, return false (#36…
PhilETaylor Jan 4, 2022
ec77735
[4.0] Code Style (#36564)
heelc29 Jan 4, 2022
0ce2f60
Use an absolute path in image list field (#36063)
laoneo Jan 5, 2022
7f9238b
Correct Cache setWorkarounds to take account of multiple script or st…
GeraintEdwards Jan 5, 2022
0bdfcb3
[3] privacy request by logged in user only (#35470)
alikon Jan 5, 2022
35951f4
Feature - Add always count option to 404 redirects (#34640)
tonypartridge Jan 5, 2022
d957088
php8 deprecation str_replace Passing null to param (#36400)
PhilETaylor Jan 5, 2022
22f096e
add php 8.1 to the version array (#36577)
zero-24 Jan 5, 2022
a24393f
Add function parameters for callbacks. Fixes #36010
wilsonge Jan 6, 2022
1809509
PHP 8.1 deprecation fixes (#36306)
wilsonge Jan 8, 2022
0093a18
Update simplepie to 1.3.3 (#36358)
zero-24 Jan 8, 2022
64c9009
[3.10] Dont show the pre upgrade checker when the upgrade is not supp…
zero-24 Jan 8, 2022
ee6dfd1
[3.10] Fix Progressive caching to cache modules per custom menu assig…
Fedik Jan 8, 2022
6a392a9
Bump registry to 1.6.4 (#36611)
wilsonge Jan 8, 2022
95016a1
[4.0] Load the subform data correctly (#36598)
laoneo Jan 8, 2022
c4e0da2
don't remove <joomla-hidden-mail> (#36602)
alikon Jan 8, 2022
67460fa
[4.0] Function to unregister a provider in media manager (#36594)
laoneo Jan 8, 2022
f757534
Joomla! 3.10.5 Release Candidate 1
zero-24 Jan 8, 2022
2445d7d
[4.0] Latests/Popular Admin modules permissions (#36559)
brianteeman Jan 8, 2022
43a8fb0
Allow our phpcode sniffer composer plugin to run
wilsonge Jan 8, 2022
b0350b5
PHP 8.1 fixes ported from #36355
frostmakk Jan 8, 2022
0798342
Fix codestyle. Thanks @brianteeman
wilsonge Jan 8, 2022
0771010
Improve security and type checking of the installer task
wilsonge Jan 8, 2022
b2bb179
Ensure the rule modifier is a string by default
wilsonge Jan 8, 2022
3dd0bd2
Ensure cpanel dashboard name is type safe (PHP 8.1)
wilsonge Jan 8, 2022
3b840f6
Fix mistake in param ordering
wilsonge Jan 8, 2022
67215a7
Fix PHP 8.1 notice when creating an article
wilsonge Jan 8, 2022
6416b70
Fix URL Field giving deprecated notices in PHP 8.1
wilsonge Jan 8, 2022
d06121a
Merge branch '3.10-dev' into 4.0-dev
wilsonge Jan 8, 2022
f76d1e9
[4.0] Fix template preview (#36268)
Fedik Jan 8, 2022
bcde078
Fix Progressive caching to cache modules per custom menu assignment (…
Fedik Jan 8, 2022
1bb28a5
Cross Origin for Google Fonts (#36592)
dgrammatiko Jan 8, 2022
1ac91f5
Update Tobscure library to be PHP 8.1 compat
wilsonge Jan 8, 2022
e524625
Tag 4.0.6 RC1
wilsonge Jan 8, 2022
8d78d4e
Reset to dev
wilsonge Jan 8, 2022
7577226
reset to dev
zero-24 Jan 8, 2022
6c99641
Translation Update (#36356)
joomla-translation-bot Jan 8, 2022
d8957f9
[4.0] Fix images (#35780)
dgrammatiko Jan 8, 2022
5279aab
[4.0] Joomla Update Silent fails (#36492)
brianteeman Jan 8, 2022
3bf0598
Fix null being passed to DateTime::__construct causing PHP 8.1 deprec…
wilsonge Jan 8, 2022
e5a947c
Missing param default to fix uploads in PHP 8.1
wilsonge Jan 9, 2022
e59e606
Tag 4.0.6 RC2
wilsonge Jan 9, 2022
a87fc9e
Reset to dev
wilsonge Jan 9, 2022
d0878fb
Missing param default to fix renaming media in PHP 8.1
wilsonge Jan 9, 2022
e581ffa
Stub generator now handles deprecated namespaced classes (#35144)
wilsonge Jan 9, 2022
ca0c42d
Fix error in article model (#36617)
richard67 Jan 9, 2022
9b7afaf
Fix code comment
wilsonge Jan 10, 2022
c94bca1
Temporary remove phpnext tests (#36624)
HLeithner Jan 10, 2022
50685f9
Sign drone.yml
HLeithner Jan 10, 2022
e46fc64
Use the correct namespace for the taggable trait (#36640)
laoneo Jan 11, 2022
38e6b07
Translation Update (#36645)
joomla-translation-bot Jan 12, 2022
65aaacc
Update extract.php (#36635)
frostmakk Jan 12, 2022
d78efc0
Merge branch '3.10-dev' into 4.0-dev
wilsonge Jan 15, 2022
4e4f596
Updated MediaHelper::canUpload function
Jan 15, 2022
003f099
Tag RC3
wilsonge Jan 15, 2022
b84fc74
Reset to dev
wilsonge Jan 15, 2022
92d7cf3
Merge branch '4.0-dev' of github.com:joomla/joomla-cms into HEAD
bembelimen Jan 16, 2022
ad32fc5
Merge branch '4.1-dev' into 4.1/upmerges/2022-01-16
bembelimen Jan 16, 2022
69c6b57
Fix composer
bembelimen Jan 16, 2022
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
117 changes: 64 additions & 53 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,39 +182,41 @@ steps:
commands:
- bash tests/Codeception/drone-api-run.sh "$(pwd)" mysql

- name: phpnext-api-mysql
depends_on:
- phpmin-api-mysql
image: joomlaprojects/docker-images:systemtests8.2
failure: ignore
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/Codeception/drone-api-run.sh "$(pwd)" mysqlphpnext
# - name: phpnext-api-mysql
# depends_on:
# - phpmin-api-mysql
# image: joomlaprojects/docker-images:systemtests8.2
# failure: ignore
# environment:
# JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
# commands:
# - bash tests/Codeception/drone-api-run.sh "$(pwd)" mysqlphpnext

- name: phpmin-api-postgres
depends_on:
- phpnext-api-mysql
# - phpnext-api-mysql
- phpmin-api-mysql
image: joomlaprojects/docker-images:systemtests
failure: ignore
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/Codeception/drone-api-run.sh "$(pwd)" postgres

- name: phpnext-api-postgres
depends_on:
- phpmin-api-postgres
image: joomlaprojects/docker-images:systemtests8.2
failure: ignore
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/Codeception/drone-api-run.sh "$(pwd)" postgresphpnext
# - name: phpnext-api-postgres
# depends_on:
# - phpmin-api-postgres
# image: joomlaprojects/docker-images:systemtests8.2
# failure: ignore
# environment:
# JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
# commands:
# - bash tests/Codeception/drone-api-run.sh "$(pwd)" postgresphpnext

- name: phpmax-api-postgres
depends_on:
- phpnext-api-postgres
# - phpnext-api-postgres
- phpmin-api-postgres
image: joomlaprojects/docker-images:systemtests8.1
failure: ignore
environment:
Expand All @@ -233,53 +235,62 @@ steps:
commands:
- bash tests/Codeception/drone-system-run.sh "$(pwd)" mysql

- name: phpnext-system-mysql
depends_on: [ phpmin-system-mysql ]
image: joomlaprojects/docker-images:systemtests8.2
failure: ignore
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/Codeception/drone-system-run.sh "$(pwd)" mysqlphpnext
# - name: phpnext-system-mysql
# depends_on:
# - phpmin-system-mysql
# image: joomlaprojects/docker-images:systemtests8.2
# failure: ignore
# environment:
# JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
# commands:
# - bash tests/Codeception/drone-system-run.sh "$(pwd)" mysqlphpnext

- name: phpmax-system-mysql
depends_on: [ phpnext-system-mysql ]
depends_on:
# - phpnext-system-mysql
- phpmin-system-mysql
image: joomlaprojects/docker-images:systemtests8.1
failure: ignore
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/Codeception/drone-system-run.sh "$(pwd)" mysqlphpmax

- name: phpnext-system-mysql8
depends_on: [ phpmax-system-mysql ]
image: joomlaprojects/docker-images:systemtests8.2
failure: ignore
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/Codeception/drone-system-run.sh "$(pwd)" mysql8phpnext
# - name: phpnext-system-mysql8
# depends_on:
# - phpmax-system-mysql
# image: joomlaprojects/docker-images:systemtests8.2
# failure: ignore
# environment:
# JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
# commands:
# - bash tests/Codeception/drone-system-run.sh "$(pwd)" mysql8phpnext

- name: phpmax-system-mysql8
depends_on: [ phpnext-system-mysql ]
depends_on:
# - phpnext-system-mysql
- phpmax-system-mysql
image: joomlaprojects/docker-images:systemtests8.1
failure: ignore
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/Codeception/drone-system-run.sh "$(pwd)" mysql8phpmax

- name: phpnext-system-postgres
depends_on: [ phpmax-system-mysql8 ]
image: joomlaprojects/docker-images:systemtests8.2
failure: ignore
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/Codeception/drone-system-run.sh "$(pwd)" postgresphpnext
# - name: phpnext-system-postgres
# depends_on:
# - phpmax-system-mysql8
# image: joomlaprojects/docker-images:systemtests8.2
# failure: ignore
# environment:
# JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
# commands:
# - bash tests/Codeception/drone-system-run.sh "$(pwd)" postgresphpnext

- name: phpmax-system-postgres
depends_on: [ phpnext-system-mysql8 ]
depends_on:
# - phpnext-system-mysql8
- phpmax-system-mysql8
image: joomlaprojects/docker-images:systemtests8.1
failure: ignore
environment:
Expand All @@ -306,17 +317,17 @@ steps:
- name: artifacts-system-tests
image: cschlosser/drone-ftps
depends_on:
- phpnext-system-mysql
- phpnext-system-mysql8
- phpnext-system-postgres
# - phpnext-system-mysql
# - phpnext-system-mysql8
# - phpnext-system-postgres
- phpmax-system-mysql
- phpmax-system-mysql8
- phpmax-system-postgres
- phpmin-system-mysql
- phpmin-system-mysql8
- phpmin-system-postgres
- phpnext-api-mysql
- phpnext-api-postgres
# - phpnext-api-mysql
# - phpnext-api-postgres
- phpmax-api-mysql
- phpmax-api-postgres
- phpmin-api-mysql
Expand Down Expand Up @@ -409,6 +420,6 @@ steps:

---
kind: signature
hmac: e93522732dd8607448fa7705982c42c06f9ebf9762023ed1bb2207ee975fee42
hmac: daa8e5588cc88058bc57aadf35e3d9dd55eefaa9419c457ce374a0dd19eb7cda

...
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ public function getItem($pk = null)
$registry = new Registry($item->urls);
$item->urls = $registry->toArray();

$item->articletext = trim($item->fulltext) != '' ? $item->introtext . "<hr id=\"system-readmore\">" . $item->fulltext : $item->introtext;
$item->articletext = ($item->fulltext !== null && trim($item->fulltext) != '') ? $item->introtext . "<hr id=\"system-readmore\">" . $item->fulltext : $item->introtext;

if (!empty($item->id))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class HtmlView extends BaseHtmlView
public function display($tpl = null)
{
$app = Factory::getApplication();
$dashboard = $app->input->getCmd('dashboard');
$dashboard = $app->input->getCmd('dashboard', '');

$position = ApplicationHelper::stringURLSafe($dashboard);

Expand Down
2 changes: 1 addition & 1 deletion administrator/components/com_joomlaupdate/extract.php
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ public function enforceMinimumExecutionTime()
return;
}

$sleepMillisec = $minExecTime - $elapsed;
$sleepMillisec = intval($minExecTime - $elapsed);

/**
* If we need to sleep for more than 1 second we should be using sleep() or time_sleep_until() to prevent high
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,12 @@ protected function addToolbar()
*/
public function shouldDisplayPreUpdateCheck()
{
// When the download URL is not found there is no core upgrade path
if (!isset($this->updateInfo['object']->downloadurl->_data))
{
return false;
}

$nextMinor = Version::MAJOR_VERSION . '.' . (Version::MINOR_VERSION + 1);

// Show only when we found a download URL, we have an update and when we update to the next minor or greater.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,32 @@ public function registerProvider(ProviderInterface $provider)
$this->providers[$provider->getID()] = $provider;
}

/**
* Unregister a provider from the ProviderManager.
* When no provider, or null is passed in, then all providers are cleared.
*
* @param ProviderInterface|null $provider The provider to be unregistered
*
* @return void
*
* @since 4.0.6
*/
public function unregisterProvider(ProviderInterface $provider = null): void
{
if ($provider === null)
{
$this->providers = [];
return;
}

if (!array_key_exists($provider->getID(), $this->providers))
{
return;
}

unset($this->providers[$provider->getID()]);
}

/**
* Returns the provider for a particular ID
*
Expand Down
2 changes: 1 addition & 1 deletion administrator/language/en-GB/com_joomlaupdate.ini
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ COM_JOOMLAUPDATE_VIEW_DEFAULT_INSTALLAGAIN="Reinstall Joomla core files"
COM_JOOMLAUPDATE_VIEW_DEFAULT_INSTALLED="Installed Joomla version"
COM_JOOMLAUPDATE_VIEW_DEFAULT_INSTALLUPDATE="Update"
COM_JOOMLAUPDATE_VIEW_DEFAULT_LATEST="Latest Joomla version"
COM_JOOMLAUPDATE_VIEW_DEFAULT_NO_DOWNLOAD_URL="We can't find a download URL"
COM_JOOMLAUPDATE_VIEW_DEFAULT_NO_DOWNLOAD_URL="Update unavailable"
COM_JOOMLAUPDATE_VIEW_DEFAULT_NO_DOWNLOAD_URL_DESC="An update to Joomla %1$s was found, but it wasn't possible to fetch the download URL for that update. Either the update to Joomla %1$s is not available for your stability level or there is a problem with the Joomla Update Server.<br>Please try to download the update package from <a href=\"https://downloads.joomla.org/latest\">the official Joomla download page</a> and use the Upload and Update tab."
COM_JOOMLAUPDATE_VIEW_DEFAULT_NO_LIVE_UPDATE="A new version of the Joomla Update Component is available."
COM_JOOMLAUPDATE_VIEW_DEFAULT_NO_LIVE_UPDATE_DESC="You must update this component first before you can update Joomla! <a class=\"alert-link\" href=\"index.php?option=com_installer&view=update\">Click here to update the component</a>."
Expand Down
4 changes: 4 additions & 0 deletions administrator/language/en-GB/lib_joomla.ini
Original file line number Diff line number Diff line change
Expand Up @@ -649,6 +649,10 @@ JLIB_INSTALLER_NOT_ERROR="If the error is related to the installation of TinyMCE
JLIB_INSTALLER_NOTICE_LANG_RESET_USERS="Language set to Default for %d users."
JLIB_INSTALLER_NOTICE_LANG_RESET_USERS_1="Language set to Default for the user."
JLIB_INSTALLER_PURGED_UPDATES="Cleared updates."
JLIB_INSTALLER_SQL_BEGIN="Start of SQL updates."
JLIB_INSTALLER_SQL_BEGIN_SCHEMA="The current database version (schema) is %s."
JLIB_INSTALLER_SQL_END="End of SQL updates."
JLIB_INSTALLER_SQL_END_NOT_COMPLETE="End of SQL updates - INCOMPLETE."
JLIB_INSTALLER_UNINSTALL="Uninstall"
JLIB_INSTALLER_UPDATE="Update"
JLIB_INSTALLER_UPDATE_LOG_QUERY="Ran query from file %1$s. Query text: %2$s."
Expand Down
3 changes: 2 additions & 1 deletion administrator/modules/mod_latest/src/Helper/LatestHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,8 @@ public static function getList(Registry &$params, ArticlesModel $model)
{
$item->link = '';

if ($user->authorise('core.edit', 'com_content.article.' . $item->id))
if ($user->authorise('core.edit', 'com_content.article.' . $item->id)
|| ($user->authorise('core.edit.own', 'com_content.article.' . $item->id) && ($userId === $item->created_by)))
{
$item->link = Route::_('index.php?option=com_content&task=article.edit&id=' . $item->id);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ public static function getList(Registry &$params, ArticlesModel $model)
{
$item->link = '';

if ($user->authorise('core.edit', 'com_content.article.' . $item->id))
if ($user->authorise('core.edit', 'com_content.article.' . $item->id)
|| ($user->authorise('core.edit.own', 'com_content.article.' . $item->id) && ($userId === $item->created_by)))
{
$item->link = Route::_('index.php?option=com_content&task=article.edit&id=' . $item->id);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ protected function preprocessSaveData(array $data): array
$extension = $this->getExtensionFromInput();
$data['extension'] = $extension;

// @todo: This is a hack to drop the extension into the global input object - to satisfy how state is built
// TODO: This is a hack to drop the extension into the global input object - to satisfy how state is built
// we should be able to improve this in the future
$this->input->set('extension', $extension);

Expand All @@ -65,7 +65,7 @@ protected function preprocessSaveData(array $data): array
*
* @return integer The record ID on success, false on failure
*
* @since 4.1.0
* @since 4.0.6
*/
protected function save($recordKey = null)
{
Expand Down
29 changes: 24 additions & 5 deletions build/stubGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ class StubGenerator extends CliApplication
public function doExecute()
{
$this->createExtensionNamespaceMap();
$contentsByNamespace = [];

$file = "<?php\n";

Expand All @@ -77,18 +78,36 @@ public function doExecute()
$modifier = (!$reflection->isInterface() && $reflection->isFinal()) ? 'final ' : '';
$modifier = ($reflection->isAbstract() && !$reflection->isInterface()) ? $modifier . 'abstract ' : $modifier;

$namespaceSegments = explode('\\', $oldName);
$className = array_pop($namespaceSegments);
$targetNamespace = ltrim(implode('\\', $namespaceSegments), '\\');

// If a deprecated version is available, write a stub class doc block with a deprecated tag
if ($deprecatedVersion !== false)
{
$file .= <<<PHP
/**
* @deprecated $deprecatedVersion Use $newName instead.
*/
$fileContents = <<<PHP
/**
* @deprecated $deprecatedVersion Use $newName instead.
*/

PHP;
}

$file .= "$modifier$type $oldName extends $newName {}\n\n";
$fileContents .= "\t$modifier$type $className extends \\$newName {}\n\n";

if (!array_key_exists($targetNamespace, $contentsByNamespace))
{
$contentsByNamespace[$targetNamespace] = '';
}

$contentsByNamespace[$targetNamespace] .= $fileContents;
}

foreach ($contentsByNamespace as $namespace => $contents)
{
$file .= "namespace $namespace {\n";
$file .= $contents;
$file .= "}\n\n";
}

// And save the file locally
Expand Down
10 changes: 9 additions & 1 deletion components/com_contact/tmpl/category/default_items.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
use Joomla\Component\Contact\Administrator\Helper\ContactHelper;
Expand Down Expand Up @@ -99,7 +100,14 @@ class="inputbox" onchange="document.adminForm.submit();"
<a href="<?php echo Route::_(RouteHelper::getContactRoute($item->slug, $item->catid, $item->language)); ?>">
<?php if ($this->params->get('show_image_heading')) : ?>
<?php if ($item->image) : ?>
<?php echo HTMLHelper::_('image', $item->image, '', array('class' => 'contact-thumbnail img-thumbnail')); ?>
<?php echo LayoutHelper::render(
'joomla.html.image',
[
'src' => $item->image,
'alt' => '',
'class' => 'contact-thumbnail img-thumbnail',
]
); ?>
<?php endif; ?>
<?php endif; ?>
<?php echo $this->escape($item->name); ?>
Expand Down
Loading