Bruger:SimmeD/Scripts/autoSporScript.js
Udseende
< Bruger:SimmeD | Scripts
Bemærk, efter at have gemt, er du almindeligvis nødt til at tømme din browsers cache for at kunne se ændringerne.
Mozilla/Firefox/Safari/Konqueror: Hold shifttasten nede og klik på reload eller tryk på ctrl-shift-r
Internet Explorer: Ctrl-F5
Opera: F5
Safari til Mac: ⌥⌘E
Mozilla/Firefox/Safari/Konqueror: Hold shifttasten nede og klik på reload eller tryk på ctrl-shift-r
Internet Explorer: Ctrl-F5
Opera: F5
Safari til Mac: ⌥⌘E
// Skrevet af Simeon Dahl
// Sidst opdateret: 30. november 2017
function pad (str, max) {
str = str.toString();
return str.length < max ? pad("0" + str, max) : str;
}
var auto_track_script = function()
{
// Sprøger for en playliste
var textInput = prompt('Enter playlist:', '');
// Tjekker om input er null
if (textInput != '') {
var SongsTemplate = [];
var textArrayHashtag = textInput.split('#');
var times = [];
for (i = 1; i < textArrayHashtag.length; i++)
{
// Fjerner " fra array
var nameAndTime = textArrayHashtag[i].replace(/"/g, '');
var splitSymbol = null;
if ( nameAndTime.includes('-') ) { splitSymbol = '-'; }
if ( nameAndTime.includes('–') ) { splitSymbol = '–'; }
var stringSplit = textArrayHashtag[i].replace(/"/g, '').split(splitSymbol);
if (stringSplit[1] == null) { stringSplit[1] = ''; }
SongsTemplate.push( '\n| titel' + (i) + ' = ' + stringSplit[0] + ' \n| længde' + (i) + ' = ' + stringSplit[1] + ' ' );
times.push( stringSplit[1] );
}
// Udregner totaltid for hele albummet
var totalTime = 0;
var tmp_hour = 0;
var tmp_min = 0;
for (i = 0;i < times.length; i++)
{
var tmp_split = times[i].split(':');
tmp_min = parseInt(tmp_min) + parseInt(tmp_split[1]);
tmp_hour = parseInt(tmp_hour) + parseInt(tmp_split[0]);
if (tmp_min > 60)
{
tmp_hour = parseInt(tmp_hour) + 1;
tmp_min = parseInt(tmp_min) - 60;
}
}
// Ser om der overhovet er nogen tider at udregne/udskrive
if ( isNaN(tmp_hour) || isNaN(tmp_min) )
{
totalTime = "";
}
else
{
totalTime = tmp_hour + ':' + pad(tmp_min, 2);
}
// Laver skabelonen for Sporliste
var TemplateStart = ''
+ '{{Sporliste '
+ '\n| sammenklappet = '
+ '\n| overskrift = ' //+ wgPageName
+ '\n| ekstra_kolonne = '
+ '\n| total_længde = ' + totalTime;
var TemplateEnd = '\n}}';
var endResult = TemplateStart + SongsTemplate.join('') + TemplateEnd;
alert(endResult);
document.editform.wpSummary.value = document.editform.wpSummary.value + " +sporliste";
}
}
// Add the tool on the "værktøjer" list
function linkAutoTrackList() {
if (document.getElementById("t-autolist")) return;
var li_current = document.getElementById("t-whatlinkshere");
if (!li_current) return;
var li_next = li_current.nextSibling;
var ul_node = li_current.parentNode;
var li = document.createElement("li");
li.setAttribute("id", "t-autolist");
li.setAttribute("title", "Lav sporlister om til {{spor}} automatisk");
li.appendChild(document.createElement("a"));
li.firstChild.appendChild(document.createTextNode("Auto Spor Liste"));
ul_node.insertBefore(li, li_next);
}
$(linkAutoTrackList());
var autolist = document.getElementById('t-autolist');
if(autolist) autolist.onclick = auto_track_script;