votaciones votacion sistema hacer gusta estrellas con como calificar php authentication joomla external-script

votacion - Cómo obtener el usuario actual de Joomla con script PHP externo



sistema de me gusta php mysql (2)

Tengo un par de scripts PHP usados ​​para consultas AJAX, pero quiero que puedan funcionar bajo el paraguas del sistema de autenticación de Joomla. ¿Es seguro lo siguiente? ¿Hay líneas innecesarias?

joomla-auth.php (ubicado en el mismo directorio que Joomla''s index.php):

<?php 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'' ); /* Create the Application */ $mainframe =& JFactory::getApplication(''site''); /* Make sure we are logged in at all. */ if (JFactory::getUser()->id == 0) die("Access denied: login required."); ?>

test.php:

<?php include ''joomla-auth.php''; echo ''Logged in as "'' . JFactory::getUser()->username . ''"''; /* We then proceed to access things only the user of that name has access to. */ ?>


Si bien no veo nada en el código que no sea seguro, lo mejor es realizar sus llamadas AJAX / JSON a un componente estándar de Joomla. Hay un buen artículo sobre cómo hacer esto aquí: http://blog.syncleon.com/2009/05/ajax-ify-your-joomla-website.html También he escrito sobre JavaScript, Joomla y solicitudes asincrónicas en mi libro http://www.packtpub.com/files/learning-joomla-1-5-extension-development-sample-chapter-8-using-javascript-effects.pdf (saltar a la página 168).

Básicamente, lo que hace es crear una vista para el resultado de su llamada AJAX, y luego crear un archivo view.xml.php (o view.json.php) en lugar de view.html.php. Cuando agrega &format=xml al final de su URL de solicitud, extraerá de view.xml.php en lugar de view.html.php.


Seguro que funciona, necesita obtener datos de sesión para los usuarios

jimport( ''joomla.session.session'' ); $session =& JFactory::getSession();

imprima la sesión para ver lo que sale