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.

  1. NewsKit
  2. Shopin
  3. Yoga
  4. Spectrum
  5. Strings
  6. Educon
  7. Lightbox
  8. Ares Murphy
  9. Knight
  10. Doctor
  11. Empire
  12. News365
  13. OneClip
  14. Kidzy
  15. Aspasia
  16. Politist
  17. Macro
  18. Megadeal II
  19. Moview
  20. Revibe
  21. NewEdge
  22. Tixon
  23. Cuisine
  24. Eventum
  25. Resort
  26. Soccer
  27. Qubic
  28. Startup Biz
  29. 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.