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)
-   -   Newest Member's First Post! (v1.1) (https://vborg.vbsupport.ru/showthread.php?t=42970)

Link14716 08-30-2002 10:00 PM

Newest Member's First Post! (v1.1)
 
Ok, here is my 3rd Hack, the first with all of the code actually being mine :D

Updated with Velocd's fix! :banana:

So, what does this hack do, you ask? It adds a link next to the newest member taking you to their first post. If the user doesn not have a post, no link is shown.

So, here we go!

To Do:
2 File Mods (root/index.php)
1 Template Edit (forumhome)

---------------------------------------
New Member's First Post hack by squall14716
Inspired by ezboard.
---------------------------------------

---------------------------------------
open index.php
---------------------------------------
find:
---------------------------------------
Code:

$getnewestusers=$DB_site->query_first("SELECT userid,username FROM user WHERE userid=$numbersmembers[max]");
---------------------------------------
replace with:
---------------------------------------
Code:

$getnewestusers=$DB_site->query_first("SELECT userid,username,lastpost FROM user WHERE
userid=$numbersmembers[max]");

---------------------------------------
find:
---------------------------------------
Code:

// get newest member
 $getnewestusers=$DB_site->query_first("SELECT userid,username,posts FROM user WHERE userid=$numbersmembers[max]");
 $newusername=$getnewestusers['username'];
 $newuserid=$getnewestusers['userid'];

---------------------------------------
add under:
---------------------------------------
Code:

if ($getnewestusers['lastpost'] != 0) {
$getnewusersposts=$DB_site->query_first("SELECT * FROM post WHERE userid=$newuserid LIMIT 1");
 $userfirstpost=$getnewusersposts['postid'];
 
 if (!$getnewusersposts) {
 $firstpost="";
 } else {
 $firstpost=" | <a href='showthread.php?postid=$userfirstpost#post$userfirstpost'>First Post!</a>";
 }
}

---------------------------------------
Save and Close
---------------------------------------
Open up forumhome template
---------------------------------------
find:
---------------------------------------
Code:

      Welcome to our newest member, <a href="member.php?s=$session[sessionhash]&action=getinfo&userid=$newuserid">$newusername</a>
---------------------------------------
Add DIRECTLY AFTER (on the same line)
---------------------------------------

Code:

$firstpost
---------------------------------------

Post any bugs/questions/suggestions here. ;) :banana:

N9ne 08-30-2002 11:37 PM

screen?

Link14716 08-30-2002 11:39 PM

Hold your horses! I just posted it and am on a crappy comp ;)

Edit: Screen :banana:

lordofgun 08-30-2002 11:45 PM

nice!

Vile 08-31-2002 12:08 AM

Nice hack, works great:)

N9ne 08-31-2002 12:28 AM

Looks good.

FFMania 08-31-2002 01:05 AM

[high]* FFMania clicks "installed" button :)[/high]

Link14716 08-31-2002 01:16 AM

Glad to here no one has had any problems with this hack. ;) Quick, easy, bug-free that I know of. Thanks everyone :D

Velocd 08-31-2002 05:47 AM

Nifty idea, I might consider it ;)

Only for my members though, since I just use Afterlabs top 10 posts whenever viewing a new members posts, to review more than just one.

Velocd 08-31-2002 05:57 AM

A small tip that might save you a query. By looking at your code, it would seem if the new member has not made a post, then an extra query is being called anyway just to check. This can be avoided though.

In index.php replace:
PHP Code:

$getnewestusers=$DB_site->query_first("SELECT userid,username,posts FROM user WHERE userid=$numbersmembers[max]"); 

With:
PHP Code:

$getnewestusers=$DB_site->query_first("SELECT userid,username,posts,lastpost FROM user WHERE userid=$numbersmembers[max]"); 

Now in Link14716 hack, replace:
PHP Code:

$getnewusersposts=$DB_site->query_first("SELECT * FROM post WHERE userid=$newuserid LIMIT 1"); 
 
$userfirstpost=$getnewusersposts['postid']; 
 
 if (!
$getnewusersposts) {
 
$firstpost="";
 } else {
 
$firstpost=" | <a href='showthread.php?postid=$userfirstpost#post$userfirstpost'>First Post!</a>";
 } 

With:
PHP Code:

if(getnewestusers['lastpost'] != 0){
$getnewusersposts=$DB_site->query_first("SELECT * FROM post WHERE userid=$newuserid LIMIT 1"); 
 
$userfirstpost=$getnewusersposts['postid']; 
 
 if (!
$getnewusersposts) {
 
$firstpost="";
 } else {
 
$firstpost=" | <a href='showthread.php?postid=$userfirstpost#post$userfirstpost'>First Post!</a>";
 }


This is untested, but should work ;)

Link14716 08-31-2002 04:00 PM

Actually on this line:
Code:

if(getnewestusers['lastpost'] != 0){
you'd get a parse error ;)

Floris 09-01-2002 07:34 AM

.. ok, before applying ..

I will wait to see an update on this one with a merge of the two above codes so we will have 1 nice new version that doesn't add a query :)

Alien 09-03-2002 11:15 PM

Ditto. :)

Link14716 09-04-2002 08:41 PM

Updated with Velocd's fix ;)

Yes, it still adds a query, but only if the newest user has made a post.

Mono 10-03-2002 07:10 PM

Can you post an update on how to get this to work with 2.2.7?

Link14716 10-03-2002 08:46 PM

It works with 2.2.7.

And 2.2.8

And 2.2.5

Must I continue? ;)

Most likely, it works with all 2.2.x versions. I'd bet my life on it. And I am pretty sure that it also works on 2.0.x versions. ;)

Mono 10-03-2002 08:54 PM

My coding doesn't match up anything like you say. The getuser thing is shorter the DBsite_query doesn't match either. Here's what I have.

Code:

// get newest member
$getnewestusers=$DB_site->query_first("SELECT userid,username FROM user WHERE userid=$numbersmembers[max]");
$newusername=$getnewestusers['username'];
$newuserid=$getnewestusers['userid'];


Link14716 10-03-2002 10:06 PM

Then use that, it'll still work. As long as it isn't a replace with, you can do that to just about any hack ;)

EDIT: All you do is add ",lastpost" (w/o quotes) after username, and then add the other code under it. ;)

Mono 10-07-2002 01:54 AM

I've done that but no luck. I get the same error as before. >.<

I tried it on 2.2.6 which this was ment for and the coding is still different and still doesn't work.

Link14716 12-23-2002 01:05 PM

Well, I only saw one difference between what I had and what was actually there. Updated the code slightly and the version number to 2.2.x after installing it onto my 2.2.9 board successfully.

spick 01-15-2004 06:58 AM

Everytime I Edit The index.php,I Get This:
550 20040115095330: No such file or directory

Why?


All times are GMT. The time now is 04:46 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.03063 seconds
  • Memory Usage 1,764KB
  • 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
  • (8)bbcode_code_printable
  • (4)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (21)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete