vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   Login outside vB / Protect content (https://vborg.vbsupport.ru/showthread.php?t=59777)

rrottman 01-06-2004 06:04 PM

Quote:

Originally Posted by assassingod
You'd have to edited the functions to show where the login redirects too, but this would affect all other pages too. The only way I can think of doing it is to create another functions similar to vBs login code.

Could you possibly explain how to do this?
I know there are a couple of threads available which deal somehow with the login box. But I found nothing explaining to a relatively new vB "hacker" how to do a login box.

I also looked into the navbar template. The main problem is, that coding the form itself is pretty easy but the form action almost always submits to vB's login.php which would then again do its standard forwarding stuff.

So I guess it's not only the form which needs to be codes (the easy part) but also the login procedure itself.

Any hint on where to start? How to do it? Maybe anybody has already done it? Maybe I can reuse parts of the vB code?

assassingod 01-06-2004 06:43 PM

If you take a look at login.php, you'll get a fair idea on how to do it. I myself have never tried it (since i've never needed too) but i'm sure all the info is in login.php

[FG]Omega 01-07-2004 12:52 PM

Omega]ok, thx Faranth. Now I use a hack (for vb 2.3.3) , that displays also how many pm's you have, who's online (usernames) and how many threads and posts were posted since the last visit. Can anybody tell me how to add this info when a user logs in (on a non-vb-page)?
of course for vb 3.0.0 RC ;)

Like this:

"Welcome back, [FG]Omega! Your last visit was: 04.01.2004. X new threads and X new posts were posted since your last visit. View new posts (<-- this is a link).

Your CP (also a link) | Log out (also a link) | Private Messages - You have X new PMs since your last visit.

There are now X members online"

^-- yeah, like that ^^

Dave-ahfb 01-11-2004 11:36 PM

It sounds as though we are after the same thing. Much of what you are asking I already have figured out on my test page ( http://www.ahfb2000.com/test.php )

We do seem to have different results when redirecting. Upon login mine brings you back to the nonvb page you logged in from.

I am close to getting it 100% but I cannot get it to show the user info (username, avatar, remove login and show logout). It is always the guest templates which show.

Dave

rrottman 01-12-2004 06:48 AM

@[FG]Omega:
To display the information you are describing, you can do your page like this:
PHP Code:

<?php
    chdir
("./forum");
    require_once(
"./global.php");
    require_once(
"./includes/functions_bigthree.php");
    global 
$bbuserinfo;
    if (
$bbuserinfo['userid'] > 0) {    // userid = 0 usually means unregistered / logged out
        
echo ("Welcome back {$bbuserinfo['username']}. Thank you for posting {$bbuserinfo['posts']} so far.<br />Number of PMs:  {$bbuserinfo['pmtotal']} / Unread: {$bbuserinfo['pmunread']}.<br />");
        echo (
"Your last visit was on: {$bbuserinfo['lastvisitdate']}.<br />");

    
$activeusers '';
    if (
$vboptions['displayloggedin'])
    {
        
$datecut TIMENOW $vboptions['cookietimeout'];
        
$numbervisible 0;
        
$numberregistered 0;
        
$numberguest 0;
    
        
$forumusers $DB_site->query("
            SELECT
                user.username, (user.options & 
$_USEROPTIONS[invisible]) AS invisible, user.usergroupid,
                session.userid, session.inforum, session.lastactivity,
                IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
            FROM " 
TABLE_PREFIX "session AS session
            LEFT JOIN " 
TABLE_PREFIX "user AS user ON(user.userid = session.userid)
            WHERE session.lastactivity > 
$datecut
            ORDER BY " 
iif($permissions['genericpermissions'] & CANSEEHIDDEN'invisible ASC, ') . "username ASC, lastactivity DESC
        "
);
    
        if (
$bbuserinfo['userid'])
        {
            
// fakes the user being online for an initial page view of index.php
            
$bbuserinfo['joingroupid'] = iif($bbuserinfo['displaygroupid'], $bbuserinfo['displaygroupid'], $bbuserinfo['usergroupid']);
            
$userinfos = array
            (
                
$bbuserinfo['userid'] => array
                (
                    
'userid' => $bbuserinfo['userid'],
                    
'username' => $bbuserinfo['username'],
                    
'invisible' => $bbuserinfo['invisible'],
                    
'inforum' => 0,
                    
'lastactivity' => TIMENOW,
                    
'musername' => fetch_musername($bbuserinfo'joingroupid')
                )
            );
            
$numberregistered 1;
            
$numbervisible 1;
            
fetch_online_status($userinfos[$bbuserinfo['userid']]);
            
$loggedin $userinfos[$bbuserinfo['userid']];
            eval(
'$activeusers = ", ' fetch_template('forumhome_loggedinuser') . '";');
        }
        else
        {
            
$userinfos = array();
        }
        
$inforum = array();
    
        while (
$loggedin $DB_site->fetch_array($forumusers))
        {
            
$userid $loggedin['userid'];
            if (!
$userid)
            {    
// Guest
                
$numberguest++;
                
$inforum["$loggedin[inforum]"]++;
            }
            else if (empty(
$userinfos["$userid"]['lastactivity']) OR ($userinfos["$userid"]['lastactivity'] < $loggedin['lastactivity']))
            {
                
$userinfos["$userid"] = $loggedin;
                
$numberregistered++;
                if (
$userid != $bbuserinfo['userid'])
                {
                    
$inforum["$loggedin[inforum]"]++;
                }
                
$loggedin['musername'] = fetch_musername($loggedin);
    
                if (
fetch_online_status($loggedin))
                {
                    
$numbervisible++;
                    eval(
'$activeusers .= ", ' fetch_template('forumhome_loggedinuser') . '";');
                }
            }
        }
    
        
// memory saving
        
unset($userinfos$loggedin);
    
        
$activeusers substr($activeusers 2); // get rid of initial comma
    
        
$DB_site->free_result($loggedins);
    
        
$totalonline $numberregistered $numberguest;
        
$numberinvisible $numberregistered $numbervisible;
    
        }
        echo (
"Currently active users: $activeusers <br />");
        }
    
?>


rrottman 01-12-2004 06:49 AM

The output the above code produces on a non VB page is:

Welcome back localhost. Thank you for posting 3 so far.
Number of PMs: 0 / Unread: 0.
Your last visit was on: 01-11-2004 11:45 PM.
Currently active users: localhost

Davey-UK 01-12-2004 12:10 PM

Thanks, it works great for me apart from 2 things.

1. Active user link goes to member.php, instead of /board/member.php

2. If not logged in, it shows:

Unable to add cookies, header already sent.
File: N/A
Line: 0

I would like this to say Welcome guest or something (maybe a login box)

Thanks
Dave

Jannefant 01-12-2004 03:00 PM

The posted code + the asked stuff "I would like this to say Welcome guest or something (maybe a login box)" ist the hack i´m looking for ... an the links have to redirect to /boardpath/*.php ... instead of /*.php ...

If these options are made ... i can use it ...

noonespecial 01-14-2004 06:06 PM

any addition to this?


All times are GMT. The time now is 01:45 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01996 seconds
  • Memory Usage 1,791KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (9)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete