A_REPLY
SCript date compleanno
view post Posted on 7/3/2009, 15:58P_QUOTE
Avatar


Group: Administrator
Posts: 141


Status: Offline: ultima azione eseguita il 16/8/2009, 07:48


Questo script va inserito in gestione html. Dopo aver aggiunto le date di nascita degli utenti, queste verranno ricordate con precisione in 3 modi:

Oggi è il compleanno di NOME UTENTE!! AUGURI!

Domani NOME UTENTE compirà gli anni!

Il prossimo compleanno sarà di NOME UTENTE tra 7 giorni.

Le date vanno inserite manualmente dove c'è scritto p[0]= new birthday("UTENTE1",31,5) (ovviamente dove sta UTENTE1 va il nome dell'utente e dove c'è 31,5 va la data del suo compleanno).
Una volta compilata la lista basta mettarla in "inserisci codice html" in amministrazione.
Questa parte del codice , p[0]= , va modificata in modo "crescente" ovvero p[0]= , p[1]= , p[2]= ecc
Nell'esempio sono inseriti 3 utenti ma voi potete aggiungere tutti quelli che volete copiando le righe. Eventuali compleanni "doppi" saranno mostrati senza problemi. Attenzione a non scrivere virgolette per il nome dell'utente o a togliere le due che già ci sono e le virgole.
("Nome"uno",1,2) <- sbagliato
("Nomeuno,1,2) <- sbagliato mancano le vigolette di destra
("Nomeuno",12) <- sbagliato manca la virgola tra un dato e l'altro
("Nomeuno",1,2) <- corretto

Potete modificare a piacere la variabile preavviso, di default è imposta per avvertire di una ricorrenza con una settimana d'anticipo. Se non ve ne sono, non apparirà alcuna scritta sul forum.


CODICE<script type="text/javascript">function person(nick,date,month){this.nick=nick; this.date=date; this.month=month-1} p=new Array();

preavviso=7
colore="#3D8AD8"
p[0]=new person("Utente_A",12,7)
p[1]=new person("Utente_B",15,7)
p[2]=new person("Utente_C",15,7)

var now=new Date(); today=new Date(0,now.getMonth(),now.getDate()); function delta(sdate){return Math.round((sdate.getTime()-today.getTime())/(24*60*60*1000))}

function tmpa(n,z){this.n=n; this.z=z} tmpx=new Array(); function tmpb(n){this.n=n} tmp1=new Array(); tmp0=new Array(); aa=bb=cc=-1; for(var i in p){birthday=new Date(0,p[i].month,p[i].date); if(delta(birthday)<0) birthday=new Date(1,p[i].month,p[i].date); z=delta(birthday); if(z==0){cc++; tmp0[cc]=new tmpb(p[i].nick)} else if(z<=preavviso){if(z==1){bb++; tmp1[bb]=new tmpb(p[i].nick)} else{aa++; tmpx[aa]=new tmpa(p[i].nick,z)}}} document.write("<span style='color:"+colore+"'>"); s="";

if(cc>=0){s=" - "; document.write("<b>Oggi è il compleanno di ");
for(x=0; x<=cc; x++){document.write(tmp0[x].n); if(x<cc-1) document.write(", "); else if(x<cc) document.write(" e ")} document.write(" AUGURI!<\/b>")}

if(bb>=0){if(bb>0) document.write(s+"Domani compiranno gli anni "); else document.write(s+"Domani compirà gli anni ");
for(x=0; x<=bb; x++){document.write("<b>"+tmp1[x].n+"<\/b>"); if(x<bb-1) document.write(", "); else if(x<bb) document.write(" e ")}
s=" - "}

if(aa>=0){tmpy=new Array(); for(i=0; i<aa-1; i++){min=i; for(j=i+1; j<aa; j++) if(tmpx[j].z<tmpx[min].z) min=j; if(i!=min){tmpy[0]=new tmpa(tmpx[i].n,tmpx[i].z); tmpx[i]=tmpx[min]; tmpx[min]=tmpy[0]}}

if(aa>0) document.write(s+"I prossimi compleanni sono di "); else document.write(s+"Il prossimo compleanno è di ");
for(x=0; x<=aa; x++){document.write("<b>"+tmpx[x].n+"<\/b>"); on=0; if(x+1<=aa){if(tmpx[x].z!=tmpx[x+1].z) on=1} else on=1; if(on) document.write(" tra "+tmpx[x].z+" giorni"); if(x<aa-1) document.write(", "); else if(x<aa) document.write(" e ")}} document.write("<\/span>")
</script>



image


Ciao a tutti, vi presento il BlogFree Bar che è nato su BlogFree;
sono qui per dirvi forse le stesse cose ma vi prego leggete.
BlogFree Bar parla di tutto e di più aspettando che ogni utente faccia qualcosa nelle sezioni che noi abbiamo. Se ti serve aiuto per il tuo forum non c'è problema noi ti potremo qiutare subito.
Quindi cosa aspetti ti aspettiamo per aiutarci a cresce.



image

 
P_MSG P_EMAIL Top
0 replies since 7/3/2009, 15:58
 
A_REPLY

load
Fast reply
 
 
 

Enable emoticons
Clickable Smilies
Show All


Nickname:      Email: