r54998 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r54997‎ | r54998 | r54999 >
Date:08:15, 14 August 2009
Author:dale
Status:deferred
Tags:
Comment:
* stubs for upload proxy (upload to commons from other wikis edit page & insert your result).
* Only firefogg non-proxied api based uploads supported so far.
Modified paths:
  • /trunk/phase3/js2/mwEmbed/example_usage/Player_Simple_Video_Tag.html (modified) (history)
  • /trunk/phase3/js2/mwEmbed/libAddMedia/mvBaseUploadInterface.js (modified) (history)
  • /trunk/phase3/js2/mwEmbed/libAddMedia/mvFirefogg.js (modified) (history)
  • /trunk/phase3/js2/mwEmbed/libAddMedia/remoteSearchDriver.js (modified) (history)
  • /trunk/phase3/js2/mwEmbed/libAddMedia/simpleUploadForm.js (added) (history)
  • /trunk/phase3/js2/mwEmbed/libClipEdit/mvClipEdit.js (modified) (history)
  • /trunk/phase3/js2/mwEmbed/libEmbedVideo/embedVideo.js (modified) (history)
  • /trunk/phase3/js2/mwEmbed/mv_embed.js (modified) (history)
  • /trunk/phase3/js2/mwEmbed/mwHostProxy.html (added) (history)
  • /trunk/phase3/js2/mwEmbed/php/jsAutoloadLocalClasses.php (modified) (history)
  • /trunk/phase3/js2/mwRemoteProxy.html (added) (history)

Diff [purge]

Index: trunk/phase3/js2/mwEmbed/example_usage/Player_Simple_Video_Tag.html
@@ -13,7 +13,7 @@
1414 <br />
1515 <table border="1" cellpadding="6" width="600">
1616 <tr>
17 - <td valign="top"><video duration="26" poster="http://metavid.org/w/index.php?action=ajax&rs=mv_frame_server&stream_id=71&t=1:23:16&size=400x300" src="http://metavidstorage01.ucsc.edu/media/house_proceeding_07-18-06_00.ogg?t=1:23:16/1:23:44"></video></video></td>
 17+ <td valign="top"><video durationHint="26" poster="http://metavid.org/w/index.php?action=ajax&rs=mv_frame_server&stream_id=71&t=1:23:16&size=400x300" src="http://metavidstorage01.ucsc.edu/media/house_proceeding_07-18-06_00.ogg?t=1:23:16/1:23:44"></video></video></td>
1818 <td valign="top"><b>Sample Embed</b><br />
1919 Simple video Embed:
2020 <pre>&lt;video poster="http://metavid.org/w/index.php?action=ajax&rs=mv_frame_server&stream_id=71&t=1:23:16&size=400x300"
Index: trunk/phase3/js2/mwEmbed/libAddMedia/mvFirefogg.js
@@ -150,7 +150,7 @@
151151 var out = '';
152152 $j.each(default_firefogg_options, function(target, na){
153153 if(target.substring(0, 6)=='target'){
154 - js_log('check for target html: ' + target);
 154+ //js_log('check for target html: ' + target);
155155 //check for the target if missing add to the output:
156156 if( _this[target] === false){
157157 out += _this.getTargetHtml(target) + ' ';
@@ -450,7 +450,7 @@
451451 //doChunkUpload does both uploading and encoding at the same time and uploads one meg chunks as they are ready
452452 doChunkUpload : function(){
453453 js_log('doChunkUpload::');
454 - var _this = this;
 454+ var _this = this;
455455 _this.action_done = false;
456456 //extension should already be ogg but since its user editable,
457457 //check again
@@ -466,7 +466,29 @@
467467 _this.formData['wpDestFile'] = sf.replace(extreg, '.ogg');
468468 }
469469 //add chunk response hook to build the resultURL when uploading chunks
470 -
 470+
 471+ //check for editToken:
 472+ if(!this.etoken){
 473+ if( _this.formData['wpEditToken']){
 474+ _this.etoken = _this.formData['wpEditToken'];
 475+ _this.doChunkWithFormData();
 476+ }else{
 477+ get_mw_token(
 478+ 'File:'+ _this.formData['wpDestFile'],
 479+ _this.api_url,
 480+ function( eToken ){
 481+ _this.etoken = eToken;
 482+ _this.doChunkWithFormData();
 483+ }
 484+ );
 485+ }
 486+ }else{
 487+ _this.doChunkWithFormData();
 488+ }
 489+ },
 490+ doChunkWithFormData:function(){
 491+ var _this = this;
 492+ js_log("doChunkWithFormData::" + _this.etoken);
471493 //build the api url:
472494 var aReq ={
473495 'action' : 'upload',
@@ -475,11 +497,8 @@
476498 'comment' : _this.formData['wpUploadDescription'],
477499 'enablechunks' : 'true'
478500 };
479 - //check for editToken:
480 - if(!this.etoken)
481 - this.etoken = _this.formData['wpEditToken'];
482 -
483 - if( this.etoken )
 501+
 502+ if( _this.etoken )
484503 aReq['token'] = this.etoken;
485504
486505 if( _this.formData['wpWatchthis'] )
@@ -554,7 +573,7 @@
555574 },
556575 doUploadStatus:function() {
557576 var _this = this;
558 - $j('#up-status-state').html( gM('uploaded-status') );
 577+ $j( '#up-status-state' ).html( gM('uploaded-status') );
559578
560579 _this.oldResponseText = '';
561580 //setup a local function for timed callback:
Index: trunk/phase3/js2/mwEmbed/libAddMedia/remoteSearchDriver.js
@@ -17,7 +17,7 @@
1818 "rsd_results_prev" : "previous ",
1919 "rsd_no_results" : "No search results for <b>$1</b>",
2020
21 - "mv_upload" : "Upload",
 21+ "upload_tab" : "Upload",
2222 "rsd_layout" : "Layout:",
2323 "rsd_resource_edit" : "Edit Resource: $1",
2424 "resource_description_page": "Resource Description Page",
@@ -34,7 +34,9 @@
3535 "no_import_by_url": "This User or Wiki <b>can not</b> import assets from remote URLs. </p><p> Do you need to Login? </p><p> If permissions are set you may have to enable $wgAllowCopyUploads, <a href=\"http://www.mediawiki.org/wiki/Manual:$wgAllowCopyUploads\">more info</a></p>",
3636 "results_from": "Results from <a href=\"$1\" target=\"_new\" >$2</a>",
3737
38 - "missing_desc_see_soruce": "This Asset is missing a description. Please see the [$1 orginal source] and help describe it"
 38+ "missing_desc_see_soruce": "This Asset is missing a description. Please see the [$1 orginal source] and help describe it",
 39+
 40+ "rsd_config_error": "Add media Wizard configuation error: $1"
3941 });
4042 var default_remote_search_options = {
4143 'profile':'mediawiki_edit',
@@ -63,7 +65,8 @@
6466 'cFileNS':'File', //what is the cannonical namespace for images
6567 //@@todo (should get that from the api or inpage vars)
6668
67 - 'enable_upload_tab':true // if we want to enable an uploads tab:
 69+ 'enable_upload_tab':true, // if we want to enable an uploads tab:
 70+ 'upload_api_target' : 'http://127.0.0.1/wiki_trunk/api.php' // can be local or the url of the upload api.
6871 }
6972 if(typeof wgServer == 'undefined')
7073 wgServer = '';
@@ -93,7 +96,7 @@
9497 * sets the default display item:
9598 * can be any content_providers key or 'all'
9699 */
97 - disp_item : 'this_wiki',
 100+ disp_item : 'upload',
98101 /** the default content providers list.
99102 *
100103 * (should be note that special tabs like "upload" and "combined" don't go into the content proviers list:
@@ -330,15 +333,16 @@
331334 }
332335 }
333336
334 - //make sure the selected cp has an api to query against:
335 - if(! this.content_providers[ this.disp_item ].api_url ){
 337+ //make sure the selected cp has an api to query against (if its a content_provider
 338+ if( this.content_providers[ this.disp_item ] &&
 339+ !this.content_providers[ this.disp_item ].api_url ){
336340 for(var inx in this.content_providers){
337341 if( this.content_providers[ inx ].api_url ){
338342 this.disp_item = inx;
339343 break;
340344 }
341345 }
342 - }
 346+ }
343347
344348
345349 //set up the default model config:
@@ -554,34 +558,49 @@
555559 });
556560 },
557561 doUploadInteface:function(){
558 - var _this = this;
559 - mv_set_loading('#tab-upload');
560 - $j('#tab-upload').html('upload interface goes here ;)');
561 -
562 - //todo include firefogg support:
563 - /*mvJsLoader.doLoad( [
564 - 'mvUploader'
565 - ],function(){
566 - _this.cUpLoader = new mvUploader({
567 - 'target_div': '#tab-upload',
568 - 'upload_done_action:': function( rTitle){
569 - //set to loading:
570 - mv_set_loading('#tab-upload');
571 - //do a direct api query for resource info (to build rObj
572 - _this.getResourceFromTitle( rTitle, function(rObj){
573 - //call resource Edit:
574 - _this.resourceEdit( rObj );
575 - });
576 - }
577 - });
578 - }); */
 562+ js_log("doUploadInteface::");
 563+ var _this = this;
 564+ //set it to loading:
 565+ mv_set_loading('#tab-upload');
 566+
 567+ //do config variable reality checks:
 568+ if( _this.upload_api_target == 'local' ){
 569+ if( ! _this.local_wiki_api_url ){
 570+ $j('#tab-upload').html( gM( 'rsd_config_error', 'missing_local_api_url' ) );
 571+ return false;
 572+ }else{
 573+ _this.upload_api_target = _this.local_wiki_api_url;
 574+ }
 575+ }
 576+ //make sure we have a url for the upload target:
 577+ if( parseUri( _this.upload_api_target ).host == _this.upload_api_target ){
 578+ $j('#tab-upload').html( gM('rsd_config_error', 'bad_api_url') );
 579+ return false;
 580+ }
 581+ //output the form
 582+ mvJsLoader.doLoad(['$j.fn.simpleUploadForm'],function(){
 583+ //set the form action based on domain:
 584+ if( parseUri( document.URL ).host == parseUri( _this.upload_api_target ).host ){
 585+ //deal with the api form upload form directly:
 586+ $j('#tab-upload').simpleUploadForm({
 587+ "api_target" : _this.upload_api_target
 588+ })
 589+ }else{
 590+ //setup the proxy
 591+ }
 592+ });
579593 },
580594 runSearch: function(){
581595 js_log("f:runSearch::" + this.disp_item);
582596 //draw_direct_flag
583597 var draw_direct_flag = true;
584 - if( !this.content_providers[this.disp_item] ){
585 - js_log("can't run search for:" + this.disp_item);
 598+ if( !this.content_providers[this.disp_item] ){
 599+ //check if its the special upload tab case:
 600+ if( this.disp_item == 'upload'){
 601+ this.doUploadInteface();
 602+ }else{
 603+ js_log("can't run search for:" + this.disp_item);
 604+ }
586605 return false;
587606 }
588607 cp = this.content_providers[this.disp_item];
@@ -792,8 +811,10 @@
793812 }
794813 //do an upload tab if enabled:
795814 if( this.enable_upload_tab ){
796 - o+='<li class="rsd_cp_tab" ><a id="rsd_tab_upload" href="#tab-upload">' + gM('upload') + '</a></li>';
 815+ o+='<li class="rsd_cp_tab" ><a id="rsd_tab_upload" href="#tab-upload">' + gM('upload_tab') + '</a></li>';
797816 tabc+='<div id="tab-upload" />';
 817+ if(this.disp_item == 'upload')
 818+ selected_tab = inx++;
798819 }
799820 o+='</ul>';
800821 //output the tab content containers:
@@ -1087,31 +1108,36 @@
10881109
10891110 },
10901111 /*set-up the control actions for clipEdit with relevent callbacks */
1091 - getClipEditControlActions:function(){
 1112+ getClipEditControlActions:function( cp ){
10921113 var _this = this;
1093 - return {
1094 - 'insert' :function(rObj){
1095 - _this.insertResource(rObj);
1096 - },
1097 - 'preview':function(rObj){
 1114+ var cConf= {};
 1115+
 1116+ cConf['insert'] = function(rObj){
 1117+ _this.insertResource(rObj);
 1118+ }
 1119+ //if not directly inserting the resource is support a preview option:
 1120+ if( _this.import_url_mode != 'remote_link'){
 1121+ cConf['preview'] = function(rObj){
10981122 _this.previewResource( rObj )
1099 - },
1100 - 'cancel' :function(){
1101 - _this.cancelClipEditCB()
1102 - }
1103 - };
 1123+ };
 1124+ }
 1125+ cConf['cancel'] = function(){
 1126+ _this.cancelClipEditCB()
 1127+ }
 1128+ return cConf;
11041129 },
11051130 //loads the media editor:
11061131 doMediaEdit:function( rObj , mediaType){
1107 - var _this = this;
 1132+ var _this = this;
 1133+ var cp = rObj.pSobj.cp;
11081134 var mvClipInit = {
11091135 'rObj':rObj, //the resource object
1110 - 'parent_ct':'rsd_modal_target',
1111 - 'clip_disp_ct':'clip_edit_disp',
1112 - 'control_ct': 'clip_edit_ctrl',
1113 - 'media_type': mediaType,
1114 - 'p_rsdObj': _this,
1115 - 'controlActionsCb':_this.getClipEditControlActions()
 1136+ 'parent_ct' : 'rsd_modal_target',
 1137+ 'clip_disp_ct' : 'clip_edit_disp',
 1138+ 'control_ct' : 'clip_edit_ctrl',
 1139+ 'media_type' : mediaType,
 1140+ 'p_rsdObj' : _this,
 1141+ 'controlActionsCb' : _this.getClipEditControlActions( cp )
11161142 };
11171143
11181144 var clibs = ['mvClipEdit'];
@@ -1501,7 +1527,7 @@
15021528 updatePreviewText:function( rObj ){
15031529 var _this = this;
15041530
1505 - if(_this.import_url_mode=='remote_link'){
 1531+ if( _this.import_url_mode == 'remote_link' ){
15061532 _this.cur_embed_code = rObj.pSobj.getEmbedHTML(rObj);
15071533 }else{
15081534 _this.cur_embed_code = rObj.pSobj.getEmbedWikiCode( rObj );
Index: trunk/phase3/js2/mwEmbed/libAddMedia/simpleUploadForm.js
@@ -0,0 +1,86 @@
 2+/*
 3+ * simple form output jquery binding
 4+ * enables dynamic form output to a given target
 5+ *
 6+ */
 7+
 8+loadGM({
 9+ "select_file" : "Select File",
 10+ "more_licence_options" : "For more licence options view the <a href=\"$1\">normal upload page</a>",
 11+ "select_ownwork" : "I am uploading entirely my own work, and licencing it under:",
 12+ "licence_cc-by-sa" : "Creative Commons Share Alike (3.0)",
 13+ "upload" : "Upload File",
 14+ "destfilename" : "Destination filename:",
 15+ "summary" : "Summary"
 16+});
 17+
 18+var default_form_options = {
 19+ 'enable_fogg' : true,
 20+ 'licence_options':['cc-by-sa'],
 21+ 'api_target' : false
 22+};
 23+
 24+(function($) {
 25+ $.fn.simpleUploadForm = function( opt , callback){
 26+ //set the options:
 27+ for(var i in default_form_options){
 28+ if(!opt[i])
 29+ opt[i] = default_form_options[i];
 30+ }
 31+
 32+ //first do a reality check on the options:
 33+ if(!opt.api_target){
 34+ $(this.selector).html('Error: Missing api target');
 35+ return false;
 36+ }
 37+
 38+
 39+ //@@todo this is just a proof of concept
 40+ //much todo to improved this web form
 41+ var o = '<div style="margin: 0 auto;">'+
 42+ '<form id="suf-upload" enctype="multipart/form-data" action="" method="post">' +
 43+ '<label for="wpUploadFile">' + gM('select_file') + '</label><br>'+
 44+ '<input type="file" style="display: inline;" name="wpUploadFile" id="wpUploadFile" size="10"/><br>' +
 45+ '<label for="wpDestFile">' +gM('destfilename') + '</label><br>'+
 46+ '<input type="text" id="wpDestFile" name="wpDestFile" size="30" /><br>'+
 47+ '<label for="wpUploadDescription">' + gM('summary') + ':</label><br>' +
 48+ '<textarea cols="30" rows="3" id="wpUploadDescription" name="wpUploadDescription" tabindex="3"/><br>'+
 49+ gM('select_ownwork') + '<br>' +
 50+ '<input type="checkbox" id="wpLicence" name="wpLicence" value="cc-by-sa">' + gM('licence_cc-by-sa') + '<br>' +
 51+
 52+ '<input type="submit" accesskey="s" value="' + gM('upload') + '" name="wpUploadBtn" id="wpUploadBtn" tabindex="9"/>' +
 53+ //close the form and div
 54+ '</form></div>';
 55+
 56+ //set the target with the form output:
 57+ $(this.selector).html( o );
 58+ //by default dissable:
 59+ $j('#wpUploadBtn').attr('disabled', 'disabled');
 60+
 61+ //set up basic binding:
 62+ $j('#wpLicence').click(function(){
 63+ if( $j(this).is(':checked') ){
 64+ $j('#wpUploadBtn').removeAttr('disabled');
 65+ }else{
 66+ $j('#wpUploadBtn').attr('disabled', 'disabled');
 67+ }
 68+ });
 69+
 70+ //set up the binding per the config
 71+ if( opt.enable_fogg ){
 72+ $j('#wpUploadFile').firefogg({
 73+ //an api url (we won't submit directly to action of the form)
 74+ 'api_url' : opt.api_target,
 75+ 'form_rewrite': true,
 76+ 'target_edit_from' : '#suf-upload',
 77+ 'new_source_cb' : function( orgFilename, oggName ){
 78+ $j('#wpDestFile').val( oggName );
 79+ //@@TODO:
 80+ //mwUploadHelper.doDestCheck();
 81+ }
 82+ });
 83+ }else{
 84+ //simple web form rewrite
 85+ }
 86+ }
 87+})(jQuery);
\ No newline at end of file
Index: trunk/phase3/js2/mwEmbed/libAddMedia/mvBaseUploadInterface.js
@@ -78,7 +78,7 @@
7979 setupForm:function(){
8080 var _this = this;
8181 //set up the local pointer to the edit form:
82 - _this.editForm = _this.getEditForm();
 82+ _this.editForm = _this.getEditForm();
8383
8484 if( _this.editForm ){
8585 //set up the org_onsubmit if not set:
@@ -86,7 +86,7 @@
8787 _this.org_onsubmit = _this.editForm.onsubmit;
8888
8989 //have to define the onsubmit function inline or its hard to pass the "_this" instance
90 - $j( '#mw-upload-form' ).submit( function(){
 90+ $j( _this.editForm ).submit( function(){
9191 //run the original onsubmit (if not run yet set flag to avoid excessive chaining )
9292 if( typeof( _this.org_onsubmit ) == 'function' ){
9393 if( ! _this.org_onsubmit() ){
@@ -95,8 +95,7 @@
9696 }
9797 }
9898 //check for post action override:
99 - if( _this.form_post_override ){
100 - //alert('will submit here');
 99+ if( _this.form_post_override ){
101100 return true;
102101 }
103102 //get the input form data in flat json:
Index: trunk/phase3/js2/mwEmbed/libClipEdit/mvClipEdit.js
@@ -83,7 +83,7 @@
8484 this.doDisplayEdit();
8585 }else{
8686 //check the media_type:
87 - js_log('mvClipEdit:: media type:' + this.media_type + ' base width: ' + this.rObj.width + ' bh: ' + this.rObj.height);
 87+ //js_log('mvClipEdit:: media type:' + this.media_type + ' base width: ' + this.rObj.width + ' bh: ' + this.rObj.height);
8888 //could seperate out into media Types objects for now just call method
8989 if(this.media_type == 'image'){
9090 this.setUpImageCtrl();
@@ -466,7 +466,7 @@
467467 var b_target = _this.p_rsdObj.target_container + '~ .ui-dialog-buttonpane';
468468 //empty the ui-dialog-buttonpane bar:
469469 $j(b_target).empty();
470 - for(var cbType in _this.controlActionsCb){
 470+ for( var cbType in _this.controlActionsCb ){
471471 switch(cbType){
472472 case 'insert_seq':
473473 $j(b_target).append( $j.btnHtml(gM('mv_insert_into_sequence'), 'mv_insert_sequence', 'check' ) + ' ' )
Index: trunk/phase3/js2/mwEmbed/mwHostProxy.html
@@ -0,0 +1,14 @@
 2+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 3+"http://www.w3.org/TR/html4/loose.dtd">
 4+<html>
 5+<head>
 6+ <title></title>
 7+ <script type="text/javascript">
 8+
 9+ </script>
 10+</head>
 11+<body>
 12+<h3> This file should be inclued by external sites that want to be proxied: </h3>
 13+</body>
 14+</html>
 15+
Index: trunk/phase3/js2/mwEmbed/php/jsAutoloadLocalClasses.php
@@ -58,6 +58,7 @@
5959 // libAddMedia:
6060 $wgJSAutoloadLocalClasses['mvFirefogg'] = $wgMwEmbedDirectory . 'libAddMedia/mvFirefogg.js';
6161 $wgJSAutoloadLocalClasses['mvAdvFirefogg'] = $wgMwEmbedDirectory . 'libAddMedia/mvAdvFirefogg.js';
 62+$wgJSAutoloadLocalClasses['j.fn.simpleUploadForm'] = $wgMwEmbedDirectory . 'libAddMedia/simpleUploadForm.js';
6263 $wgJSAutoloadLocalClasses['mvBaseUploadInterface'] = $wgMwEmbedDirectory . 'libAddMedia/mvBaseUploadInterface.js';
6364 $wgJSAutoloadLocalClasses['remoteSearchDriver'] = $wgMwEmbedDirectory . 'libAddMedia/remoteSearchDriver.js';
6465 $wgJSAutoloadLocalClasses['seqRemoteSearchDriver'] = $wgMwEmbedDirectory . 'libAddMedia/seqRemoteSearchDriver.js';
Index: trunk/phase3/js2/mwEmbed/mv_embed.js
@@ -150,13 +150,14 @@
151151 '$j.fn.datePicker' : 'jquery/plugins/jquery.datePicker.js',
152152 '$j.ui' : 'jquery/jquery.ui-1.7.1/ui/ui.core.js',
153153 '$j.fn.ColorPicker' : 'libClipEdit/colorpicker/js/colorpicker.js',
154 - '$j.Jcrop' : 'libClipEdit/Jcrop/js/jquery.Jcrop.js'
 154+ '$j.Jcrop' : 'libClipEdit/Jcrop/js/jquery.Jcrop.js',
 155+ '$j.fn.simpleUploadForm': 'libAddMedia/simpleUploadForm.js'
155156 });
156157 //query plugins
157158 lcPaths( 'jquery/plugins/', [
158159 '$j.secureEvalJSON',
159160 '$j.cookie',
160 - '$j.contextMenu',
 161+ '$j.contextMenu'
161162 ]);
162163 //jquery ui
163164 lcPaths('jquery/jquery.ui-1.7.1/ui/', [
@@ -183,7 +184,7 @@
184185 '$j.effects.slide',
185186 '$j.ui.accordion',
186187 '$j.ui.draggable',
187 - '$j.ui.selectable',
 188+ '$j.ui.selectable'
188189 ],
189190 {'j_replace':''});
190191 //add mediaLibs
@@ -192,7 +193,7 @@
193194 'mvAdvFirefogg',
194195 'mvBaseUploadInterface',
195196 'remoteSearchDriver',
196 - 'seqRemoteSearchDriver',
 197+ 'seqRemoteSearchDriver'
197198 ]);
198199 //search libs:
199200 lcPaths('libAddMedia/searchLibs/', [
@@ -1041,7 +1042,8 @@
10421043 * @param api_url 'optional' the target api url
10431044 * @param callback the callback function to pass the token or "false" to
10441045 */
1045 -function get_mw_token( title, api_url, callback){
 1046+function get_mw_token( title, api_url, callback){
 1047+ js_log(':get_mw_token:');
10461048 if(!title && wgUserName){
10471049 title = 'User:' + wgUserName;
10481050 }
Index: trunk/phase3/js2/mwEmbed/libEmbedVideo/embedVideo.js
@@ -156,7 +156,7 @@
157157 if( force_id == null && force_id != '' ){
158158 var j_selector = 'video,audio,playlist';
159159 }else{
160 - var j_selector = '#'+force_id;
 160+ var j_selector = '#' + force_id;
161161 }
162162 //process selected elements:
163163 //ie8 does not play well with the jQuery video,audio,playlist selector use native:
@@ -2175,8 +2175,8 @@
21762176
21772177 $j("#mv_play_pause_button_" + this_id + ' span').removeClass('ui-icon-play').addClass('ui-icon-pause');
21782178 $j("#mv_play_pause_button_" + this_id).unbind().btnBind().click(function(){
2179 - $j('#' + this_id ).get(0).pause();
2180 - }).attr('title', gM('pause_clip'));
 2179+ $j('#' + this_id ).get(0).pause();
 2180+ }).attr('title', gM('pause_clip'));
21812181
21822182 },
21832183 load:function(){
@@ -2393,7 +2393,7 @@
23942394 var val = parseInt( perc*1000 );
23952395 $j('#mv_play_head_'+this_id).slider('value', val);
23962396
2397 - js_log("embed video set: " + '#mv_play_head_'+this_id + ' to ' + val);
 2397+ //js_log("embed video set: " + '#mv_play_head_'+this_id + ' to ' + val);
23982398 }
23992399 //js_log('set#mv_seeker_slider_'+this_id + ' perc in: ' + perc + ' * ' + $j('#mv_seeker_'+this_id).width() + ' = set to: '+ val + ' - '+ Math.round(this.mv_seeker_width*perc) );
24002400 //js_log('op:' + offset_perc + ' *('+perc+' * ' + $j('#slider_'+id).width() + ')');
Index: trunk/phase3/js2/mwRemoteProxy.html
@@ -0,0 +1,31 @@
 2+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 3+"http://www.w3.org/TR/html4/loose.dtd">
 4+<html>
 5+<head>
 6+ <title>Javascript Api Proxy</title>
 7+ <style type="text/css">
 8+ body{
 9+ font-size:80%;
 10+ }
 11+ img {
 12+ border:medium none;
 13+ }
 14+ </style>
 15+ <script type="text/javascript">
 16+ var domainList = [
 17+ '127.0.0.1'
 18+ ];
 19+ </script>
 20+</head>
 21+<body>
 22+<h3> This file proxies api and html output for source domains: </h3>
 23+<div id="domainList"></div>
 24+ <script type="text/javascript">
 25+ var o='';
 26+ for( var i in domainList){
 27+ o+='<br><i>'+ domainList[i] + '</i>';
 28+ }
 29+ </script>
 30+</body>
 31+</html>
 32+

Status & tagging log