Set 03


La funzione concat() di MySQL è una delle più importanti ed utili per la manipolazione delle stringhe.
Questa funzione permette di concatenare più campi in un’unica stringa. Ad esempio, se avete due campi “nome” e “cognome” ed avete la necessità di ricercare la stringa “Paolo Rossi”, utilizzate la seguente sintassi:

 
"SELECT CONCAT(nome, ‘ ‘, cognome) AS nomi FROM persone where nomi like ‘%Paolo Rossi%’ ";
 

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale





Set 03


Nel video-tutorial Photoshop di oggi imparerete come applicare un effetto polaroid su un’immagine!
Per creare questo favoloso effetto utilizzeremo i livelli, le selezioni, lo strumento secchiello, le maschere di ritaglio e gli stili di livello.

Anche gli utenti meno esperti possono seguire questo video-tutorial!

Link: http://www.doromurabito.com/blog/2010/08/30/photoshop-tutorial-come-trasformare-una-foto-in-polaroid/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 03


Uno degli aspetti più interessanti e divertenti di utilizzo iPad è la capacità di produrre un cambiamento in una pagina web strisciando il dito sullo schermo dell’ iPad. Ad esempio, strisciando verso sinistra per passare alla pagina successiva in una serie di pagine, o strisciando per visualizzare l’immagine successiva in una serie di immagini. Per gli utenti iPad, queste azioni sono intuitive e naturali. Tuttavia, per coloro che realizzano pagine web, l’aggiunta di questa funzionalità può essere un processo impegnativo e difficile. Non più, in questo articolo troverete un tutorial che vi spiegherà come fare!

Link: http://padilicious.com/code/touchevents/

Demo: http://padilicious.com/code/touchevents/basicswipe.html

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 03


Il nuovo tag HTML5 è noto per il suo potere di illustrazione. Ma oggi ve lo mostreremo sotto un’altro aspetto, la manipolazione delle immagini!

Questo è l’elemento più importante che differisce da SVG. Con il canvas è possibile eseguire operazioni sui pixel, si può scrivere una nuova immagine pixel per pixel o importare un’immagine e modificarla. In questo articolo vi mostreremo alcuni fondamenti della manipolazione dei pixel con il tag canvas, e su come utilizzare queste conoscenze per ottenere effetti interessanti!

Link: http://spyrestudios.com/html5-canvas-image-effects-black-white/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Sep 04

I carboidrati rappresentano la principale fonte di energia, costituendo il 55-60% della quota calorica giornaliera che va adattata dopo valutazione individuale basata sulle abitudini nutrizionali, sulla condizione clinica e sul quadro lipidico del paziente.
In genere in una dieta si privilegiano i carboidrati complessi, che dovrebbero rappresentare circa il 90% del totale, rispetto agli zuccheri semplici. Comunque deve essere tenuto presente che le variazioni glicemiche indotte dai carboidrati non sono solo correlate alla loro struttura molecolare, ma anche ad altri fattori, quali la rapidità con cui il cibo viene assunto, il modo in cui è stato elaborato e l'associazione con altri cibi.
In considerazione dell'ampia variabilità delle risposte glicemiche ai differenti carboidrati è stato elaborato un parametro per classificare gli alimenti in base ai livelli glicemici indotti, rispetto ad un elemento di riferimento detto indice glicemico.
Un indice glicemico elevato, inizialmente riferito al glucosio, ma, attualmente, al pane, corrisponde ai livelli di glicemia più alti dopo l'ingestione di quell'alimento [...]

fonte: dieta-dimagrante.com » vai al post originale »

Set 03


L’iPad è un dispositivo rivoluzionario prodotto da Apple in grado di riprodurre contenuti multimediali e di navigare su internet velocemente. Nel video-tutorial Photoshop di oggi, vedremo come disegnare un layout in stile iPad, il video dura 9:40, ed è spiegato molto bene, quindi anche gli utenti meno esperti possono seguirlo.

Link: http://www.doromurabito.com/blog/2010/08/30/photoshop-tutorial-creare-un-layout-per-ipad/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 03


Se avete la necessità di sostituire al volo una stringa o magari avete la necessità di modificare in una sola volta tutti i record presenti su un certo campo, la funzione Replace() di MySQL vi ritornerà molto utile.

La funzione Replace() richiede tre parametri: Il testo, la stringa da sostituire, la nuova stringa.

 
SELECT REPLACE(‘www.sastgroup.com’, ‘w’, ‘Ww’);
 
//Output
//WwWwWw.sastgroup.com
 

La funzione restituisce la stringa “www.sastgroup.com” con tutte le occorrenze della stringa “w” sostituita con “Ww”.

N.B. La funzione è case-sensitive, quindi farà didtinzione tra caratteri maiuscoli e minuscoli.

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 01


Nel tutorial di oggi vedrete come creare un’animazione con i CSS3 utilizzando le transizioni.
Il vantaggio di questa tecnica è che non viene utillizzato nessun javascript e quindi avremo un minor peso complessivo del nostro sito. Lo svantaggio però, è che questa caratteristica non è ancora supportata da tutti i browser ma solamente dai browser basati su WebKit come Chrome e Safari.

Link: http://www.impressivewebs.com/animated-sprites-css3/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 01


Nel tutorial di oggi imparerete come trasformare un’immagine di una modella in una donna infuocata!
Consiglio anche agli utenti meno esperti di seguire questo tutorial, in quanto, vengono utilizzati alcuni strumenti importanti che vi permetteranno di introdurvi ad un livello più avanzato di Photoshop!

Link: http://www.digitalartsonline.co.uk/tutorials/index.cfm?featureid=3234171&pn=1

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 01


Esattamente come substr di PHP, la funzione Substring() di MySQL permette di estrarre una porzione di testo all’interno di una stringa. Richiede tre paramentri (l’ultimo non obbligatorio), il testo su cui lavorare,  la posizione di inizio e quella di fine.

 
"SELECT campo_testo, SUBSTRING(campo_testo, 1, 75) AS campo_testo_anteprima FROM tua_tabella WHERE id = ‘5′ "
 

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 01


Se avete la necessità che MySQL vi restituisca una stringa in maiuscolo o minuscolo, continuate a leggere questo articolo!

Nell’esempio che trovate qui sotto, abbiamo utilizzato le funzioni Upper() e Lower() di MySQL che ci permettono di trasformare in maiuscolo e in minuscolo una stringa presente all’interno di un campo specifico.

ESEMPIO STRINGA MINUSCOLA

"SELECT LOWER(stringa) AS stringa_lower FROM stringhe WHERE id = ‘5′ "
 

ESEMPIO STRINGA MAIUSCOLA

"SELECT UPPER(stringa) AS stringa_upper FROM stringhe WHERE id = ‘5′ "
 

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 01


Esiste una legge che possibilmente in tanti conoscono ma che qualcuno magari no (come me). Tutela i nostri programmi dalla clonazione e/o dalla copia parziale o totale.

Decreto legislativo 29 dicembre 1992 n. 518
Attuazione della direttiva 91/250/CEE relativa alla tutela giuridica dei programmi per elaboratore

(S.ORD. ALLA G.U. N. 306 SERIE GENERALE PARTE PRIMA DEL 31 12 1992 )

IL PRESIDENTE DELLA REPUBBLICA

Visti gli articoli 76 e 87 della Costituzione;
Visto l’art. 7 della legge 19 dicembre 1992, n. 489, recante delega al Governo per l’attuazione della direttiva 91/250/CEE del Consiglio del 14 maggio 1991, relativa alla tutela giuridica dei programmi per elaboratore;
Vista la deliberazione del Consiglio dei Ministri, adottata nella riunione del 23 dicembre 1992;
Sulla proposta del Ministro per il coordinamento delle politiche comunitarie e per gli affari regionali, di concerto con i Ministri degli affari esteri, di grazia e giustizia e del tesoro;

EMANA
il seguente decreto legislativo:

Art. 1.

1. All’art. 1 della legge 22 aprile 1941, n. 633, è aggiunto il seguente comma: “Sono altresì protetti i programmi per elaboratore come opere letterarie ai sensi della Convenzione di Berna sulla protezione delle opere letterarie ed artistiche ratificata e resa esecutiva con legge 20 giugno 1978, n. 399″.

Art. 2.

1. Dopo il n. 7) dell’art. 2 della legge 22 aprile 1941, n. 633, è aggiunto il seguente numero:
“8) i programmi per elaboratore, in qualsiasi forma espressi purché originali quale risultato di creazione intellettuale dell’autore. Restano esclusi dalla tutela accordata dalla presente legge le idee e i principi che stanno alla base di qualsiasi elemento di un programma, compresi quelli alla base delle sue interfacce. Il termine programma comprende anche il materiale preparatorio per la progettazione del programma stesso”.

Art. 3.

1. Dopo l’art. 12 della legge 22 aprile 1941, n. 633, è inserito il seguente:
“Art. 12- bis. - Salvo patto contrario, qualora un programma per elaboratore sia creato dal lavoratore dipendente nell’esecuzione delle sue mansioni o su istruzioni impartite dal suo datore di lavoro, questi è titolare dei diritti esclusivi di utilizzazione economica del programma creato”.

Art. 4.

1. Dopo l’art. 27 della legge 22 aprile 1941, n. 633, è inserito il seguente:
“Art. 27- bis. - La durata dei diritti di utilizzazione economica del programma per elaboratore prevista dalle disposizioni della presente Sezione si computa, nei rispettivi casi, a decorrere dal 1. gennaio dell’anno successivo a quello in cui si verifica l’evento
considerato dalla norma”.

Art. 5.

1. Dopo la sezione V del capo IV del titolo I della legge 22 aprile 1941, n. 633, è aggiunta la seguente sezione:

“Sezione VI - PROGRAMMI PER ELABORATORE

Art. 64- bis . - 1. Fatte salve le disposizioni dei successivi articoli 64- ter e 64-quater, i diritti esclusivi conferiti dalla presente legge sui programmi per elaboratore comprendono il diritto di effettuare o autorizzare:
a) la riproduzione, permanente o temporanea, totale o parziale, del programma per elaboratore con qualsiasi mezzo o in qualsiasi forma. Nella misura in cui operazioni quali il caricamento, la visualizzazione, l’esecuzione, la trasmissione o la memorizzazione del programma per elaboratore richiedano una riproduzione, anche tali operazioni sono soggette all’autorizzazione del titolare dei diritti;
b) la traduzione, l’adattamento, la trasformazione e ogni altra modificazione del programma per elaboratore, nonché la riproduzione dell’opera che ne risulti, senza pregiudizio dei diritti di chi modifica il programma;
c) qualsiasi forma di distribuzione al pubblico, compresa la locazione, del programma per elaboratore originale o di copie dello stesso. La prima vendita di una copia del programma nella Comunità Economica Europea da parte del titolare dei diritti, o con il suo consenso, esaurisce il diritto di distribuzione di detta copia all’interno della Comunità, ad eccezione del diritto di controllare l’ulteriore locazione del programma o di una copia dello stesso.

Art. 64- ter . - 1. Salvo patto contrario, non sono soggette all’autorizzazione del titolare dei diritti le attività indicate nell’art. 64- bis, lettere a) e b), allorché tali attività sono necessarie per l’uso del programma per elaboratore conformemente alla sua destinazione da parte del legittimo acquirente, inclusa la correzione degli errori.
2. Non può essere impedito per contratto, a chi ha il diritto di usare una copia del programma per elaboratore di effettuare una copia di riserva del programma, qualora tale copia sia necessaria per l’uso.
3. Chi ha il diritto di usare una copia del programma per elaboratore può, senza l’autorizzazione del titolare dei diritti, osservare, studiare o sottoporre a prova il funzionamento del programma, allo scopo di determinare le idee ed i principi su cui è basato ogni elemento del programma stesso, qualora egli compia tali atti durante operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che egli ha il diritto di eseguire. Gli accordi contrattuali conclusi in violazione del presente comma sono nulli.
Art. 64-quater . - 1. L’autorizzazione del titolare dei diritti non è richiesta qualora la riproduzione del codice del programma di elaboratore e la traduzione della sua forma ai sensi dell’art. 64- bis, lettere a) e b), compiute al fine di modificare la forma del codice, siano indispensabili per ottenere le informazioni necessarie per conseguire l’interoperabilità, con altri programmi, di un programma per elaboratore creato autonomamente purché siano soddisfatte le seguenti condizioni:
a) le predette attività siano eseguite dal licenziatario o da altri che abbia il diritto di usare una copia del programma oppure, per loro conto, da chi è autorizzato a tal fine;
b) le informazioni necessarie per conseguire l’interoperabilità non siano già facilmente e rapidamente accessibili ai soggetti indicati alla lettera a);
c) le predette attività siano limitate alle parti del programma originale necessarie per conseguire l’interoperabilità.
2. Le disposizioni di cui al comma 1 non consentono che le informazioni ottenute in virtù della loro applicazione:
a) siano utilizzate a fini diversi dal conseguimento dell’interoperabilità del programma creato autonomamente;
b) siano comunicate a terzi, fatta salva la necessità di consentire l’interoperabilità del programma creato autonomamente;
c) siano utilizzate per lo sviluppo, la produzione o la commercializzazione di un programma per elaboratore sostanzialmente simile nella sua forma espressiva, o per ogni altra attività che violi il diritto di autore.
3. Gli accordi contrattuali conclusi in violazione dei commi 1 e 2 sono nulli.
4. Conformemente alla convenzione di Berna sulla tutela delle opere letterarie ed artistiche ratificata e resa esecutiva con legge 20 giugno 1978, n. 399, le disposizioni del presente articolo non possono essere interpretate in modo da consentire che la loro applicazione arrechi indebitamente pregiudizio agli interessi legittimi del titolare dei diritti o sia in conflitto con il normale sfruttamento del programma”.

Art. 6.

1. All’art. 103 della legge 22 aprile 1941, n. 633, sono apportate le seguenti integrazioni:
a) Dopo il terzo comma è aggiunto il seguente: “Alla Società italiana degli autori ed editori è affidata, altresì, la tenuta di un registro pubblico speciale per i programmi
per elaboratore. In tale registro viene registrato il nome del titolare dei diritti esclusivi di utilizzazione economica e la data di pubblicazione del programma, intendendosi per pubblicazione il primo atto di esercizio dei diritti esclusivi”.
b) Dopo il quinto comma è aggiunto il seguente: “I registri di cui al presente articolo possono essere tenuti utilizzando mezzi e strumenti informatici”.

Art. 7.

1. Dopo il secondo comma dell’art. 105 della legge 22 aprile 1941, n. 633, è inserito il seguente:
“Per i programmi per elaboratore la registrazione è facoltativa ed onerosa”.

Art. 8.

1. All’art. 161 della legge 22 aprile 1941, n. 633, è aggiunto, in fine, il seguente comma:
“Le disposizioni di questa Sezione si applicano anche a chi mette in circolazione in qualsiasi modo, o detiene per scopi commerciali copie non autorizzate di programmi e qualsiasi mezzo inteso unicamente a consentire o facilitare la rimozione arbitraria o l’esclusione funzionale dei dispositivi applicati a protezione di un programma per elaboratore”.

Art. 9.

1. Al primo comma dell’art. 171 della legge 22 aprile 1941, n. 633, sono premesse le seguenti parole: “Salvo quanto previsto dall’art. 171- bis”.

Art. 10.

1. Dopo l’art. 171 della legge 22 aprile 1941, n. 633, è inserito
“Art. 171- bis . - 1. Chiunque abusivamente duplica a fini di lucro, programmi per elaboratore, o, ai medesimi fini e sapendo o avendo motivo di sapere che si tratta di copie non autorizzate, importa, distribuisce, vende, detiene a scopo commerciale, o concede in locazione i medesimi programmi, è soggetto alla pena della reclusione da tre mesi a tre anni e della multa da L. 500.000 a L. 6.000.000. Si applica la stessa pena se il fatto concerne qualsiasi mezzo inteso unicamente a consentire o facilitare la rimozione arbitraria o l’elusione funzionale dei dispositivi applicati a protezione di un programma per elaboratore. La pena non è inferiore nel minimo a sei mesi di reclusione e la multa a L. 1.000.000 se il fatto è di rilevante gravità ovvero se il programma oggetto dell’abusiva duplicazione, importazione, distribuzione, vendita, detenzione a scopo commerciale o locazione sia stato precedentemente distribuito, venduto o concesso in locazione su supporti contrassegnati dalla Società italiana degli autori ed editori ai sensi della presente legge e del relativo regolamento di esecuzione approvato con regio decreto 18 maggio 1942, n. 1369.
2. La condanna per i reati previsti al comma 1 comporta la pubblicazione della sentenza in uno o più quotidiani e in uno o più periodici specializzati”.

Art. 11.

1. Dopo l’art. 199 della legge 22 aprile 1941, n. 633, è inserito il seguente:
“Art. 199- bis. - 1. Le disposizioni della presente legge si applicano anche ai programmi creati prima della sua entrata in vigore, fatti salvi gli eventuali atti conclusi e i diritti acquisiti anteriormente a tale data”.

Art. 12.

1. Con decreto del Presidente del Consiglio dei Ministri da emanarsi, sentita la Società italiana degli autori ed editori, entro sei mesi dall’entrata in vigore della presente legge saranno determinate le caratteristiche del registro, le modalità di registrazione
di cui agli articoli 6 e 7 e le relative tariffe. Il presente decreto, munito del sigillo dello Stato, sarà inserito nella Raccolta ufficiale degli atti normativi della Repubblica
italiana. È fatto obbligo a chiunque spetti di osservarlo e di farlo osservare.

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 01


In questo tutorial Photoshop, imparerete come usare la maschera di livello insieme allo strumento brucia, lo strumento penna ed altri strumenti, per ricreare un nuovo volto che corrisponde con un teschio.

All’interno dell’articolo troverete la foto del teschio da scaricare e altre risorse che vi permetteranno di realizzare e seguire il tutorial. Anche gli utenti meno esperti possono seguire questo tutorial in quanto è spiegato in modo molto dettagliato.

Link: http://www.pxleyes.com/tutorial/photoshop/2137/Reconstruct-a-Face-to-Make-it-Match-a-Custom-Skull.html

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 01


Addy Osmani vi insegnerà come creare un utile interfaccia utente hover-based utilizzando jQuery, CSS3, HTML5 e @ font-face.
Con la popolarità di applicazioni web touch su dispositivi mobili, è stata semplificata  la navigazione, in quanto, con un semplice tocco è possibile passare da una pagina all’altra. Perchè non applicare tutto questo anche sui dispositivi desktop? Seguite il tutorial e lo scoprirete!

Link: http://addyosmani.com/blog/wanderwall/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Set 01


WordPress possiede una modalità di debug che consente di ottenere facilmente le informazioni quando qualcosa va storto. Per attivare la modalità debug, è necessario aggiungere una costante nel file wp-config.php.
Nel tutorial di oggi implementeremo un modo ancora più semplice che ci permetterà di attivare/disabilitare il debug mode senza toccare il file wp-config.php.

Per prima cosa aggiungete il seguente codice nel vostro file wp-config.php.

 
if ( isset($_GET[‘debug’]) && $_GET[‘debug’] == ‘debug’)
define(‘WP_DEBUG’, true);
 

Una volta fatto, è sufficiente aggiungere un parametro GET per l’url della pagina che si desidera eseguire il debug, come illustrato di seguito:

http://www.tuoblog.com/pagina?debug=debug

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Ago 30


Wordpress possiede una modalità di debug che consente di ottenere facilmente le informazioni quando qualcosa va storto. Per attivare la modalità debug, è necessario aggiungere una costante nel file wp-config.php.
Nel tutorial di oggi implementeremo un modo ancora più semplice che ci permetterà di attivare/disabilitare il debug mode senza toccare il file wp-config.php.

Per prima cosa aggiungete il seguente codice nel vostro file wp-config.php.

 
if ( isset($_GET[‘debug’]) && $_GET[‘debug’] == ‘debug’)
define(‘WP_DEBUG’, true);
 

Una volta fatto, è sufficiente aggiungere un parametro GET per l’url della pagina che si desidera eseguire il debug, come illustrato di seguito:

http://www.tuoblog.com/pagina?debug=debug

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Ago 30


Nel video-tutorial di oggi dedicato a Photoshop imparerete come creare un banner con testo animato utilizzando le animazioni.
Per fare ciò utilizzeremo i livelli che andranno nascosti/attivati per ogni singolo frame. E’possibile impostare la durata del frame e un effetto di transizione.

Link: http://www.doromurabito.com/blog/2010/08/27/photoshop-tutorial-creare-un-banner-con-testo-animato/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Ago 30


Il plugin xColor è un’estensione jQuery facile da usare per manipolare i colori in tutte le combinazioni immaginabili.
Questo plugin implementa un parser dei colori ed un insieme di metodi per la loro manipolazione. Una tra le più importanti e interssanti funzioni è isReadable() che permette di verificare se un testo è leggibile su un certo sfondo.
Il valore dei colori può essere passato in differenti modelli: RGB, HSV/HSB, HSL e la loro estensione alpha.

Link: http://www.xarg.org/project/jquery-color-plugin-xcolor/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Ago 30


Il tutorial che vi proponiamo oggi si riferisce ad un utenza meno esperta, in quanto vi spiegheremo come creare contenuti dinamici utilizzando una sola pagina.

Per fare ciò avremo bisogno di un database in modo da poter estrapolare le informazioni, e poi faremo una serie di controlli che valideranno l’ID del contenuto passato tramite GET.

 
Contenuto 1
Contenuto 2
Contenuto 3
< ?php
// Carichiamo la connessione al db
include ‘conessione.php’;
 
//controlliamo se uno dei link è stato cliccato
echo
;
if(isset($_GET[‘id’])){
// Rendiamo sicura la stringa
$id = mysql_real_escape_string($_GET[‘id’]);
// Query del database
$sql = mysql_query("SELECT * FROM table_name WHERE id=’$id’");
if(mysql_num_rows($sql) == 1){
//se è stato trovato il record creiamo un array
$row = mysql_fetch_array($sql);
// stampiamo il contenuto
echo
 
.$row[‘content’].
 
;
}else{
// Riga non trovata
echo
 
File Non Trovato.
 
;
}
}else{
// non è stato impostato nessun parametro id
echo
 
URL non valida.
 
;
}
echo ;
?>
 

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Ago 30


Nel video-tutorial di oggi imparerete come utilizzare le azioni di Photoshop.
Questa funzione è molto utile in quanto permette di accelerare operazioni ripetitive senza dovere ripetere ogni volta gli stessi interventi su diverse fotografie.

Link: http://www.doromurabito.com/blog/2010/08/27/photoshop-tutorial-utilizzare-le-azioni/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale

Ago 30


jQuery Image Scroller Plugin crea un’interfaccia scorrevole facendo scorrere un’immagine di grandi dimensioni in una zona più piccola. L’idea è che abbiamo un contenitore con una altezza e larghezza fissa e un contenitore per l’anteprima di tale immagine. Una volta che il plugin viene applicato, verrà allegata una piccola area che rappresenta la zona in cui è possibile trascinare su e giù.

Link: http://www.viget.com/uploads/file/image-scroller/

Share on FacebookCondividi su facebook

fonte: www.sastgroup.com » Vai al post originale