Mostrare data corrente in javascript
<script type="text/javascript" language="JavaScript">
function WebDate() {
var now = new Date();
var year= now.getYear();if (year < 1000) year += 1900;
nameDay = new
Array('Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato');
nameMth = new Array('Gennaio','Febbraio','Marzo','Aprile','Maggio',
'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre',
'Novembre','Dicembre');
document.write(''+nameDay[now.getDay()]+ ' ' + now.getDate() + " " +
nameMth[now.getMonth()] + " " + year+'');
}
</script>
Installazione java JDK
Installazione del jdk su Linux - Installazione dei file
Dal sito di java è possibile scaricare due differenti versioni del jdk per Linux. Le due versioni sono assolutamente identiche per quanto riguarda i contenuti.
L'unica differenza è data dal formato con cui vengono distribuiti.
-
Il file j2sdk-VERSIONE-XXXXX.rpm.bin si può utilizzare con tutte le distribuzioni che sfruttano il sistema rpm - Redhat Package Manager per la gestione dei pacchetti software.Tra le distribuzioni che usano nativamente questo formato, si trovano ad esempio: Fedora/ Redhat, Mandriva (ex-Mandrake), Suse/Novell.
Per installare il file del jdk:
- Assegnare il permesso di esecuzione al file j2sdk-blablabla.rpm.bin. Questa operazione puo' essere effettuata tramite interfaccia grafica, modificando le proprieta' del file; oppure tramite terminale: aprire un programma di emulazione terminale (konsole, gnome-terminal, xterm), spostarsi nella cartella in cui è contenuto il file del jdk, ed eseguire il comando:
chmod +x j2sdk-blablabla.rpm.bin. - Da terminale, dalla cartella in cui è contenuto il file del jdk, eseguire il comando:
./j2sdk-blablabla.rpm.bin. - Dopo aver letto la licenza, digitare "yes". Nella stessa cartella verra' creato il file j2sdk-blablebli.rpm, che puo' essere "dato in pasto" al gestore dei pacchetti.
Per installare i file: rpm -iv j2sdk-blablebli.rpm
- Assegnare il permesso di esecuzione al file j2sdk-blablabla.rpm.bin. Questa operazione puo' essere effettuata tramite interfaccia grafica, modificando le proprieta' del file; oppure tramite terminale: aprire un programma di emulazione terminale (konsole, gnome-terminal, xterm), spostarsi nella cartella in cui è contenuto il file del jdk, ed eseguire il comando:
- Il file j2sdk-VERSIONE-XXXXX.bin(senza rpm in mezzo) si puo' utilizzare su tutte le distribuzioni.
Per installare il file del jdk:
- Assegnare il permesso di esecuzione al file j2sdk-blablabla.bin. (come si fa? vedere il punto precedente)
- Da terminale, dalla cartella in cui è contenuto il file del jdk, eseguire il comando:
./j2sdk-blablabla.bin. - Dopo aver letto la licenza, digitare "yes". Il file si autoscompatterà, ottenendo una cartella jqualcosa-blablabla.
È consigliabile spostare la cartella ottenuta in modo che sia accessibile da tutti gli utenti, indipendentemente dalla posizione. Ad esempio, creando una cartella sotto /usr/java:mkdir /usr/java
mv ./jqualcosa-blablabla /usr/java.Attenzione: bisogna prestare attenzione alla cartella usata, perchè va utilizzata per l'impostazione del PATH (vedere punto successivo).
Dopo aver installato i file, per utilizzare i comandi del jdk indipendentemente dalla posizione dei programmi java nel file system, bisogna configurare la variabile d'ambiente PATH.
Installazione del jdk su Linux - Impostazione del PATH
Modificare il file
/etc/profile
(attenzione: modificabile solo dall'utente root)
e aggiungere in fondo:
export PATH=$PATH:DIRECTORY_IN_CUI_È_INSTALLATO_IL_JDK
Dove:
DIRECTORY_IN_CUI_È_INSTALLATO_IL_JDK
è la directory in cui sono presenti i programmi di java (java, javac, ...)
Se è stato utilizzato l'rpm, la directory dovrebbe essere qualcosa del tipo:
/usr/java/j2sdk1.4.1_01/bin
Ovviamente questo dato va personalizzato in base alla propria installazione, ed alla versione del jdk!
Installazione del jdk su Windows 2000/XP
La procedura è illustrata sul sito di java, ed è praticamente identica per le versioni 1.3 e 1.4. L'unico passo delicato è l'impostazione della variabile d'ambiente PATH dopo l'installazione.
Aprire il pannello di controllo, selezionare l'icona "Sistema", per aprire il pannello "Proprieta' del sistema". (Se questa non è visibile, selezionare "Passa alla visualizzazione classica"). In "Proprieta' del sistema", selezionare la linguetta "Avanzate", quindi il pulsante "Variabili d'ambiente".
Nella sezione "Variabili di sistema", doppio-click su "Path", ed in "Valore variabile" aggiungere in fondo la cartella in cui sono presenti i file di programma del jdk (java.exe, javac.exe, ecc). Se il jdk è stato installato, ad esempio, in C:\Programmi\j2sdk, la cartella corretta è
C:\Programmi\j2sdk\bin.
Dopo aver riavviato la macchina, i comando javac e java dovrebbero funzionare.
Attenzione: il percorso del jdk va aggiunto alla variabile Path preesistente, non bisogna sovrascriverla!
Installazione del jdk su Windows 95/98/Me
Attenzione: Windows 95 NON supporta versioni di jdk > 1.3.
Dopo aver eseguito il pacchetto autoinstallante, l'unico passo delicato è l'impostazione della variabile d'ambiente PATH.
La procedura è piu' simile a quella di Linux, rispetto quella di Windows 2000/XP
Modificare il file C:\AUTOEXEC.BAT, aggiungendo, in fondo:
set PATH=%PATH%;DIRECTORY_IN_CUI_È_INSTALLATO_IL_JDK
Dove:
DIRECTORY_IN_CUI_È_INSTALLATO_IL_JDK
è la directory in cui sono presenti i programmi di java (java, javac, ...)
Se il jdk è stato installato, ad esempio, in C:\Programmi\j2sdk, la cartella corretta è
C:\Programmi\j2sdk\bin.
Dopo aver riavviato la macchina, i comando javac e java dovrebbero funzionare.
Ecommercesolutions Script ecommerce open source php mysql
Principali caratteristiche
Ecommercesolutions è un "motore" per siti di e-commerce dinamici ossia per siti di commercio elettronico in cui sia richiesta la "pubblicazione" on-line di cataloghi memorizzati su database, la gestione di carrelli virtuali, il calcolo automatico dei costi di spedizione, l'accesso riservato ad utenti registrati ma soprattutto il pagamento con carta di credito on-line e paypal.
L'utilizzo della tecnologia PHP permette al negozio sviluppato con Ecommercesolutions di essere facilmente aggiornabile e modificabilie anche da non programmatori.
Catalogo prodotti
Ecommercesolutions permette una gestione facile ed efficace del tuo catalogo prodotti, senza limiti di dimensione, il tuo sito infatti potrà contenere infiniti prodotti.
Inserire un prodotto è un'operazione che richiede solo pochi secondi. Grazie al nuovo editor di testi in stile word sarà possibile inserire descrizioni senza nessuna conoscenza dell'HTML.
Per ogni prodotto è possibile inserire infinite immagini: una piccola per l'anteprima e le altre che mostrano dettagliatamente il prodotto.
Ad ogni prodotto è possibile attribuire due varianti: Taglia e Colore.
E' possibile collegare al prodotto, altri prodotti correlati che verranno proposti al cliente come accessori o prodotti simili.
E' possibile specificare quali prodotti dovranno comparire nelle sezioni speciali del sito, quali: l'homepage, le novità e le offerte. E' possibile inoltre gestire le promozioni attribuendo temporaneamente uno sconto per un determinato prodotto.
In fine il software gestisce la giacenza di magazzino di ogni singolo prodotto, ed vi avvisa quando la quantità disponibile di un prodotto scende al di sotto di una soglia da voi impostata.
Gestione categorie
Con Ecommercesolutions puoi creare infinite categorie e sotto-categorie in cui suddividere il tuo catalogo prodotti, per facilitarne la ricerca.
Gestione utenti
I vostri clienti potranno registrarsi al vostro negozio, per inoltrare i loro ordini, per ricevere le newsletter con le novità e le offerte del vostro negozio.
L'utente avrà la possibilità di verificare lo stato degli ordini in corso, di modificare i propri dati in qualsiasi momento.
Inoltre, se Ecommercesolutions è impostato in modalità B2B, potrete decidere di autorizzare gli utenti alla visualizzazione dei prezzi e all'inoltro degli ordini.
Gestione ordini
Ecommercesolutions permette una gestione efficiente degli ordini in corso di evasione, permettendovi di variarne lo stato in qualsiasi momento e dando la possibilità ai vostri clienti di consultare in ogni momento lo stato di evasione dell'ordine.
Inoltre Ecommercesolutions vi da una panoramica completa di tutti gli ordini in corso e vi avvisa in caso di nuovi ordini, senza la necessità di consultarli periodicamente. Ad ogni nuovo ordine il software invia un'email di riepilogo sia al cliente che a voi.
Pagamenti
Avrete a disposizione 5 diversi sistemi di pagamento attivabili singolarmente: Bonifico, Vaglia postale, Contrassegno , PayPal, banca sella.
Spedizioni
Ecommercesolutions permette di configurare, in modo semplice e flessibile, qualsiasi sistema di spedizione e di calcolarne l'importo in tempo reale direttamente dal carrello della spesa.
E' possibile inserire infiniti sistemi di spedizione, ed impostarne il calcolo delle tariffe in base: al peso, alla fascia di prezzo, in percentuale all'importo dell'ordine o in base alla fascia di peso.
Inoltre può essere specificato, per ogni sistema di spedizione, un importo oltre il quale non vengono applicate spese di spedizione.
Gestione newsletter
Il software include il sopporto alla newsletter, consentendo agli utenti di iscriversi, permettendovi di inviare loro una newsletter specifica.
Opzioni
Potrete scegliere tra diverse impostazioni, che vi consentiranno ad esempio di impostare il sito in modalità B2B (con i prezzi nascosti), oppure di disattivare il carrello della spesa rendendo il sito una vetrina virtuale.
Pagine aggiuntive
Potrete aggiungere illimitate pagine al sito grazie al comodo e facile editor editor wysiwyg in cui poter scrivere le informazioni relative al vostro negozio.
Backup e ripristino
Potrete effettuare il backup dei dati e l'eventuale ripristino con un semplice click
Statistiche
Semplici statistiche con report di accesso dei visitatori giornalieri e mensili
Template multipli
E’ possibile definire piu template per ogni sito, scegliendone uno tra quelli disponibili
Immagine PNG con effetto alpha
Internet Explorer does not support 24-bit PNG images with alpha transparency, as has been well documented around the Web (here are just a few: 1, 2, 3, 4). The crux of the "solution" to this problem is to use an Internet Explorer filter called AlphaImageLoader. AlphaImageLoader can be applied to a div element to display a PNG image properly using DirectX.
The difficult part of the problem is that AlphaImageLoader applies to div elements, whereas we need to use standard img elements on other browsers. Among other things, img elements size automatically when the image downloads, but div elements have to be sized explicitly with CSS.
Many of the solutions above are geared towards fixing static HTML. With Ajax apps, you generally construct HTML elements programmatically. This recipe is optimized for that approach:
function createPNGImage(src, width, height) {
if (navigator.userAgent.indexOf("MSIE") != -1) {
var element = document.createElement("div");
element.style.filter = "progid:DXImageTransform.Microsoft." +
"AlphaImageLoader(src='" + src + "')";
} else {
var element = document.createElement("img");
element.src = src;
}
element.style.width = width + "px";
element.style.height = height + "px";
return element;
}
The createPNGImage function returns a DOM element - a different node type depending on the user's browser. Example usage:
var element = createPNGImage("example.png", 312, 33);
document.getElementById("output").appendChild(element);
Fonte: http://ajaxcookbook.org/png-alpha-transparency/
Creare un elemento html semi trasparente
Make HTML Elements Semi-Transparent
By Bret Taylor, July 23, 2006
Internet Explorer does not support the opacity CSS property like Firefox and Safari. The solution is (as usual) to take advantage of IE filters to acheive a similar effect. This simple function sets opacity/transparency correctly across all modern browsers:
function setOpacity(element, opacity) {
if (navigator.userAgent.indexOf("MSIE") != -1) {
var normalized = Math.round(opacity * 100)
element.style.filter = "alpha(opacity=" + normalized + ")";
} else {
element.style.opacity = opacity;
}
}
This example usage sets the opacity of the given element to 50%:
setOpacity(document.getElementById("image2"), 0.5);
You can also set the opacity properly with static CSS if that is appropriate for your project. This CSS snippet is equivalent to the line of JavaScript above:
#image2 {
filter: alpha(opacity=50);
opacity: 0.5;
}
Fonte: http://ajaxcookbook.org/html-element-transparency/
Disabilitare la selezione di un testo
By default, web browsers display a text selection cursor over every visible text node in the HTML DOM, and users can select, copy, and paste any text on a web page. This is not appropriate for many Ajax applications, particularly if they involve drag-and-drop functionality that interferes with the web browser's normal text selection facilities. This simple function disables text selection within a DOM node in all modern browsers:
function disableSelection(element) {
element.onselectstart = function() {
return false;
};
element.unselectable = "on";
element.style.MozUserSelect = "none";
element.style.cursor = "default";
}
You can't disable text selection with CSS alone, unfortunately, because returning false from the onselectstart event is necessary to disable selection in Internet Explorer. Changing the cursor to "default" is not necessary to disable selection, but, without it, browsers will still display the text selection cursor over the unselectable text, which is confusing to end users.
Fonte: http://ajaxcookbook.org/disable-text-selection/
Transizione per effetti di animazione
The first most common mistake is to do all animation effects at a constant speed. For many types of effects, linear/constant speed animation looks clunky because the animation starts and stops and so abruptly. The solution is to adjust the speed of the animation based on a sinusoidal curve rather than a line so that the transition looks smoother -- basically, it should start slow and end slow and speed up in the middle.
The second most common mistake is to do all animation at a constant frame rate. Given the dramatic DOM performance differences between web browsers and operating systems, an animation with a constant number of frames can take an order of magnitude longer on some users' computers. The solution is to perform animation in a constant amount of time, adjusting the frame rate based on the performance of the user's browser.
The Transition class below is a recipe that can handle any type of animation (linear, sinusoidal, etc) with a variable frame rate:
function Transition(curve, milliseconds, callback) {
this.curve_ = curve;
this.milliseconds_ = milliseconds;
this.callback_ = callback;
this.start_ = new Date().getTime();
var self = this;
this.runCallback_ = function() {
self.run();
};
}
Transition.prototype.run = function() {
if (!this.hasNext()) return;
this.callback_(this.next());
setTimeout(this.runCallback_, 10);
}
Transition.prototype.hasNext = function() {
if (this.done_) return this.oneLeft_;
var now = new Date().getTime();
if ((now - this.start_) > this.milliseconds_) {
this.done_ = true;
this.oneLeft_ = true;
}
return true;
}
Transition.prototype.next = function() {
this.oneLeft_ = false;
var now = new Date().getTime();
var percentage = Math.min(1, (now - this.start_) / this.milliseconds_);
return this.curve_(percentage);
}
The Transition class is designed to be used with a function that defines the curve/speed of the animation. Here are sinusoidal and linear examples:
function SineCurve(percentage) {
return (1 - Math.cos(percentage * Math.PI)) / 2;
}
function LinearCurve(percentage) {
return percentage;
}
You can use one of the functions with the Transition class with the following pattern:
var transition = new Transition(SineCurve, 1000, function(percentage) {
// Move your element percentage of the way through the animation
});
transition.run();Here is a practical example that moves text diagonally across the screen at a sinuoidal speed:
var element = document.getElementById("animated");
element.style.position = "absolute";
element.style.left = "0px";
element.style.top = "0px";
var transition = new Transition(SineCurve, 1000, function(percentage) {
var x = element.parentNode.offsetWidth - element.offsetWidth;
var y = element.parentNode.offsetHeight - element.offsetHeight;
element.style.left = Math.round(percentage * x) + "px";
element.style.top = Math.round(percentage * y) + "px";
});
transition.run();
Fonte: http://ajaxcookbook.org/transitions-animation-effects/
Disabilitare il menu contestuale del browser
Puoi disabilitare il menu contestuale del browser per un elemento nel tuo DOM con il seguente script JavaScript:
function disableContextMenu(element) {
element.oncontextmenu = function() {
return false;
}
}
Ad esempio se vuoi disabilitare il menu per una foto nella tua pagina potresti usare:
disableContextMenu(document.getElementById("photo"));
Fonte: http://ajaxcookbook.org/disable-browser-context-menu/
Ottenere valori generici da post con php
Per ottenere i dati via post , occorre utilizzare la seguente sintassi:
$variabile = $_POST['datoinviato'];
cosi facendo non si conoscono quali dati si stanno inviando se i dati vengono da un from generico.
per cui, come faccio ad ottenere l'elenco dei valori e dei dati contenuti in essi del post?
<?php
foreach($_POST as $key => $valore)
echo $key.' '.$valore.'<br />';
?>
Introduzione alla pixel art
Obiettivo
In questo articolo vedremo come sia possibile disegnare degli oggetti grazie alla pixel grafica.
Articolo
Chi non avesse mai visto un disegno fatto tramite questa tecnica deve sapere che questo modo di disegnare presuppone l'utilizzo dei pixel (singoli punti) come ingrediente del disegno.
Software
I software che possiamo utilizzare sono tantissimi, diciamo che qualsiasi software di grafica che riesca a disegnare un singolo pixel e' buono.
Solo per citarne qualcuno:
Photoshop
Fireworks
Ms paint
Prime tecniche
Vediamo come disegnare una semplice linea
In questo caso abbiamo disegnato una linea che ha inclinazione di 30° e come si puo' vedere e' costituita da tanti piccoli segmenti da 2 pixel. Il fatto che sia costituita da segmenti uguali e' molto importante per un ottima resa grafica. Un errore molto comune:
Linee
Abbiamo visto come realizzare una semplice linea con angolazione di 30°, adesso vediamo le altre angolazioni.
![]()










