Pods Framework: wordpress come non lo avete mai visto

{ Inserito il 11 ago 2014 da maury }
Categories : Plugins, WordPress

Se volete spingere le vostre conoscenze su WordPress ad un livello superiore dovete assolutamente provare “Pods Framework”, il plugin ideale per trasformare WP in un vero CMS. Una volta attivato potrete sia estendere Posts, Categorie, Allegati e molti altri oggetti con proprietà personalizzate ma potrete anche creare dei tipi di Post personalizzati, arricchirli, correlarli fra loro e poi mostrarli con avanzato sistema di Template.

Assolutamente da provare: Pods Framework

Quando vi sarete divertit un po’ capirete subito che manca qualcosa: come è possibile mostrare in automatico un Pod senza dover creare pagine o post di WordPress manualmente?

La risposta è semplicissima: Pods Frontier Auto Template

Recuperare i dati di una GridView in Asp.net da dentro un RowCommand

{ Inserito il 08 feb 2014 da maury }
Categories : C#

se all’interno di un RowCommand di una GrdiView

protected void gridView_RowCommand(
   object sender, 
   GridViewCommandEventArgs e
)

volessiamo recuperare i dati della riga corrispondente che ha scatenato il comando possiamo usare

GridViewRow row = 
(GridViewRow)(((Control)e.CommandSource).NamingContainer);

Utili comandi SQL

{ Inserito il 21 gen 2014 da maury }
Categories : SQL Server

Ecco una serie di utili comandi SQL Server

comprimere un database e lasciare 1% di spazio libero

DBCC SHRINKDATABASE (dbname, 1);

sapere lo spazio occupato da un database

exec sp_spaceused

conoscere lo spazio occupato da tutte le tabelle di un database

sp_msforeachtable 'EXEC sp_spaceused [?]'

Aruba: modulo zip archive

{ Inserito il 19 dic 2013 da maury }
Categories : WordPress

Non so se vi è mai capitato ma trasferendo un sito in WordPress su Aruba tramite il plugin Duplicator mi veniva segnalato che il modulo ZipArchive non era installato, dopo un po’ di ricerche ho trovato come risolvere: basta anadre nel pannelo di controllo del dominio su Aruba, scegliere “Pannello di gestione hosting Linux” e poi selezionare l’ultimo Php.ini della lista “zip_cgi.fix_pathinfo” che ha l’abilitazione per estrarre archivi zip. Fatto tutto basta rimettere il php.ini ottimizzato per wordpress, facile no? (basta saperlo)

Firefox e il messaggio per le finestre di dialogo

{ Inserito il 26 nov 2013 da maury }
Categories : Mozilla FireFox

In Firefox esiste una “protezione” che spesso può risultare fastidiosa, se una pagina web prova ad aprire troppe finestre di dialogo in poco tempo appare una finestra che permette di bloccare questo comportamento, infatti potebbe accadere che ci ritroviamo centinaia di dialogbox aperte e che chiedono la nostra conferma.
Putroppo in alcuni casi questo può risultare fastidioso perchè potrebbe essere normale che alcuni siti chiedano lecitamente di aprire di seguito alcune finestre di dialogo, per disabilitare basta andare nelle opzioni avanzate di FireFox e creare una nuova voce settandone il valore a zero come qui indicato:

nella barra degli indirizzi di FireFox inserire

about:config

E creare (se non esiste) una voce di configurazione di tipo “integer” settandone il valore a zero:

dom.successive_dialog_time_limit = 0;

Le 10 cose che i clienti cercano in un sito di e-commerce

{ Inserito il 15 nov 2013 da maury }
Categories : PrestaShop

Sul blog di Prestashop è apparso un articolo molto interessante su come rendere il vostro negozio online accattivante e vi invito a leggerlo:

le 10 cose che i clienti cercano in un sito di e commerce

ecco alcune osservazioni

3. Promozioni e spedizione gratuita: la spedizione gratuita è sicuramente uno dei motivi che più attraggono un cliente, come puoi proporre un oggetto che costa 10 euro e poi chiederne 5 di spedizione?

6. Servizio clienti: non smetterò mai di dirlo, un acquirente si fida di chi conosce, quindi è assolutamente necessario inserire una pagina con telefoni, indirizzi postali, foto dello staff e del negozio, rendetevi riconoscibli è come lasciare aperta la porta del negozio, lasciate che chi passa possa curiosarvi dentro

8. Checkout come “ospite”: perchè mi devo registrare se voglio solo comprare un oggetto e basta? ti lascio i miei dati, ti pago e basta, non annoiate chi compra con lunghe e complesse procedure di registrazione. Se poi un cliente ritornerà e diventerà affezionato allora deciderà da solo di registrarsi…

Gli indirizzi per i servizi di Aruba

{ Inserito il 14 nov 2013 da maury }
Categories : Generico, hosting

Devo ammettere che Aruba negli ultimi anni è molto migliorata come qualità dei servizi, al di là dei gusti personali ad oggi si può dire che in base al rapporto qualità/prezzo fornisce un servizio più che sufficiente, un unico problema è forse un sistema di rinnovi e amministrativo un po’ farraginoso che implica diversi indirizzi per diverse gestioni dei servizi, ecco qui un elenco di alcuni indirizzi di riferimento che cercherò di tenere aggiornato:

Accesso al pannello di controllo dei servizi per vedere e rinnovare domini, scadenze, pec, etc
http://hosting.aruba.it

Accesso diretto al pannello di controllo di un dominio
http://admin.aruba.it

Modifica dei dati anagrafici associati al login
https://hosting.aruba.it/frmLogonAnagrafica.asp

Rinnovo e verifica scadenza del servizio Sql Server
https://hosting.aruba.it/net/mssql/login.aspx

Gestione dei database Sql Server
http://mssql.aruba.it/

http://hosting.aruba.it/MySql/Mysql.asp
Rinnovo e verifica scadenza del Servizio MySql

Gestione dei database MySql
http://mysql.aruba.it

Recupero password servizi
https://hosting.aruba.it/Domini/SpedisciDatiDominio.asp

Linux: cancellare files più vecchi quando sono tanti

{ Inserito il 04 nov 2013 da maury }

Non so se avete mai provato a cancellare da una cartella linux i files più vecchi di una certa data, sembra facile con uno script del genere

find <path_to_folder>/*.jpg -mtime +5 -type f | xargs rm -f

ma se la cartella ha decine di migliaia di files compare l’errore “too many arguments” e non se ne esce

ho dovuto quindi andarci giù pesante scrivere uno script che prenda i files più vecchi da una cartella, verifichi se sono più vecchi di un file di riferimento e li cancelli, ma si fermi dopo un certo numero di files per non intasare il server…

fcount=0;
cd <path_to_folder>

touch -d "5 days ago" timestampfile.tmp

for f in `ls -t -r`
 do 
 let "fcount += 1"; 
 #cancello solo se più vecchio di 5 giorni
 if [ $f -ot "timestampfile.tmp" ] 
 then
  rm "$f";
 fi 
 #cancello al max 100 files
 if [ $fcount -gt 100 ]
 then
  break
 fi
done 

Un semplice CAPTCHA per Asp.Net

{ Inserito il 12 set 2013 da maury }
Tags : , , , , ,
Categories : Generico

Per proteggere un form asp.net in modo che possa essere inviato solo se c’è un “umano” e blocchi così gli script automatici si usano delle tecniche chiamate di “CAPTCHA” termine difficile per dire che deve essere inserita un’informazione che richiede un minimo di “comprensione”. Questa “domanda”, per complicare un po’ la vita ad uno script, dovrebbe essere mostrata nella pagina come immagine e non come testo.

Alla ricerca della soluzione più sem plice possibile ho trovato questa semplice strategia:

1-nel Page_Load se non è un postback creo una qualche “scritta” e salvo nel ViewState il “risultato previsto” (verificate che sia abilitata la cifratura del ViewState)

string _domanda = "testo da mostrare";
ViewState["risultato"] = _risultato;

2-ovviamente dop il PostBack recupero il valore

if (ViewState["risultato"] != null)
  _risultato = (string)ViewState["risultato"];

3-alla fine del Page_Load devo mostrare nella pagina la “domanda”, non volenod generar eun’immaigne e salvarla su disco o creare un httphandler, scelgo di usare il formato “base64″ embedded per il src dell’immagine:

Bitmap oBitmap = new Bitmap(80, 22);
Graphics oGraphics = Graphics.FromImage(oBitmap);
Brush oBrush = new SolidBrush(Color.White);
oGraphics.FillRectangle(oBrush, 0, 0, 100, 40);

Brush oBrush2 = new SolidBrush(Color.Black);
oGraphics.DrawString(
  _risultato, 
  new Font("Arial", 13, FontStyle.Italic),
  oBrush2,
  new Point(5, 1));

/*BASE64*/
string base64String = string.Empty;
MemoryStream memoryStream = new MemoryStream();
oBitmap.Save(memoryStream,
    System.Drawing.Imaging.ImageFormat.Jpeg);
memoryStream.Position = 0;
byte[] byteBuffer = memoryStream.ToArray();
memoryStream.Close();

base64String = Convert.ToBase64String(byteBuffer);
byteBuffer = null;

imgCaptcha.Attributes["src"] = 
    "data:image/jpeg;base64," + base64String;

e alla fine nell’evento “Click” del pulsante verificare che il “risultato” sia proprio quello previsto:

if (txtRisultato.Text) == _risultato)

Solo con Explorer che delirio

{ Inserito il 02 mag 2013 da maury }
Tags : ,
Categories : Generico

Sempre più spesso mi imbatto in servizi online che mostrano una simpatica mascherina se provi a visitarli con FireFox o Chrome

solo-explorer

visto che non so nemmeno dov’è l’icona di Explorer sul mio PC (e mi piacerebbe non usarlo più) non sapete come sia contento che sia necessario usarlo per accedere a quesit servizi. Il perchè è semplice: tali servizi usano controlli ActiveX (ancora qualcuno li usa??? ma siamo pazzi?) che ovviamente hanno senso solo con Internet Explorer…che tristezza!