PDA

View Full Version : Post as someone else, getting usernametaken error when trying to post


Sarteck
02-25-2012, 03:38 PM
I'm designing a "Puppet" system that will allow some users to post as another account. I'm having a bit of trouble, though.

I get the usernametaken error each time I post, but I don't really see why.



on newpost_process (only enclosed by the outer IF block for testing).
if ($vbulletin->userinfo['userid'] == [MYUSERID])
{



$persona_id = $vbulletin->input->clean_gpc('p', 'persona_id', TYPE_UINT);
if ($persona_id && ($vbulletin->userinfo['userid'] != $persona_id)) // If "persona_id" is set from form data AND the persona ID is not the UserID
{
require_once(DIR . '/includes/functions_cbps.php');
$personas = get_personas($vbulletin->userinfo['userid']);
if ($personas && (in_array($persona_id, $personas))) // If this user has personas, AND the persona they are trying to post as does indeed belong to them, then continue.
{
$persona = fetch_persona($persona_id); // Gets the UserInfo of a persona given an ID.
$dataman->set('username',$persona['username']);
$dataman->set('userid',$persona['userid']);
}
else
{
standard_error('You seem to be trying to post as a Persona that doesn\'t belong to you.', false);
}
}


}

It is getting the persona info fine, but setting the userid and username fields of the post seems to give it a heart attack or something.

Is there some permissions things I have to muck around with? I basically want to enable the ability to post with a persona using the forum permissions of the logged-in user. (Later, before I release it, I'll be restricting it to just a few forums.)




Anyways, could anyone point me in the right direction?

kh99
02-25-2012, 03:47 PM
The good news is that I happen to know the answer. The less good news is that I know because I'm about to release virtually the same mod.

Anyway, if you just set the userid and not the name, the problem will go away.

Sarteck
02-25-2012, 03:53 PM
Huzzah, that seems to have done the trick. :3

Thanks.... Could I ask you a favour, and could you send me a link (PM I suppose) to your Mod when you release it? Mine was sloppily thrown together last night, and probably lacks a lot of features you're going to be adding if you're releasing it for public use. XD

[unimportant]
I was developing it for a RolePlaying system, so that users can post as different "characters" without having to log in and out (and retaining anonymity). This posting bit was the first step, then I was going to add on avatar/sig changes, and maybe more stuff later on. Awesome that you're trying to do something similar. :3

kh99
02-25-2012, 04:00 PM
I can send you the link. I was going to release it without a lot of features - it just inserts a text box on the new thread and post pages to let you enter a user name, and I copied the ajax username lookup like is on the pm or search pages. Other than that it doesn't do anything else. I like your idea of the personas because really people will probably want to select from a list rather than enter user names each time, but someone had specifically asked for one like a mod that's available for SMF, so I looked at it and did the same thing.

There's no reason you couldn't still release yours of course. If I had known someone else was working on it I wouldn't have bothered, it's just that the same thing was requested twice this week so I thought I could put it together without much trouble. But of course there's no reason there can't be two, especially if yours will have advanced features.

Sarteck
02-25-2012, 04:27 PM
lol, I dunno about advanced features.... But all right, I'll keep working on mine, and I'll put up the code when it's more-or-less complete.

There's a bunch of stuff I've got floating in my head for this project--it'll have a Persona List to which you can add, or "delete" personas. Adding one will basically create a new user account (with random password and e-mail). Deleting one just basically removes the "Master" ID (a private userfield containing the userid of the controlling account), so that it cannot be used anymore.

I've currently got it set up for handling posting as a Persona (now working flawlessly) and being able to edit a Persona's avatar/signature by use of a Drop-down SELECT element with the User's ID/name and all personas belonging to them. I haven't even bothered testing that bit out yet, heh.

Later, I'd like to integrate VMs, PMs, and maybe even Blogs/Blog Comments as the Persona, essentially making Personas as sub-accounts controlled by a user's main account.

There will be a number of Admin-controlled options --- amount of Puppets a user can have, which RP the character belongs to (only essential if GMs are allowed to see the User behind the Persona), usergroups able to create persona, forums where Persona can be used (for example, we only want to allow the persona to be used in our RP section), and then a bunch of stuff that's specific to the multi-RP system I've been working on (character stats and such).

Despite the load of my-forum-specific junk I'll be putting on there, I'm trying to design it with use on other forums in mind--I really think a lot of Role Play forums would love to have this kind of modification.

It's also a system I've been thinking about for years (ever since before WBS was taken over by GO/Infoseek back in the late `90's, since I was actually an avid RPer back then, heh). I've got loads of ideas for it, and I'm just trying to make thm all realized in code now that I know enough.

Anyways, I'll post updates when I've got something close to an alpha ready. XD

kh99
02-25-2012, 04:41 PM
OK, well, I sent you a PM suggesting that maybe I should just let you go with it instead of releasing mine, but if it's going to be a while then I guess I'll release my barebones version.

Sarteck
02-25-2012, 05:14 PM
Hai hai, it'll be a while before I'm comfortable releasing it.