Author Topic: Nach dem Frontend Login auf Unterseite leiten, aber wie?  (Read 355 times)

Offline Concilla

  • Posts: 78
Nach dem Frontend Login auf Unterseite leiten, aber wie?
« on: March 16, 2020, 06:00:06 PM »
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.

Offline dbs

  • Betatester
  • **
  • Posts: 8344
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Nach dem Frontend Login auf Unterseite leiten, aber wie?
« Reply #1 on: March 16, 2020, 06:35:52 PM »
Hallo, in 2.12.2 hab ich da kein Problem.
Kannst du uns deinen Frontend-Login Code mal zeigen?

Offline Concilla

  • Posts: 78
Re: Nach dem Frontend Login auf Unterseite leiten, aber wie?
« Reply #2 on: March 16, 2020, 06:47:29 PM »
Es ist das ganz normale Droplet, welches ich dann so aufrufe: [[LoginBox?redirect=url]]

Code: [Select]
//: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;

Offline dbs

  • Betatester
  • **
  • Posts: 8344
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Nach dem Frontend Login auf Unterseite leiten, aber wie?
« Reply #3 on: March 16, 2020, 07:12:10 PM »
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.

Offline Concilla

  • Posts: 78
Re: Nach dem Frontend Login auf Unterseite leiten, aber wie?
« Reply #4 on: March 16, 2020, 07:19:52 PM »
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 :-(

Offline johnbroeckaert

  • Posts: 227
  • Gender: Male
Re: Nach dem Frontend Login auf Unterseite leiten, aber wie?
« Reply #5 on: March 17, 2020, 05:14:45 PM »
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.
It is a happy talent to know how to play!