vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   Help requested: Auto entry into usergroup from fieldX profile entry (https://vborg.vbsupport.ru/showthread.php?t=80089)

makaiguy 04-23-2005 12:47 AM

Quote:

Originally Posted by MarcoH64
Would not be to difficult:
- Create user profile field
- Hack all places where a forum password is checked to match against the field stored in profile
- 1 query to reset all passes when changed (not even needed)

But how often does the organisations membership info change? Could you do with a text file that is once a day downloaded to your server?

Marco - thanks for sticking with me on this.

The org pwd is changed no more than twice a year. So it's not that big a deal for me to manually change the reference string I've stored in a global vBphrase when the pwd changes.

No need to run a query to update the pwds in user profiles when organization updates its pwd - the whole idea is to make the user update his own profile to prove he's a renewing member that has received the password independently.

I found the following code in forumdisplay.php:
Code:

// ############################### start enter password ###############################
if ($_REQUEST['do'] == 'doenterpwd')
{
        globalize($_REQUEST, array('forumid' => INT, 'newforumpwd' => STR, 'url' => STR, 'postvars'));

        $foruminfo = verify_id('forum', $forumid, 1, 1);

        if ($foruminfo['password'] == $newforumpwd)
        {
        ...

Now I know about enough php to fill a thimble around 5%, but this looks to be the area we'd need to hack. I'd want to bypass the password request popup under the following conditions:
  1. forum being requested is number X (and how can I find the forum number? or can this check be done via forum title? [Edit: by examining the html for the password request page, it looks like my forum is number 3]), AND
  2. the user's fieldX == $vBphrase['org_password']
... and just manually set $newforumpwd to $foruminfo['password'].

Can anyone help with the required code?

Quote:

Originally Posted by joeychgo
Why not just add to the profile field, an option for the user to choose this?

Thanks, Joey, but I don't understand what you're suggesting. Can you elaborate? An option for the user to choose ... what?

makaiguy 04-26-2005 03:03 AM

Have tried modifying the code above as follows:

PHP Code:

// ############################### start enter password ###############################
if ($_REQUEST['do'] == 'doenterpwd')
{
    
globalize($_REQUEST, array('forumid' => INT'newforumpwd' => STR'url' => STR'postvars'));

    
    
// ################### Check for valid org pwd in profile ##################
    // ################### before requesting forum password ##################
    // rem out original line: $foruminfo = verify_id('forum', $forumid, 1, 1);    
        
    
if ($post['field5'] == $vbphrase[org_password])
    {
         
$newforumpwd $vbphrase[org_password];
    }
    else
    { 
         
$foruminfo verify_id('forum'$forumid11);
    }   
    
// ################### END check for valid org pwd in profile ##############    

    
if ($foruminfo['password'] == $newforumpwd)
       {
          .... 

Doesn't have the desired effect - with correct org pwd in the custom profile field, it doesn't satisfy the "if" test and proceeds to pop up the forum password request.

I've considered that the "if" test works okay and sets $newforumpwd, my problem might be that $foruminfo doesn't get defined. But looking further down the code, that should trigger an "incorrect password" response rather than showing a forum password request.

My guess is the $post['field5'] or $vbphrase[org_password] variable (or both) is not defined in forumdisplay.php. Both work fine in postbits. I'm guessing $post['field5'] is not the correct way to reference this variable outside of postbits, whereas I defined $vbphrase[org_password] as global.

Of course if I can get the "if" test working, it could be that not getting $foruminfo defined will still jump up and bite me.

Can anyone point me in the right direction?

makaiguy 06-23-2005 05:49 PM

Have finally found a way to automate putting an individual into a secondary group automatically, based on the value entered in profile fieldX. Now entry into that forum can easily be controlled by normal forum permissions.

For anyone interested in the auto-add code, see https://vborg.vbsupport.ru/showpost....40&postcount=9


All times are GMT. The time now is 02:51 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.01065 seconds
  • Memory Usage 1,737KB
  • 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_code_printable
  • (1)bbcode_php_printable
  • (2)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
  • (3)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