vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   Quick Account Switch v1.2 (https://vborg.vbsupport.ru/showthread.php?t=70971)

Ianomed 10-24-2004 10:00 PM

Quick Account Switch v1.2
 
Quick Account Switch v1.2.
by Ianomed


Uses of this hack:
This account will let you string together several accounts owned by the same person. Of course it will also let you string together accounts owned by different people, but that's a dangerous thing to do. :)

What then is the use of stringing accounts together? Well, this hack will let you switch from one to the other account without having to log out, then log in again. Those interested in the technical aspect I refer to the addition made to login.php, it's all quite simple. You'll see now why it's dangerous to string together your account with someone else's, they'd be able to switch to your account.

I wrote this for two play-by-board RPGs that I frequent, at each of which I have several accounts, an account for each character. This lets me assume another account in moments.

It's also used by admins to switch between test accounts quickly.

Maybe you'll find other uses, eh?
Changes required:
  1. Adding of 1 field to user table (installer will try to do this)
  2. Adding of 18 phrases (installer does this)
  3. An addition to admincp/user.php
  4. An addition to global.php
  5. An addition to login.php
  6. A modification to the navbar template (for each style)

    Time needed: 20-30 minutes
    Difficulty rating: moderate

Known issues with v1.2:
Changing the username of an account that's either a slave or master, it does not update these cached usernames. This will be taken care of in v1.3.
Work-around: If you rename a user, unlink it first, and relink after the renaming.
Since I don't see this happening very often on any board I'm releasing v1.2 with this caveat.
Item of note:
For some obscure reason vBportal does NOT play nice with this hack. It'll introduce cookie/header errors. Either do not install this hack if vBportal is installed, or vice versa. Since I don't plan on spending $20 to buy software I'll never use, there's no intention on my part to work out that problem. You're good to go with vbadvanced CPMS, however, this has been tested.
Warranties:
None, in the instructions you'll notice I tell you to backup before applying the hack. I've tested it on 4 boards, each of which have additional hacks installed, and it runs on many more. If it doesn't for you then, well... roll back the changes you've just made and blame yourself.
Tested (and works) on:
  • vB 3.0.3. - vanilla
  • vB 3.0.1. - vanilla
  • vB 3.0.3. - With vbAdvanced Homepage / CPMS (out of the box)
  • vB 3.0.1. - With vbAdvanced Homepage / CPMS (out of the box)
  • vB 3.0.3. - With vBindex v3.0.0 RC5 (Instructions by bondjetta)
  • vB 3.0.3. - Nexialys - ACP cookie hack. <- Recommended combination
  • vB 3.0.1. - Nexialys - ACP cookie hack. <- Recommended combination
  • vB 3.0.3. - Assorted mods

Future plans:
  • v 1.3 - Optionally displaying the linked accounts on the public profile. (i.e. 'I am also ....')
  • v 1.3 - Fix user rename issue (see known issues, above).
  • v 1.3 - Under Users in the ACP add a Manage Linked Accounts option, listing all linked accounts and their slaves.
  • v x.x - Very maybe: allow sharing of a secondary account between two users. This is the trickiest of all, since when on that account, who should you allow switching back to in a way that can't be circumvented. ;)
Future non-plans (I will probably never implement these):
  • A 'let users link accounts themselves' mode.

Thanks to Oblivion Knight for the updated dropdown look.

Enjoy :)

--- History ---
v1.2 - 17th November 2004
  • Removed username colouring, it's not really necessary and only adds extra queries.
  • No longer uses a custom profile field, instead an extra field in the usertable is made
  • Fully phrased, installer written to add phrases
  • The usernames for the linked accounts are cached, this means that running the hack now takes no extra queries at all for those logged on as master, or who have no linked accounts. Being logged on as a slave account adds only 1 query per page view, this used to be more too.
v1.1.1 - 27th October
Fixes session expiration problem occuring after switch. Users are encouraged to upgrade. To upgrade follow the instructions in switch_11_to_111.txt. For new installs the corrected code is in switch_111.txt, the installation instructions.
v1.1 - 26th October
Fixes a flaw where on some MySQL versions IDs were matched improperly, also the new session is now permanent. Users are encouraged to upgrade.
To upgrade roll back and redo the changes to global.php and login.php, no changes were made to the template or custom field.
v1.0 - 25th October 2004
initial release

Polo 10-25-2004 03:29 PM

Interesting :)

Azhrialilu 10-25-2004 03:30 PM

I can confirm the working of this :D

Ianomed 10-25-2004 03:33 PM

Ah yes, my first beta tester. Hi Azh. :D

Hopefully it'll be useful to you as well, Polo.

Red Blaze 10-25-2004 03:52 PM

Nice, I could use this for easy switching testing different usergroups. Thanks alot. :)

Ianomed 10-25-2004 03:57 PM

My pleasure Sonikku, please remember to click Install if you end up using it. That way if I release an update you'll be notified of this as well.

At one of the RPG boards this is now in use allowing 6 people to switch between their various accounts with success. It's a hit there. :)

Lionel 10-25-2004 04:11 PM

How long have you been testing or using this?

Ianomed 10-25-2004 04:28 PM

Hi Lionel,

It's a dead simple hack that I wrote it in a manner of hours. A friend and I have tested it on 4 different boards for a couple of hours as well, on which it's officially live as of today to the members' joy.

If you're worried about security, there's nothing in the hack that makes the board more insecure/secure than it was before. The user's current session is checked against on switching.

If you're logged on as a master account you can switch to your slave accounts, and if you're currently logged on to a slave account you can switch to your master account (or possible additional slave account).

Simply trying someone else's userID in the URL parameter will fail to achieve anything :)

Feel free to take it apart on a test installation if you care to examine this for yourself. As a matter of speaking this is a good thing to do for any hack whatsoever by anyone. Tinkering with productions boards should be approached with caution, as always.

nexialys 10-25-2004 04:45 PM

simple hack ?!.. wrote in hours ?!... damn, welcome home, join the coders club... this is a quite good piece of work !!

it's even better than what i've played with lately (different cookie for admincp) ... and it's acting exactly like the "Fast User Switching" on my OS-X !!! http://images.apple.com/macosx/featu...nu10082003.jpg

Ianomed 10-25-2004 05:03 PM

I'm glad you like it so much, Nexialys :D

It's my first publicly released hack for vB. Before this I did a couple of custom ones, mainly also RPG related in some way or another: a Warp Speed calculator, Stardate Calendar.

Then there's another small hack which will make the referrer a mandatory field on registration, and will send the sponsor a PM from the administrator, to confirm they did indeed refer the person.

It's quite fun to write hacks for vB :)


All times are GMT. The time now is 01:33 PM.

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.01079 seconds
  • Memory Usage 1,749KB
  • 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)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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