Nach dem Frontend Login auf Unterseite leiten, aber wie?

johnbroeckaert

Vieleicht geht es so?

https://dev4me.com/droplets/other/go-to-grouppage-after-login/
This droplet will detect if a user has just logged in and will redirect the user to a url defined by group.

Concilla

Nee, das klappt bei mir leider nicht. Die Seite heißt: www.meine-domain.de/newsticker.php

Egal, was ich da eintrage, ob [[LoginBox?redirect=/newsticker.php]] oder [[LoginBox?redirect=/newsticker]] Nach dem Login lande ich immer wieder auf der Startseite :-(

dbs

Ich hatte das Problem falsch verstanden. Dachte auf der Unterseite, Sichtbarkeit "registriert", das Loginformular leitet dich zur Startseite.
Habe mir nun testweise das Droplet LoginBox in den Footer gesetzt und möchte auf der Newsseite landen nach Login.
[[LoginBox?redirect=/de/news/news]]
Klappt von jeder Seite aus. Kein Problem.

Vielleicht hat noch jemand eine Idee.
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

Concilla

Es ist das ganz normale Droplet, welches ich dann so aufrufe: [[LoginBox?redirect=url]]

//:Absolute or relative url possible
//:Remember to enable frontend login in your website settings.

global $wb,$page_id,$TEXT, $MENU, $HEADING;

$return_value = '<div class="">'."\n";
$return_admin = ' ';
// Return a system permission
function get_permission($name, $type = 'system')
{
    global $wb;
// Append to permission type
$type .= '_permissions';
// Check if we have a section to check for
if($name == 'start') {
return true;
} else {
// Set system permissions var
$system_permissions = $wb->get_session('SYSTEM_PERMISSIONS');
// Set module permissions var
$module_permissions = $wb->get_session('MODULE_PERMISSIONS');
// Set template permissions var
$template_permissions = $wb->get_session('TEMPLATE_PERMISSIONS');
// Return true if system perm = 1
if (isset($$type) && is_array($$type) && is_numeric(array_search($name, $$type))) {
if($type == 'system_permissions') {
return true;
} else {
return false;
}
} else {
if($type == 'system_permissions') {
return false;
} else {
return true;
}
}
}
}

function get_page_permission($page, $action='admin') {
if ($action!='viewing'){ $action='admin';}
$action_groups=$action.'_groups';
$action_users=$action.'_users';
if (is_array($page)) {
$groups=$page[$action_groups];
$users=$page[$action_users];
} else {
global $database,$wb;
$results = $database->query("SELECT $action_groups,$action_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page'");
$result = $results->fetchRow();
$groups = explode(',', str_replace('_', '', $result[$action_groups]));
$users = explode(',', str_replace('_', '', $result[$action_users]));
}

$in_group = FALSE;
foreach($wb->get_groups_id() as $cur_gid){
    if (in_array($cur_gid, $groups)) {
        $in_group = TRUE;
    }
}
if((!$in_group) AND !is_numeric(array_search($wb->get_user_id(), $users))) {
return false;
}
return true;
}

// Get redirect
$redirect_url = ((isset($_SESSION['HTTP_REFERER']) && $_SESSION['HTTP_REFERER'] != '') ? $_SESSION['HTTP_REFERER'] : WB_URL );
    $redirect_url = (isset($redirect) && ($redirect!='') ? $redirect : $redirect_url);

if ( ( FRONTEND_LOGIN == 'enabled') &&
    ( VISIBILITY != 'private') &&
        ( $wb->get_session('USER_ID') == '')  )
{
$return_value .= '<form action="'.LOGIN_URL.'" method="post">'."\n";
$return_value .= '<input type="hidden" name="url" value="'.$redirect_url.'" />'."\n";
    $return_value .= '<fieldset>'."\n";
$return_value .= '<h2>'.$TEXT['LOGIN'].'</h2>'."\n";
$return_value .= '<label for="username">'.$TEXT['USERNAME'].':</label>'."\n";
$return_value .= '<p><input type="text" class="frm-textfield" name="username" id="username"  /></p>'."\n";
$return_value .= '<label for="password">'.$TEXT['PASSWORD'].':</label>'."\n";
$return_value .= '<p><input class="frm-textfield" type="password" name="password" id="password"/></p>'."\n";
$return_value .= '<p><input type="submit" id="submit" value="'.$TEXT['LOGIN'].'" class="button" /></p>'."\n";
    $return_value .= '<ul class="login-advance">'."\n";
$return_value .= '<li class="forgot"><a href="'.FORGOT_URL.'"><span>'.$TEXT['FORGOT_DETAILS'].'</span></a></li>'."\n";

if (intval(FRONTEND_SIGNUP) > 0)
    {
        $return_value .= '<li class="sign"><a href="'.SIGNUP_URL.'">'.$TEXT['SIGNUP'].'</a></li>'."\n";
    }
    $return_value .= '</ul>'."\n";
    $return_value .= '</fieldset>'."\n";
$return_value .= '</form>'."\n";

} elseif( (FRONTEND_LOGIN == 'enabled') &&
(is_numeric($wb->get_session('USER_ID'))) )
{
$return_value .= '<form action="'.LOGOUT_URL.'" method="post" class="keine">'."\n";
        $return_value .= '<fieldset>'."\n";
$return_value .= '<label>'.$TEXT['WELCOME_BACK'].', '.$wb->get_display_name().'</label>'."\n";
$return_value .= '<p><input type="submit" name="submit" value="'.$MENU['LOGOUT'].'" class="button" /></p>'."\n";
        $return_value .= '<ul class="logout-advance">'."\n";

if ($wb->ami_group_member('1'))  //change ot the group that should get special links
        {
        $return_admin .= '<li class="admin"><a target="_blank" href="'.ADMIN_URL.'/index.php" title="'.$TEXT['ADMINISTRATION'].'" class="blank_target">'.$TEXT["ADMINISTRATION"].'</a></li>'."\n";
//you can add more links for your users like userpage, lastchangedpages or something
$return_value .= $return_admin;
}
            //change ot the group that should get special links
if( get_permission('pages_modify') && get_page_permission( PAGE_ID ) )
        {
$return_value .= '<li class="modify"><a target="_blank" href="'.ADMIN_URL.'/pages/modify.php?page_id='.PAGE_ID.'" title="'.$HEADING['MODIFY_PAGE'].'" class="blank_target">'.$HEADING['MODIFY_PAGE'].'</a></li>'."\n";
        }
        $return_value .= '</ul>'."\n";
        $return_value .= '</fieldset>'."\n";
$return_value .= '</form>'."\n";
}
$return_value .= '</div>'."\n";
return $return_value;

dbs

Hallo, in 2.12.2 hab ich da kein Problem.
Kannst du uns deinen Frontend-Login Code mal zeigen?
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

Concilla

Hallo WebsiteBaker,

ich habe schon im Forum gesucht, konnte aber leider keine Lösung finden.

Ich möchte gern auf eine einzelne Unterseite nur für registrierte Besucher mit Login versehen. Nach dem Klick auf den Button ,,Login" wird jedoch immer auf die Startseite geleitet, jedoch möchte ich, dass der Benutzer dann auf dieser Unterseite bleibt.

Wo kann ich dies einstellen? Ändern?

Vielen Dank im Voraus.