Script per date di compleanno

« Older   Newer »
 
  Share  
.
  1. charly
        +1   -1
     
    .

    User deleted


    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>



    DOmanda:
    come si fa a cambiare colore?
    Risposta:

    CODICE
    <font size="2"><script>NextBirthday(p)</script></font>


    dentro font si può indicare anche il colore

    CODICE
    <font size="2" color="orange"><script>NextBirthday(p)</script></font>
     
    Top
    .
0 replies since 21/11/2009, 07:54   17 views
  Share  
.