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)
-   -   An alternative to banning: Miserable Users (https://vborg.vbsupport.ru/showthread.php?t=49810)

subu1 03-08-2004 11:48 AM

Quote:

Originally Posted by Kars10
Lol, cool hack!!
Install it later on... ;)
thanks man!!

Hi Kars, bist Du bitte so lieb und kannst mir den Hack nochmal auf deutsch erkl?ren, wei?t doch ich und mein Oxfort eng. *g*

chrisvonc 03-16-2004 12:40 AM

This is sweet! Thank you!
I just installed it on my test forum. vB2.3.2 and worked like a charm. My test account I am trying this on right now, is being brutalized nicely. This is going to be great for trouble makers on my production forum!

*Clicked install*

Thank you again.

chrisvonc 03-16-2004 12:45 AM

Quote:

Originally Posted by drumsy
How can I dial this down a bit?

I kind of would like to know if this is possible as well. Just so they dont catch on too fast. :)

Thanks again,

Chris

TechGuy 03-17-2004 02:55 PM

This is too great... I changed some of the numbers a little so that it's not so obvious that we're messing with the guy, and I set it up so that it effects his whole IP range, rather than just his username(s)...

To do that, I just copied the global part of the hack (between the if statements) into the checkipban() function in the functions.php file... quote out the eval for the normal error_ipban and we're all set. It's great, man. I laughed for hours.

To keep from making it too obvious, I changed the if glitch numbers down a bit. For example:

Code:

$glitch = rand(0,100);
  if($glitch < 50) {
    eval("standarderror(\"".gettemplate('error_toobusy')."\");");
    exit;
  }

Will give the error 50% of the time. As opposed to:

Code:

$glitch = rand(0,100);
  if($glitch < 80) {
    eval("standarderror(\"".gettemplate('error_toobusy')."\");");
    exit;
  }

Which would do it 80% of the time.

EMiNENCE 03-29-2004 02:30 AM

Quote:

Originally Posted by y2krazy
That is the what I meant by "Edit User" page...

Edit User - y2krazy (userid: 1) <- the heading of the main table to edit the user. That is the location I was looking for this "checkbox", and it's still nowhere to be found... :(

I am guessing that it has something to do with the admin/user.php edits, maybe?

-y2k-

That's my problem too. I checked all hacked files twice, step by step, and everything seems to be ok. But there's still no radiobutton in the user's EDIT profile. No checkbox underneath 'Number of posts', so... I'm not able to set up anyone to be Miserable. Any ideas where's the bug hidden?

EMiNENCE 03-29-2004 05:01 AM

I have finally found the bug!

Just look for inputcode("Number of Posts","posts",$user[posts]); twice in the source code of admin\user.php. There are two simillar sections that match to the description. The first is determined for the ADD USER section in CP, the 2nd is the right for EDIT User.

Just such a small mistake but every install faq should be better commented for this possibility next time.
;]

Thanx for this hack anyway! It really rocks!!

chrisvonc 03-29-2004 11:04 AM

??
Maybe I dont get what you guys are saying but to me it looks like you guys were using too short of a search value. Its not a bug or mistake on the authors part if one doesnt fully read the directions or search for the full code they were told to be looking for.

When I searched my admin/user.php, I only found 1 section with block of code he tells you to look for that includes the line "makeinputcode("Number of Posts","posts",$user[posts]);" in it, and then I put the code under that, like the directions said to.

Now if you were doing your searches for just "$user[posts]", then you would have run into problems that you are describing as there are multiple entrys in the page of "$user[posts]", but again, thats not what the directions were telling you to look for.

Again, maybe I am on the wrong track here and dont understand what you were referancing and if I am, I apologize, but as to the directions, if an idiot like me can install it and have it going on the first try, the directions are pretty much right on.


Quote:

Originally Posted by EMiNENCE
I have finally found the bug!

Just look for inputcode("Number of Posts","posts",$user[posts]); twice in the source code of admin\user.php. There are two simillar sections that match to the description. The first is determined for the ADD USER section in CP, the 2nd is the right for EDIT User.

Just such a small mistake but every install faq should be better commented for this possibility next time.
;]

Thanx for this hack anyway! It really rocks!!


EMiNENCE 03-29-2004 05:50 PM

Quote:

Originally Posted by chrisvonc
??
When I searched my admin/user.php, I only found 1 section with block of code he tells you to look for that includes the line "makeinputcode("Number of Posts","posts",$user[posts]);" in it, and then I put the code under that, like the directions said to.

Now if you were doing your searches for just "$user[posts]", then you would have run into problems that you are describing as there are multiple entrys in the page of "$user[posts]", but again, thats not what the directions were telling you to look for.

It's possible you really have just only one section like that, but some people [inlcuding me] have two...;]

Look at the sample fragment of my admin/user.php [vB 2.2.7]:

PHP Code:

// ###################### Start add #######################
if ($action=="add") {

  echo 
"Add New User";

  
doformheader("user","insert");
  
maketableheader("User Profile");
      
makechoosercode("User Group","usergroupid","usergroup",2);
      
makeinputcode("User Name","ausername");
      
makeinputcode("Password","apassword");
      
makeinputcode("Email Address","email");
      
makeinputcode("User Title","usertitle");
      
makeyesnocode("Use Custom Title<br><font size='1'>(This forces the title that you put in the field above to be used)</font>","customtitle",0);
      
makestylecode("Style set","userstyleid",$user[styleid]);
      
makeinputcode("Home Page","homepage","http://www.");
      
makeinputcode("Birthday<br>(Format yyyy-mm-dd)","birthday");
      
maketextareacode("Signature","signature","",8,45);
      
makeinputcode("ICQ Number","icq");
      
makeinputcode("AIM Handle","aim");
      
makeinputcode("Yahoo Messenger Handle","yahoo");
      
makeyesnocode("COPPA user","coppauser",0);
      
makeinputcode("Parent Email Address","parentemail");
  
maketableheader("Options");
      
makeyesnocode("Receive mailings from admins","adminemail",1);
      
makeyesnocode("Show email address","showemail",1);
      
makeyesnocode("Invisible on 'Online users' list","invisible",0);
      
makeyesnocode("Receive PMs","receivepm",1);
      
makeyesnocode("Email on PM","emailonpm",0);
      
makeyesnocode("PM Popup","pmpopup",0);
      
makeyesnocode("Show Signatures","showsignatures",1);
      
makeyesnocode("Show Avatars","showavatars",1);
      
makeyesnocode("Show Images","showimages",1);
      
makeyesnocode("Show VBcode","showvbcode",1);
      
makeyesnocode("Use email notification by default","emailnotification",1);
      
makeyesnocode("Remember Username and password","cookieuser",1);
      
makeyesnocode("Browse boards with cookies","nosessionhash",1);
      
makeinputcode("Join Date<br>(Format yyyy-mm-dd, leave blank for today)","joindate");
      
makeinputcode("Default view age<br>'Select threads from last x days'<br>Recommended values: 1, 2, 5, 10, 20, 30, 45, 60, 75, 100, 365, 1000 (ie all). -1 gives default forum selection","daysprune","-1");
      
makeinputcode("Last Visit<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastvisit");
      
makeinputcode("Last Activity<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastactivity");
      
makeinputcode("Last Post<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastpost");
      
makeinputcode("Number of Posts","posts","0");
      
makeyesnocode("Miserable user","miserable",$user[miserable]);
      
makeinputcode("Time Zone Offset (hours)","timezoneoffset","0");
      
makeinputcode("IP Address","aipaddress",$ipaddress);
  
maketableheader("Custom Profile Fields");
  
$profilefields=$DB_site->query("SELECT profilefieldid,title FROM profilefield");
  while (
$profilefield=$DB_site->fetch_array($profilefields)) {
    
makeinputcode($profilefield[title],"field".$profilefield[profilefieldid]);
  }

  
doformfooter("Save");



...and 82 lines below:


PHP Code:

  doformheader("user","doupdate");
  
makehiddencode("userid","$userid");

  
maketableheader("Useful Links");
  
makedescription("<table width='90%' border='0' align='center'><tr valign='top'><td>
  <li>"
.makelinkcode("Send email to $user[username]","mailto:$user[email]")."</li>
  <li>"
.makelinkcode("Send a private message to $user[username]","../private.php?s=$session[sessionhash]&action=newmessage&userid=$user[userid]",1)."</li>
  <li>"
.makelinkcode("Find posts by $user[username]","../search.php?s=$session[sessionhash]&action=finduser&userid=$user[userid]",1)."</li>
  <li>"
.makelinkcode("View the profile for $user[username]","../member.php?s=$session[sessionhash]&action=getinfo&userid=$userid",1)."</li>
  </td><td>
  <li>"
.makelinkcode("Edit forum access for $user[username]","user.php?s=$session[sessionhash]&action=editaccess&userid=$user[userid]")."</li>
  <li>"
.makelinkcode("View IPs for $user[username]","user.php?s=$session[sessionhash]&action=doips&username=".urlencode($user[username]))."</li>
  <li>"
.makelinkcode("Email this user their password","user.php?s=$session[sessionhash]&action=emailpassword&email=$user[email]")."</li>
  <li>"
.makelinkcode("Remove User","user.php?s=$session[sessionhash]&action=remove&userid=$user[userid]")."</li>
  </td></tr></table>"
);
  
restarttable();

  
maketableheader("Edit User - $user[username] (userid: $user[userid])");
      
makechoosercode("User Group","usergroupid","usergroup",$user[usergroupid]);
      
makeinputcode("User Name","ausername",$user[username],0);
      
makeinputcode("Password<br>Leave blank unless you want to change it","apassword");
      
makeinputcode("Email Address","email",$user[email],0);
      
makeinputcode("User Title","usertitle",$user[usertitle]);
      
makeyesnocode("Use Custom Title<br><font size='1'>(This forces the title that you put in the field above to be used)</font>","customtitle",$user[customtitle]);
      
makestylecode("Style set","userstyleid",$user[styleid]);
      
makeinputcode("Home Page","homepage",$user[homepage],0);
      
makeinputcode("Birthday<br>(Format yyyy-mm-dd)","birthday",$user[birthday],0);
      
maketextareacode("Signature","signature",$user[signature],8,45);
      
makeinputcode("ICQ Number","icq",$user[icq],0);
      
makeinputcode("AIM Handle","aim",$user[aim],0);
      
makeinputcode("Yahoo Messenger Handle","yahoo",$user[yahoo],0);
      
makeyesnocode("COPPA user","coppauser",$user[coppauser]);
      
makeinputcode("Parent Email Address","parentemail",$user[parentemail],0);
      
makeinputcode("Number of Posts","posts",$user[posts]);
      
makeyesnocode("Miserable user","miserable",$user[miserable]);
  
maketableheader("Options");
      
makeyesnocode("Receive mailings from admins","adminemail",$user[adminemail]);
      
makeyesnocode("Show email","showemail",$user[showemail]);
      
makeyesnocode("Invisible on 'Online users' list","invisible",$user[invisible]);
      
makeyesnocode("Receive PMs","receivepm",$user[receivepm]);
      
makeyesnocode("Email on PM","emailonpm",$user[emailonpm]);
      
makeyesnocode("PM Popup","pmpopup",$user[pmpopup]);
      
makeyesnocode("Show Signatures","showsignatures",$user[showsignatures]);
      
makeyesnocode("Show Avatars","showavatars",$user[showavatars]);
      
makeyesnocode("Show Images","showimages",$user[showimages]);
      
makeyesnocode("Show VBcode","showvbcode",$user[showvbcode]);
      
makeyesnocode("Use email notification by default","emailnotification",$user[emailnotification]);
      
makeyesnocode("Remember Username and password","cookieuser",$user[cookieuser]);
      
makeyesnocode("Browse boards with cookies","nosessionhash",$user[nosessionhash]);
      
makeinputcode("Join Date<br>(Format yyyy-mm-dd, leave blank for today)","joindate",$user[joindate]);
      
makeinputcode("Default view age<br>'Select threads from last x days'<br>Recommended values: 1, 2, 5, 10, 20, 30, 45, 60, 75, 100, 365, 1000 (ie all). -1 gives default forum selection","daysprune",$user[daysprune]);
      
makeinputcode("Last Visit<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastvisit",$user[lastvisit]);
      
makeinputcode("Last Activity<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastactivity",$user[lastactivity]);
      
makeinputcode("Last Post<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastpost",$user[lastpost]);
      
makeinputcode("Time Zone Offset (hours)","timezoneoffset",$user[timezoneoffset]);
      
makeinputcode("IP Address","aipaddress",$user[ipaddress]);
  
maketableheader("User Avatar");
      if (
$user[avatarid]!=0) {
         
$avatarurl"../" $user[avatarpath];
      } else {
        if (
$user[hascustomavatar]) {
          
$avatarurl="../avatar.php?s=$session[sessionhash]&userid=$user[userid]";
        } else {
          
$avatarurl="";
        }
      }
      echo 
"<tr class='".getrowbg()."'><td>Avatar</td><td nowrap>";
      if (
$avatarurl!="") {
        echo 
"<img src=\"$avatarurl\">&nbsp;&nbsp;&nbsp;";
      }
      echo 
"<input type=\"submit\" name=\"modifyavatar\" value=\"Change Avatar\">";
      echo 
"<input type=\"hidden\" name=\"userid\" value=\"$user[userid]\">";
      echo 
"</td></tr>";

  
maketableheader("Custom Profile Fields");
  
$userfield=$DB_site->query_first("SELECT * FROM userfield WHERE userid=$userid");

  
$profilefields=$DB_site->query("SELECT profilefieldid,title FROM profilefield");
  while (
$profilefield=$DB_site->fetch_array($profilefields)) {
    
$varname="field$profilefield[profilefieldid]";
    
makeinputcode($profilefield[title],"field".$profilefield[profilefieldid],$userfield[$varname]);
  }

  
doformfooter("Save Changes");




So, as you can see, there are really two sections in admin/user.php.... ;] But you're right. I searched for a shorter string cos my admin/user.php is hacked thoroughly and many strings don't match today at all, so I have to look for parts of them instead of using those exact samples from install faq.

chrisvonc 03-29-2004 06:13 PM

Doh! I do apologize. I installed this on my v2.3.2 and it only has the one.
:)

[email protected] vbmenu_register("postmenu_524759", true); 06-21-2004 12:32 AM

Anyone know if this works on 2.3.5?


All times are GMT. The time now is 09:49 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.01645 seconds
  • Memory Usage 1,894KB
  • 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
  • (2)bbcode_code_printable
  • (2)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)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