ViquiArchive. Si teniu propostes per l'aplicació, poseu-les aquí.
HTML
Javascript (amb jQuery)
Aquesta secció informarà de les novetats de l'aplicació Codi
S'inclou el codi utilitzat en la versió v1.0.HTML
Codi:
<input type="hidden" class="app-identifier" value="ViquiArchive"/>
<h2>ViquiArchive</h2><br/>
Aquesta pàgina permet obtenir automàticament l'enllaç vàlid a <a class="external_link" href="https://web.archive.org/">Wayback Machine</a> més recent a partir de qualsevol enllaç trencat.
<br/>
<label>Enllaç</label>
<input class="input_archive_url"></input>
<input class="button2" type="submit" name="input_archive_apply" value="Aplicar" tabindex="5"/>
<input class="button2" type="submit" name="input_archive_clear" value="Netejar" tabindex="5"/><div class="output_archive_content"></div>
<br/>
<h4>Registre de canvis</h4>
<p>
14-01-2023 - v1.0 - Opció d'obtenir l'enllaç vàlid més recent a partir d'un de trencat<br/>
</p>
<h4>Enllaços relacionats</h4>
<p>
<a class="external_link" href="https://archive.org/help/wayback_api.php">Wayback Availability JSON API</a><br/>
</p>
<p>Aquesta aplicació ha estat creada per l'usuari <b><a class="external_link" href="https://ca.wikipedia.org/w/index.php?title=Usuari:Wecoc">Wecoc</a></b> mitjançant la plataforma <i>Forumotion</i>.</p><br/>
Javascript (amb jQuery)
Codi:
$(document).ready(function(){
var app = document.querySelector('.app-identifier');
if (app == null) { return; }
if (app.value !== "ViquiArchive") { return; }
var input_button = document.querySelector('input[name="input_archive_apply"]');
var clear_button = document.querySelector('input[name="input_archive_clear"]');
var input_url_handler = document.querySelector(".input_archive_url");
var date = new Date();
/* Funció per convertir un enllaç pla a un element clicable de tipus "wiki" */
function urlToWikiLink(str) { return "<a class='wiki' href='" + str + "'>" + str + "</a>"; }
/* Funció per convertir una array [yyyy, mm, dd] a un format de data en català */
function aryToFullDate(ary) {
var d = parseInt(ary[2]), m = parseInt(ary[1]), y = parseInt(ary[0]);
var result = d + " ";
switch (m) {
case 1: result += "de gener"; break;
case 2: result += "de febrer"; break;
case 3: result += "de març"; break;
case 4: result += "d'abril"; break;
case 5: result += "de maig"; break;
case 6: result += "de juny"; break;
case 7: result += "de juliol"; break;
case 8: result += "d'agost"; break;
case 9: result += "de setembre"; break;
case 10: result += "d'octubre"; break;
case 11: result += "de novembre"; break;
case 12: result += "de desembre"; break;
default: break;
}
result += " " + y;
return result;
}
/* Enllaç - Botó "Aplicar" */
input_button.onclick = function(){
/* Obté l'enllaç actual */
var url = input_url_handler.value, api;
// api = "https://web.archive.org/cdx/search/cdx?url=" + url + "&output=json"; // Versió CDX
api = "https://archive.org/wayback/available?url=" + url; // Versió Availability
if (url == "") return;
/* Carrega l'API i incrusta el resultat */
$.ajax({
crossOrigin: true,
dataType: 'jsonp',
url: api,
success: function(data) {
var output_content = document.querySelector('.output_archive_content');
var child = document.createElement("table");
var closest = data.archived_snapshots.closest, validLink;
/* Comprova si s'ha obtingut un enllaç emmagatzemat vàlid */
if (closest !== undefined) {
if ((closest.status == 200) & (closest.available)) {
validLink = true;
}
}
/* Omple el contingut amb les dades obtingudes */
if (validLink) {
child.innerHTML += "<tr><td><b>Enllaç</b></td><td>" + urlToWikiLink(data.url) + "</td></tr>";
child.innerHTML += "<tr><td><b>Arxiu</b></td><td>" + urlToWikiLink(closest.url) + "</td></tr>";
var t = closest.timestamp;
var archiveDate = [t.substring(0, 4), t.substring(4, 6), t.substring(6, 8)];
var currentDate = [date.getFullYear(), date.getMonth() + 1, date.getDate()];
child.innerHTML += "<tr><td><b>Data d'arxiu</b></td><td>" + aryToFullDate(archiveDate) + "</td></tr>";
// child.innerHTML += "<tr><td><b>Data de consulta</b></td><td>" + aryToFullDate(currentDate) + "</td></tr>";
child.innerHTML += "<tr><td><b>Codi per editors</b></td><td><code>|consulta=" + aryToFullDate(currentDate) +
" |arxiuurl=" + closest.url + " |arxiudata=" + aryToFullDate(archiveDate) + "</code></td></tr>";
} else {
child.innerHTML += "<tr><td><b>Enllaç</b></td><td>" + urlToWikiLink(data.url) + "</td></tr>";
child.innerHTML += "<tr><td><b>Arxiu</b></td><td>No s'han trobat resultats</td></tr>";
}
output_content.appendChild(child);
}
});
};
/* Enllaç - Botó "Netejar" */
clear_button.onclick = function(){
var output_content = document.querySelector('.output_archive_content');
output_content.innerHTML = "";
};
});