Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-17-2010, 06:40 AM
Mythotical Mythotical is offline
 
Join Date: Jun 2004
Location: Booneville, AR, USA
Posts: 1,428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Need fresh eyes to check code

I am updating a mod to 4.0 as I like the mod but it hasn't been updated yet, anyway, I keep getting errors left and right but can't figure out what is wrong with my code to cause it plus I want to make sure there are no other mistakes.

PHP Code:
if ($vbulletin->options['cybfrules_enable_global'])
        {
            
$cybfr_locs = array("forumdisplay""showthread""newthread""newreply""sendmessage");
            if (
in_array(THIS_SCRIPT$cybfr_locs))
            {
                
$vbulletin->input->clean_gpc('c'COOKIE_PREFIX 'cfrrs'TYPE_STR);
                eval(
'$cybfr_checkaccepted = in_array($foruminfo[cyb_frules], array(' $vbulletin->userinfo['cybfrules_sets'] . '));');
                eval(
'$cybfr_checkaccepted_g = in_array($foruminfo[cyb_frules], array(' $vbulletin->GPC[COOKIE_PREFIX 'cfrrs'] . '));');
                
                
$cybfr_havenotaccepted false;
                if (
$vbulletin->userinfo['userid'] AND $foruminfo['cyb_frules']!=AND !in_array($foruminfo['cyb_frules'], array($cybfr_checkaccepted)))
                {
                    
$cybfr_havenotaccepted true;
                }
                if (!
$vbulletin->userinfo['userid'] AND $foruminfo['cyb_frules']!=AND !in_array($foruminfo['cyb_frules'], array($cybfr_checkaccepted_g)))
                {
                    
$cybfr_havenotaccepted true;
                }
            
                
$cfrules_forumruleslink $foruminfo['cyb_frules'];
                if (
$cfrules_forumruleslink<1)
                {
                    
$cfrules_forumruleslink 1;
                }
                
$vbulletin->templatecache['forumrules'] = str_replace('showrules','cfrules&cfrset='.$cfrules_forumruleslink,$vbulletin->templatecache['forumrules']);
            }
    
            if ((
$vbulletin->options['cybfrules_reg_rules']=='1') AND (THIS_SCRIPT=='register'))
            {
                
$db->hide_errors();
                
$cybfr_rules $vbulletin->db->query_first("
                    SELECT id, name, rules
                    FROM " 
TABLE_PREFIX "cyb_frules AS cyb_frules
                    WHERE id = 1
                "
);
                if (
$vbulletin->options['cybfrules_bb'])
                {
                    require_once(
DIR '/includes/class_bbcode.php');
                    
$cafr_parser =& new vB_BbCodeParser($vbulletinfetch_tag_list());
                    
$forum_rules_description $cafr_parser->do_parse($cybfr_rules['rules'],11111);
                }
                else
                {
                    
$forum_rules_description $cybfr_rules['rules'];
                }
                
$db->show_errors();
            }

            if (
$vbulletin->options['cybfrules_show_link'])
            {
                
$cyb_frules_link .= '<td class="vbmenu_control">';
            }
            
$cyb_frules_link .= '<a href="{vb:options bburl}/misc.php?do=cfrules"';
            if (
$vbulletin->options['cybfrules_link_color']!='')
            {
                
$cyb_frules_link .= ' style="color:{vb:options cybfrules_link_color}"';
            }
            
$cyb_frules_link .= '>{vb:rawphrase cybfrules_rules}</a>';
            if (
$vbulletin->options['cybfrules_show_link'])
            {
                
$cyb_frules_link .= '</td>';
                
$templater vB_Template::create();
                
$templater->register('cybfr_locs'$cybfr_locs);
                
$templater->register('cybfr_havenotaccepted'$cybfr_havenotaccepted);
                
$templater->register('cybfr_checkaccepted'$cybfr_checkaccepted);
                
$templater->register('cybfr_checkaccepted_g'$cybfr_checkaccepted_g);
                
$templater->register('cfrules_forumruleslink'$cfrules_forumruleslink);
                
$templater->register('cafr_parser'$cafr_parser);
                
$templater->register('forum_rules_description'$forum_rules_description);
                
$templater->register('cyb_frules_link'$cyb_frules_link);
                
$templater->register('cyb_frules_link'$cyb_frules_link);
                
$template_hook[navbar_buttons_left] .= $templater->render();
            }
        } 
BTW, I know vB_Template::create(); is empty, it's empty on purpose, I am not sure yet I want to use a template as I have no quite figured out how to use template hooks in 4.0 and have variables registered for that template hook. If anyone can advise on that then great, if not, no worries.

Thanks
Reply With Quote
  #2  
Old 01-17-2010, 11:48 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you are getting errors then you need to post them.

Just from a quick look, links are no longer built using TD tags, you have registered cyb_frules_link twice, and also registered cafr_parser which is an object ?, not sure that would work, or why you would need it. Also, why have you used $db->hide_errors();
Reply With Quote
  #3  
Old 01-17-2010, 12:18 PM
James Birkett James Birkett is offline
 
Join Date: Jun 2009
Posts: 633
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Generally the only things that need changing are template syntax and then building the template (vB_Template::create())
Reply With Quote
  #4  
Old 01-17-2010, 02:58 PM
Mythotical Mythotical is offline
 
Join Date: Jun 2004
Location: Booneville, AR, USA
Posts: 1,428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Paul: So the eval(); lines are fine? Also the $db->hide_errors(); is there because its not my mod, I am just updating it. I plan to remove those. So how are links built now? And the error I get is this:
Quote:
Unable to add cookies, header already sent.
File: includes/class_core.php
Line: 4501
With this syntax error:
Quote:
Expecting ) on includes/class_bootstrap.php (283) at line 7
I shorted it, below is whats at line 7.

Line 7 of the plugin which is parse_templates hook:
PHP Code:
 $vbulletin->input->clean_gpc('c'COOKIE_PREFIX 'cfrrs'TYPE_STR); 
James: Thanks for that info, but I thought there was other lines that needed to be changed such as $vbulletin->url. Am I wrong in that assumption?
Reply With Quote
  #5  
Old 01-17-2010, 03:52 PM
James Birkett James Birkett is offline
 
Join Date: Jun 2009
Posts: 633
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

As far as I was aware, only links in templates had to be changed from the standard href to {vb:link member|thread|etc}
Reply With Quote
  #6  
Old 01-17-2010, 04:05 PM
Mythotical Mythotical is offline
 
Join Date: Jun 2004
Location: Booneville, AR, USA
Posts: 1,428
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Seriously? I did not know that, see how much I read? So what about say this href:
HTML Code:
<a href="download.php?do=add">
Also James, how would this differ:
PHP Code:
        if ($vbulletin->options['cybfrules_enable_global'] AND strstr($vbulletin->options['cybfrules_enable_items'], 'postthreads')) 
        { 
            
$cafr_fperms fetch_permissions($foruminfo['forumid']); 
            if ((
$cafr_fperms $vbulletin->bf_ugp_forumpermissions['canpostnew']) AND (!is_member_of($vbulletin->userinfosplit(','$vbulletin->options['cybfrules_excluded_groups']))) AND $cybfr_havenotaccepted
            { 
                
$cybfr_redtoforum $vbulletin->input->clean_gpc('r''f'TYPE_UINT); 
                
vbsetcookie('cybfr_redtopage''newthread.php?do=newthread&f='.$cybfr_redtoforum); 
                
$vbulletin->url 'misc.php?do=cfrules&amp;doredir=1&amp;cfrset='.$foruminfo['cyb_frules']; 
                eval(
print_standard_redirect('redirect_cybfrules_accept_postthread',1,1)); 
            } 
        } 
Reply With Quote
Reply


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:27 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.04834 seconds
  • Memory Usage 2,265KB
  • Queries Executed 11 (?)
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
  • (1)bbcode_html
  • (3)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)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_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