Posts

Disable Joomla! two-factor authentication

The Joomla! two-factor authentication is a great security improvement. But if you got locked out, maybe because your smartphone with the Google Authenticator installed broke down, was factory reset or the app was uninstalled – what to do?

  1. First of all, reinstall the Google Authenticator app back into your smartphone or tablet
  2. Use FTP software or similar to access the Joomla! installation directory
  3. Go to the plugins folder
  4. Rename the folder twofactorauth to something else
  5. Access the backend login page (i.e. /administrator) of your site
  6. Now the secret key field is gone, so proceed and login with just username and password
  7. Once logged in, you can rename the plugin folder back to twofactorauth
  8. Go to Users in the Joomla! backend and find your user account and click on it
  9. Click the Two factor authentication tab and scan the QR code with Google Authenticator on your smartphone/tablet
  10. Done! Now you can login using two factor authentication again

Joomla problem after upgrading to 3.6.3 – Error decoding JSON data: object property name separator ‘:’ expected the bad data is: {“”}

After upgrading to Joomla 3.6.3 I got this error message when trying to login to administrator:

Error decoding JSON data: object property name separator ':' expected the bad data is: {""}

Solution was found here using the method suggested by Brent Laminack.

You need to issue the following SQL command using for example phpmyadmin:

update TABLEPREFIX_modules set params = '' where params like '%{""}%';

Note that you must replace TABLEPREFIX above with the prefix your Joomla installation is using.

How to add search by CTRL-F in Joomla codemirror editor

When working with template files like css in Joomla the codemirror editor is used. However, a great annoyance is that it is not possible to use the browser search (CTRL-F) to find code. When your css becomes large this can be really annoying.

There is a search addon available for codemirror however. This is how you add it to your codemirror editor in Joomla:

Download these files:

https://codemirror.net/addon/search/search.js
https://codemirror.net/addon/search/searchcursor.js

Upload the files into your Joomla and place them in the <Joomla root>/media/editors/codemirror/lib directory.

Edit the file <Joomla root>/plugins/editors/codemirror/layouts/editors/codemirror/init.php

Find the two lines (around line 19-20) looking like this:

JHtml::_('script', $basePath . 'lib/codemirror' . $extJS);
JHtml::_('script', $basePath . 'lib/addons' . $extJS);

After them, add the following lines:

JHtml::_('script', $basePath . 'lib/search.js');
JHtml::_('script', $basePath . 'lib/searchcursor.js');

Save the file and enjoy searching in codemirror using the commands described in the search addons page (like CTRL-F etc)!

Note: A future possible system update will however overwrite the changes made in init.php.

 

Solution by Stefan Helander, HelTech Communication AB.

Joomla Update component missing

Sometimes the Joomla Update component is missing in the Components menu in the backend. A workaround has been to use the extension manager and paste the update package URL and make the update that way.

But when updating to Joomla 3.5.0 that method is not possible. A quick solution, if the Joomla Update component is present but just not displayed in the menu, is to call the URL to the component directly. In the address bar of your web browser, enter:

http://yoursite.com/administrator/index.php?option=com_joomlaupdate

Now you can do the Joomla version update.

To solve the problem on a more permanent basis (i.e. to get it back into the Component menu in the backend), see this article.

Unwanted code is displayed on Joomla articles when caching is enabled

Unwanted code, like below, is displayed on articles when System -> Global settings -> Cache is set to ON (both for conservative and progressive caching). The first time the article is loaded it looks ok but when reloading it garbage code like below is displayed. System is Joomla 3.4.8.

Example of unwanted code displayed:

{idkey=7001b0[url=http%3A%2F%2Fsomedomain.com%2Fom-site][title=Om+oss][desc=+%7Bloadposition+undermeny_4_text%7D+%7Bloadposition+undermeny_4_bild%7D+]}{cmp_start idkey=9514[url=http%3A%2F%2Fdomedomain.com%2Fom-site][title=Om+oss][desc=+%7Bloadposition+undermeny_4_text%7D+%7Bloadposition+undermeny_4_bild%7D+]}

This is generally caused by a third party plugin. To track down which one is causing this you need to disable plugins one by one and clear the cache before reloading (reload at least twice).

In my case, it was a plugin called Content – Facebook-Twitter-Google+1 causing the trouble. I tried reordering the plugin, from first to last without any success so I simply just had to ditch it and find another one.

I found out that the BT Social Sharing plugin was a better alternative. Apart from not giving the above trouble it doesn’t slow down the site as the Facebook-Twitter-Google+1 plugin did.

Joomla 1.5 PHP fatal error allowed memory size exhausted in libraries/joomla/error/exception.php [SOLUTION]

After a site move (from one webhosting to another) the site reported error 500 internal server error. When checking the logfile the file libraries/joomla/error/exception.php reported that allowed memor size was exhausted. I tried increasing it by adjusting the php.ini settings all the way up to 2 GB without resolving the problem. This is way more than Joomla should need.

The problem was that I had forgot to update the temp and log paths in Global settings to the ones on the new server. The path the site is running under can be found by the menu Help -> System info. Then I adjusted temp path and log path in Global settings and the problem was resolved.

If your site gives you error 500 internal server error, access your Joomla database using for example phpMyAdmin and delete all rows in the jos_session table.

Another solution if the problem is a corrupted database is to repair the database tables using phpMyAdmin.

In configuration.php, also try setting cache_handler=”file” instead of “memcache”.

Joomla 3.4 too many redirects (303)

On a Joomla site currently in offline mode the front page gave us “too many redirects” error. It turned out the reason was the article connected to the home page menu item had been unpublished. By publishing the article the problem wsa solved.

Joomla t3 bootstrap dropdown submenu not working on tablet and phone

A template based on t3 boostrap framework has a problem when click a menu item where there is a submenu dropping down. The visitor has no possibility to click the submenu item. The problem occurs in the android native browser but works fine in chrome for android. Some reports says the same problem occurs in the iphone/Ipad safari browser too.

To resolve this, go to the templetes in joomla backend and configure the t3 bs. Go to navigation and change dropdown trigger from hover to click (as tablets and phones doesn’t have the possibility of hovering).

Joomla error “Table jf_content doesn’t exist” after migration from Joomla 2.5 to 3.4

I was working on a migration project on site running Joomla 2.5, moving it over to Joomla 3.4. On some pages I received an error screen with SQL errors saying, among other things, “Table jf_content doesn’t exist”.

I found out that the common factor for the pages with errors was that they used the include_content_item plugin. I tried downloading the latest version of the plugin, which was 3.0.12 released in June 2014 supporting up to Joomla 3.3. However I was now running Joomla 3.4 and this didn’t solve my problem.

So I had to start looking for an alternative and found the Articles Anywhere extension which gave me similar functionality. After the include_content_item plugin was uninstalled and replaced by Articles Anywhere my problem was solved.

Joomla com_weblinks not working after upgrade from Joomla 2.5 to 3.4

After upgrading my Joomla 2.5 site to Joomla 3.4 the com_weblinks stopped working. I got error messages like these:

Notice: Trying to get property of non-object in /var/www/SOMESITE/components/com_weblinks/models/category.php on line 87 Warning: Creating default object from empty value in /var/www/SOMESITE/components/com_weblinks/models/category.php on line 88 Notice: Undefined property: stdClass::$url in /var/www/clients/client1/web2/web/webhotel24-2/modules/mod_weblinks/helper.php on line 92
Notice: Undefined property: stdClass::$title in /var/www/SOMESITE/modules/mod_weblinks/tmpl/default.php on line 21 Notice: Undefined property: stdClass::$description in /var/www/SOMESITE/modules/mod_weblinks/tmpl/default.php on line 38

As of Joomla 3.4 the com_weblinks is no longer a core part of the Joomla distribution. Instead it is found in the Joomla Extensions Directory (JED). To try to solve the problem I downloaded the latest com_weblinks from JED and tried to install it in my Joomla 3.4 site. This failed with an SQL error however

After trying to manually delete the weblinks package originating from Joomla 2.5 from the site (by deleting the folders com_weblinks folders and renaming the table ending with the name “_weblinks”) I ended up in a kind of deadlock situation where I wasn’t able to install the new weblinks from Joomla Extensions directory either. It didn’t install due to SQL errors.

The problem with upgrading a weblinks package that has been present during a Joomla 2.5.28 -> Joomla 3.4.0 problems are being adressed here. However, just downloading the suggested pkg_weblinks341 didn’t solve the problem for me either. Trying to install it in my Joomla 3.4 site gave SQL errors about columns images and version already existing in the table ending with the name “_weblinks”. Just deleting the table “_weblinks” gave another error about the table “_weblinks” not exisiting.

This is how I solved it.

Warning! 1) The below solution will have the drawback of deleting all your existing weblinks, but it will get the extension up and running with Joomla 3.4 and 2) make backup of your site and database before you begin!

So my solution was:

  • Using phpMyAdmin I made a copy of the table with the name ending with “_weblinks” to a name ending with “_weblinks_OLDJ25” (just to have an easily accessible backup of the table)
  • Using phpMyAdmin I deleted the columns images and version from the table “_weblinks”
  • I downloaded pkg_weblinks341 and now it was possible to install it using the normal Joomla extension install