unodeitanti.com

tutto

Qualche giorno di disordine …

by admin on Jan.29, 2010, under tutto

… nei prossimi giorni dovrò sistemare le categorie del blog. Come vedete ho cambiato tema e non va troppo daccordo con il casino che ho fatto con le categorie. Datemi qualche giorno di tempo.

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments : more...

Modificare Virtuemart

by demo on Jan.29, 2010, under tutto

L’argomento è piaciuto nel forum di VMItalia per cui lo tratto anche in un mio post. Il tip di oggi riguarda VirtueMart ovvero la possibilità di aggiornare il carrello senza che venga mostrara lo spiacevole popup. Nello specifico, quando si clicca sul pulsate “aggiungi” appare questo popup e si può scegliere se andare nel carrello o se continuare l’acquisto nella pagina attuale. Per quello che mi riguarda, è assolutamente scomodo.

Analizzando il codice, ho verificato che il bottone è un semplice submit e la soluzione va quindi ricercata nell’evento onsubmit del tag form. Andando a vedere, si vede come venga richiamata la funzione handleAddToCart. E’ questa la colpevole della creazione del popup. Non so se sia modificabile da amministrazione questo messaggio/popup. Fatto sta che ora vi indicherò il file in cui si trova e più precisamente cosa modificare di questa funzione. L’obiettivo dell’intervento chirurgico, farà si che quando gli utenti cliccheranno su “aggiungi”, aggiorneranno immediatamente la pagina.

C’è da dire un’altra cosa: il template in cui utilizzo il mio VirtueMart, mostra il carrello lateralmente ed è per questo che non voglio che alla pressione del tasto “aggiungi” si vada nel carrello. In questo modo, ad ogni acquisto, si può vedere il carrello aggiornato lateralmente.

Il colpevole di questo popup si trova nel file [sito]/components/com_virtuemart/theme/theme.js

Al suo interno c’è la funzione di cui vi ho parlato: handleAddToCart(); Ricercate “handleAddToCart” per trovarla.

A questo punto analizziamo velocemente il codice di questa funzione:


function handleAddToCart( formId, parameters ) {
formCartAdd = document.getElementById( formId );
var callback = function(responseText) {
updateMiniCarts();
if (document.boxB) {
document.boxB.close();
clearTimeout(timeoutID);
}
document.boxB = new MooPrompt(notice_lbl, responseText, {
buttons: 2,
width:400,
height:150,
overlay: false,
button1: ok_lbl,
button2: cart_title,
onButton2: handleGoToCart
});
setTimeout( 'document.boxB.close()', 3000 );
}

var opt = {
method: 'post',
data: $(formId),
onComplete: callback,
evalScripts: true
}
new Ajax(formCartAdd.action, opt).request();
}

Questo codice, fa si che venga aperto il popup e siccome non lo volevo, ho brutalmente commentato il codice che non mi interessava ottenendo questo risultato:


function handleAddToCart( formId, parameters ) {
formCartAdd = document.getElementById( formId );
var callback = function(responseText) {
updateMiniCarts();
setTimeout( document.location.reload() , 3000 );
}
var opt = {
method: 'post',
data: $(formId),
onComplete: callback,
evalScripts: true
}
new Ajax(formCartAdd.action, opt).request();
}

Come si può vedere, ho eliminato il codice di troppo. Eheheh a dire il veri ho fatto queste modifiche così tanto tempo fa che non sono nemmeno sicuro che siano giuste. Ho postato tutto su vmitalia. C’erano alcuni utenti che aspettavano questo mio post da tempo così ho pensato di farlo anche qui. Spero di aver aiutato qualcuno in giro per la rete.

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments : more...

La dolce vita ha vinto un Oscar nel 1962

by demo on Jan.29, 2010, under tutto

Secondo wikipedia “1 Premio Oscar 1962 (su 4 nomination): migliori costumi (b/n)”. Ho trovato un sacco di siti che dicevano che “la dolce vita” non ha vinto questo premio nel 1961. Eh! Solo che a forza di vedere domande di Google a destra ed a sinistra in banner pubblicitari. Ho deciso anche io di fare un post su questo film. Amen!

Tanto per dare un’informazione il più completa possibile, vi mostor nientepopodimeno che:
tutti gli oscar del 1962

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments more...

Sono riuscito a scrivere il mio primo componente di joomla!

by demo on Jan.28, 2010, under tutto

Oh! Ce l’ho fatta. Sono cirocando da un mondo che non conosce joomla! eravamo solo io ed il wiki. Solo che mi sono accorto che la documentazione non era adeguata. Molte cose le ho dovute improvvisare. Sono stato costretto a metterci molto più del necessario. Forse ho avuto sfortuna, distrazione. Poco importa.

Questo componente per joomla serve per inviare una newsletter. La newsletter sarà in formato HTML e quindi molto gustosa. Ora torno a lavorare. Il pattern MVC di joomla! non mi piace per nulla, devo essere sincero… ma una volta imparato, da tante soddisfazioni =).

Non vedo l’ora di completarlo e di rendere disponibile un vero e proprio installer per tutti coloro che vorranno usufruire di questo componente.

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments more...

Costruire un componente per joomla

by demo on Jan.28, 2010, under tutto

In questi giorni sto lavorando assiduamente ad un sito basato su joomla!. Sto anche cercando di studiare come scrivere un componente per joomla. Mi sono reso conto che in giro non c’è tanta documentazione in italiano. Oltre tutto, non mi sembra nemmeno tanto valida (per me che mi piacciono le cose spiegate per bene bene bene per i bambini).

Così ho deciso di creare un componente per conto mio, basandomi si tutta una serie di fonti che documentereò. Sto creando un semplice tutorial di poche pagine ma scritto sufficentemente bene, per far capire persino ad un niubbo cosa sia il MVC e come si adopera in joomla.

Ora torno al mio componente e spero di potervi raccontare prest ed in modo chiaro e semplice, come si gioca con joomla.

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments :, more...

Joomla e Community Builder hanno qualche problema con phpmailer?

by demo on Jan.12, 2010, under tutto

Ho installato un joomla per realizzare un ecommerce/community. Installiamo VirtueMart per fare il carrello. Installiamo Community Builder per fare la community. Modifichiamo qualche template e sistemiamo un pochino di codice a destra ed a sinistra per renderlo fico. Proviamo la registrazione.. PAM dai e dai … viene fuori che community builder (o meglio comprofiler) non invia le email ai domini di alice.it.

La cosa è assurda. Fatto sta che sono andato a scavare il codice che invia le email e sorpresa, phpmailer non riesce a costruire correttamente l’header. Ho provato a registrarmi sia con un indirizzo di gmail ottenendo questo:

Date: Tue, 12 Jan 2010 03:22:20 +0100 Return-Path: From: Registrazione utenti <> Reply-To: Registrazione utenti Message-ID: <44ffffbc0197cce7915279957c5a8734@www.oragiovane.it> X-Priority: 3 X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version 2.0.0 rc3] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=”UTF-8″

E con quello alice.it invece:

Date: Tue, 12 Jan 2010 03:22:20 +0100 Return-Path: From: Registrazione utenti <> Reply-To: Registrazione utenti Message-ID: X-Priority: 3 X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version 2.0.0 rc3] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=”UTF-8″

Ho scavato un altro pochino nel codice e viene fuori che per ragioni che ignoro e che voglio scoprire domani… non riesce a costruire correttamente il “Message-ID”. Non ho trovato nulla su bug, o forum o altro. E’ anche facile che pochi abbiamo riscontrato problemi con alice.it e con joomla e con community builder contemporaneamente.

Fatto sta che per il momento ho risolto il “bug” semplicemente non inserendo l’header quando viene inviata la mail. Il file in questione è di phpmailer e trattandosi di una libreria opensource, credo che mi dovro sbrigare a segnalarlo agli sviluppatori. La cosa buffa, è che se faccio un var_dump di mail(); restituisce bool(true) ma la mail non viene mai inviata.

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments :, , , , , more...

ikariam

by demo on Dec.31, 2009, under tutto

Mi sono iscritto ad un altro browser game oltre a travian. A dire il vero travian non lo seguo più da un pezzo. Voglio vedere com’è questo ikarim. Di primo acchitto è deludente in quanto poco intuitivo. Il segreto di travian è la facilità di gioco. Stiamo a vedere com’è sto browser game qui. Ne vorrei fare uno da me. Prima però voglio guardarmi attorno e capire come stanno le cose.

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments :, more...

Buon natale a tutti voi

by demo on Dec.24, 2009, under tutto

Questo è un post fuori dal comune per unodeitanti =). Vi auguro semplicemente un buon natale.

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments : more...

Giochi tipo travian

by demo on Dec.22, 2009, under tutto

Non gioco a travian da una vita. Non ho mai aperto ogame, ma ogni tanto do una capatina a pirateswar. Fatto sta che, per ammazzare il tempo, dedico 5 minuti alla settimana allo sviluppo di uno sfogo che potrebbe definirsi browsergame. Non ho nessuna pretesa, ma solo la voglia di perdere del tempo di quando in quando e fare l’ennesimo role player game basato sul web. http://www.unodeitanti.com/gdr

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments : more...

Nuovo pulse plugin per jquery

by demo on Dec.18, 2009, under tutto

Tempo fa avevo scritto un post sull’effetto pulse di jquery. Quel codice non è più reperibile ed il sito originale pare essere sparito. Ho fatto alcune ricerche ed ho trovato qualcosa di nuovo.

pulse plugin per jquery

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments :, , more...

include_path di php.ini

by demo on Dec.13, 2009, under tutto

Con php, è possibile modificare il percorso in cui vengono ricercati i file, ogni volta che vengono richiamati con il comando include. Questo ci da la possibilità di tenere tutto il codice riciclabile in una sola cartella. Questo ci permetterà di programmare con più ordine. In oltre, i nostri singoli script saranno più “leggeri” e non dovremo sempre portarci dietro tutte le classi ed i file di funzione che stiamo riciclando perchè si troveranno sempre nello stesso luogo.

Ovviamente si parla di programmazione in locale. Quindi occhio!

Per ottenere questo risultato, dobbiamo aprire il file php.ini. Utilizzando un programma come wamp è tutto molto semplice:

Modificare php ini con wamp

A questo punto dobbiamo solo cercare il parametro “include_path”. Io, per esempio, l’ho modificato in questo modo:
include_path = “c:/php/”
Oltre a questo piccolo accorgimento, ho inserito in alcuni files un codice magico:
function __autoload($ClassName){include $ClassName .”.php”;};

Attenzione: tutti i files da riciclare ora si trovano dentro c:\php. Non solo: iul codice qui sopra include automaticamente il file php della classe che si sta cerc ando. A questo punto, scrivendo semplicemente NomeClasse::metodo(); verrà automaticamente incluso il file c:/php/NomeClasse.php. Non ci sarà più da includere o cercare i files di classi o di template: in generale, basterà indicare in php.ini dove si trovano e per il resto dovremo sempre scrivere meno codice.

Da un punto di vista della sicurezza, in oltre, le classi si possono trovare in un livello del webserver che non può essere visto dall’esterno. Con questo metodo, quindi, possiamo anche mantenere i files di configurazione con username e password dei nostri database in un luogo sicuro. Beh, non so se ho detto una cosa vera =) non me ne intendo di sicurezza ma è la prima cosa che mi viene da pensare.

Il rovescio della medaglia sta nel fatto che tutto il codice sta li: compreso quello che non serve. Se dovessi spostare un nostro programma come facciamo?

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments :, , more...

SkypeNames non è un worm

by demo on Nov.24, 2009, under tutto

Mi è appena apparso un messaggio strano su skype dicendomi che SkypeNames.exe mi richiedeva l’apprivazione per accedere al programma. La prima cosa che ho fatto, è stata cercare su google di che cosa si trattasse. Non è ne un worm ne un programma “cattivo” che tenta di fare il furbo. O meglio… Leggendo nel forum di skype, viene fuori che si tratta solo di una parte di Skype 4.1 per i browser per windows di IE o di FF.

Io ho evitato di consentire l’accesso a questo SkypeNames. Ciao beli.

http://forum.skype.com/index.php?showtopic=374041

(continue reading…)

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments more...

Jolie – Lezione 3 – Lavorare con dati semplici

by demo on Oct.26, 2009, under tutto

^topTipi di dato base
JOLIE supporta quattro tipi di dato base e sono:
int: integers;
double: double-precision floats;
string: strings;
byte arrays.

I Byte arrays, al contrario degli altri 3 tipi di dato base, non possono essere creati direttametne dal programmatore, ma sono supportati in caso il servizio ne ritorni uno e questo debba essere passato al servizio.

^topVariabili ed espressioni
Le variabili non devono essere dichiarate. Il loro tipo può anche cambiare nel corso del tempo:
a = 5;
a = “Hello”
JOLIE supporta alcuni operatori base come: somma, diffetenza, moltiplicazione, divisione e modulo. Il loro comportamento è quello classico degli altri linguaggi di programmazione. Come succede in molti altri linguaggi, si possono anche pre/postincrementare e pre/postdecrementare le variabili:
a = 1;
b = 4;

n = a + b/2; // n = 3
n++; // n = 4
n = ++a + (b++)/2 // n = 4
^topStringhe e Concatenazione di Stringhe
Le stringhe possono essere inserite racchiudendole tra doppi apici.
s = “Questa è una stringa\n”

Le Stringhe si possono anche concatenare usando l’operatore ‘+’:
s = “Questa è ” + “una stringa\n”

La formattazione è preservata, quindi potete formattare le stringhe iserendo dei tabs e degli ‘a capo’:
s = ”
JOLIE conserva formattazione.
Questa linea sarà indentata.
Anche questa linea.

^topCasting e Checking del tipo
Le variabili possono essere convertite con il cast in altri tipi di base in questo modo:
s = “10″;
n = 5 + int(s); // n = 15

d = “1.3″;
n = double(d); // n = 1.3
n = int(n) // n = 1

In oltre si può controllare il tipo di variabe runtime:
s = “10″;
n = is_string(s); // n = 1
n = is_int(s) // n = 0

^topVariabili non definite
Una variabile è indefinita fino a quasno non le viene assegnato un valore. Si può verificare se una variabile è indefinita usando lo statemente is_defined:
a = 1;
if (is_defined(a)) {
println@Console(“a e’ definita”)()
}
Spesso è utile avere una variabile non definita, ad esempio per rimuovere il suo valore e renderlo nuovamente non definito. Si può fare anceh con lo statement undef:
a = 1;
undef(a);
if (is_defined(a)) {
println@Console(“a e’ definito”)()
} else {
println@Console(“a non e’ definito”)()
}

^topVettori
I Vettori (o array) sono accessibili attraverso le parentesi quadre [] come in molti altri linguaggi:
a[0] = 0;
a[1] = 5;
a[2] = “Hello”;
a[3] = 2.5

Ogni variabile è un vettore
La creazione di vettori in JOLIE, fa si che tutto sia un vettore anche quando non è dichiarato in modo esplicito perchè:
ogni variabile JOLIE è un vettore

Non ci si deve preoccupare di nulla nel caso non si abbia bisogno di vettori, perchè Jolie nasconde tutto il meccanismo al programmatore quando non ha bisogno di lavorare con un vettore. Sicuramente, quando non viene specificato l’indirizzo del vettore, è 0 (zero) di default:
a = 1; // JOLIE interprets this as a[0] = 1
println@Console(a[0])() // Will print 1

Dimensione dei vettori
Si può ottenere la dimensione di un vettore con l’operatore # (che indica la sua cardinalità come gli insiemi dei vettori:
a[0] = 0;
a[1] = 1;
a[2] = 2;
a[3] = 3;
println@Console(#a)() // Will print 4

Vettori non definiti
Si può applicare lo statement undef ad un vettore specificando l’indice del vettore che si vuole eliminare. D’altra parte, lo statement undef può essere applicato ad un singolo elemento del vettore: JOLIE ridimensionerà automaticamente il vettore:
a[0] = 0;
a[1] = 1;
a[2] = 2;
a[3] = 3;
undef(a[2])

/*
Now we have:
a[0] == 0
a[1] == 1
a[2] == 3
*/

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments more...

Javascript Camp – Il mio intervento sul Dom2 ed i Listener per eventi

by demo on Sep.28, 2009, under tutto

Lo scorso Venerdì, 25 Ottobre 2009, ho partecipato al Javascript Camp. E’ stata la mia prima volta ad un Bar Camp e mi chiedo che diavolo ho fatto fino a questo momento. In un bar Camp, ci si ritrova a discutere insieme, ciascuno proponendo un proprio intervento. Si votano gli argomenti migliori, quindi ci si raccontano le proprie esperienze con piccoli talk che ho visto variare da pochi minuti a più di mezz’ora di “gioco”. Si perchè per “noi nerd” imparare e condividere è un gioco.

Per l’occasione ho preso uno di quei libretti che ogni tanto mi piace comprare e mi sono preparato un talk su un argomento specifico di javascript. Ho condiviso le slide e le potete consultare a questo link:
listener per eventi. Non era nulla di interessante o eccitante: i listener per eventi non sono altro che una delle cose che sia ie che ff implementano in modo diverso e che quindi, noi programmatori, siamo costretti a non poter sfruttare. La morale della favola, del mio talk, era che “wow che fico… non usatelo: jquery e co. fanno già tutto quello di cui abbiamo bisogno.”.

Ci siamo lasciati con l’idea di realizzare un HTML5 Camp/Day verso dicembre… e credo che alzerò il tiro e la qualità del mio intervento. Ci sono diverse API interessanti come la Geolocation (assolutamente piacevole da implementare ma tutt’altro che utile visto che da casa mia – Cesena – viene individuato un indirizzo che sta a Bologna). Tra le altre cose la Geolocation API, al momento in cui scrivo, è supportata solo da Firefox 3.5 che, a dirla tutta, sta deludendo tutti.

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments :, more...

Che cosa è json? Un esempio …

by admin on Sep.17, 2009, under tutto

Oggi è una giornata speciale perchè ieri questo blog ha avuto il suo record di visite giornaliere (per lo meno stando a google analytics). Siamo addirittura arrivati a 113. Un branco di pazzi =). Fatto sta che oggi sono qui per parlare di una cosetta nuova per me: json.

(continue reading…)

Condividi questo post sui tuoi social network preferiti:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
Comments :, , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!