Altering ECK save message

Altering ECK save messages is now possible thanks to these hooks:

defined in eck.api.php.

I strongly suggest you to check that file because is full of interesting hooks that allow developers to customize eck standard (and horrible) behavior.

Enjoy!

Backup di tutti i database mysql

Talvolta capita di dover cambiare pc o semplicemente cambiare versione del proprio virtual web server locale preferito. Sia esso Xamp, Mamp o Wamp il concetto è sempre lo stesso. Dobbiamo trasportare i database da un posto ad un altro.

Problema

Ho più database sul mio mysql (locale o remoto) di cui devo ottenere un backup. Il comando che segue ci consente di effettuare questa operazione da linea di comando è il seguente:

Come si può facilmente notare in questo modo sarà creato un dump del singolo database mysql in un file .sql.

Tuttavia talvolta è necessario esportare tutti i database presenti su mysql. A tale scopo si rende indispensabile creare uno script.

Soluzione

È possibile creare uno script che con pochi comandi adempia al compito desiderato: esportare tutti i database mysql con uno script.

Lo script verrà inserito in un file con estensione .sh, che è possibile eseguire sia su Windows, sia ovviamente su Linux e Mac.

Su Windows è possibile farlo con la bash di git o cygwin, in linux eseguendo da riga di comando

a seconda dell’interprete che si desidera utilizzare.

Ma veniamo alla soluzione riportata direttamente dal blog di Daniel Dvorkin:

Una volta inserito in un file di testo, con estensione “sh”, lanciando questo script consentirà di creare un file tar.gz contentente un file .sql per ciascun database presente nel proprio mysql.

È possibile ottenere file zippati con un altro sistema o non compressi affatto semplicemente intervenendo sulla riga dello script che comincia con “gzip” (cancellandola ad esempio si otterrà un file .sql non compresso).

Si noti che la cartella di destinazione deve esistere prima di lanciare lo script, che altrimenti potrebbe fallire miseramente.

Ho testato la soluzione e devo dire che mi è stata molto utile in quanto pratica e veloce.

Ora devo cercare/scrivere uno script per caricare tutti i database siffatti da una cartella ai database veri e propri, ma questo sarà un’altro post.

Outlook messaggi in posta in uscita nonostante inviati

La solita follia che capita a programmi del gruppo Microsoft che dovrebbero avere una maturità tale da essere quasi esenti da bug.

Io non capisco come sia possibile che un’azienda di quel calibro tiri fuori dei prodotti che a volte si perdono in un bicchiere d’acqua.

Il problema

Una volta configurato in IMAP e SMTP l’account all’atto di inviare un messaggio si nota che:

  1. Il messaggio è correttamente inviato
  2. Il messaggio permane nella posta in uscita
  3. La cartella posta inviata non c’è in locale

La soluzione

Troppo facile cambiare client di posta, meglio provare a:

  1. Raggiungere “Impostazioni account”
  2. Cliccare su “Impostazioni avanzate”
  3. E quindi sulla scheda “Impostazioni account avanzate”
  4. Nel campo “Radice posta…” inserire “Inbox” (senza virgolette)

In pratica il software non riesce a riconoscere in maniera autonoma l’alberatura delle cartelle del server e bisogna suggeriglielo … piccola nota “Inbox” è praticamente lo standard!!

Sembra che il problema si verifichi tanto su Outlook 2013 quanto su Outlook 2013.

Che follia …

Spero che quanto scritto torni utile
Diversamente avete tutta la mia solidarietà.

Forza download di un file con PHP

Per costringere il browser a fare scaricare un file che abbiamo su un server magari in una cartella nascosta (fuori dalla www o public_html).

function forza_download($file){
  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Disposition: attachment; filename='.basename($file));
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
  header('Content-Length: ' . filesize($file));
  ob_clean();
  flush();
  readfile($file);
  exit;
}

Ovviamente $file è il realpath del file sulla macchina remota.

Spero che questo snippet possa tornare utile a qualcuno.