User:Technical 13/SandBox/getPageViews.js: Difference between revisions

Content deleted Content added
Technical 13 (talk | contribs)
Okay, now I just need to deal with the synchronous/asynchronous issue...
Technical 13 (talk | contribs)
Not sure why I'm getting a foo is not defined error... Trying to make this work with callbacks to deal with async issue...
Line 1:
// TODO -- make a [[User:AzaToth/morebits.js]] version of this input sequence
function createTable(){
var lang = mw.config.get("wgPageContentLanguage");
var table = "{| class=\"collapsible collapsed sortable\" width=\"95%\" border=\"1\"";
table += "\n|-\n! colspan=\"5\"| Pageview stats for pages related to " + relatedTopic;
table += "\n|-\n! Page Name !! width=\"515%\"| RankHits in 30 days !! width=\"15%\"| Hits in 3060 days !! width=\"15%\"| Hits in 6090 days !! width=\"155%\"| Hits in 90 daysRank";
for(var page in allData){
table += "\n|- style=\"text-align: center;\"";
table += "\n| style=\"text-align: left; font-weight: bold;\" | [[" + pageNames[pageName] + "]] ";
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest30/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + pageHitsallData[foo].hits30 + "}}}} ";
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest60/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + pageHitsallData[foo].hits60 + "}}}} ";
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest90/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + pageHitsallData[foo].hits90 + "}}}} ";
if(allData[foo].rank < 1 || allData[foo].rank > 1000){
table += "|| Not in the top 1,000";
} else {
table += "|| " + getStatsallData[foo].rank;
}
}
table += "\n|}";
alert(table);
}
//var lang = mw.config.get("wgPageContentLanguage");
if(typeof(lang) === "undefined"){
lang = prompt("Get results in what language?", "en");
}
//var relatedTopic = mw.config.get("wgTitle").substr(0, mw.config.get("wgTitle").indexOf("/"));
if(typeof(relatedTopic) === "undefined" || relatedTopic === ""){
relatedTopic = prompt("What are these pages related to?", "{{PAGENAME}}");
}
Line 14 ⟶ 33:
pageNames = pageNames.split("|");
}
var pageName = 0;
var rangeToGet = new Array(30, 60, 90);
var pageHitsallData = 0[];
var pageNamehits30 = 0;
var table = "{| class=\"collapsible collapsed sortable\" width=\"95%\" border=\"1\"";
var hits60 = 0;
table += "\n|-\n! colspan=\"5\"| Pageview stats for pages related to " + relatedTopic;
var hits90 = 0;
table += "\n|-\n! Page Name !! width=\"5%\"| Rank !! width=\"15%\"| Hits in 30 days !! width=\"15%\"| Hits in 60 days !! width=\"15%\"| Hits in 90 days";
for(var pageName in pageNames){
table += "\n|- style=\"text-align: center;\"";
table += "\n| style=\"text-align: left; font-weight: bold;\" | [[" + pageNames[pageName] + "]] ";
for(var daysToGet in rangeToGet){
$.ajax({
Line 29 ⟶ 45:
jsonpCallback: 'pageviewsCallback',
success: function(getStats){
var pageHits = 0;
for(var date in getStats.daily_views){
pageHits += getStats.daily_views[date];
Line 34 ⟶ 51:
switch(rangeToGet[daysToGet]){
case 30:
if(getStatsallData[foo].rank < 1 ||= getStats.rank > 1000){;
allData[foo].hits30 = pageHits;
table += "|| Not in the top 1,000";
} else {
table += "|| " + getStats.rank;
}
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest30/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + pageHits + "}}}} ";
break;
case 60:
allData[foo].hits60 = pageHits;
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest60/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + pageHits + "}}}} ";
break;
case 90:
allData[foo].hits90 = pageHits;
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest90/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + pageHits + "}}}} ";
break;
default:
break;
}
pageHits = 0;
},
fail: function(errorMsg){
Line 56 ⟶ 68:
}
});
}
if(pageName === (pageNames.length -1)){
table += "\n|}";
alert(table);
}
}