Skip to content

Instantly share code, notes, and snippets.

Created October 25, 2013 10:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/7152904 to your computer and use it in GitHub Desktop.
Save anonymous/7152904 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name DDPlus
// @namespace http://ddunlimited.net
// @description Nice addon
// @include http://ddunlimited.net/*
// @include http://ddunlimited.net/*
// ==/UserScript==
// Changelog:
// v. 0.0.7.13 : - Aggiornato elenco host
// - colori borda immagine
// - sistemati tasti Apri Nuova Discussione
// v. 0.0.7.12 : - sistemati tasti Apri Nuova Discussione
// - aggiornamento elenco Host
// v. 0.0.7.11 : - compatibilità con firefox 10.*
// - aggiunta code text e vimeo
// v. 0.0.7.10 : - compatibilità con firefox 9.*
// v. 0.0.7.9 : - compatibilità con firefox 8.*
// v. 0.0.7.8 : - compatibilità con firefox 5.*
// - aggiunto Carica immagine su... > Imgur
// v. 0.0.7.7 : - aggiornamento elenco Host
// - inserimento bbcode Musicforum, Musictopic e OST
// - inserimento tasto nuove discussioni skin DDGirlz
// - menu tasto dx : Carica immagine su ImageShack e ImageUrlHost
// - inserimento copia bbcode forum, topic, post, MP, profile [Music]
// - eliminazione link modifica avatar e firma nel profilo
// v. 0.0.7.6 : - aggiornamento elenco Host
// v. 0.0.7.5 : - aggiornamento elenco Host Free
// - inserimento bbcode [Roll, Alink, Anchor]
// - inserimento copia bbcode PM
// - inserimento carattere 250 e 300
// v. 0.0.7.4 : - allineamento elenco Host Free
// v. 0.0.7.3 : - release ufficiale
// v. 0.0.7.2 : - beta - riorganizzazione toolbar BBCode [sperimentale]
//
// v. 0.0.7.1 : - bugfix emoticons
// v. 0.0.7.0 : - creazione di set di emoticon personalizzati
//
// v. 0.0.6.6 : - profilo utente : aggiunti link per modifica di Firma ed Avatar
// - bugfix : corretto il rilevamento di alcuni servizi di hosting
//
// v. 0.0.6.5 : - bugfix : corretta incompatibilita' con Google Toolbar
//
// v. 0.0.6.4 : - bugfix : corretto il "Copia BBCode" per i topic con icon-post
// - Preferenze: numero pulsanti liberamente impostabile
// v. 0.0.6.3 : - Preferenze: aggiunto "Importa / Esporta" opzioni e pulsanti
// - Preferenze: visualizza pulsanti personalizzati in "Dividi argomento"
// v. 0.0.6.2 : - menu tasto dx : copia un link nella Clipboard come tag BBCode
// - menu tasto dx : carica immagine su ImageShack
// - bugfix : visualizzazione pulsanti extra durante la divisione topic
//
// v. 0.0.6.1 : - Preferenze: Numero pulsanti personalizzabile
// - Allineamento elenco Hostfree
// v. 0.0.6.0 : - Sposta argomento : selezione del forum tramite pulsanti
//
// v. 0.0.5.6 : - dimensione avatr portata a 150x150
//
// v. 0.0.5.5 : - corretto controllo Avatars
//
// v. 0.0.5.4 : - controllo siti host-free piu' generico
// - Pulsante ApriNuoveDiscussioni : diversificato per skin
// v. 0.0.5.3 : - prima versione by kickstart
// - allineamento elenco siti host-free
//
// v. 0.0.5.2 : - ultima versione by iluvatar
//
//
Function.prototype.bind = function(object, data) {
if (typeof data == "undefined")
data = null;
if (typeof data != "object")
data = [data];
var __method = this;
return function(evt) {
return __method.apply(object, [evt].concat(data));
};
}
var ddplus = {
// kick : costanti per il controllo degli Avatar
AvMaxHeight : 150,
AvMaxWidth : 150,
isDDBlack: function() {
// kick : determina la skin selezionata
// controllando il link della prima immagine contenuta nel "body" (sperando che sia il banner !!)
return (document.images[0].src.indexOf('//images.ddalternate.net/skin/black/')>0);
},
isDDGirlz: function() {
// kick : determina la skin selezionata
// controllando il link della prima immagine contenuta nel "body" (sperando che sia il banner !!)
return (document.images[0].src.indexOf('//images.ddalternate.net/skin/ddugirlz/')>0);
},
pulsanteApriDiscussioni : function() {
// kick : trasformata in funzione
// ritorna l'immagine del pulsante in base alla skin selezionata
if (this.isDDBlack()) {
// DDBlack
return "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAZCAIAAABB17xmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABO9JREFUeNrsWd9rHEUc3729H81d2+SSRts0rSdGWkPChfah7UO9xEIKhUIf+lJ9SBBEEEHig/oiScBHMeYPEHLqS8GWBAtiFZMQofWh9q5pSxuC3uXaJtYjOdPkbm93b9fv7uzOzc7ObpPo4w7HMjuf+X6/M5/9zsxn93jOKA1HXuf4AOcXVHgeLrWNolSY12utb37BR3b7tBAE6Rd1s1S8/FEQaqGWwxyn+bRQRQ0IcNUJ4oMhnx9GGgEtiKCAEPbpYBSDFoOgUIiCVn8cf/b790yrPcfOe0BycUlcyjIhuIIhVJrPfrCtWJQJ6r+DWNjQIxzZX5N1WoyTCxYb8RML88f3PtNcCnh3g8Dqh/SXTOjD88eQT31w24wFHaAbNsGN24qFA3mPnwzEBQJmBnGqfQfSzNuRkRGyOZFIDA4OovrQ0FAmkyHR6elpVJmYmEin0yQ0NjZm3/00Z6y+vj6yS09Pj80KuqmMbXIbsTSNMszlcpQ3aAl2vlg3UTmTIE2t2fhRVSZBZEkmk42NjUwIeEylUmRLU1OT3X/NGWtmZuaFS5/XO2WukSZiPgM/ZyyY0m3lML6tLmVLpRLZoTQ3Ub8J1qv4SZNldnb2/toTYU+rRVDNIqgm21lXLLnEk829vb04TZwF2HQ+E9QOjwti10khw1mxoEQOdprzLNwhPQwMDKRIz2eGySHZo70MjwffDA8PUyh+5G4ZJLzagoeHKgZBimQ/3iLwHOCRRtq7Wi9+hhrlv/8s3UujRriOj4//sesoLRzi3bDustns1QeiOdVHd2EO0Plxx8WDi98hczIcGQu3k41wTRiFDASN0AFiwUqkOIJJ5vN5ZE5B0P/Tr39x8wllampquVzSYnGLIMnUjG3vX6a6VhZvlOevR7v7GzpOORudECpKaXlz/npo30vR13qdfpg+txKLmbAAScsLSpGRsw1HU3wo4jQM7kvEuvvlYs7DJzkGtbK+8tU7OkH73/3WFz0MJS2uP02/py+x6vIDnw5n0aSytQdVN3GTuHizWmCor8ih5K6Ok7B9KqsFIdbC7KO7a27fCgreGjrfwO3yygI0BpsPadWymy2YGPu3K8pHov/v2DSpYgpF4AX9qrlbn7x9gSmiwBLQj9/q/+nKN1B301rPRU+9EkfecFA9bv42QOAcocwCA/NG//vYEApR5KeL+sBkK4PU6oaZQcY5Ars96ECKYDjgqUanVtR1hyVD3FCsiXBQQ8TZhBglGvHxhM4dNxTUgMfYAMXHljeKcgeGp8lVxxIzDjaYxtytu+ED9VO8svArEETpPVqzWgcwmgCM4LcnigPffcLyoRTzxH5YY4pySk8hMeWGUic6Gb22UUxZ/D4XNd7CROBEkyWLIEm0+ipI+J4+3mWL32YTFEKsmSmySd0BCgVGwsqvJobAa+tC7EMiMD0j4euNUm8q9uj7KdUDawVmYU76nxV6e1Yk4AStJ5uSRsIfvHsoZt3j5qrbWwhkkHd+jY6OumXB5OQkTMPj/cYb3Up2E2peoWZtI8hANVU2hWK08wxmDhSzsvaIvc/H2/lgWC2v8eGYWx8hFt8xCv71pbdTdOtjg87hA0fIfFHWHmNbjMKGU3k4pxMUS57zVQ9DBylS+d7PxgezaKP/yZVFkIi/B6mcEPIZcXyUFqw/OPQ13IbrfsFnurL+178CDABnjaHsZ7zMaQAAAABJRU5ErkJggg==";
}
if(this.isDDGirlz()) {
// DDGirlz
return "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAGcAAAAvCAYAAAD+StT4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4OEUyNzdCNTYyRTExRTA4ODI3QkJDOEZCMEM1OTMyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ4OEUyNzdDNTYyRTExRTA4ODI3QkJDOEZCMEM1OTMyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDg4RTI3Nzk1NjJFMTFFMDg4MjdCQkM4RkIwQzU5MzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDg4RTI3N0E1NjJFMTFFMDg4MjdCQkM4RkIwQzU5MzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Oy4kPAAAZlklEQVR42uxceZAc1Xn/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";
}
// ProSilver
return "data:image/gif;base64,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";
},
allowedImageHost: [ '//ddunlimited.net/',
'//www.ddunlimited.net/',
'//ddunlimited.net/',
'//ddunlimited.net/images/',
'//static.ddunlimited.net/',
'//imageshack.us/',
'.imageshack.us/',
'.imageurlhost.com/',
'.imgur.com/',
'.imgplace.com/',
'.freeimagehosting.net/',
'.imagevenue.com/',
'.hostpic.biz/',
'.tinypic.com/',
'.imagestime.com/',
'.postimage.org/',
'.yeuxverts.net/',
'.imagehost.org/',
'.imagebanana.com/',
'.iouppo.com/',
'.4freeimagehost.com/',
'.xtremeshack.com/',
'.hdimage.org/',
'.imagebam.com/',
'.turboimagehost.com/',
'.abload.de/',
'.hostingfiles.net/',
'.fileden.com/',
'.photobucket.com/',
'.webshots.com/',
'.image-upload.net/',
// non in lista ufficiale:
'.exs.cx/',
],
getElementsByClass : function(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
},
inint: function() {
this.accorciaTitolo();
switch (this.getAction()) {
case 'mcp':
var bCestino = false;
var bPulsanti = false;
if (document.getElementById('move_leave_shadow')) { // "Sposta discussione"
bCestino = true;
bPulsanti = true;
}
else { // "Dividi discussione"
if (document.getElementsByName('to_forum_id') && (!document.getElementById('confirm'))) {
bCestino = true;
if (this.getValue('movForce',false )) // opzione utente
bPulsanti = true;
}
};
if (bCestino)
this.pulsanteCestinoSposta();
if (bPulsanti)
this.aggiungiPulsantiExtra(this.getValue('movNum','10'),'mov');
this.tuttePagineDivisione();
this.visualeEspansa();
break;
case 'viewforum':
this.pulsanteApriTutteNuoveDiscussioni();
break;
case 'posting':
/*
// segnalazione utente agli Hunters
if (this.getMode() == 'reply') {
user_profile = this.getValue("hunt_for_user","");
if (user_profile!="") {
unsafeWindow.insert_text(user_profile+" : ");
this.delValue("hunt_for_user");
}
}
*/
case 'ucp':
this.customToolbar();
this.aggiungiPulsantiExtra(this.getValue('txtNum','15'),'txt');
if (this.getMode() != "drafts")
this.customEmoticons();
window.addEventListener('resize',this.ingrandisciTextArea,false);
this.ingrandisciTextArea(); //PER ULTIMO!
break;
case 'viewtopic':
this.sfogliaImmaginiDiscussioni();
break;
case 'memberlist':
if (this.getMode() == 'viewprofile') {
this.sfogliaImmaginiProfilo();
break;
};
}
},
checkInint: function(x) {
return (typeof x != "undefined");
},
xPath: function(xpathExpression) {
return document.evaluate(xpathExpression, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
},
getValue: function(key,defaultValue) {
return GM_getValue(key, defaultValue);
},
setValue: function(key,value) {
return GM_setValue(key, value);
},
delValue : function (key) {
return GM_remove(key);
},
getPageBody: function() {
if (!checkInint(this.pageBody))
this.pageBody = document.getElementByID('page-body');
return this.pageBody;
},
getTopicList: function(i) {
if (!checkInint(this.topicList)) {
var topicl = this.getPageBody().getElementsByTagName('li');
this.topicList = [];
for (var j=0;topicl(j);j++) {
if(topicl(j).className = "row")
topicList.push(topicl(j));
}
}
if (checkInint(i)) {
return this.TopicList[i];
}
else
return this.TopicList;
},
getAction: function() {
if (!this.checkInint(this.forumAction)) {
this.forumAction = document.baseURI.substring(document.baseURI.lastIndexOf('/')+1,document.baseURI.indexOf('.php'));
}
return this.forumAction;
},
getMode: function() {
if (!this.checkInint(this.forumMode)) {
var inizio = document.baseURI.indexOf('mode=')+5;
if (inizio == 4) //Non trovato -1+5 = 4
return '';
var fine = document.baseURI.indexOf('&', inizio);
fine = (fine == -1) ? document.baseURI.length : fine;
this.forumMode = document.baseURI.substring(inizio,fine);
}
return this.forumMode;
},
nuovoPulsante: function(titolo,name,value) {
var pulsante = document.createElement('input');
pulsante.type = 'button';
pulsante.className = 'button2';
pulsante.name = name;
pulsante.title = titolo;
pulsante.value = value;
return pulsante;
},
accorciaTitolo: function() {
var inde = document.title.indexOf(' - ');
if (inde > 1)
document.title = document.title.substr(inde+3);
},
pulsanteApriTutteNuoveDiscussioni: function() {
var pulsanti = this.xPath("//div[@class='buttons']");
var img;
var link;
for (var i=0;pulsanti.snapshotItem(i);i++) {
img = document.createElement('img');
img.style.cursor = 'pointer';
img.src = this.pulsanteApriDiscussioni(); // kick : trasformata in funzione per renderla skin-aware
pulsanti.snapshotItem(i).appendChild(img);
img.addEventListener('click', this.apriTutteNuoveDiscussioni.bind(this), false);
}
},
apriTutteNuoveDiscussioni: function() {
var threads = this.xPath("//a[@href[contains(.,'view=unread#unread')]]");
for (var i=0;threads.snapshotItem(i);i++) {
window.open(threads.snapshotItem(i).href);
}
},
controllaDimensioneImmagine: function(immagine) {
if (immagine.naturalHeight > this.AvMaxHeight || immagine.naturalWidth > this.AvMaxWidth)
return true;
return false;
},
controllaHostImmagine: function(immagine) {
var i = 0;
while (this.allowedImageHost[i]) {
if (immagine.src.indexOf(this.allowedImageHost[i]) > 0)
return false;
i++;
}
return true;
},
bordaImmagine: function(nodo, erroreA, erroreB) {
nodo.style.borderColor = (erroreA) ? 'green' : 'red';
nodo.style.borderStyle = (erroreA) ? 'dashed' : 'dotted';
nodo.style.borderWidth = '2px';
},
controllaImmagini: function(immagine, dimensione) {
if ( !(immagine) || !(immagine.src) )
return;
var errore=0;
var erroDim = false;
if (dimensione)
erroDim = this.controllaDimensioneImmagine(immagine);
var erroHost = this.controllaHostImmagine(immagine);
if (erroHost || erroDim) {
immagine.src;
this.bordaImmagine(immagine, erroDim, erroHost);
}
},
sfogliaImmaginiDiscussioni: function() {
// var avatars = this.xPath("//dl[@class='postprofile']//dt//img");
// kick : modificato estrazione immagini Avatars
var avatars = this.xPath("//dl[@class='postprofile']//dd/a//img");
for (var i=0;avatars.snapshotItem(i);i++) {
this.controllaImmagini(avatars.snapshotItem(i),true);
}
var imagePost = this.xPath("//div[@class='postbody']//div[@class='content']//img");
for (var i=0;imagePost.snapshotItem(i);i++) {
this.controllaImmagini(imagePost.snapshotItem(i));
}
var imageSign = this.xPath("//div[@class='postbody']//div[@class='signature']//img");
for (var i=0;imageSign.snapshotItem(i);i++) {
this.controllaImmagini(imageSign.snapshotItem(i));
}
},
sfogliaImmaginiProfilo: function() {
var avatars = this.xPath("//div[@id='page-body']//div[@class='inner']//dl//img");
// kick : modificato estrazione immagini Avatars - panel bg1
// var avatars = this.xPath("//div[@id='page-body']//div[@class='inner']//dt//img");
if (avatars.snapshotItem(0)) {
this.controllaImmagini(avatars.snapshotItem(0),true);
}
var imageSign = this.xPath("//div[@class='signature']//img");
for (var i=0;imageSign.snapshotItem(i);i++) {
this.controllaImmagini(imageSign.snapshotItem(i));
}
},
ingrandisciTextArea: function() {
var textArea = document.getElementById('message');
if (!textArea || textArea.tagName != "TEXTAREA")
return;
textArea.rows = 1;
var max = textArea.parentNode.parentNode.clientHeight;
while (max == textArea.parentNode.parentNode.clientHeight)
textArea.rows++;
textArea.rows--;
textArea.rows = Math.max(textArea.rows,15);
},
inserisciTestoVeloce: function(n) {
unsafeWindow.insert_text(this.getValue('txtv'+n,''),false);
},
salvaTestoVeloce: function(n,tipo) {
if (tipo=='txt') {
if (!confirm('Sei sicuro di voler salvare il testo veloce '+n+'?'))
return(false);
this.setValue(tipo+'v'+n,document.getElementById('message').value);
}
else
this.setValue(tipo+'v'+n,document.getElementsByName('to_forum_id')[0].value);
return(true);
},
salvaTestoEtichetta: function(n,tipo) {
var etichetta = this.getValue(tipo+'l'+n);
if (!etichetta)
etichetta = " - ";
etichetta = prompt("Digita l' etichetta per il pulsante "+n, etichetta);
if (!etichetta)
etichetta = " - ";
this.setValue(tipo+'l'+n,etichetta);
document.getElementsByName(tipo+'v'+n)[0].value=etichetta;
return true;
},
aggiungiPulsantiExtra: function(num,tipo) {
/* kick:
tipologia di pulsanti : 'txt' - pulsante Testo veloce
'mov' - pulsante Sposta
*/
if (tipo=='txt') { // pulsanti Testo Veloce
if (!document.getElementById('format-buttons'))
return;
var div = document.createElement('div');
div.id = 'format-buttons-extra';
div.style.marginTop = '5px';
document.getElementById('format-buttons').parentNode.insertBefore(div, document.getElementById('format-buttons').nextSibling);
var caption = 'Text ';
var hint = 'Premere CTRL per salvare, CTRL+Shift per cambiare etichetta.';
}
else { // pulsanti Sposta
var selectForum = document.getElementsByName('to_forum_id');
if (selectForum.length == 0)
return;
var div = document.createElement('div');
div.id = 'move-buttons-extra';
div.style.marginTop = '5px';
document.getElementsByName('to_forum_id')[0].parentNode.appendChild(div)
var caption = '';
var hint = 'Premere CTRL per salvare la selezione corrente.';
}
var pulsante; // creazione nuovi pulsanti
for (var i=0;i<num;i++) {
pulsante = this.nuovoPulsante(caption+(i+1)+'. '+hint,tipo+'v'+(i+1),this.getValue(tipo+'l'+(i+1)," - "));
div.appendChild(pulsante);
div.appendChild(document.createTextNode(' '));
}
if (tipo=='txt')
div.addEventListener('click', this.eventoPulsanteTestoVeloce.bind(this), false);
else
div.addEventListener('click', this.eventoPulsanteSposta.bind(this,'to_forum_id'), false);
},
eventoPulsanteSposta: function(evt, name) {
var n = evt.target.name.substr(4);
if (evt.ctrlKey) {
if (this.salvaTestoEtichetta(n,'mov'))
this.salvaTestoVeloce(n,'mov');
}
else {
var to_forum_id = this.getValue('movv'+n,'');
if (to_forum_id) {
document.getElementsByName('to_forum_id')[0].value = to_forum_id;
var i = document.getElementsByName('to_forum_id')[0][document.getElementsByName('to_forum_id')[0].selectedIndex].value;
if (i != to_forum_id )
alert('Errore nella selezione del forum !!');
}
}
},
eventoPulsanteTestoVeloce: function(evt) {
var n = evt.target.name.substr(4);
if (evt.ctrlKey) {
if (evt.shiftKey)
this.salvaTestoEtichetta(n,'txt');
else {
if (this.salvaTestoVeloce(n,'txt'))
this.salvaTestoEtichetta(n,'txt');
}
}
else
this.inserisciTestoVeloce(n);
},
pulsanteCestinoSposta: function() {
var selectForum = document.getElementsByName('to_forum_id');
if (selectForum.length == 0)
return;
selectForum = selectForum[0];
var pulsante = this.nuovoPulsante('Seleziona il cestino','cestino','Cestino');
selectForum.parentNode.appendChild(document.createTextNode(' '));
selectForum.parentNode.appendChild(pulsante);
pulsante.addEventListener('click', this.eventoPulsanteCestino.bind(this,'to_forum_id'), false);
},
eventoPulsanteCestino: function(evt, name) {
document.getElementsByName('to_forum_id')[0].value = 124;
if (document.getElementsByName('move_leave_shadow').length == 1)
document.getElementsByName('move_leave_shadow')[0].checked = false;
},
tuttePagineDivisione: function() {
var postPerPage = document.getElementById('posts_per_page');
if (!postPerPage)
return false;
if (postPerPage.value == '999')
return false;
postPerPage.value = 999
var click = document.createEvent("MouseEvents");
click.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
document.getElementsByName('sort')[0].dispatchEvent(click);
return true;
},
visualeEspansa: function() {
if (!document.getElementById('review') || !document.getElementById('review').getElementsByTagName('a') || !document.getElementById('review').getElementsByTagName('a').item(0))
return;
var espandere = document.getElementById('review').getElementsByTagName('a').item(0);
var click = document.createEvent("MouseEvents");
click.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
espandere.dispatchEvent(click);
},
aggiungiLinkHunter : function() {
// Funzioni Hunters:
// mi serve il nome utente e non lo "user_id" !!!!
//
// posso ricavare il "nome utente" dalla funzione "Aggiungi amico"
// il link contiene : "i=zebra&add="
// oppure dal titotlo (già buono grazie alla funzione "accorciatitolo()" ) :
user_name = document.title;
var sub = this.getElementsByClass("details")[1];
if (sub) {
var dt = document.createElement("dt");
dt.style.marginTop = '10px';
dt.appendChild(document.createTextNode('Opzioni Hunters :'));
sub.appendChild(dt);
var dd = document.createElement("dd");
dd.style.marginTop = '10px';
sub.appendChild(dd);
var hr = document.createElement("a");
hr.setAttribute("href", "./mcp.php?"+user_name);
hr.appendChild(document.createTextNode('Modifica Avatar'))
dd.appendChild(hr);
var br = document.createElement('br'); // serve per andare a capo
dd.appendChild(br);
var hr2 = document.createElement("a");
hr2.setAttribute("href", "./mcp.php?i="+user_name);
hr2.appendChild(document.createTextNode('Modifica Firma'))
dd.appendChild(hr2);
};
},
nuovoCombo : function(nome,elementi) {
var select = document.createElement('select');
select.name = nome;
// select.setAttribute("accesskey",elementi[1][3]);
for (var i in elementi) {
var choice = document.createElement('option');
choice.value = elementi[i][0];
choice.appendChild(document.createTextNode(elementi[i][0]));
choice.setAttribute("onclick",elementi[i][1]);
choice.setAttribute("title",elementi[i][2]);
// choice.setAttribute("accesskey",elementi[i][3]);
choice.setAttribute("style",elementi[i][4]);
select.appendChild(choice);
};
return select;
},
customToolbar : function() {
// return;
if (this.getValue('tbarCustom','0')=='0')
return false;
// definizione Toolbar pulsanti ----------------------------------------------------
//
// pulsante = [ caption, script, hint, access_key, style ]
var aButtons = [
[' G ','bbfontstyle("[b]","[/b]")','Grassetto: [b]testo[/b]','b',"font-weight:bold; width: 30px"],
[' i ','bbfontstyle("[i]","[/i]")','Corsivo: [i]testo[/i]','i',"font-style:italic; width: 30px"],
[' s ','bbfontstyle("[u]","[/u]")','Sottolineato: [u]testo[/u]','u',"text-decoration: underline; width: 30px"],
[' - ','bbfontstyle("[s]","[/s]")','Testo barrato : [s]testo[/s]','s',''],
[
['Minuscolo','bbfontstyle("[size=50]" ,"[/size]")','Dimensione testo: [size=50]testo minuscolo[/size]','',''],
['Piccolo' ,'bbfontstyle("[size=85]" ,"[/size]")','Dimensione testo: [size=85]testo piccolo[/size]','',''],
['Normale' ,'bbfontstyle("[size=100]","[/size]")','Dimensione testo: [size=100]testo normale[/size]','',''],
['Medio' ,'bbfontstyle("[size=150]","[/size]")','Dimensione testo: [size=150]testo medio[/size]','',''],
['Grande' ,'bbfontstyle("[size=200]","[/size]")','Dimensione testo: [size=200]testo grande[/size]','',''],
['Enorme' ,'bbfontstyle("[size=250]","[/size]")','Dimensione testo: [size=250]testo enorme[/size]','',''],
['Extra' ,'bbfontstyle("[size=300]","[/size]")','Dimensione testo: [size=300]testo extra[/size]','',''],
],
['Colore','change_palette()','Colore: [color=red]testo[/color] Tip: puoi usare anche codici esadecimali dei colori color=#FF0000','',''],
[
['Centrato','bbfontstyle("[center]","[/center]")','Allinea il testo al centro: [center]testo centrato[/center].','',''],
['Giustificato','bbfontstyle("[justify]","[/justify]")','Giustifica il testo: [justify]testo giustificato[/justify]','',''],
['Destra','bbfontstyle("[right]","[/right]")','Allinea il testo a destra: [right]testo a destra[/right]','','']
],
['Spoiler','bbfontstyle("[spoiler]","[/spoiler]")','Spoiler: nascondi il testo.','',''],
[
['Cita' ,'bbfontstyle("[quote]","[/quote]")' ,'Cita: [quote]testo[/quote]','q',''],
['Edit' ,'bbfontstyle("[edit]","[/edit]")' ,'Edit : [edit]testo[/edit]','',''],
['Code' ,'bbfontstyle("[code]","[/code]")' ,'Codice : [code]testo[/code]','c',''],
['Legend','bbfontstyle("[legend=Titolo]","[/legend]")','Legend : [legend=Titolo]testo[/legend]','',''],
['Cartello','bbfontstyle("[cartello]","[/cartello]")','[cartello] il mio testo [/cartello] - inserisce il testo in un cartello','',''],
['Note' ,'bbfontstyle("[note]","[/note]")' ,'Note moderatori: [note]testo[/note]','',''],
['Text' ,'bbfontstyle("[text]","[/text]")' ,'Text : [text]testo[/text]','',''],
['Alink','bbfontstyle("[alink=Testo]","[/alink]")','Alink : [alink=Testo]testo[/alink]','',''],
['Anchor','bbfontstyle("[anchor]","[/anchor]")','Anchor : [anchor]testo[/anchor]','','']
],
[
['Elenco puntato','bbfontstyle("[list]","[/list]")','Elenco puntato : [list][*]uno [*]due[/list]','l',''],
['Elenco : 1.2.3.','bbfontstyle("[list=1]","[/list]")','Elenco numerato (1. 2. 3.) : [list=1][*]uno [*]due[/list]','',''],
['Elenco : a. b. c.','bbfontstyle("[list=a]","[/list]")','Elenco (a. b. c.) : [list=a][*]uno [*]due[/list]','',''],
['Elenco : i. ii.','bbfontstyle("[list=i]","[/list]")','Elenco (i. ii. iii.) : [list=i][*]uno [*]due[/list]','',''],
['Elemento','bbfontstyle("[*]","")','Elemento della lista: [*]testo','t','']
],
[
['Immagine','bbfontstyle("[img]","[/img]")','Immagine: [img]http://immagine_url[/img]','p',''],
['allinea a Sx','bbfontstyle("[imgl]","[/imgl]")','Immagine allineata a sinistra','',''],
['allinea a Dx','bbfontstyle("[imgr]","[/imgr]")','Immagine allineata a destra','',''],
['[IMGS]','bbfontstyle("[imgs]","[/imgs]")','Immagine ospitata sul server : [imgs]right.png[/imgs]','',''],
['Roll','bbfontstyle("[roll=]","[/roll]")','Roll Immagine : [roll=http://immagine_url]http://immagine_url[/roll]','','']
],
[
['URL','bbfontstyle("[url=]","[/url]")','Collegamento: [url]http://url[/url] o [url=http://url]testo aggiuntivo[/url]','w',''],
['Forum','bbfontstyle("[forum=]","[/forum]")','Link ad una sezione : [forum=NumeroForum]Descrizione[/forum] il numero si trova nell\' url dopo f=','',''],
['Topic','bbfontstyle("[topic=]","[/topic]")','Link ad una discussione : [topic=NumeroTopic]Descrizione[/topic] il numero si trova nell\' url dopo t=','',''],
['Post','bbfontstyle("[post=]","[/post]")','Link ad un singolo post : [post=NumeroPost]Descrizione[/post] il numero si trova nell\' url dopo #p' ,'',''],
['PM','bbfontstyle("[pm=]","[/pm]")','Link per l\' invio di un messaggio personale : [pm=numero_utente]Descrizione[/pm]','',''],
['Profilo','bbfontstyle("[profile=]","[/profile]")','Link al profilo utente (solo moderatori!): [profile=numero_utente]Descrizione[/profile]','',''],
['YouTube','bbfontstyle("[youtube]","[/youtube]")','[youtube]CODICE[/youtube] dove CODICE lo trovate dopo it.youtube.com/watch?v=','',''],
['Vimeo','bbfontstyle("[vimeo]","[/vimeo]")','[vimeo]CODICE[/vimeo] dove CODICE lo trovate dopo http://vimeo.com/','',''],
['MusicForum','bbfontstyle("[musicforum=]","[/musicforum]")','Link ad una sezione : [musicforum=NumeroForum]Descrizione[/musicforum] il numero si trova nell\' url dopo f=','',''],
['MusicTopic','bbfontstyle("[musictopic=]","[/musictopic]")','Link ad una discussione : [musictopic=NumeroTopic]Descrizione[/musictopic] il numero si trova nell\' url dopo t=','',''],
['OST','bbfontstyle("[ost]","[/ost]")','Link ad una discussione : [ost]NumeroTopic[/ost] il numero si trova nell\' url dopo t=','',''],
],
];
// ----------------------------------------------------
var div = document.getElementById("format-buttons");
if (!div)
return false;
// rimuovo i pulsanti standard
while (div.firstChild) {
div.removeChild(div.firstChild);
};
for (var i in aButtons) {
switch (typeof(aButtons[i][0])) {
case 'object' : // combobox
var ctrl = this.nuovoCombo('cb'+aButtons[i][0][0],aButtons[i]);
break;
default : // pulsante
var ctrl = this.nuovoPulsante('hint','btn'+aButtons[i][0],aButtons[i][0]);
ctrl.setAttribute("onclick",aButtons[i][1]);
ctrl.setAttribute("title",aButtons[i][2]);
ctrl.setAttribute("accesskey",aButtons[i][3]);
ctrl.setAttribute("style",aButtons[i][4]);
break;
};
div.appendChild(ctrl);
div.appendChild(document.createTextNode(' '));
};
},
/*
exportChildNodes : function(div) {
// export nella text_area dei pulsanti standard
var s="";
var div = document.getElementById("format-buttons");
while ((div) && (div.firstChild)) {
if (div.firstChild.className=="button2") {
s = s+ div.firstChild.getAttribute("value")+";" +div.firstChild.getAttribute("style")+";"
+ div.firstChild.getAttribute("onclick")+";"+ div.firstChild.getAttribute("onchange")+";"
+ div.firstChild.getAttribute("accesskey")+";"+ div.firstChild.getAttribute("title")+'\n';
}
div.removeChild(div.firstChild);
}
unsafeWindow.insert_text(s);
},
*/
// ------------------------------------------------------- Personalizzazione emoticons ---------------------------------------------------------------------
//
// la variabile "emoSelect" contiene l'elenco dei nomi delle variabili dei set personalizzati e ne stabilisce l'ordine di visualizzazione
// emoSelect = nome_var1|nome_var2|nome_var3
//
// i set personalizzati vengono memorizzati dalle variabili : "emocust_1", "emocust_2" , etc.
// emocust_1 = testo da visaulizzare|url_immagine|url_immagine
//
// contenitore per le emoticons standard
emoBaseImg : new Array(),
emoBaseCode : new Array(),
emo_empty_url : 'http://ddunlimited.net/images/smilies/empathy2.gif',
emoInitNewSet : function(set_name) {
emoSelect = document.getElementsByName("emoSelect")[0];
// conto le immagini visualizzate
var emo_list = document.getElementById('smiley-box').getElementsByTagName('a');
// img_count = 0;
s = set_name+"|";
for (i=0;i<emo_list.length;i++) {
if (emo_list[i].getAttribute("href")=='#') {
// img_count++;
s = s + 'no_image' + '|';
};
};
i = emoSelect.length+1; // forzo la somma (per non avere la concatenazione di stringa)
var_name = 'emocust_'+i;
if (this.getValue("emoSelect")) {
var a = this.getValue("emoSelect").split('|');
while (a.indexOf(var_name)>0) { // incremento di una posizione finchè non trovo
i++; // un nome libero per la variabile
var_name = 'emocust_'+i;
};
};
this.setValue(var_name,s.substring(0, s.length-1));
return var_name;
},
emoAddSet : function(var_name) {
emoSelect = document.getElementsByName("emoSelect")[0];
if (this.getValue(var_name)) {
set_name =this.getValue(var_name).split("|")[0];
var choice = document.createElement('option');
choice.value = var_name;
choice.appendChild(document.createTextNode(set_name));
emoSelect.appendChild(choice);
return choice.value;
};
},
emoSaveSelect : function() {
emoSelect = document.getElementsByName("emoSelect")[0];
value = "";
for (i=0;i<emoSelect.length;i++) {
value = value +emoSelect[i].value +"|";
};
this.setValue("emoSelect",value.substring(0, value.length-1));
},
emoBtnClick : function(evt, btn_name) {
switch (btn_name) {
case 'emobtn_0' :
// Aggiunge un nuovo set
str = prompt("Descrizione nuovo set di emoticons : ");
if (str!="") {
if (str.indexOf('|')>0) {
alert("Il carattere '|' non e' ammesso !");
break;
}
try {
var_name = this.emoInitNewSet(str);
this.emoAddSet(var_name);
}
finally {
this.emoSaveSelect();
};
};
break;
case 'emobtn_1' : // Elimina il set selezionato
emoSelect = document.getElementsByName("emoSelect")[0];
if (emoSelect.selectedIndex>0) {
if (confirm('Vuoi eliminare il set di icone "'+emoSelect[emoSelect.selectedIndex].text+'" ?')) {
// (!) elimnare la variabile dalle preferenze PRIMA !!!:
this.delValue(emoSelect[emoSelect.selectedIndex].value);
if ( this.getValue("emoDefault","") == emoSelect[emoSelect.selectedIndex].value )
this.setValue("emoDefault","emobase");
emoSelect.removeChild(emoSelect[emoSelect.selectedIndex]);
this.emoSaveSelect();
this.emoSelectChange(this,emoSelect);
}
}
else
alert("Non è possibile eliminare il Set Base !");
break;
};
},
customEmoticons : function() {
if (this.getValue('emoCustom','0')=='0')
return false;
var emo_box = document.getElementById('smiley-box');
if (emo_box) {
var emo_list = emo_box.getElementsByTagName('a');
var div = document.createElement('div');
div.id = 'emoticon-buttons-extra';
div.style.marginTop = '5px';
var emoSelect = document.createElement('select');
emoSelect.name = 'emoSelect';
div.appendChild(emoSelect);
emoSelect.addEventListener('change', this.emoSelectChange.bind(this,emoSelect), false);
var choice = document.createElement('option');
choice.value = 'emobase';
choice.appendChild(document.createTextNode('Set Base'));
emoSelect.appendChild(choice);
a = Array(Array('+','Crea un nuovo set'),Array('-','Elimina il set selezionato'));
for (i=0;i<a[0].length;i++) {
div.appendChild(document.createTextNode(' '));
pulsante = this.nuovoPulsante(a[i][1],"emobtn_"+i,a[i][0]);
div.appendChild(pulsante);
div.appendChild(document.createTextNode(' '));
pulsante.addEventListener('click', this.emoBtnClick.bind(this,pulsante.name), false);
};
var div2 = document.createElement('div');
div2.id = 'emoticon-separator-extra';
div2.style.marginTop = '5px';
div.appendChild(div2);
emo_box.insertBefore(div,emo_list[0]);
// salvo i valori del "Set Base" -------------------------------------------------
sImg = "emobase|";
sCode = "emobase|";
for (i=0;i<emo_list.length;i++) {
if (emo_list[i].getAttribute("href")=='#') {
sImg = sImg + emo_list[i].lastChild.getAttribute("src") + "|";
sCode = sCode + emo_list[i].lastChild.getAttribute("alt") + "|";
// sostituisco la originale "onclick" con il bind alla mia funzione
emo_list[i].setAttribute("onclick","return false");
emo_list[i].addEventListener('click', this.emoImgClick.bind(this,emo_list[i].lastChild), false);
}
};
sImg = sImg.substring(0, sImg.length-1);
sCode = sCode.substring(0, sCode.length-1);
this.emoBaseImg = sImg.split("|");
this.emoBaseCode = sCode.split("|");
// riempimento combo-box -------------------------------------------------
if (this.getValue("emoSelect")) {
var a = this.getValue("emoSelect").split('|');
for (i=1;i<a.length;i++) { // salto il set base
this.emoAddSet(a[i]);
};
};
// seleziono il Set predefinito
emoSelect.value=this.getValue("emoDefault","emobase");
if (emoSelect.value!="emobase")
this.emoSelectChange(this,emoSelect);
};
return true;
},
/*
emoImgClick : function(evt,emo_img) {
bbcode = emo_img.getAttribute("alt");
imgurl = emo_img.getAttribute("src");
if (bbcode!="")
str = bbcode
else
str = "[img]"+imgurl+"[/img]";
if ((evt.ctrlKey) || (imgurl==this.emo_empty_url)) {
if (bbcode=="") { // solo il Set Base ha dei bbcode associati alle emoticon
imgurl = prompt("Digita l' indirizzo dell'emoticon");
if (imgurl) {
this.emoImgReplace(emo_img,'',imgurl);
this.emoSaveSet();
}
}
else
alert("Il Set Base non è personalizzabile !")
}
else
unsafeWindow.insert_text(" "+str+" ",false);
},
*/
emoImgClick : function(evt,emo_img) {
bbcode = emo_img.getAttribute("alt");
imgurl = emo_img.getAttribute("src");
if (bbcode!="")
str = " "+bbcode+" "
else
str = "[img]"+imgurl+"[/img]";
if ((evt.ctrlKey) || (imgurl==this.emo_empty_url)) {
if (bbcode=="") { // solo il Set Base ha dei bbcode associati alle emoticon
if (evt.shiftKey) {
if (confirm("Sei sicuro di voler eliminare la personalizzazione ? ")) {
this.emoImgReplace(emo_img,'',this.emo_empty_url);
this.emoSaveSet();
}
}
else {
imgurl = prompt("Digita l' indirizzo dell'emoticon");
if (imgurl) {
this.emoImgReplace(emo_img,'',imgurl);
this.emoSaveSet();
}
}
}
else
alert("Il Set Base non è personalizzabile !")
}
else
unsafeWindow.insert_text(str,false);
},
emoImgReplace : function(emo_img,bbcode,imgurl) {
// emo_img = emo_item.lastChild;
emo_img.setAttribute("src",imgurl);
emo_img.setAttribute("alt",bbcode);
emo_img.setAttribute("width","");
emo_img.setAttribute("height","");
if (imgurl==this.emo_empty_url)
hint = "Cliccare sull'immagine per cambiare l'emoticon"
else
hint = "Tenere premuto Ctrl per cambiare l'emoticon, Ctrl+Shift per cancellarla";
emo_img.setAttribute("title",hint);
return true;
},
emoSelectChange : function(evt, emoSelect) {
var_name = emoSelect[emoSelect.selectedIndex].value;
var emo_box = document.getElementById('smiley-box');
var emo_list = emo_box.getElementsByTagName('a');
if (emoSelect.selectedIndex>0)
var emoCustomImg = this.getValue(var_name).replace(/no_image/g,this.emo_empty_url).split('|');
for (i=0;i<emo_list.length;i++) {
if (emo_list[i].getAttribute("href")=='#') {
if (emoSelect.selectedIndex==0)
// set base (con codici)
this.emoImgReplace(emo_list[i].lastChild,this.emoBaseCode[i+1],this.emoBaseImg[i+1])
else
this.emoImgReplace(emo_list[i].lastChild,"",emoCustomImg[i+1]);
};
};
this.ingrandisciTextArea();
},
emoSaveSet: function() {
emoSelect = document.getElementsByName("emoSelect")[0];
var_name = emoSelect[emoSelect.selectedIndex].value;
var emo_box = document.getElementById('smiley-box');
var emo_list = emo_box.getElementsByTagName('a');
var s =emoSelect[emoSelect.selectedIndex].text+"|";
for (i=0;i<emo_list.length;i++) {
if (emo_list[i].getAttribute("href")=='#') {
s = s + emo_list[i].lastChild.src.replace(new RegExp(this.emo_empty_url,"g"),"no_image")+"|";
};
};
this.setValue(var_name,s.substring(0, s.length-1));
},
} // var DDPlus
ddplus.inint();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment