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

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #9  
Old 08-19-2011, 02:51 PM
cclaerhout's Avatar
cclaerhout cclaerhout is offline
 
Join Date: Aug 2004
Location: Paris (France)
Posts: 448
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I saw a product that uses "misc_start" hook to execute js:
PHP Code:
@ob_start(); ?>
function function_name(){...};
    <?php    
    header
('Content-type: application/x-javascript');
    exit;
It might be a way to do this...

--------------- Added [DATE]1313790827[/DATE] at [TIME]1313790827[/TIME] ---------------

The "quickeditor_improver" product uses a trick to get access to that Javascript file:

It uses the hook "showthread_complete" to search inside the SHOWTHREAD "clientscript/vbulletin_quick_edit.js?v=" and replaces it with a new value via misc.php page.

Code:
			unset($search, $replace);
			$search = 'clientscript/vbulletin_quick_edit.js?v=';
			$replace = 'misc.php?do=PUT_NAME_HERE_quickedit&v=';
			$vbulletin->templatecache['SHOWTHREAD'] = str_replace($search, $replace, $vbulletin->templatecache['SHOWTHREAD']);
			unset($search, $replace);
Then it uses the hook misc_start
Code:
if ($_REQUEST['do'] == 'PUT_NAME_HERE')
{
	@ob_start(); ?>
Copy here the content of "vbulletin_quick_edit.js" file (without the header)
	<?php
	header('Content-type: application/x-javascript');
	exit;
}
Now my problem is to know what code I have to use to EVAL() my javascript.

--------------- Added [DATE]1313791148[/DATE] at [TIME]1313791148[/TIME] ---------------

By the way, I found a nice website that helps to reformat code online:
http://jsbeautifier.org/

--------------- Added [DATE]1313793365[/DATE] at [TIME]1313793365[/TIME] ---------------

I've tried to put this code inside the display_editor function but it kills the quickedit function to transfer me to advanced editor :
Code:
	var div = C.responseXML.getElementById("addon_js");
			div.innerHTML = innerHTML;
			var x = div.getElementsByTagName("script");
			for(var i=0;i<x.length;i++)
			{
	       	eval(x[i].text);}
P.S: addon_js is the id of the div containing my Javascript.

--------------- Added [DATE]1313795897[/DATE] at [TIME]1313795897[/TIME] ---------------

This function looks nice, i've tried to edit it, but fail to every time

If someone got an idea...
Reply With Quote
 


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 10:05 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.07429 seconds
  • Memory Usage 2,520KB
  • 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
  • (4)bbcode_code
  • (2)bbcode_html
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (9)post_thanks_box
  • (9)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (9)post_thanks_postbit_info
  • (9)postbit
  • (1)postbit_attachment
  • (9)postbit_onlinestatus
  • (9)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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
  • postbit_attachment
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete