At JoomShaper, we build beautiful, attractive and functional Joomla templates and extensions. Besides aesthetics, we put a great deal of effort on security. That means, when you choose JoomShaper, you get the most magnificent design, state of the art functionalities, and utmost reliability.
Security is our top priority. We actively research and explore how we can offer a safer web. In accordance with this philosophy, today we’re updating 29 of our Joomla templates with a security fix and the latest version of Joomla in the Quickstart pack.
Below is the list of these updated templates. We strongly recommend you to check the list and if you’re using any of these products, please update immediately to stay on the safe side.
- NewsKit
- Shopin
- Yoga
- Spectrum
- Strings
- Educon
- Lightbox
- Ares Murphy
- Knight
- Doctor
- Empire
- News365
- OneClip
- Kidzy
- Aspasia
- Politist
- Macro
- Megadeal II
- Moview
- Revibe
- NewEdge
- Tixon
- Cuisine
- Eventum
- Resort
- Soccer
- Qubic
- Startup Biz
- Varsita
Plus, we've also updated our Helix3 template framework with a security fix. You can learn more details about Helix update on this blog post.
How to update?
If you have an active JoomShaper template club subscription, you can easily update your template from the backend following the update notification.
If you don't have an active club membership, don't worry- we are providing the hotfix files so that you can apply this security update without having a current subscription with us.
For those without an active subscription
As we've already said that we're issuing this security update for all relevant users. So here we're outlining the ways to applying the fixes. Navigate to /YourTemplateName/templates/YourTemplateName/html/ and open the pagination.php file. Then find and replace the following codes with what we've given here.
For left right navigation icon and text
Strings, Lightbox, Knight, Doctor:
Previous Code:
$item->text = '<i class="fa fa-angle-right" aria-hidden="true"></i>';
Replacement Code:
$item->text = "<i class='fa fa-angle-right' aria-hidden='true'></i>";
Previous Code:
$item->text = '<i class="fa fa-angle-left" aria-hidden="true"></i>';
Replacement Code:
$item->text = "<i class='fa fa-angle-left' aria-hidden='true'></i>";
For NewsKit:
Previous Code:
$item->text = '<i class="newskit newskit-next"></i>';
Replacement Code:
$item->text = "<i class='newskit newskit-next'></i>";
Previous Code:
$item->text = '<i class="newskit newskit-prev"></i>';
Replacement Code:
$item->text = "<i class='newskit newskit-prev'></i>";
For Ares Murphy:
Previous code:
$item->text = JText::_('HELIX_NEXT') . '<i class="icon-right"></i>';
Replacement code:
$item->text = JText::_('HELIX_NEXT') . "<i class='icon-right'></i>";
Previous code:
$item->text = JText::_('HELIX_PREV') . '<i class="icon-left"></i>';
Replacement code:
$item->text = JText::_('HELIX_PREV') . "<i class='icon-left'></i>";
For Startup Biz:
Previous code:
if ($item->text == JText::_('Start')) { $item->text = '<i class="fa fa-angle-double-left"></i>'; $cls = "start";}
if ($item->text == JText::_('End')) { $item->text = '<i class="fa fa-angle-double-right"></i>'; $cls = "end";}
if ($item->text == JText::_('Next')) { $item->text = '<i class="fa fa-angle-right"></i>'; $cls = "next";}
if ($item->text == JText::_('Prev')) { $item->text = '<i class="fa fa-angle-left"></i>'; $cls = "previous";}
Replacement code:
if ($item->text == JText::_('Start')) { $item->text = "<i class='fa fa-angle-double-left'></i>"; $cls = "start";}
if ($item->text == JText::_('End')) { $item->text = "<i class='fa fa-angle-double-right'></i>"; $cls = "end";}
if ($item->text == JText::_('Next')) { $item->text = "<i class='fa fa-angle-right'></i>"; $cls = "next";}
if ($item->text == JText::_('Prev')) { $item->text = "<i class='fa fa-angle-left'></i>"; $cls = "previous";}
Previous code:
if ($item->text == JText::_('Start')) { $item->text = '<i class="fa fa-angle-double-left"></i>';}
if ($item->text == JText::_('End')) { $item->text = '<i class="fa fa-angle-double-right"></i>';}
if ($item->text == JText::_('Next')) { $item->text = '<i class="fa fa-angle-right"></i>';}
if ($item->text == JText::_('Prev')) { $item->text = '<i class="fa fa-angle-left"></i>';}
Replacement code:
if ($item->text == JText::_('Start')) { $item->text = "<i class='fa fa-angle-double-left'></i>";}
if ($item->text == JText::_('End')) { $item->text = "<i class='fa fa-angle-double-right'></i>";}
if ($item->text == JText::_('Next')) { $item->text = "<i class='fa fa-angle-right'></i>";}
if ($item->text == JText::_('Prev')) { $item->text = "<i class='fa fa-angle-left'></i>";
Doctor, Educon, Lightbox, Newskit, Spectrum, Yoga:
Previous code:
return "<li><a class='" . $cls . "' href='" . $item->link . "' title='" . $cls . "'>" . $item->text . "</a></li>";
Replace code:
return '<li><a class="' . $cls . '" href="' . $item->link . '" title="' . $item->text . '">' . $item->text . '</a></li>';
Previous code:
return "<li class='" . $cls . "'><span>" . $item->text . "</span></li>";
Replace code:
return '<li class="' . $cls . '"><a>' . $item->text . '</a></li>';
Ares Murphy:
Previous code:
return "<li><a class='" . $cls . "' href='" . $item->link . "' title='" . $cls . "'>" . $item->text . "</a></li>";
Replace code:
return '<li><a class="' . $cls . '" href="' . $item->link . '">' . $item->text . '</a></li>';
Previous code:
return "<li class='" . $cls . "'><span>" . $item->text . "</span></li>";
Replace code:
return '<li class="' . $cls . '"><a>' . $item->text . '</a></li>';
Knight, Startupbiz, Eventum, Cuisine:
Previous code:
return "<li><a class='" . $cls . "' href='" . $item->link . "'>" . $item->text . "</a></li>";
Replace code:
return '<li><a class="' . $cls . '" href="' . $item->link . '" title="' . $item->text . '">' . $item->text . '</a></li>';
Previous code:
return "<li class='" . $cls . "'><a>" . $item->text . "</a></li>";
Replace code:
return '<li class="' . $cls . '"><a>' . $item->text . '</a></li>';
Helix3, Shopin, Strings, Varsita, Qubic, Soccer, Resort, Tixon, Newedge, Revibe, OneClip:
Previous code:
return "<li><a class='" . $cls . "' href='" . $item->link . "' title='" . $item->text . "'>" . $item->text . "</a></li>";
Replace code:
return '<li><a class="' . $cls . '" href="' . $item->link . '" title="' . $item->text . '">' . $item->text . '</a></li>';
Previous code:
return "<li class='" . $cls . "'><a>" . $item->text . "</a></li>";
Replace code:
return '<li class="' . $cls . '"><a>' . $item->text . '</a></li>';
With this update, our templates are more secure than ever. We continue our effort to ensure the best development experience for you. This security update is a crucial part of that. Meanwhile, please keep us posted about any glitch you face with our templates and products. Happy developing.
Thanks for the info.
But what's the hotfix for Megadeal II? There is no replacement code for this template?!
:D
Hotfix for News365 please!
Hotfix for OnePage to planned?
I would like to ask if there is any changes for MACRO Template.
In template options, on the bottom, shows HELIX 3 FRAMEWORK Vesrion 2.0.
But HELIX 3 FRAMEWORK is Version 2.1 now.
Am I missing something?
Hotfix for Kidzy and Politist please!