mercredi 23 octobre 2013

[Symfony2+Twig] Filter sur une différence de date

C'est tout bête mais je donne l'info pour calculer la différence d'une date dans un template twig.
J'en ai eu besoin dans mon actuel projet perso visible ici :
https://github.com/julnegre/activities_management/

Si ce n'est pas déjà fait ajouter à votre config.yml :
services:    
  jng.twig.jng_extension: 
        class: Jng\ActivityBundle\Twig\JngExtension 
        tags: 
            - { name: twig.extension }   

Dans votre bundle puis dans le dossier twig, pour mon projet : src/Jng/ActivityBundle/Twig/JngExtension.php
Nous allons mettre le code suivant :

class JngExtension extends \Twig_Extension 
{ 
    public function getFilters() 
    { 
        return array( 
            'diffToDate' => new \Twig_Filter_Method($this, 'diffToDateFilter'), 
        ); 
    } 

    public function diffToDateFilter($date1, $date2, $unit=null ) 
    { 
        if( is_null($date2) ) 
            return; 

        $t = $date2->getTimestamp()-$date1->getTimestamp(); 
        if( is_null($unit) ){ 
            $unit="s"; 
            if( $t >= 3600) 
                $unit = "h"; 
            else if( $t >= 60) 
                $unit = "min"; 
        } 

        if( $unit == "s" ) 
            return $t." s"; 
        else if( $unit == "min" ) 
            return round($t/60)." min"; 
        else if( $unit == "h" ) 
            return round($t/3600)." h"; 

    } 

    public function getName() 
    { 
        return 'jng_extension'; 
    } 

}

Ensuite dans votre template on pourra utiliser le filter ainsi :
{{ entity.start|diffToDate(entity.end) }}

lundi 21 octobre 2013

[HTC DESIRE] ROM MIUI v5 3.9.20

Je viens de tester la nouvelle rom MIUI sur mon bon et loyal Desire et je dois dire que je suis fan :

http://forum.xda-developers.com/showthread.php?t=2458493

basé sur un version JB (4.1.2)

Testé et approuvé !


samedi 12 octobre 2013

[Android] Construire son apk sans Eclipse

Je développe sur Android et j'ai coutume d'utiliser Eclipse du début à la fin de mon développement. Mais Eclipse sur Ubuntu fait parfois des siennes lorsqu'il s'agit de construire l'apk : 1 fois sur 3 j'ai un problème de build de l'apk soit j'ai un message d'erreur soit Eclipse se ferme tout seul... :/
Donc me suis dit "wtf!!! ... mais ya quand même une solution pour le faire en ligne de commande ??"

Tout d'abord et si vous ne l'avez pas déjà fait, mettez dans votre PATH les commandes android issues du sdk que vous avez téléchargé :
cd android-sdk-linux/tools/
echo "export PATH=\${PATH}:$(pwd)" >> ~/.bashrc
cd ../platform-tools
echo "export PATH=\${PATH}:$(pwd)" >> ~/.bashrc
. ~/.bashrc

et si vous n'avez pas déjà ant :
sudo apt-get install ant

Ensuite placez vous dans le répertoire de votre projet android (workspace/...).
Faire un :
android list targets
pour avoir la liste des "cibles" à utiliser (càd la version d'android qui sera la cible).

Ensuite on va créer manuellement notre build.xml pour pouvoir compiler le tout avec ant :
android update project --subprojects -p . --target 2
(ne pas oublier le ".")

On  va pouvoir débugger et voir si tout est bon en faisant un :
ant debug

Puis créer un fichier ant.properties pour avoir un apk signé :
echo "key.store=/chemin/vers/votre/fichier/keystore" > ant.properties
echo "key.alias=alias_de_votre_clé" >> ant.properties

Une fois que c'est fait lancer la commande :
ant release

Si vous n'avez pas de message d'erreur, c'est bon votre apk est prêt et il se trouve dans le répertoire bin de votre projet.

[PHP] Voir sur quel fichier d'un projet il y a une erreur de syntaxe - PHP Parse error: syntax error, unexpected

Voici une commande utile pour vérifier une erreur de syntaxe php dans votre projet. La commande ci dessous scrute dans le répertoire src t...