Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 06-25-2013, 11:15 AM
Easy5s.net Easy5s.net is offline
 
Join Date: Jun 2011
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Add new temp but error

I created a new temp for my product but faulty:

Code:
Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\forum\includes\class_core.php(4633) : eval()'d code on line 90

this is code my temp test:
Code:
			<div class="blockrow">
				<label for="pmrecips_ctrl" class="floatcontainer full">
					{vb:rawphrase recipients}:
					<span class="hidden" onclick="return swapbcc(this);" id="bccspan">[<a href="javascript://" >{vb:rawphrase bcc}</a>]</span>	
				</label>
				<script type="text/javascript" src="clientscript/vbulletin_ajax_suggest.js?v={vb:raw vboptions.simpleversion}"></script>
				<div id="pmrecips" class="popupmenu nomouseover noclick nohovermenu">
					<textarea class="primary full textbox popupctrl" id="pmrecips_ctrl" name="recipients" rows="{vb:if is_browser('mozilla'), 1, 2}" cols="50"  tabindex="1">{vb:raw pm.recipients}</textarea>
				</div>
				<script type="text/javascript">
				<!--
					recip_sugg = new vB_AJAX_NameSuggest('recip_sugg', 'pmrecips_ctrl', 'pmrecips');
					<vb:if condition="$show['sendmultiple']">recip_sugg.allow_multiple = true;</vb:if>
				//-->
				</script>
				<p class="singledescription">{vb:rawphrase recipients_desc}</p>
			</div>
And this code plugin:

Code:
$templater = vB_Template::create('test');
$test .= $templater->render();

$vbulletin->templatecache['newthread'] = str_replace('\' . $messagearea . \'', '<div class="blockrow">' . $test . '</div>\' . $messagearea . \'', $vbulletin->templatecache['newthread']);
Reply With Quote
  #2  
Old 06-25-2013, 01:11 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What's in the template cache is php code, and I'd guess that the result of your str_replace() is php code with an error. But I don't know for sure because I'm not sure what $messagearea is set to.
Reply With Quote
  #3  
Old 06-25-2013, 01:40 PM
Easy5s.net Easy5s.net is offline
 
Join Date: Jun 2011
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just test 1 plugin and 1 temp was above fault, but when I remove the code

Quote:
<script type="text/javascript">
<!--
recip_sugg = new vB_AJAX_NameSuggest('recip_sugg', 'pmrecips_ctrl', 'pmrecips');
<vb:if condition="$show['sendmultiple']">recip_sugg.allow_multiple = true;</vb:if>
//-->
</script>
no error in the temp but the temp does not work, the goal here is to remove a user name it will show up as full as sent private.

I want to create a username input (as in page send private) when users create new thread
Reply With Quote
  #4  
Old 06-25-2013, 01:44 PM
nhawk nhawk is offline
 
Join Date: Jan 2011
Posts: 1,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try this..

Code:
$vbulletin->templatecache['newthread'] = str_replace($messagearea, '<div class="blockrow">' . $test . '</div>' . $messagearea, $vbulletin->templatecache['newthread']);
Reply With Quote
  #5  
Old 06-25-2013, 01:49 PM
Easy5s.net Easy5s.net is offline
 
Join Date: Jun 2011
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by nhawk View Post
Try this..

Code:
$vbulletin->templatecache['newthread'] = str_replace($messagearea, '<div class="blockrow">' . $test . '</div>' . $messagearea, $vbulletin->templatecache['newthread']);
thank you, no error but not show in temp
Reply With Quote
  #6  
Old 06-25-2013, 01:53 PM
nhawk nhawk is offline
 
Join Date: Jan 2011
Posts: 1,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wait a second there is no $messagearea in the template you're trying to replace it in.

You want something like this...

Code:
$vbulletin->templatecache['newthread'] = str_replace('{vb:raw messagearea}', '<div class="blockrow">' . $test . '</div>' . '{vb:raw messagearea}', $vbulletin->templatecache['newthread']);
And it should be used in the process_templates_complete hook.
Reply With Quote
  #7  
Old 06-25-2013, 01:58 PM
Easy5s.net Easy5s.net is offline
 
Join Date: Jun 2011
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

not show


My first code it displays fine if removing line

PHP Code:
                <script type="text/javascript">
                <!--
                    
recip_sugg = new vB_AJAX_NameSuggest('recip_sugg''pmrecips_ctrl''pmrecips');
                    <
vb:if condition="$show['sendmultiple']">recip_sugg.allow_multiple true;</vb:if>
                
//-->
                
</script
but if removed, the display features reminiscent name inactive
Reply With Quote
  #8  
Old 06-25-2013, 02:02 PM
Scanu's Avatar
Scanu Scanu is offline
 
Join Date: Nov 2010
Posts: 829
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Template cache is compiled so this {vb:raw messagearea} becames $messagearea if i'm not wrong.
You can try this
PHP Code:
$vbulletin->templatecache['newthread'] = str_replace($messagearea'<div class="blockrow">' $test '</div>\' . $messagearea . \''$vbulletin->templatecache['newthread']); 
Reply With Quote
  #9  
Old 06-25-2013, 02:05 PM
nhawk nhawk is offline
 
Join Date: Jan 2011
Posts: 1,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Scanu View Post
Template cache is compiled so this {vb:raw messagearea} becames $messagearea if i'm not wrong.
You can try this
PHP Code:
$vbulletin->templatecache['newthread'] = str_replace($messagearea'<div class="blockrow">' $test '</div>\' . $messagearea . \''$vbulletin->templatecache['newthread']); 
You're right. Normally I use preg_replace and compile_template. I forgot the compile_template part.
Reply With Quote
  #10  
Old 06-25-2013, 02:06 PM
Easy5s.net Easy5s.net is offline
 
Join Date: Jun 2011
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Scanu View Post
Template cache is compiled so this {vb:raw messagearea} becames $messagearea if i'm not wrong.
You can try this
PHP Code:
$vbulletin->templatecache['newthread'] = str_replace($messagearea'<div class="blockrow">' $test '</div>\' . $messagearea . \''$vbulletin->templatecache['newthread']); 
not work, i user hook newthread_start
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:25 AM.


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.12410 seconds
  • Memory Usage 2,282KB
  • Queries Executed 12 (?)
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
  • (6)bbcode_code
  • (4)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete