Ja, das kann ich nachvollziehen. Statisch kann man ja immer ein redirect sprich eine
Umleitung setzen. Die einzige Lösung auf die Schnelle, die mir einfällt wäre diese.
Du erzeugst in der Komponente einen Link auf das Loginformular.
HTML-Code:
<a href="index.php&option=com_login&Itemid=3">Bitte einloggen</a>
und ergänzt das Ganze mit
PHP-Code:
<?php
$redirect = urlencode($mosConfig_live_site.'/index.php?option=com_suche&task=machwas&Itemid=9');
?>
<a href="<?php echo $mosConfig_live_site; ?>/index.php?option=com_login&Itemid=3&redirect=<?php echo $redirect; ?>">Bitte einloggen</a>
Dann hacken wir ein wenig die Loginkomponente in components/com_login/login.php
PHP-Code:
<?php
//Orientierung, das steht schon da
// load the html drawing class
require_once( $mainframe->getPath( 'front_html' ) );
global $database, $my;
global $mosConfig_live_site;
//Bereitstellung des neues Parameters
$return = mosGetParam( $_GET, 'redirect', null );
//wenn null setzte aktuelle Seite, wichtig für modullogin
if(is_null($return))
{
//steht da schon, nur verschoben
$return = mosGetParam( $_SERVER, 'REQUEST_URI', null );
}
else
//wenn nicht null
{
//am anfang der Umleitung muss [url]http://www.livesite.de[/url] stehen
//wir wollen ja nicht, dass uns irgendein Witzbold auf die Seite leitet, die URL anpasst und
//uns dann nach dem Login nach "google" weiterleitet.
$regex = '^('.$mosConfig_live_site.')';
//url decodieren
$return = urldecode($return);
if (!eregi($regex,$return))
//sicherstellen, dass man nicht durch einen Link von der Seite geleitet wird. Hack etc. - sonst [url]http://www.livesite.de[/url] setzen
{
$return = $mosConfig_live_site;
}
}
// & zu & wandeln - steht da schon
$return = ampReplace( $return );
//etwas tiefer - $return für $mosConfig_live_site setzen
$params->def( 'login', $return );
//das wars dann...
?>
Gruß
ec
Lesezeichen