Error 500 No valid database connection Joomfish Joomla

Joomla

Nos hemos encontrado con un error en el componente Joomfish! (error ya analizado por sus desarrolladores) en el que al entrar daba un error 500 (en cualquier página).

La solución mas extendida es cambiar en la configuración global de Joomla el valor tipo de base de datos de Configuración de la base de datos de mysql a mysqli. Esto no seria una mala opción, pero depende del hosting donde se albergue, pues a veces hemos migrado de un hosting a otro y la opción mysqli no funcionaba porque el hosting no tenia habilitada esa opción.

Una solución que proponen aquí es cambiar el plugin que provoca ese error (system – jfdatabase). Este plugin esta en /plugins/system/jfdatabase/. Los archivos son intercept.jfdatabasemysqli.php (linea 102 aproximadamente) y intercept.jfdatabasemysql.php (linea 160 aproximadamente). Para ello, buscamos el siguiente código en ambos:

// only needed for selects at present - possibly add for inserts/updates later
if (strpos(strtoupper($tempsql),"SELECT")===false) {
$pfunc = $this->_profile($pfunc);
return;
}

y lo cambiamos por:

//Here we don't try to convert a query if it does not start with select (uppercase or lowercase)
//and we are nice with developers in case of they added some extra spaces at the begin of their query.
if (!preg_match('#^ *select#i',$tempsql)) {
$pfunc = $this->_profile($pfunc);
return;
}

A nosotros de momento nos lo ha solucionado. Si sabéis alguna otra opción para corregir este bug (repito, en algunos hostings no se reproduce el error pero en otros si) dejar un comentario y os lo agradeceremos.