Zugriff auf Joomla-Sitzung in PHP - Codeigniter
Ich muss überprüfen, ob der Benutzer in CodeIgniter angemeldet ist oder nicht.
Die Anmeldung erfolgt auf der Joomla-Site.
Ich habe Folgendes versucht, um Joomla zu initialisieren.
<code>define( '_JEXEC', 1 ); define( 'DS', DIRECTORY_SEPARATOR ); define('JPATH_BASE', dirname(__FILE__) ); require_once ("../includes/defines.php"); require_once ("../includes/framework.php"); $mainframe =& JFactory::getApplication("site"); $mainframe->initialise(); $session =& JFactory::getSession(); $user = $session->get( 'user' ); </code>
Aber ich habe diese Nachricht bekommen:
Keine Konfigurationsdatei gefunden und kein Installationscode verfügbar. Verlassen ...
Joomla wird auf root und Codeigniter auf root / advanced installiert
Ich rufe den Code im Controller auf.
Wie kann ich das lösen?
BEARBEITEN:
Jetzt erhalte ich diesen Fehler:
ein PHP Fehler ist aufgetreten
Schweregrad: Hinweis
Meldung: Undefinierte Variable: BM
Dateiname: core / CodeIgniter.php
Zeilennummer: 364
Bearbeiten
Mein Controller sieht so aus
<code>function is_logged() { define( '_JEXEC', 1 ); define( 'JPATH_BASE', '../'); define( 'DS', DIRECTORY_SEPARATOR ); require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' ); require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' ); //require_once ("../libraries/joomla/user/authentication.php"); $mainframe =& JFactory::getApplication("site"); $mainframe->initialise(); $session =& JFactory::getSession(); $user = $session->get( 'user' ); } </code>
Verzeichnisaufbau
<code>--Public_html --Joomla Istallation files --Advanced [This is a folder ,i installed codeignitor on this folder] </code>
So ist der Weg zu Joomlasite.com/
und der Pfad zum Codeignitor istsite.com/advanced
Mehr zum Fehler
Zeile 364 im Codeignitor Core besagt:
<code>// Mark a benchmark end point $BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_end'); </code>
und ich kann das folgende auf dem Anfang von CI-Kern sehen
<code> $BM =& load_class('Benchmark', 'core'); $BM->mark('total_execution_time_start'); $BM->mark('loading_time:_base_classes_start'); </code>