venerdì 14 gennaio 2011

JAVASCRIPT - Come migrare da lighbox a colorbox

Hai la necessità di migrare dalla famosa lightbox per passare alla più evoluta e versatile colorbox nel modo più indolore possibile? Bene, ora illustro quello che fa per te!

Come già sai la lightbox è attivabile aggiungendo l'attributo rel="lightbox" (link singolo) o rel="lightbox[group]" (gruppo di immagini in più link) al tag "<a></a>" che punta ad una immagine, mentre per attivare la colorbox quello  che ci viene più comodo è inizializzarla sugli elementi che vogliamo.

Veniamo a noi: se hai diversi link che sfruttano già la lightbox ecco lo script di inizializzazione che ti serve per  attivare la colorbox senza cambiare nulla di quello già presente per lightbox!
Non do niente per scontato quindi facciamo un passo indietro e prima di tutto elimina le righe di codice che fanno riferimento a lightbox dal tuo sito:

<script type="text/javascript" src="tuopercorso/prototype.js"></script>
<script type="text/javascript" src="tuopercorso/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="tuopercorso/lightbox.js"></script>
<link href="tuopercorso/lightbox.css" rel="stylesheet" type="text/css" />

poi aggiungi  quelle per colorbox facendo attenzione al percorso:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script src="tuopercorso/jquery.colorbox-min.js"></script>
<link media="screen" rel="stylesheet" href="tuopercorso/colorbox.css" />

 Ora ti basta aggiungere questo script per attivare la Colorbox che potrai mettere all'interno del tag <head></head> per esempio sotto le righe appena aggiunte sopra.


<script type="text/JavaScript">
  $(document).ready(function(){
    var arrobjs=$('a[rel^="lightbox"]');
    var tmpstr="";
    $(arrobjs).each(function(i){
      tmprel=$(arrobjs[i]).attr("rel");
      if (tmprel =="lightbox"){ //if is a single link
        $(arrobjs[i]).colorbox({rel:'nofollow' 

        /*other options*/});
      }
      else{ // if are grouped links
        if(tmpstr != $(arrobjs[i]).attr("rel") ){
          $(arrobjs[i]).colorbox({/*options*/});
        }
      }
    })
  })
  </script>

Ora hai finito! Se hai fatto tutto correttamente la colorbox funzionerà senza la necessità di cambiare niente nei contenuti e nello stesso modo della lightbox (ossia aggiungendo, ove necessario, l'attributo "rel=lightbox" )

giovedì 25 giugno 2009

ASP - Controllare se una data è compresa tra altre due date - v2

Quando feci  questo articolo mi promisi che avrei rivisto quella funzione e ne avrei fatta una più completa appena il tempo e la voglia me lo avrebbero permesso.

Ora scrivo questo post per mettere finalmente quest'altra funzione.
Spero di non aver fatto errori clamorosi dei quali non mi sono accorto ma penso che Lo script funzioni correttamente!

La funzione si chiama sempre dateBetween ma ora è così:

Function dateBetween(data1,data2,data,repeat,result)

La funzione dateBetween restituisce TRUE o FALSE rispettivamente se il calcolo è andato a buon fine oppure se c'è stato un errore.

I parametri da passare a lla funzione sono i seguenti:
  • data1 [data valida] - contiene la data di inizio intervallo
  • data2 [data valida] - contiene la data di fine intervallo
  • data [data valida] - contiene la data da testare
  • repeat [true|false] - imposta se il calcolo deve essere ripetuto ogni anno
  • result - se dateBetween restituisce FALSE viene restituito il messaggio di errore. Se dateBetween restituisce TRUE viene restituito TRUE o FALSE a seconda dell'esisto del test.

La nuova funzionalità "repeat" serve per testare gli intervalli ogni anno. Se per esempio vogliamo sapere in che stagione ci troviamo dobbiamo passare alla funzione la data di inizio e di fine di una stagione in un anno qualsiasi e poi mettere "repeat" a TRUE. In questo caso l'intervallo tra le due date deve necessariamente essere massimo un anno.

Il ogni caso la funzione e proprio un esempio di utilizzo di quest'ultima la trovi zippata qua.

Se hai problemi o domande non esitare a contattarmi.

lunedì 5 gennaio 2009

ASP - Controllare se una data è compresa tra due date

FUNZIONE RIFATTA - QUESTA FUNZIONE E' VECCHIA
Guarda quella nuova

Hai la necessità di controllare se una data è compresa tra altre due date?
Visto che non esiste nessuna funzione ASP per fare ciò eccone una fatta in casa!

<%
function checkZerosDate(num)
if len(num)=1 then
checkZerosDate= "0" & num
else
checkZerosDate=num
end if
end function

Function dateBetween(data1,data2,data)
dim ndata1,ndata2,ndata

'controllo che siano date
if isdate(data1) and isdate(data2) and isdate(data) then
ndata1=year(data1) & checkZerosDate(month(data1)) & checkZerosDate(day(data1))
ndata2=year(data2) & checkZerosDate(month(data2)) & checkZerosDate(day(data2))
ndata=year(data) & checkZerosDate(month(data)) & checkZerosDate(day(data))
if (ndata1<=ndata) and (ndata<=ndata2) then
dateBetween=true
else
dateBetween=false
end if
else
' se non sono date restituisco falso
dateBetween=false
end if
end function
%>


Come puoi notare la funzione principale è "dateBetween" alla quale bisogna passare come parametri:
  • data1 : data di inizio intervallo
  • data2 : data di fine intervallo
  • data : data da testare
Se non vengono passate delle date valide la funzione restituisce il valore booleano false

La funzione restituirà il valore booleano True se data è compresa tra data1 e data2 oppure False se non lo è.

Per funzionare questa funzione si deve appoggiare alla funzione checkZerosDate che non fa altro che formattare i valori a una cifra del giorno/mese in uno a due cifre!

Come sempre non può mancare lo zippo con lo script e un esempio!

Stop! :D
FUNZIONE RIFATTA - QUESTA FUNZIONE E' VECCHIA
Guarda quella nuova



sabato 3 gennaio 2009

JAVASCRIPT - HtmlEncode

Ed eccomi che forse ho trovato (in più testato e corretto) una semplice funzione per fare l'htmlencode (funzione ASP) lato client!!! Era ora! :D

Si tratta di un piccolo script javascript che puoi inserire nelle tue pagine!

Ho testato (e modificato dove si presentavano problemi) questo script con i seguenti browser:
  • Microsoft Internet explorer 6,7
  • Mozilla Firefox 3
  • Opera
  • Apple Safari
  • Google Chrome

La funzione è la seguente:


<script type="text/javascript">
<!--
function HTMLEncode(str) {
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
text=div.innerHTML;
text=text.replace(/"/g,"&quot;");

// Lettere accentate -------------

text=text.replace(/à/g,"&agrave;");
text=text.replace(/è/g,"&egrave;");
text=text.replace(/é/g,"&eacute;");
text=text.replace(/ì/g,"&igrave;");
text=text.replace(/ù/g,"&ugrave;");
text=text.replace(/ò/g,"&ograve;");

//--------------------------------
//-------Fix Safari problem-------
text=text.replace(/</g,"&lt;");
text=text.replace(/>/g,"&gt;");
//--------------------------------
return text;
}
//-->
</script>

Basta richiamarla e passare come parametro il testo sul quale vogliamo fare l'encode. La funzione restituirà il testo codificato!

Per ora ho notato che non tutti i caratteri speciali sono supportati! Per esempio il simbolo dei gradi --> ° Rimane tale (sulla mia macchina, con le mie impostazioni) mentre l'htmlencode di asp lo traduce in &deg; (o &#176; a seconda delle impostazioni del server) !!!! Insomma, non si può avere tutto dalla vita ma a grandi linee così potrebbe già essere sufficiente! :D
Se qualcuno ha voglia di star li a provarli tutti può!!!

Chi dovesse riscontrare problemi è invitato a segnalarli in un commento a questo post che magari possiamo provare a fixarli! ;)

Alla prox!

giovedì 1 gennaio 2009

FIREFOX - Prova Scribefire

Questo è un test di Scribefire (ex performancing)

proviamo.....


<%
   response.write("Prova di un codice ASP")
%>


Grassetto
Corsivo
Sottolineato
Link

Immagine:

Test fallito. Errore nel caricare sul blog. Potrei appoggiarmi al mio sito però...
Vedrò!!!

Beh... è una bella storiaccia!!! Molto carino e migliorato dall'ultima volta che l'ho provato!!!!

mercoledì 31 dicembre 2008

ASP - Calcolare il giorno della Pasqua

In questo post mostrerò come calcolare il giorno della pasqua a partire da un anno.

Si tratta di una funzione ASP molto semplice alla quale passare un anno oppure una data.

La funzione è questa:


<%
  'Script per il calcolo della pasqua
  'Autore: Marco Brunelli - www.giuba.it
  function calcolapasqua(data)
    dim X,A,B,C,D,E,F,G,H,M,J,K,L,N,P,Pday
    if isdate(data) then
      'se ho passato una data
      X=year(data)
    else
      'se ho passato un numero
      X=data
    end if
    'calcolo la pasqua
    A=X mod 19
    B= int(X/100)
    C=X mod 100
    D=int(B/4)
    E=B mod 4
    G=int((8*B+13)/25)
    H=(19*A+B-D-G+15)mod 30
    M=int((A+11*H)/319)
    J=int(C/4) K=C mod 4
    L=(2*E+2*J-K-H+M+32) mod 7
    N=int((H-M+L+90)/25)
    P=(H-M+L+N+19)mod 32
    Pday=P & "/" & N & "/" & X
    calcolapasqua= formatdatetime(Pday,1)
  end function
%>


Basta passare alla funzione un anno (numero intero positivo) o una data e questa ti "sparerà fuori" il giorno della pasqua!
Se non vuoi vedere il giorno (domenica) come risultato della funzione, nella penultima riga metti questo

calcolapasqua= formatdatetime(Pday)

al posto di

calcolapasqua= formatdatetime(Pday,1)


In alternativa cerca una guida della funzione asp "formatdatetime" !

Attenzione a passare valori corretti alla funzione. Questa volta non ho fatto il controllo di errori!

Come sempre per i più pigri linko o zippino con lo script già fatto!

giovedì 2 ottobre 2008

WINDOWS - Modificare gli attributi di un file/cartella

So bene che in questo momento gli utenti di Linux derideranno brutalmente gli utenti di Windows e questo post ma noi "windowsiani" per modificare gli attributi di file o directory abbiamo bisogno di un piccolo aiutino a differenza di linux che se la cava con il semplice comando "Touch".

Cercavo tempo fa come fare ma non avevo trovato nulla. Ieri invece alla prima ricerca ecco cosa ho trovato:

premetto che in questo post parlo già di come modificare gli attributi di un file con il comando "attrib" lanciato dal promt dos di windows ma quest'ultimo si limita a settare i seguenti attributi booleani:
  • Attributo di file di sola lettura.
  • Attributo di file di archivio.
  • Attributo di file di sistema.
  • Attributo di file nascosto.
  • Attributo di file non indicizzato.
Ma se io volessi avere qualche cosa in più? Per esempio poter cambiare le date di creazione/modifica/accesso di un file o directory per poter confermare al capo che il lavoro l'avevo svolto tempo fa e non oggi di corsa? :D

Le soluzioni sono 2:
  1. Utilizzo il comando Touch con linux, se ho linux
  2. Utilizzo questo programmino iper tazzo con windows!
Si tratta di Attribute Changer, un piccolo software che una volta installato è raggiungibile dal menu contestuale (quello che si apre col clic sul tasto destro del mouse) di windows explorer.

Prova tu stesso! Se hai Windows 98, Me, 2000, Xp, 2003 o Vista scarica il programma e installalo (se hai un sistema operativo a 64 bit questo software NON va bene)

Fatto questo prova a cliccare col tasto destro su un file o una cartella e clicca sulla voce "Cambia attributi...". Ora non ti resta che smanettare un po' e fare quello che vuoi! Il Software è semplice ed è anche in italiano quindi non ci sono problemi. Già dalla prima finestra che si apre si può notare come modificare le date di creazione/accesso/modifica del nostro file/directory!

Un ultima cosa però.... attento a non farti beccare dal tuo capo! :D