r47580 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r47579‎ | r47580 | r47581 >
Date:20:31, 20 February 2009
Author:dale
Status:deferred
Tags:
Comment:
more refactoring to support scriptLoader
added all javascript based msg to MV_Messeges.php
more info at: http://www.mediawiki.org/wiki/ScriptLoader
Modified paths:
  • /trunk/extensions/MetavidWiki/includes/MV_GlobalFunctions.php (modified) (history)
  • /trunk/extensions/MetavidWiki/languages/MV_Messages.php (modified) (history)
  • /trunk/extensions/MetavidWiki/skins/mv_allpages.js (modified) (history)
  • /trunk/extensions/MetavidWiki/skins/mv_embed/libSequencer/mvSequencer.js (modified) (history)
  • /trunk/extensions/MetavidWiki/skins/mv_embed/mv_embed.js (modified) (history)
  • /trunk/extensions/MetavidWiki/skins/mv_search.js (modified) (history)
  • /trunk/extensions/MetavidWiki/skins/mv_stream.js (modified) (history)

Diff [purge]

Index: trunk/extensions/MetavidWiki/includes/MV_GlobalFunctions.php
@@ -348,17 +348,16 @@
349349 if( $mvgJSDebug ){
350350 $unique_req_param = time();
351351 }else{
352 - //@@could just read from the svn version file info
 352+ //@@todo should read form svn version file info
353353 $unique_req_param = MV_VERSION;
354354 }
355355
356356 /* (moved to on_dom ready) but here as well*/
357357 if( $wgEnableScriptLoader ){
358 - $debug_param = ($mvgJSDebug)?'&debug=true':false;
 358+ $debug_param = ($mvgJSDebug) ? '&debug=true' : '';
359359 $wgOut->addScript( "<script type=\"{$wgJsMimeType}\" src=\"{$mvgScriptPath}/skins/mv_embed/mvwScriptLoader.php?" .
360360 "class=window.jQuery,j.fn.autocomplete,j.fn.hoverIntent,mv_embed,mv_allpages,mv_search" .
361 - '&urid=' .$unique_req_param .
362 - $debug_param . "\"></script>"
 361+ '&urid=' .$unique_req_param . $debug_param . "\"></script>"
363362 );
364363 }else{
365364 $wgOut->addScript( "<script type=\"{$wgJsMimeType}\" src=\"{$mvgScriptPath}/skins/mv_embed/jquery/jquery-1.2.6.min.js?{$unique_req_param}\"></script>" );
Index: trunk/extensions/MetavidWiki/languages/MV_Messages.php
@@ -11,6 +11,138 @@
1212 * @author Michael Dale
1313 */
1414 $messages['en'] = array(
 15+
 16+#javascript mappings per file:
 17+
 18+#mv_embed.js
 19+ "loading_txt"=>"loading <blink>...</blink>",
 20+ "loading_plugin" => "loading plugin<blink>...</blink>",
 21+ "select_playback" => "Set Playback Preference",
 22+ "link_back" => "Link Back",
 23+ "error_load_lib" => "mv_embed=> Unable to load required javascript libraries\n insert script via DOM has failed, try reloading? ",
 24+
 25+ "error_swap_vid" => "Error=>mv_embed was unable to swap the video tag for the mv_embed interface",
 26+
 27+ "download_segment" => "Download Selection:",
 28+ "download_full" => "Download Full Video File:",
 29+ "download_clip" => "Download the Clip",
 30+ "download_text" => "Download Text (<a style=\"color=>white\" title=\"cmml\" href=\"http=>//wiki.xiph.org/index.php/CMML\">cmml</a> xml:",
 31+
 32+ "clip_linkback" => "Clip Source Page",
 33+
 34+ "ogg-player-vlc-mozilla" => "VLC Plugin",
 35+ "ogg-player-videoElement" => "Native Ogg Video Support",
 36+ "ogg-player-vlc-activex" => "VLC ActiveX",
 37+ "ogg-player-oggPlay" => "Annodex OggPlay Plugin",
 38+ "ogg-player-oggPlugin" => "Generic Ogg Plugin",
 39+ "ogg-player-quicktime-mozilla" => "Quicktime Plugin",
 40+ "ogg-player-quicktime-activex" => "Quicktime ActiveX",
 41+ "ogg-player-cortado" => "Java Cortado",
 42+ "ogg-player-flowplayer" => "Flowplayer",
 43+ "ogg-player-selected" => " (selected)",
 44+ "generic_missing_plugin" => "You browser does not appear to support playback type=> <b>$1</b><br> visit the <a href=\"http=>//metavid.org/wiki/Client_Playback\">Playback Methods</a> page to download a player<br>",
 45+
 46+ "add_to_end_of_sequence" => "Add to End of Sequence",
 47+
 48+ "missing_video_stream" => "The video file for this stream is missing",
 49+
 50+ "select_transcript_set" => "Select Text Layers",
 51+ "auto_scroll" => "auto scroll",
 52+ "close" => "close",
 53+ "improve_transcript" => "Improve Transcript",
 54+
 55+ "next_clip_msg" => "Play Next Clip",
 56+ "prev_clip_msg" => "Play Previous Clip",
 57+ "current_clip_msg" => "Continue Playing this Clip",
 58+ "seek_to" => "Seek to",
 59+
 60+#mvUploader.js
 61+ "upload-enable-converter"=>"Enable video converter (to upload source video not yet converted to theora format) <a href=\"http://commons.wikimedia.org/wiki/Commons:Firefogg\">more info</a>",
 62+ "upload-fogg_not_installed"=>"If you want to upload video consider installing <a href=\"http://firefogg.org\">firefogg.org</a>, <a href=\"http://commons.wikimedia.org/wiki/Commons:Firefogg\">more info</a>",
 63+ "upload-in-progress"=>"Doing Transcode & Upload (do not close this window)",
 64+ "upload-transcoded-status"=>"Transcoded",
 65+ "uploaded-status"=>"Uploaded",
 66+ "upload-select-file"=>"Select File...",
 67+ "wgfogg_wrong_version"=>"You have firefogg installed but its outdated, <a href=\"http://firefogg.org\">please upgrade</a> ",
 68+ "wgfogg_waring_ogg_upload"=>"You have selected an ogg file for conversion to ogg (this is probably unnessesary). Maybe disable the video converter?",
 69+
 70+#remoteSearchDriver.js
 71+ "mv_media_search"=>"Media Search why test test",
 72+ "rsd_box_layout"=>"Box layout",
 73+ "rsd_list_layout"=>"List Layout",
 74+ "rsd_results_desc"=>"Results some ",
 75+ "rsd_results_next"=>"next ",
 76+ "rsd_results_prev"=>"previous ",
 77+ "upload"=>"Upload",
 78+ "rsd_layout"=>"Layout:",
 79+ "rsd_resource_edit"=>"Edit Resource:",
 80+
 81+#mvClipEdit.js
 82+ "mv_crop"=>"Crop Image",
 83+ "mv_apply_crop"=>"Apply Crop to Image",
 84+ "mv_reset_crop"=>"Rest Crop",
 85+ "mv_insert_image_page"=>"Insert Into page",
 86+ "mv_preview_insert"=>"Preview Insert",
 87+ "mv_cancel_image_insert"=>"Cancel Image Insert",
 88+
 89+ "sc_fileopts"=>"Clip Detail Edit",
 90+ "sc_inoutpoints"=>"Set In-Out points",
 91+ "sc_panzoom"=>"Pan Zoom Crop",
 92+ "sc_overlays"=>"Overlays",
 93+ "sc_audio"=>"Audio Control",
 94+ "sc_duration"=>"Duration",
 95+
 96+ "mv_template_properties"=>"Template Properties",
 97+ "mv_custom_title"=>"Custom Title",
 98+ "mv_edit_properties"=>"Edit Properties",
 99+ "mv_other_properties"=>"Other Properties",
 100+ "mv_resource_page"=>"Resource Page",
 101+
 102+#mvSequencer.js
 103+ "menu_clipedit"=>"Edit Selected Resource",
 104+ "menu_cliplib"=>"Add Resource",
 105+ "menu_transition"=>"Transitions Effects",
 106+ "menu_resource_overview"=>"Resource Overview",
 107+ "menu_options"=>"Options",
 108+
 109+ "loading_timeline"=>"Loading TimeLine <blink>...</blink>",
 110+ "loading_user_rights"=>"Loading user rights <blink>...</blink>",
 111+
 112+ "no_edit_permissions"=>"You don\'t have permissions to save changes to this sequence",
 113+
 114+
 115+ "edit_clip"=>"Edit Clip",
 116+ "edit_save"=>"Save Changes",
 117+ "edit_cancel"=>"Cancel Edit",
 118+ "edit_cancel_confirm"=>"Are you sure you want to cancel your edit, changes will be lost",
 119+
 120+ "zoom_in"=>"Zoom In",
 121+ "zoom_out"=>"Zoom Out",
 122+ "cut_clip"=>"Cut Clips",
 123+ "expand_track"=>"Expand Track",
 124+ "colapse_track"=>"Collapse Track",
 125+ "play_clip"=>"Play From Playline Position",
 126+ "pixle2sec"=>"pixles to seconds",
 127+ "rmclip"=>"Remove Clip",
 128+ "clip_in"=>"clip in",
 129+ "clip_out"=>"clip out",
 130+
 131+ "mv_welcome_to_sequencer"=>"<h3>Welcome to the sequencer demo</h3>"+
 132+ "very <b>limited</b> functionality right now. Not much documentation yet either",
 133+
 134+ "no_selected_resource"=>"<h3>No Resource selected</h3> Select a Clip to enable resource editing",
 135+ "error_edit_multiple"=>"<h3>Multiple Resources Selected</h3> Select a single clip to edit it",
 136+
 137+ "mv_editor_options"=>"Editor options",
 138+ "mv_editor_mode"=>"Editor mode",
 139+ "mv_simple_editor_desc"=>"simple editor (iMovie style)",
 140+ "mv_advanced_editor_desc"=>"advanced editor (Final Cut style)",
 141+ "mv_other_options"=>"Other Options",
 142+ "mv_contextmenu_opt"=>"Enable Context Menus",
 143+
 144+
 145+#normal php based msg keys:
 146+
15147 'metavid' => 'Metavid page',
16148 'mv_missing_stream' => 'Missing stream: $1',
17149 'specialpages-group-mv_group' => 'MetaVidWiki special pages',
Index: trunk/extensions/MetavidWiki/skins/mv_search.js
@@ -1,4 +1,4 @@
2 -mv_addLoadEvent(mv_pre_setup_search);
 2+mv_addLoadEvent( mv_pre_setup_search);
33 var mvSearchSetupFlag =false;
44 var maxFilters = 8;
55 var mv_search_action='';
@@ -454,52 +454,52 @@
455455 function add_highlight_function(){
456456 $j(function() {
457457 jQuery.highlight = document.body.createTextRange ?
458 -/*
459 -Version for IE using TextRanges.
460 -*/
461 - function(node, te) {
462 - var r = document.body.createTextRange();
463 - r.moveToElementText(node);
464 - for (var i = 0; r.findText(te); i++) {
465 - r.pasteHTML('<span class="searchmatch">' + r.text + '<\/span>');
466 - r.collapse(false);
467 - }
468 - }
469 - :
470 -/*
471 - (Complicated) version for Mozilla and Opera using span tags.
472 -*/
473 - function(node, te) {
474 - js_log('hl:'+ te + ' nt:'+node.nodeType + ' tn:' + node.tagName);
475 - var pos, skip, spannode, middlebit, endbit, middleclone;
476 - skip = 0;
477 - if (node.nodeType == 3) {
478 - pos = node.data.toUpperCase().indexOf(te);
479 - if (pos >= 0) {
480 - spannode = document.createElement('span');
481 - spannode.className = 'searchmatch';
482 - middlebit = node.splitText(pos);
483 - endbit = middlebit.splitText(te.length);
484 - middleclone = middlebit.cloneNode(true);
485 - spannode.appendChild(middleclone);
486 - middlebit.parentNode.replaceChild(spannode, middlebit);
487 - skip = 1;
488 - }
489 - }
490 - else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
491 - for (var i = 0; i < node.childNodes.length; ++i) {
492 - i += $j.highlight(node.childNodes[i], te);
493 - }
494 - }
495 - return skip;
496 - }
497 -
498 - ;
499 -});
500 -
501 -jQuery.fn.removeHighlight = function() {
502 - return this.find("span.highlight").each(function() {
503 - this.parentNode.replaceChild(this.firstChild, this).normalize();
504 - });
505 -};
 458+ /*
 459+ Version for IE using TextRanges.
 460+ */
 461+ function(node, te) {
 462+ var r = document.body.createTextRange();
 463+ r.moveToElementText(node);
 464+ for (var i = 0; r.findText(te); i++) {
 465+ r.pasteHTML('<span class="searchmatch">' + r.text + '<\/span>');
 466+ r.collapse(false);
 467+ }
 468+ }
 469+ :
 470+ /*
 471+ (Complicated) version for Mozilla and Opera using span tags.
 472+ */
 473+ function(node, te) {
 474+ js_log('hl:'+ te + ' nt:'+node.nodeType + ' tn:' + node.tagName);
 475+ var pos, skip, spannode, middlebit, endbit, middleclone;
 476+ skip = 0;
 477+ if (node.nodeType == 3) {
 478+ pos = node.data.toUpperCase().indexOf(te);
 479+ if (pos >= 0) {
 480+ spannode = document.createElement('span');
 481+ spannode.className = 'searchmatch';
 482+ middlebit = node.splitText(pos);
 483+ endbit = middlebit.splitText(te.length);
 484+ middleclone = middlebit.cloneNode(true);
 485+ spannode.appendChild(middleclone);
 486+ middlebit.parentNode.replaceChild(spannode, middlebit);
 487+ skip = 1;
 488+ }
 489+ }
 490+ else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
 491+ for (var i = 0; i < node.childNodes.length; ++i) {
 492+ i += $j.highlight(node.childNodes[i], te);
 493+ }
 494+ }
 495+ return skip;
 496+ }
 497+
 498+ ;
 499+ });
 500+
 501+ jQuery.fn.removeHighlight = function() {
 502+ return this.find("span.highlight").each(function() {
 503+ this.parentNode.replaceChild(this.firstChild, this).normalize();
 504+ });
 505+ };
506506 }
Index: trunk/extensions/MetavidWiki/skins/mv_allpages.js
@@ -25,7 +25,7 @@
2626 '$j.fn.hoverIntent':'jquery/plugins/jquery.hoverIntent.js'
2727 }, function(){
2828 //js_log('allpage_ auto and hover check'+mv_setup_allpage_flag);
29 - if( !mv_setup_allpage_flag ){
 29+ if( ! mv_setup_allpage_flag ){
3030 mv_setup_search_ac();
3131 mv_do_mvd_link_rewrite();
3232 mv_page_specific_rewrites();
Index: trunk/extensions/MetavidWiki/skins/mv_stream.js
@@ -53,7 +53,7 @@
5454
5555 function mv_load_interface_libs(){
5656 js_log('f:mv_load_interface_libs');
57 - //we will need mv_embed stuff:
 57+ //make sure the mv_embed stuff is loaded
5858 mvJsLoader.loadBaseLibs(function(){
5959 js_log('load stream js');
6060 //load some additional plugins/components:
Index: trunk/extensions/MetavidWiki/skins/mv_embed/libSequencer/mvSequencer.js
@@ -29,7 +29,6 @@
3030
3131 "no_edit_permissions" : "You don\'t have permissions to save changes to this sequence",
3232
33 -
3433 "edit_clip" : "Edit Clip",
3534 "edit_save" : "Save Changes",
3635 "edit_cancel" : "Cancel Edit",
@@ -46,7 +45,6 @@
4746 "clip_in" : "clip in",
4847 "clip_out" : "clip out",
4948
50 - //menu items display helper:
5149 "mv_welcome_to_sequencer" : "<h3>Welcome to the sequencer demo</h3>"+
5250 "very <b>limited</b> functionality right now. Not much documentation yet either",
5351
Index: trunk/extensions/MetavidWiki/skins/mv_embed/mv_embed.js
@@ -42,7 +42,7 @@
4343 var mv_default_video_size = '400x300';
4444
4545 var global_player_list = new Array();
46 -var global_req_cb = new Array();//the global request callback array
 46+var global_req_cb = new Array(); //the global request callback array
4747 var _global = this;
4848 var mv_init_done=false;
4949 var global_cb_count =0;
@@ -59,6 +59,7 @@
6060 var mv_embed_urid = getMvUniqueReqId();
6161 }
6262
 63+var mvLoadEvent = new Array() //the onReady global event.. @@todo should be depricated for jquery style document.ready stuff
6364 //the default thumbnail for missing images:
6465 var mv_default_thumb_url = mv_embed_path + 'images/vid_default_thumb.jpg';
6566
@@ -144,30 +145,24 @@
145146 '</div>');
146147 }
147148
148 -/**
149 - * mvJsLoader class handles initialization and js file loads
150 - */
151 -var mvJsLoader = {
152 - libreq:{},
153 - libs:{},
154 - //to keep consistency across threads:
155 - ptime:0,
156 - ctime:0,
157 - load_error:false,//load error flag (false by default)
158 - calledloadBaseLibs:false,//flag for base load lib
159 - load_time:0,
160 - callbacks:new Array(),
161 -
162 - flist:new Array(),
163 - loadBaseLibs : function( callback ){
164 - //queue the callback:
 149+var mvBaseLoader = {
 150+ calledloadBaseLibs:false,
 151+ callbacks:new Array(),
 152+ done:false,
 153+ load:function( callback){
 154+ //if we are done loading the libs just jump directly to the callback
 155+ if(this.done==true){
 156+ callback();
 157+ return ;
 158+ }
 159+ //queue the callback:
165160 if(callback)
166 - mvJsLoader.addLoadEvent(callback);
 161+ mvBaseLoader.addLoadEvent(callback);
167162 //run if not already running:
168 - if( ! mvJsLoader.calledloadBaseLibs ){
 163+ if( ! mvBaseLoader.calledloadBaseLibs ){
169164 js_log("called loadBaseLibs");
170165 //only call load base libs once
171 - mvJsLoader.calledloadBaseLibs=true;
 166+ mvBaseLoader.calledloadBaseLibs=true;
172167 //issue a style sheet request can come in whenever:
173168 if(!styleSheetPresent(mv_embed_path+'skins/'+mv_skin_name+'/styles.css'))
174169 loadExternalCss(mv_embed_path+'skins/'+mv_skin_name+'/styles.css');
@@ -177,36 +172,54 @@
178173 mvJsLoader.doLoad({
179174 'window.jQuery' :'jquery/jquery-1.2.6.js',
180175 'embedVideo' :'libEmbedObj/mv_baseEmbed.js'
181 - },function(){
 176+ },function(){
182177 //once jQuery is loaded set up no conflict & load plugins:
183178 _global['$j'] = jQuery.noConflict();
184179 //set up ajax to not send dynamic urls for loading scripts
185180 $j.ajaxSetup({
186 - cache: true
187 - });
188 - js_log('jquery loaded');
189 - //load the jQuery dependent plugins:
190 - mvJsLoader.doLoad({
191 - '$j.ui.mouse' :'jquery/jquery.ui-1.5.2/ui/minified/ui.core.min.js',
192 - '$j.ui.droppable' : 'jquery/jquery.ui-1.5.2/ui/minified/ui.droppable.min.js',
193 - '$j.ui.draggable' : 'jquery/jquery.ui-1.5.2/ui/minified/ui.draggable.min.js'
194 - },function(){
195 - js_log('plugins loaded');
196 - // run queued functions
197 - while (mvJsLoader.flist.length){
198 - mvJsLoader.flist.shift()();
199 - }
 181+ cache: true
200182 });
201 - });
 183+ js_log('jquery loaded');
 184+ //load the jQuery dependent plugins:
 185+ mvJsLoader.doLoad({
 186+ '$j.ui.mouse' :'jquery/jquery.ui-1.5.2/ui/minified/ui.core.min.js',
 187+ '$j.ui.droppable' : 'jquery/jquery.ui-1.5.2/ui/minified/ui.droppable.min.js',
 188+ '$j.ui.draggable' : 'jquery/jquery.ui-1.5.2/ui/minified/ui.draggable.min.js'
 189+ },function(){
 190+ js_log('plugins loaded: ');
 191+ mvBaseLoader.done = true;
 192+ // run queued functions from (addLoadEvent)
 193+ mvBaseLoader.runQuededFunctions();
 194+ });
 195+ });
202196 }
203 - },
 197+ },
 198+ runQuededFunctions:function(){
 199+ js_log('runQuededFunctions::');
 200+ while( mvBaseLoader.callbacks.length ){
 201+ mvBaseLoader.callbacks.shift()();
 202+ }
 203+ },
204204 addLoadEvent:function(fn){
205 - this.flist.push(fn);
206 - },
 205+ mvBaseLoader.callbacks.push(fn);
 206+ }
 207+}
 208+
 209+/**
 210+ * mvJsLoader class handles initialization and js file loads
 211+ */
 212+var mvJsLoader = {
 213+ libreq:{},
 214+ libs:{},
 215+ //to keep consistency across threads:
 216+ ptime:0,
 217+ ctime:0,
 218+ load_error:false,//load error flag (false by default)
 219+ load_time:0,
 220+ callbacks:new Array(),
207221 doLoad:function(libs, callback){
208222 this.ctime++;
209 - if(libs){ //setup this.libs:
210 -
 223+ if(libs){ //setup this.libs:
211224 //first check if we already have this lib loaded
212225 var all_libs_loaded=true;
213226 for(var i in libs){
@@ -216,11 +229,11 @@
217230 }
218231 }
219232 if( all_libs_loaded ){
220 - //jump directly to the call back; do not pass go do not issue load request
 233+ js_log('all libs already loaded skiping...' + libs);
221234 callback();
222235 return ;
223 - }
224 -
 236+ }
 237+ debug_attr = (getMvEmbedURL().indexOf('debug=') !== false)?'&debug=true':'';
225238 //check if we should use the script loader to combine all the requests into one:
226239 if( MV_USE_SCRIPT_LOADER ){
227240 var class_set = '';
@@ -233,14 +246,16 @@
234247 last_class=i;
235248 coma=',';
236249 }
237 - }
 250+ }
238251 this.libs[ last_class ] = 'mvwScriptLoader.php?class=' + class_set +
239 - '&urid='+ mv_embed_urid;
 252+ '&urid='+ getMvUniqueReqId()+
 253+ debug_attr;
240254 }else{
241255 //do many requests:
242256 for(var i in libs){ //for in loop oky on object
243 - //js_log('add lib: '+i + ' = ' + libs[i]);
244 - this.libs[i]=libs[i];
 257+ // do a direct load of the file (pass along unique id from request or mv_embed Version )
 258+ var qmark = (libs[i].indexOf('?')!==true)?'?':'&';
 259+ this.libs[i]=libs[i] + qmark + 'urid='+ getMvUniqueReqId();
245260 }
246261 }
247262 }
@@ -255,6 +270,7 @@
256271 setTimeout( 'mvJsLoader.doLoad()', 25 );
257272 }
258273 }else{
 274+ js_log('checkLoading passed for: do run callbacks');
259275 //only do callback if we are in the same instance (weird concurency issue)
260276 var cb_count=0;
261277 for(var i=0; i < this.callbacks.length; i++)
@@ -271,7 +287,7 @@
272288 //func();
273289 }else{
274290 //re-issue doLoad ( ptime will be set to ctime so we should catch up)
275 - setTimeout('mvJsLoader.doLoad()',25);
 291+ setTimeout( 'mvJsLoader.doLoad()', 25 );
276292 break;
277293 }
278294 }
@@ -302,7 +318,11 @@
303319 }
304320 this.cur_path = cur_path;
305321 return true;
 322+ },
 323+ loadBaseLibs:function( callback ){
 324+ mvBaseLoader.load( callback);
306325 }
 326+
307327 }
308328
309329
@@ -726,13 +746,17 @@
727747 js_log('we have vids to process');
728748 //load libs and proccess:
729749 mvJsLoader.loadBaseLibs(function(){
730 - mv_embed();
 750+ //run any queded global events:
 751+ mv_embed( function(){
 752+ while(mvLoadEvent.length){
 753+ mvLoadEvent.pop()();
 754+ }
 755+ });
731756 });
732757 }else{
733 - js_log('no video or playlist on the page... (done)');
734 - //run any queued functions:
735 - while (mvJsLoader.flist.length){
736 - mvJsLoader.flist.shift()();
 758+ //run any queded global events:
 759+ while(mvLoadEvent.length){
 760+ mvLoadEvent.pop()();
737761 }
738762 }
739763 }
@@ -1038,7 +1062,7 @@
10391063
10401064 //addLoadEvent for adding functions to be run when the page DOM is done loading
10411065 function mv_addLoadEvent(func) {
1042 - mvJsLoader.addLoadEvent(func);
 1066+ mvLoadEvent.push(func);
10431067 }
10441068
10451069 //does a remote or local api request based on request url
@@ -1157,14 +1181,8 @@
11581182 //load external js via dom injection
11591183 //@@todo swich over to jQuery injection
11601184 function loadExternalJs(url, callback){
1161 - //add a unique request id to ensure fresh copies where appropriate
1162 - if( url.indexOf('?')==-1 ){
1163 - url+='?'+mv_embed_urid;
1164 - }
11651185 js_log('load js: '+ url);
1166 - //if(window['$j'])
1167 - //have to use direct ajax call instead of $j.getScript()
1168 - //since you can't send "cache" option to $j.getScript()
 1186+ //if(window['$j']) //use jquery call:
11691187 /*$j.ajax({
11701188 type: "GET",
11711189 url: url,

Follow-up revisions

RevisionCommit summaryAuthorDate
r47584Emergency deactivation due to a lot of dupe message keys in r47580...raymond20:50, 20 February 2009
r475852nd try: Emergency deactivation due to a lot of dupe message keys in r47580...raymond20:53, 20 February 2009

Status & tagging log