mercoledì 5 dicembre 2012

Come cambiare la root directory di un progetto ZF2 su di un hosting di terze parti

Questo .htaccess va nella root directory.



RewriteEngine On

RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ public/index.php [NC,L]

RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ public/$1

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]

RewriteRule ^public/.*$ public/index.php [NC,L]



Questo invece nella cartella public (è uguale a quello dello scheletro).



RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Come cambiare il base URL in un progetto ZF2

Cambiare il file in public/index.php in questo modo.

<?php
chdir(dirname(__DIR__));

require 'init_autoloader.php';

$application = Zend\Mvc\Application::init(require 'config/application.config.php');
$application->getRequest()->setBaseUrl('/school_gear');
$application->run();

venerdì 6 luglio 2012

Dominio di primo livello gratis

Se hai aperto un sito web su di un servizio di hosting gratuito, quasi sicuramente ti sarà stato assegnato un dominio di secondo o di terzo livello del tipo tuodominio.altervista.it. Ti piacerebbe che questo fosse raggiungibile attraverso l'hostname tuodominio.it? Ovviamente si può fare, però non è gratis per il dominio .it. Puoi però ottenere gratuitamente un dominio di primo livello .tk, per cui il tuo sito potrà essere raggiunto da tuodominio.tk.

Tutto ciò è completamente gratuito e puoi registrare quanti domini desideri. Una volta registrato il dominio potrai cambiarne i DNS per farli puntare al tuo sito. Sbalorditivo!

mercoledì 4 luglio 2012

Non lavare i piatti

Ti piacerebbe non dover mai lavare i piatti? Bene, io ho la soluzione che fa per te. No, non ti proporrò l'acquisto di una lavastoviglie. Io a casa ce l'ho e non la uso mai.

Come faccio? Il trucco è semplice. Non vuoi lavare i piatti? Semplicemente non farlo.
Ti sembrerà assurdo ma ogni qualvolta sporchi un piatto, una forchetta, una tazzina o qualsiasi altra cosa richieda di essere lavata, tu mettila nel lavandino e lasciala li. La prossima volta che ti serve qualcosa di pulito, tu prova a vedere, prima di pescarla pulita dalla credenza, se ce n'è qualche esemplare sporco nel lavandino. Se è presente, dalle una sciacquata e prendi quella.

L'obbiettivo principale sarà quello di non far lievitare il livello del lavandino, evitando l'accumulo di pezzi dello stesso tipo.

Io seguo una dieta crudista e non ungo o macchio quasi nulla, quindi mi trovo divinamente con questo metodo perché con una sciacquata pulisco davvero le stoviglie. Se per te non è lo stesso, prova a lasciare sempre vicino al lavandino una spugnetta per lavare i piatti già insaponata. In questo modo la prossima volta che dovrai sgrassare qualcosa ci metterai meno tempo.

Il trucco c'è ma non si vede. In segreto è che lo smazzamento di lavare centinaia di piatti, posate e padelle in una volta sola viene ammortizzato nel tempo, facendo sembrare il lavoro molto più leggero (per me praticamente inesistente).

giovedì 28 giugno 2012

Elenco di tutti i pacchetti installati da AUR

Se ti interessa un elenco di tutti i pacchetti "non ufficiali" installati da AUR, allora puoi utilizzare il comando pacman -Qm. Se utilizzi Yaourt allora in alternativa puoi utilizzare anche il comando yaourt -Qm che ti darà un output più colorato.

Vedere la coda di stampa su XFCE

XFCE non ha di default una GUI per permettere all'utente di interagire con la coda di stampa.

Per colmare questo vuoto puoi installare il pacchetto disponibile anche su Gnome: system-config-printer-gnome. La versione per Arch Linux si trova nei repo ufficiali. Questa è la pagina del pacchetto.

mercoledì 27 giugno 2012

Recuperare latitudine e longitudine da un indirizzo

Capita spesso di dover convertire la stringa dell'indirizzo dell'utente in latitudine e longitudine terrestri. Per fare ciò è possibile utilizzare le Google Geocoding API impacchettate e già pronte in questa classe da me realizzata.

<?php

/**
 * GooglePlaceRequest uses Google Geocoding API to retrieve information
 * about an address.
 *
 * @author Egidio Caprino
 * @see https://developers.google.com/maps/documentation/geocoding/
 */
class GooglePlaceRequest
{
    /**
     * HTTP request to Google Geocoding API address.
     *
     * @var Zend_Http_Client
     */
    protected $response = null;
 
    /**
     * Constructor method. Will execute the request for the given address.
     *
     * @param string $address
     * @throws Zend_Http_Client_Exception
     */
    function __construct($address)
    {
        $uri = 'https://maps.googleapis.com/maps/api/geocode/json';
     
        $client = new Zend_Http_Client($uri);
        $client->setParameterGet('address', urlencode($address));
        $client->setParameterGet('language', 'en');
        $client->setParameterGet('sensor', 'false');
     
        $response = $client->request(Zend_Http_Client::GET)->getBody();
        $response = Zend_Json_Decoder::decode($response);
     
        if (strcmp($response['status'], 'OK') !== 0) {
            throw new Zend_Http_Client_Exception('Invalid status: "' .
                $response['status'] . '".');
        }
     
        $this->response = $response;
    }
 
    /**
     * Return the formatted address in english language.
     *
     * @return string
     */
    public function getFormattedAddress()
    {
        return $this->response['results'][0]['formatted_address'];
    }
 
    /**
     * Return the latitude of the place.
     *
     * @return int
     */
    public function getLatitude()
    {
        return $this->response['results'][0]['geometry']['location']['lat'];
    }
 
    /**
     * Return the longitude of the place.
     *
     * @return int
     */
    public function getLongitude()
    {
        return $this->response['results'][0]['geometry']['location']['lng'];
    }
}