He querido hacer un pequeño script en php que leyera de la base de datos de Joomla para poder hacer peticiones a la base de datos o usar sus funciones.
Al principio pensaba que importando configuration y router pues iba a tener suficiente pero empezaron a aparecer errores del tipo.
[Fri May 31 17:22:16 2013] [error] [client 172.26.0.100] PHP Notice: Use of undefined constant JPATH_SITE
[Fri May 31 17:22:16 2013] [error] [client 172.26.0.100] PHP Notice: Use of undefined constant JPATH_ADMINISTRATOR
[Fri May 31 17:22:16 2013] [error] [client 172.26.0.100] PHP Notice: Use of undefined constant JPATH_INSTALLATION
Investigando encontré que al final debía incluir a parte las librerías que vienen en import.php dejando mi cabecera de la siguiente forma.
define( ‘_JEXEC’, 1 );
define(‘JPATH_BASE’, dirname(__FILE__) );
define( ‘DS’, DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.’includes’.DS.’defines.php’ );
require_once ( JPATH_BASE .DS.’includes’.DS.’framework.php’ );
$mainframe =& JFactory::getApplication(‘site’);
include_once(«configuration.php»);
include_once (‘./libraries/import.php’);
include_once(«./components/com_content/helpers/route.php»);
La primera línea será por si necesitáis acceder a librerías protegidas no os salte el error de JEXEC no defined