Wo muss ich da nachschauen?
...da wo die entsprechenden Parameter ausgelesen und die Buchung getätigt wird, in deiner Komponente (Controller, View, Model.....) machst du mal das da rein (oder was ähnliches
)
PHP-Code:
if ( JFactory::getUser()->get('guest') == '1' ) {
// User ist nicht eingeloggt, redirect zum Login
$app = JFactory::getApplication();
// dahin wird nach dem Login redirected:
$returnLink = base64_encode( JRoute::_( 'index.php?option=com_deineKompo&view=buchung¶m=' . JRequest::getInt( 'buchungsId', false ) );
// Link zum Login plus Ursprungs-URL als 'return'-Parameter
$loginLink = JRoute::_( 'index.php?option=com_user&view=login&return=' . $returnLink, false );
$msg = 'Bitte erst einloggen oder registrieren!'; // JText, falls mehrsprachig
$app->redirect( $loginLink, $msg );
} else {
// User ist eingeloggt, Buchung ist ok
CODE
}
(Links und Parameter natürlich anpassen.)
Beim Schreiben einer Komponente ist das Setzen eines Menulinks auf 'registred' oder 'spezial' NIEMALS eine Absicherung gegen unerlaubten Zugriff, denn der direkte Zugriff per URL funktioniert trotzdem:
1. ein 'ehemaliger Registrierter' hat noch die Url im Cache oder Bookmarked
2. dieses 'Leck' ist für alle sichtbar, die den Code sehen (OpenSource....) und danach suchen...
Cheers
Roger
Lesezeichen