User:Docmoates/Social: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 279: | Line 279: | ||
<script> | <script> | ||
function | (window.RLQ=window.RLQ||[]).push(function(){ | ||
mw.loader.using(['mediawiki.api','mediawiki.util']).then(function(){ | |||
var apiBase=mw.util.wikiScript('api'); | var apiBase=mw.util.wikiScript('api'); | ||
var user=mw.config.get('wgUserName')||'Guest'; | var user=mw.config.get('wgUserName')||'Guest'; | ||
| Line 319: | Line 320: | ||
function uploadFile(file,prefix,onProgress,onDone,onError){ | function uploadFile(file,prefix,onProgress,onDone,onError){ | ||
api.getToken('csrf').then(function(token){ | |||
var filename=prefix+'_'+user+'_'+Date.now()+'.'+file.name.split('.').pop(); | var filename=prefix+'_'+user+'_'+Date.now()+'.'+file.name.split('.').pop(); | ||
var formData=new FormData(); | |||
onProgress( | formData.append('action','upload'); | ||
}) | formData.append('filename',filename); | ||
formData.append('file',file); | |||
formData.append('token',token); | |||
formData.append('format','json'); | |||
formData.append('ignorewarnings','1'); | |||
$.ajax({ | |||
url:apiBase, | |||
type:'POST', | |||
data:formData, | |||
processData:false, | |||
contentType:false, | |||
xhr:function(){var x=$.ajaxSettings.xhr();if(x.upload){x.upload.addEventListener('progress',function(e){if(e.lengthComputable)onProgress(Math.round(e.loaded/e.total*100));});}return x;}, | |||
success:function(resp){ | |||
if(resp.upload){ | if(resp.upload){ | ||
if(resp.upload.imageinfo){onDone(resp.upload.imageinfo.url);} | if(resp.upload.imageinfo){onDone(resp.upload.imageinfo.url);} | ||
else{onError(' | else if(resp.upload.warnings){onError('Warning: '+JSON.stringify(resp.upload.warnings));} | ||
else{onError('Upload issue');} | |||
}). | }else if(resp.error){onError(resp.error.info);} | ||
onError('Upload | else{onError('Unknown error');} | ||
}, | |||
error:function(xhr,status,err){onError('Upload failed: '+err);} | |||
}); | }); | ||
}).catch(function(e){onError('Token error: '+e);}); | |||
} | } | ||
| Line 930: | Line 947: | ||
load(); | load(); | ||
loadStories(); | loadStories(); | ||
} | }).catch(function(e){console.error('SocialFeed error:',e);}); | ||
}); | |||
</script> | </script> | ||
</div> | </div> | ||
</html> | </html> | ||
Revision as of 03:19, 3 February 2026
Uploading...
Uploading...
Uploading...
Uploading...
Supports YouTube, Vimeo, or direct video URLs
— or —