Widget:EditSandbox: Difference between revisions

Jump to navigation Jump to search
Matt Pijoan (talk | contribs)
No edit summary
Matt Pijoan (talk | contribs)
No edit summary
 
(47 intermediate revisions by the same user not shown)
Line 2: Line 2:
<script type="text/javascript">
<script type="text/javascript">
function execute(){
function execute(){
try{
addToQueue("Edit'd");
var api = new mw.Api();
getToken();
}
catch(e){
alert('You are not logged in. Please log in to continue')
}
}
}




function addToQueue(question){
var api = new mw.Api();
var result;
var pageString =  "User:" + mw.user.name() + "/WBRQueue";
api.get( {
action: 'query',
format: 'json',
        titles: pageString,
export: 'export',
        } , {
ok:function (data) {
        var xml = data.query.export["*"];
    xmlDoc = $.parseXML( xml ),
    $xml = $( xmlDoc ),
    $title = $xml.find( "text" );


function getToken(){
var pageContent = $title.text().split(',');
pageContent.push(question);
alert(pageContent.toString());
var token = getToken(pageContent.toString());
}});
return result;
}
 
function getToken(question){
var token;
var token;
var api = new mw.Api();
var api = new mw.Api();
Line 21: Line 38:
format: 'json',
format: 'json',
         intoken: 'edit',
         intoken: 'edit',
         titles: 'GroundZero',
         titles: "User:" + mw.user.name() + "/WBRQueue",
         async: false
         async: false
  }, {
  }, {
ok: function (data) {
ok: function (data) {
$.each(data.query.pages,  function(index, value){
$.each(data.query.pages,  function(index, value){
   token = value.edittoken;
   var token = value.edittoken;
    
   addNewSection( "User:" + mw.user.name() + "/WBRQueue",question, token );
   
   
})}});
})}});
alert(token);
}
}
function addNewSection( title, content, editToken ) {
    $.ajax({
        url: mw.util.wikiScript( 'api' ),
        data: {
            format: 'json',
            action: 'edit',
            title: title,
            text: content,
            token: editToken
        },
        dataType: 'json',
        type: 'POST',
        success: function( data ) {
            if ( data && data.edit && data.edit.result == 'Success' ) {
                window.location.reload(); // reload page if edit was successful
            } else if ( data && data.error ) {
                alert( 'Error: API returned error code "' + data.error.code + '": ' + data.error.info );
            } else {
                alert( 'Error: Unknown result from API.' );
            }
        },
        error: function( xhr ) {
            alert( 'Error: Request failed.' );
        }
    });
}
</script>
</script>
<form>   
<form>   

Latest revision as of 20:11, 28 November 2012