vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Add new temp but error (https://vborg.vbsupport.ru/showthread.php?t=299482)

Easy5s.net 06-25-2013 11:15 AM

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']);


kh99 06-25-2013 01:11 PM

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.

Easy5s.net 06-25-2013 01:40 PM

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

nhawk 06-25-2013 01:44 PM

Try this..

Code:

$vbulletin->templatecache['newthread'] = str_replace($messagearea, '<div class="blockrow">' . $test . '</div>' . $messagearea, $vbulletin->templatecache['newthread']);

Easy5s.net 06-25-2013 01:49 PM

Quote:

Originally Posted by nhawk (Post 2430393)
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 :)

nhawk 06-25-2013 01:53 PM

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.

Easy5s.net 06-25-2013 01:58 PM

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

Scanu 06-25-2013 02:02 PM

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']); 


nhawk 06-25-2013 02:05 PM

Quote:

Originally Posted by Scanu (Post 2430402)
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. :o

Easy5s.net 06-25-2013 02:06 PM

Quote:

Originally Posted by Scanu (Post 2430402)
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


All times are GMT. The time now is 12:29 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.01064 seconds
  • Memory Usage 1,758KB
  • 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
  • (6)bbcode_code_printable
  • (4)bbcode_php_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete