View Single Post
  #7  
Old 03-04-2001, 12:06 PM
Guest
 
Posts: n/a
Default

I would much rather help someone that is at least trying to do it on their own then just write it for someone.

The problem you have here is that you are trying to connect to the MySQL db on your own, let the vB engine do that. If you look in admin/db_mysql.php there is already a class designed for this, (Plus if you look in any vB file you can see this being used). Whenever you load the global.php several things happen automatically. First as persistant connection is opened to the db server, so no need for that. Next variables are for who the person is and session stuff. When reading through the files be sure you also read through any included files. What I did when I began writing the hacks (granted I only started two weeks ago) I printed out all the common files, global.php, functions.php, session.php and then the index.php from the forum dir. Then I just started at the global.php and read through. If I came to a new function that wasn't a PHP function I found that function definition and parsed it in my mind. Doing this will just give you a general understanding of how it all works.

Now what you are trying to do would be changed to this.

PHP Code:
<?php

chdir
"./forum");
require( 
"./global.php");
chdir".." );

/* Note: anytime you include global.php you must include it at the beginning
 before any output it sent. The way around this would be to set output buffering
 in the php.ini file, however a better practice would be to just get in the habbit of
 including it before you send any PHP or HTML output. */

?>
<HTML>
<BODY>

<?php

$recentThreads 
$DB_site->query"
SELECT threadid, dateline, title
FROM thread
WHERE visible=1 AND open=1 AND dateline!=4294967295
ORDER BY dateline DESC LIMIT 5"
);

while ( 
$thread $DB_site->fetch_array$recentThreads ))
{
        
$output .= "<a href=\"/forum/showthread.php?s=$session[sessionhash]&threadid=$thread[threadid]\">$thread[title]</a><br>";
}

dooutput$output );

?>
</BODY>
</HTML>
Now this is still incomplete. You would want to add permissions checking to the thread, look at the forumdisplay.php and index.php files. You will want to first check the user has permission on the forum the thread is in (use the forumid element of the thread table) and then make sure the thread is visible ( visible element of the thread table).
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01060 seconds
  • Memory Usage 1,776KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete