View Single Post
  #285  
Old 09-16-2013, 06:32 AM
Logician's Avatar
Logician Logician is offline
 
Join Date: Nov 2001
Location: inside vb code
Posts: 4,449
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by bulbasnore View Post
I must be missing some syntax change in the versions. Can't find it in the vb manual? Can anyone spot it?

In PHP Include:
Code:
$cleantestvar =& $vbulletin->input->clean_gpc('g', 'imageid', TYPE_INT);
In template:
Code:
<center><img src="http://pokegym.net/gallery/displayimage.php?imageid=$cleantestvar"></center>
Welcome to the PokeGym Researching Tower, $bbuserinfo[username]! 
<if condition="is_member_of($bbuserinfo, 33)"><a href="http://pokegym.net/gallery/editimage.php?i=$cleantestvar" target=_blank>Edit</a> this image or metadata</if>
This used to work until the version change (and upgrade to new web templates, hooray!)

So passing this gives a blank page!
Code:
http://server/forums/view.php?pg=towercard&imageid=52494
with nothing in Apache error_log.

but executing the template with $cleantestvar substituted with the value 52494 gives the desired result, so I'm guessing $cleantestvar is coming up null/blank.

Suggestions?
VB4.x has changed the structure of variable support in templates so I removed outside variable support from the hack as it is now too complicated to use for non-coder users.

In vb4.x you can't simply use a variable inside a template without registering it in the PHP code. So outside variables can still be used in webqueries etc. but to display them inside templates, they should be declared like "$templater->register('cleantestvar', $cleantestvar);" in view.php.

Or to avoid this, maybe you can trick vb by assigning your variable to an already recognized vb variable in phpinclude like:
$vbulletin->input->clean_array_gpc('r', array(
'cleantestvar' => TYPE_STR,
));

$vbulletin->options[cleantestvar] = $vbulletin->GPC['cleantestvar'];

As $vbulletin->options is a declared variable, vb will allow this in templates.

As for the error, you can trace it via PHP error log, not apache error log. You can enable it in WHM if already not enabled, or simply turn on screen display to see them posted directly to screen during running of the scripts.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01477 seconds
  • Memory Usage 1,771KB
  • 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
  • (3)bbcode_code
  • (1)bbcode_quote
  • (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_onlinestatus
  • (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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete