Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 12-22-2005, 02:59 PM
sully02 sully02 is offline
 
Join Date: Jul 2004
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Noob question regarding hooks

I'm looking at the files and I see the hook(s) inside. However, I don't want to add code, I want to change what the code directly above the hook does (Which is an if/else statement).

I'm going to assume this is possible to do using hooks. If so, how would I go about doing that? If not, I'm guessing it means I'd have to hack the code directly, right ?
Reply With Quote
  #2  
Old 12-22-2005, 06:02 PM
Guest190829
Guest
 
Posts: n/a
Default

Well it really depends on how the hook is placed, and what exactly is above the hook.
Reply With Quote
  #3  
Old 12-22-2005, 06:40 PM
sully02 sully02 is offline
 
Join Date: Jul 2004
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Danny.VBT
Well it really depends on how the hook is placed, and what exactly is above the hook.
Fair enough. Here's what I'm looking at:

Above the hook...
PHP Code:
    // get date:
    
if ($_REQUEST['do'] == 'getnew' AND $vbulletin->userinfo['lastvisit'] != 0)
    {
        
// if action = getnew and last visit date is set
        
$datecut $vbulletin->userinfo['lastvisit'];
    }
    else
    {
        
$_REQUEST['do'] = 'getdaily';
        if (
$vbulletin->GPC['days'] < 1)
        {
            
$vbulletin->GPC['days'] = 1;
        }
        
$datecut TIMENOW - (24 60 60 $vbulletin->GPC['days']);
    } 
The hook (Right after the above code)...

PHP Code:
($hook vBulletinHook::fetch_hook('search_getnew_start')) ? eval($hook) : false
What I'd like to replace the first block of code with...
PHP Code:
// get date: 
     
if ($_REQUEST['do'] == 'getnew' AND $bbuserinfo['lastvisit'] != 0
     { 
          
// if action = getnew and last visit date is set 
          
$datecut $bbuserinfo['lastvisit']; 
     } 
    else
    {
        
$_REQUEST['do'] = 'getdaily';
        if ((
$days 1)AND(!$hours)AND(!$minutes)AND(!$seconds))
        {
            
$days 1;
                        
$hours 0;
                         
$minutes 0;
                         
$seconds 0;
            
        }
        elseif(
$days 1) {
                       
$days 0;
                }
        
$datecut TIMENOW - (($days*24*60*60) + ($hours*60*60) + ($minutes*60) + $seconds);
        
    } 
Reply With Quote
  #4  
Old 12-22-2005, 08:19 PM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The code you've pasted wont work since $days isnt set.

However, its easy to achieve using a hook by overwriting the variable instead of modifying the code.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:17 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05821 seconds
  • Memory Usage 2,201KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (3)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (3)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete