vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Gender Hack for vB 2.2.0 (https://vborg.vbsupport.ru/showthread.php?t=32241)

DelusionalMind 12-29-2001 06:32 AM

gonna be installing this in a few

does anyone want a link to my test forums so they can check it out?

DelusionalMind 12-29-2001 06:55 AM

i just installed this on my test board...

it no workie :( :( :'(

hmmm....it seems to conflict with the collapse posts thing...

Bedhead 12-29-2001 09:13 AM

Does this work on 2.2.1?

Ifrani 12-29-2001 02:54 PM

But how can I edit the gender in the AdminCP ???? :confused:

Ifrani 12-29-2001 04:22 PM

If edit the my profile, there is always the default value selected. If I change an other option in the profile, my gender is set to unknown... Is there a problemsolving for that ???

Simon Moon 01-05-2002 02:56 AM

Hi everyone. Great hack, but i think it needs some more treatment... Hardcodeing the images is not a very usable idea, therefore, use templates.

Add 3 templates
gender_male:
&nbsp;<img src="images/male.gif" border="0">

gender_female:
&nbsp;<img src="images/female.gif" border="0">

gender_undiscloed:
&nbsp;<img src="images/questionmark.gif" border="0">


If you want to change this part now ever, just change these 3 templates. Now to the modifications you need to do for them to work properly with the page.

IMPORTANT for the part below: Everything stays the same in the 3 files, EXCEPT $post[gender]. Justtake a good look and replace the coresponding code... it aint that hard :)

Wherever the instructions tol you to put in this code:
PHP Code:

        if ($post[gender] == "0") {
          
$genderimage "&nbsp;<img src=\"images/questionmark.gif\" border=\"0\">";
        } elseif (
$post[gender] == "1") {
          
$genderimage "&nbsp;<img src=\"images/female.gif\" border=\"0\">";
        } elseif (
$post[gender] == "2") {
          
$genderimage "&nbsp;<img src=\"images/male.gif\" border=\"0\">";
        } 

Put now in this one:
PHP Code:

      if ($post[gender] == "0") {
         eval(
"\$genderimage = \"".gettemplate("gender_undisclosed")."\";");
      } elseif (
$post[gender] == "1") {
         eval(
"\$genderimage = \"".gettemplate("gender_female")."\";");
      } elseif (
$post[gender] == "2") {
         eval(
"\$genderimage = \"".gettemplate("gender_male")."\";");
      } 

This has to be done in these files: admin/functions.php member.php memberlist.php

Now 2 more steps and we have it.
in member.php search for
PHP Code:

if ($action=="getinfo") {
  
$templatesused "getinfo_sendpm,aol,icq,yahoo,getinfo_birthday,getinfo_customfields,getinfo"

change the second part to this:
PHP Code:

$templatesused "getinfo_sendpm,aol,icq,yahoo,getinfo_birthday,getinfo_customfields,getinfo,gender_male,gender_female,gender_undisclosed"

If you have some hacks that might need here more, just take a look at the end. Its just 3 names added.

Now change in memberlist.php the 4th line, and add there also the three templates. If you have no other hacks it could look like this:
PHP Code:

$templatesused "memberlist_letterselected,memberlist_letter,postbit_search,postbit_useremail,icq,aim,yahoo,postbit_homepage,postbit_sendpm,postbit_profile,memberlistbit,memberlist,memberlistsearch,gender_male,gender_female,gender_undisclosed"

Thats it, its now template based. The fun with templates is that you change a tamplte and you change the places where you added it. Thats why i missed this function in the hack, because i felt like trying around a bit with the images and other images and it sucked to make the changes all the time to the code.

Thanks for the great hack!!!

Simon Moon 01-05-2002 08:33 AM

Toying around, i found it sucks not to be able to change the the status of the user as an admin. So i whipped out this little hack.

First, you need a whole new function in admin/adminfunctions.php
Find:
PHP Code:

// ###################### Start makechoosercode ####################### 

Add BEFORE:
PHP Code:

// ###################### Start makeselectcode #######################
function makeselectcode ($title,$name,$seedarray,$selvalue=-1) {
// returns a combo box containing a list thats fed from an hash called seedarray
// that hash needs a pair combination, where the name will be used as title and the value as value
// allows specification of selected value in $selvalue


  
echo "<tr class=\"".getrowbg()."\" valign=\"top\">\n<td><p>$title</p></td>\n<td><p><select name=\"$name\">\n";
  
  while ( list(
$key$val) = each($seedarray) ) {
    if (
$selvalue==$val) {
      echo 
"<option value=\"$val\" SELECTED>$key</option>\n";
    } else {
      echo 
"<option value=\"$val\">$key</option>\n";
    }
  }
  echo 
"</select>\n</p></td>\n</tr>\n";


Close adminfunctions.php

Open global.php (you can put it also in the user.php in the admin directory on the top, but i used it for other hack parts too, so i needed it global) and add to the top, after the <?php this part:
PHP Code:

$gender_array = array(  "Undisclosed"  => "0",
                        
"Female"       => "1",
                        
"Male"         => "2"); 

This will help a lot later on...
SAve it and close it.

Open admin/user.php

These are for the edit part of the users...
Find:
PHP Code:

makeinputcode("Yahoo Messenger Handle","yahoo",$user[yahoo],0); 

Paste after it:
PHP Code:

makeselectcode("Gender","gender",$gender_array,$user[gender]); 

Now these are for adding users over the control panel:
Find
PHP Code:

makeinputcode("Yahoo Messenger Handle","yahoo"); 

Paste after:
PHP Code:

makeselectcode("Gender","gender",$gender_array); 

So much for the interface. Now we need to make sure your data gets saved!

Find:
PHP Code:

$userid=$DB_site->insert_id(); 

In the line before THIS, search for options,birthday and add ",gender" to it without the "" of course. Now go to the very end of the line. There it looks like '$birthday')"); wich you change now to '$birthday','$gender')");
Ok, new users are set, now the edits.

Search with your editor for this part:
PHP Code:

$DB_site->query("UPDATE user SET birthday='$birthday

Found this, go to the very end of the line.
You read there something like that:
PHP Code:

$pmpopup=1,pmpopup,'$pmpopup'WHERE userid=$userid"); 

Change it to this:
PHP Code:

$pmpopup=1,pmpopup,'$pmpopup'),gender='$gender' WHERE userid=$userid"); 

Save it, upload the files, and you are finished. You can instantly start to edit users, or add new ones with the gender hack. I tested this on 2.2.1 as the hack before, both on an new installed test board and on an already pretty heavy hacked one.

If you got questions, mail me.

Erwin 01-07-2002 06:36 PM

I'm new to VB (a recent UBB convert) with my board being only 4 days old on VB, but I am having a ball installing all the hacks.

This hack here is fantastic.

I want to thank Simon for his admin add-on hack to the gender hack.

Just one note: when you modify the global.php file for Simon's admin hack, it is the admin/global.php file, not the root global.php file. It was a bit confusing as Simon specified the admin/ subdirectory for the other files, but not for the global.php file.

The gender hack works well with the admin add-on. Well done people!

:)

Shenlong 01-10-2002 01:35 AM

Quote:

Originally posted by apfeifer
Whoops...yeah, the one in the Postbit section. I'm amazed you're the first person to notice that! Sorry about that!:)
yea well glad ur sorry but where do we go?

Sadie Frost 01-10-2002 05:51 PM

I put it in the postbit in the postbit section :)

DelusionalMind - worked fine with my expand/collapse hack :)

maverick1236 - Do you have the expand/collapse hack installed? If so, you need to put the $genderimage twice in the postbit - once in the "plusimg" part and once in the "minusimg" part. It took me forever to figure out that was what I was doing wrong!


All times are GMT. The time now is 12:02 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.01308 seconds
  • Memory Usage 1,784KB
  • 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
  • (16)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (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