User:Docmoates/Social: Difference between revisions

From XMethod Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 279: Line 279:


<script>
<script>
function initSocialFeed(){
(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();
api.upload(file,{filename:filename,ignorewarnings:true}).progress(function(pct){
var formData=new FormData();
onProgress(pct*100);
formData.append('action','upload');
}).done(function(resp){
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('Upload issue: '+JSON.stringify(resp.upload));}
else if(resp.upload.warnings){onError('Warning: '+JSON.stringify(resp.upload.warnings));}
}else{onError('Upload failed');}
else{onError('Upload issue');}
}).fail(function(code,result){
}else if(resp.error){onError(resp.error.info);}
onError('Upload error: '+(result.error?result.error.info:code));
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);});
 
});
mw.loader.using(['mediawiki.api','mediawiki.util']).then(initSocialFeed);
</script>
</script>
</div>
</div>
</html>
</html>

Revision as of 03:19, 3 February 2026

Add Story
?
Edit
📍
📝
No posts yet
Be the first to share something!
Set Profile Photo
Upload
From URL
📸
Click to select or drag photo here

Uploading...

Add Story
Upload
From URL
📷
Click to select or drag image here

Uploading...

Add Photo
Upload
From URL
📤
Click to select or drag image here

Uploading...

Add Video
Upload
From URL
🎬
Click to select or drag video here

Uploading...

Supports YouTube, Vimeo, or direct video URLs

Add Location

— or —