Hallo,
bin gerade dabei, ein Frontend für den EstateAgent zu entwickeln. Soweit bin ich damit auch fertig. Nur ein kleines Problem quält mich nun schon seit einigen Stunden. Damit Vermieter ihre eigenen Bilder hochladen können, benötige ich das Galerie-Modul, was ja gleich mit dem EstateAgent ausgeliefert wird.
Das Problem ist die Datei authea.php. Ich schaffe es einfach nicht, dass Vermieter nach dem Einloggen über das Frontend auch das gallery-Modul nutzen können. Über das Backend - z.B. als admin - funktioniert das alles einwandfrei.
Nach meinen Recherchen liegt es wohl an der $_SESSION-Variable, die bei einem Login im Backend anders erstellt wird als bei einem Login über das Frontend. Dabei sollte ich noch erwähnen, dass ich für das Login über das Frontend die normale Login-Funktion von Joomla nutze, also keine selbstgeschriebene.
Hoffe, dass Ihr mir helfen könnt, da ich Moment einfach nicht mehr weiter weiß. Auch ein Verweis auf ähnliche Themen wäre hilfreich.
Hier noch der Quelltext der Datei authea.php:
PHP-Code:<?php
/**
* @version $Id: auth.php 85 2005-09-15 23:12:03Z eddieajau $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*
* 10.01.2006 modified by Darko Selesi (www.bits-dont-bite.net) to fit the needs of the EstateAgent component
File: authEA.php
Version: 1.0.1 Stable
*/
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$basePath = dirname( __FILE__ );
$path = $basePath . '/../../../../configuration.php';
require( $path );
if (!defined( '_MOS_MAMBO_INCLUDED' )) {
if(file_exists($mosConfig_absolute_path . "/includes/joomla.php")){
$path = $basePath . '/../../../../includes/joomla.php';
require( $path );
session_name( md5( $mosConfig_live_site ) );
$css = mosGetParam( $_REQUEST, 'css', 'joomla_admin' );
}
else{
$path = $basePath . '/../../../../includes/mambo.php';
require( $path );
$database = new database( $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db, $mosConfig_dbprefix );
session_name( 'mosadmin' );
$css = mosGetParam( $_REQUEST, 'css', 'mambo_admin' );
}
}
$uid = mosGetParam( $_REQUEST, 'uid', 0 );
$action = mosGetParam( $_REQUEST, 'action', '');
session_start();
if($action != "preview" && $uid != -1) {
if(!isset($my)){
$my = new mosUser( $database );
}
// restore some session variables
$my->id = mosGetParam( $_SESSION, 'session_user_id', '' );
$my->username = mosGetParam( $_SESSION, 'session_username', '' );
$my->usertype = mosGetParam( $_SESSION, 'session_usertype', '' );
$my->gid = mosGetParam( $_SESSION, 'session_gid', '' );
$session_id = mosGetParam( $_SESSION, 'session_id', '' );
$logintime = mosGetParam( $_SESSION, 'session_logintime', '' );
// check against db record of session
if ( $session_id == md5( $my->id . $my->username . $my->usertype . $logintime ) ) {
$query = "SELECT * FROM #__session"
. "\n WHERE session_id = '$session_id'"
. "\n AND username = " . $database->Quote( $my->username )
. "\n AND userid = " . intval( $my->id );
$database->setQuery( $query );
if (!$result = $database->query()) {
echo $database->stderr();
}
if ($database->getNumRows( $result ) != 1) {
echo "<div style='text-align:center'></br></br>Session Time Out - please close this window and log in again!</div>";
exit();
}
} else {
echo "<div style='text-align:center'></br></br>Restricted access! Please login with username and password!</div>";
exit();
}
// update session timestamp
$current_time = time();
$query = "UPDATE #__session"
. "\n SET time = '$current_time'"
. "\n WHERE session_id = '$session_id'";
$database->setQuery( $query );
$database->query();
}
?>


LinkBack URL
About LinkBacks
Zitieren

Lesezeichen