-
-
Save gialloporpora/63860 to your computer and use it in GitHub Desktop.
MozillaItalia Ubiquity feed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* I comandi di questo feed sono stati pensati per la navigazione sul forum di MozillaItalia */ | |
/* il codice è stato scritto in modo da poterlo facilmente modificare per altri forum powered by SMF */ | |
/* Il TODO lo metto solo per scrivere qualcosa, non è detto si trasformi in DONE */ | |
/* TODO */ | |
/* permettere l'inserimento di sezioni multiple in cui cercare */ | |
/* Creare dei comandi per le unreadreplies e gli unread con anteprima, cosa che forse è troppo complicata per me :-P */ | |
/* creare comando per salvare i topic e proporli come suggerimento */ | |
var smf_mi_msg={ | |
"gohome" : "Vai alla homepage del forum di MozillaItalia", | |
"gotoboard" : "Vai alla sezione <b>${board}</b> del forum di MozillaItalia", | |
"show" : "Visualizza <b>${section}</b", | |
"gotopic" : "Vai a <b>${topic}</b>" | |
}; | |
var smf_mi_forum_url="http://forum.mozillaitali a.org/"; | |
var smf_mi_board_dict={"Seamonkey":1,"Firefox":2,"Thunderbird":3,"Annunci":4,"Pianeta Mozilla":5,"Altro":7,"Traduzioni":8,"FAQ":9,"Camino":10,"Sunbird e Lightning":11,"Componenti aggiuntivi":12,"Amministrazione":13,"Kompozer":15,"Siti non funzionanti":16,"Mozilla portabile":17,"Isolamento":18,"Cestino":20,"SUMO":25}; | |
var smf_mi_action_dict={"Profilo":"profile","Agenda":"calendar","login":"login","Risposte non lette":"unreadreplies","Nuove discussioni":"unread","easter egg":"about:unknown","Messaggi privati":"pm","Feed RSS":".xml&limit=100;type=rss"}; | |
var smf_mi_topic_dict={"Ultime novità dal Web sul mondo Mozilla":30487,"Software OpenSource e software gratuito":27387,"UserChrome.css How-To" : 17028,"Errori nella traduzione di Firefox 3" : 33957,"Errori nella traduzione di Thunderbird 3.0 pre" : 35309, "La mamma degli imbecilli è veramente sempre incinta" : 27948, "Uniformità nelle risposte" : 23097, "Topic da chiudere? Discutiamone qui." : 21402} | |
var smf_mi_action_array=new Array(); | |
for (i in smf_mi_action_dict) smf_mi_action_array.push(i); | |
var smf_mi_topic_array=new Array(); | |
for (i in smf_mi_topic_dict) smf_mi_topic_array.push(i); | |
var smf_mi_board_array=new Array(); | |
for (i in smf_mi_board_dict) smf_mi_board_array.push(i); | |
var noun_type_smf_mi_board= new CmdUtils.NounType( "noun_type_smf_mi_board",smf_mi_board_array); | |
var smf_mi_forum_array=smf_mi_board_array.concat(smf_mi_action_array,smf_mi_topic_array); | |
var noun_type_smf_mi_forum= new CmdUtils.NounType( "noun_type_smf_mi_forum",smf_mi_forum_array); | |
CmdUtils.CreateCommand({ | |
name: "mozilla-italia", | |
synonyms: ["mi"], | |
icon: "http://forum.mozillaitalia.org/img/mozilla-16.png", | |
homepage: "http://www.gialloporpora.netsons.org", | |
description: "Questo comando permette di navigare in modo veloce fra le board del forum di MozillaItalia, accedere all'agenda, accedere al proprio profilo e visualizzare le risposte e le discussioni non lette", | |
help: "Questo comando permette di navigare in modo veloce fra le board del forum di <b>MozillaItalia</b>, accedere all'agenda, accedere al proprio profilo e visualizzare le risposte e le discussioni non lette", | |
author: { name: "Sandro Della Giustina", email: "[email protected]"}, | |
license: "MPL,GPL", | |
takes: {input: noun_type_smf_mi_forum}, | |
_pm: function(pblock) { | |
CmdUtils.previewAjax( pblock, { | |
url: "http://forum.mozillaitalia.org/", | |
success: function(xml){ | |
regex=/action=pm">(\d+).*(\d+)/; | |
a=xml.match(regex); | |
if (a){ | |
pblock.innerHTML="Hai <b>"+a[1]+ "</b>, <b>"+a[2]+"</b> sono nuovi<br><br>Premi invio per leggere messaggi"; | |
} | |
else pblock.innerHTML="Errore: Eseguire il login per poter accedere ai messaggi privati"; | |
}, | |
error: function(error){ | |
pblock.innerHTML="Server unavalaible"; | |
}, | |
}); | |
}, | |
preview: function(pblock, input) { | |
if (input.text=="") html=smf_mi_msg["gohome"]; | |
else if (input.text in smf_mi_board_dict) html=CmdUtils.renderTemplate(smf_mi_msg["gotoboard"], {"board" : input.text}); | |
else if (input.text in smf_mi_action_dict) { | |
html=CmdUtils.renderTemplate(smf_mi_msg["show"], {"section" : input.text}); | |
if (input.text=="Messaggi privati") this._pm(pblock); | |
} | |
else if (input.text in smf_mi_topic_dict) html=CmdUtils.renderTemplate(smf_mi_msg["gotopic"],{"topic" : input.text}); | |
pblock.innerHTML = CmdUtils.renderTemplate(html); | |
}, | |
execute: function( input ){ | |
url=smf_mi_forum_url; | |
if (input.text in smf_mi_board_dict) url+="index.php?board="+smf_mi_board_dict[input.text]; | |
else if (input.text in smf_mi_action_dict) url+="index.php?action="+smf_mi_action_dict[input.text]; | |
else if (input.text in smf_mi_topic_dict) url=smf_mi_forum_url+"index.php?topic="+smf_mi_topic_dict[input.text]+".new;topicseen#new"; | |
/* Utils.openUrlInBrowser(url); */ | |
CmdUtils.getDocument().location.replace(url); | |
} | |
}); | |
CmdUtils.CreateCommand({ | |
name: "modillaitalia-cerca", | |
synonyms: ["mi-cerca"], | |
icon: "http://forum.mozillaitalia.org/img/mozilla-16.png", | |
homepage: "http://www.gialloporpora.netsons.org", | |
description: "Questo comando permette di cercare utilizzando la ricerca avanzata del forum di MozillaItalia", | |
help: "È possibile usare due modificatori: «in» e «di» per specificare la board in cui cercare e il nome dell'utente per cercare solo nei messaggi di quell'utente", | |
author: { name: "Sandro Della Giustina", email: "[email protected]"}, | |
license: "MPL,GPL", | |
takes:{input: noun_arb_text}, | |
modifiers:{in:noun_type_smf_mi_board,di:noun_arb_text}, | |
preview: function(pblock, input, modifiers ) { | |
html="Cerca nel forum di MozillaItalia"; | |
pblock.innerHTML = CmdUtils.renderTemplate(html); | |
}, | |
execute: function( input, modifiers ){ | |
url=smf_mi_forum_url+"index.php?action=search2&advanced=1&submit=Ricerca&minage=0&maxage=9999&sort=relevance|desc"; | |
url+="&search="+input.text.replace(/ /g,"+"); | |
if (modifiers.di.text) url+="&userspec="+modifiers.di.text; | |
else url+="&userspec=*"; | |
if (modifiers.in.text) url+="&brd["+smf_mi_board_dict[modifiers.in.text]+"]="+smf_mi_board_dict[modifiers.in.text]; | |
/* Per aprire i link in nuove schede anzichè in quella corrente, r decommenta questa riga */ | |
Utils.openUrlInBrowser(url); | |
} | |
}); | |
CmdUtils.CreateCommand({ | |
name: "modillaitalia-apri-diccussione", | |
synonyms: ["mi-apri-discussione"], | |
icon: "http://forum.mozillaitalia.org/img/mozilla-16.png", | |
homepage: "http://www.gialloporpora.netsons.org", | |
description: "Apre una nuova discussione sul forum di MozillaItalia nella board prescelta", | |
help: "Apre una nuova discussione sul forum di MozillaItalia nella board prescelta", | |
author: { name: "Sandro Della Giustina", email: "[email protected]"}, | |
license: "MPL,GPL", | |
takes: {input : noun_type_smf_mi_board}, | |
preview: function( pblock, input){ | |
html="Apri una nuova discussione in <b>"+input.text+"</b"; | |
pblock.innerHTML = CmdUtils.renderTemplate(html); | |
}, | |
execute: function( input ){ | |
url=smf_mi_forum_url+"index.php?action=post"; | |
url+="&board="+smf_mi_board_dict[input.text]; | |
Utils.openUrlInBrowser(url); | |
} | |
}); | |
/*Temporaneo, serve solo come aiuto per aggiornare i topic proposti */ | |
/* in realtà bisognerebbe trovare un modo per salvare le info su un file locale o da qualche parte nell'about:config, o sperare si possa usare (non si sa quando) Weave */ | |
CmdUtils.CreateCommand({ | |
name: "mozillaitalia-ottieni-topic-id", | |
synonyms: ["mi-ottieni-topic-id"], | |
execute: function(){ | |
var doc = CmdUtils.getDocument(); | |
url=doc.location.href; | |
code='"'+doc.title+'" : '+url.match(/topic=(\d+)/)[1]; /* senza tanti fastidi visto che è temporanea */ | |
var style='"background-color: #272727; color:#fff;padding: 5px 7px;-moz-border-radius: 10px;width: 200px; height: 120px;font-size: 12px;font-family: Consolas, "Lucida Console", Courier, monospace;"'; | |
CmdUtils.setSelection('<textarea style='+style+'>'+code+'</textarea>'); | |
} | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment