Lister attribut objet JavaScript

Il est possible de lister tout les attribut d'un objet javascript avec une simple boucle pour avoir un affichage proche du var_dump:

 

  var getKeys = function (inst) {
            var keys = [];
            for (var key in obj) {
                console.log(key);
                keys.push(key);
            }
            return keys;
        };

Ajout d’un getUrl

Pour ajouter un getUrl sur l'objet et par exemple avoir un lien dans le titre d'un objet sur le River. Ajouter un hook handler dans le start.php

// Register a URL handler for idea
elgg_register_plugin_hook_handler('entity:url', 'object', 'idea_set_url');

et la fonction qui va bien:

function idea_set_url($hook, $type, $url, $params) {
    $entity = $params['entity'];
    if (elgg_instanceof($entity, 'object', 'idealab_idea')) {
        $title = elgg_get_friendly_title($entity->title);
        return "module/view/" . $entity->getGUID() . "/" . $title;
    }
}

Afficher la date au bon format en JavaScript

Ahh le JavaScript, mon langage préféré.😡
Pour faire de l’affichage de la date du jour et pourvoir la formater comme bon me semble.

clickDate = (date.getFullYear().toString()) + « – » + (« 0 » + (date.getMonth() + 1).toString()).substr(-2) + « – » + (« 0 » + date.getDate().toString()).substr(-2) ;

affiche une date au format: 2016-09-29

C’est juste pour rappel, mais c’est plus un pense bête pour moi, comme 90% des articles du site, c’est suivant un contexte ou du besoin du moment.

Utilisé une vue d’un autre plugin dans Elgg

il existe plusieurs fonctions pour afficher les vues dans Elgg. elgg_view, elgg_view_form, elgg_view_annotation, etc.

Pour afficher une autre vue de base dans son module il suffit d'appeler la fonction elgg_view("chemin_du_module/nom_de_vue").

Attention si c'est une vue de type formulaire, c'est bien la fonction elgg_view_form

Cette fonction retourne un string du HTML generé par le moteur Elgg.

Créer un champs sélection avec le moteur Elgg

Aller zou, on passe sur Elgg, ce moteur de réseau social open source. Cela fait partie d'une serie d'article à venir, car j'ai pas trop mal bossé avec.

Donc création d'un champs select => 2 manieres de faire, soit avec option et value, soit juste option

echo elgg_view('input/dropdown', array( 
    "id" => "color_mine", 
    "value" => "Dropdown", // valeur par default 
    "name" => "color", 
    "options" => array("Rouge", "#0000ff", "#008000", "#6600ff") // rouge, bleu, vert, violet ));


echo elgg_view('input/dropdown', array( 
    "id" => "color_mine", 
    "value" => "Dropdown", // valeur par default "name" => "color", 
    "options_values" => array("ff0000"=>"Rouge", "#0000ff", "#008000", "#6600ff") // rouge, bleu, vert, violet ));

 

Installation PhpMyAdmin

Installation

Dans le cadre d'un projet passé, j'ai eu besoin d'installer PhpMyAdmin pour l'utiliser en complément de LAMP. C'est bête comme chou, mais y'a comme toujours un petit truc qui fait que ça marche pas toujours.

Prêt ?? GO:

  1. Ouvrez un terminal [ctrl+atl+t] .
  2. Tapez sudo apt-get install phpmyadmin
  3. La console va vous demander sur quel serveur web l'appliquer, moi c'était Apache 2.
  4. Ensuite il va demander le mot de passe de l'utilisateur de votre serveur MySQL.
  5. Le mot de passe necessaire à l'acces PHPMyAdmin
  6. pi c'est tout (enfin normalement).

Si vous tapez dans l'URL :

127.0.0.1/phpmyadmin

Normalement vous devez y acceder, si c'est pas le cas, il reste un petit parametrage à faire.

 

DEBUG MODE

 

enfaite Apache n'as pas acces à la configuration de PHPMyAdmin. Pour remédier à cela on ouvre le fichier de conf d'Apache, avec gEdit ou VIM ou encore nano pour les plus maso d'entre vous cheeky .

sudo gedit /etc/apache2/apache2.conf

Puis on ajoute cette ligne à la fin:

Include /etc/phpmyadmin/apache.conf

On save et on redemarre Apache:

sudo /etc/init.d/apache2 restart

 

Normalement c'est tout bon.

Bye 'cha

Supprimer toutes les images docker sur un système

Docker c'est génial, mais bon le temp d'apprendre on peut multiplier les instances sans trop faire gaffe, donc pour ça y'a une commande magique.
Par contre attention car ça déménage :

    #!/bin/bash
    # Delete all containers
    docker rm $(docker ps -a -q)
    # Delete all images
    docker rmi $(docker images -q)

/!\ supprime tout sans possibilité de récuperation

src: https://techoverflow.net/2013/10/22/docker-remove-all-images-and-containers/