Dış PHP ile mevcut Joomla kullanıcı almak için nasıl

2 Cevap php

AJAX sorguları için kullanılan bir çift PHP komut dosyaları var, ama onları Joomla'nın kimlik doğrulama sisteminin şemsiyesi altında faaliyet edebilmek istiyorum. Güvenli takip ediyor? Gereksiz çizgiler var mı?

joomla-auth.php (located in the same directory as 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. */
?>

2 Cevap

Ben güvensiz kodda bir şey görmüyorum da, AJAX / JSON standart bir Joomla bileşeni aramaları yapmak için en iyisidir. Bu nasıl iyi bir yazı var burada: http://blog.syncleon.com/2009/05/ajax-ify-your-joomla-website.html Ben de JavaScript, Joomla, ve benim kitap http://www.packtpub.com/files/learning-joomla-1-5-extension-development-sample-chapter-8-using-javascript-effects.pdf (sayfa 168 aşağı atlayın) asenkron istekleri hakkında yazdık.

Esasen, ne yapmak bir view.xml.php (veya view.json.php) oluşturun, sonra AJAX çağrı çıkışı için bir görünüm oluşturmak yerine view.html.php dosyasında olduğunu. Eğer istek URL sonuna &format=xml eklediğinizde, bunun yerine view.html.php arasında view.xml.php çekinir.

Emin, kullanıcılar için oturum verilerini almak için çalışma gerek yok

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

ne çıkar görmek için oturumu yazdırmak