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;
    }
}

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.

Installation d’Elgg sur Raspian

Si on veut installer Elgg, ou un autre site d'ailleurs, pour du développement, il faut suivre quelques étapes simple.

D'abord installer Raspbian.

[[inserer tuto installe Raspbian, quand je n’aurais plus la flemme]]

Installer MariaDB.

le probleme sur Raspian, c'est que mysql est accessible que depuis root car il utilise la socket unix pour s'y connecter, il faut alors créer un nouvel utilisateur, de toute façon c'est une bonne pratique de séparer les utilisateurs.

CREATE USER `newuser`@`localhost` IDENTIFIED BY `password`;

Lui donner les autorisations, comme c'est pour du dev on peut y aller franco:

GRANT ALL PRIVILEGES ON *.* TO `newuser`@`localhost`;

// on pousse les modifs, (pas sûr que cela soit obligatoire)

FLUSH PRIVILEGES;

Une fois les fichiers copiés dans le webroot, il faut lancer l'installe. Lors de la vérification d'usage, il faut que le module rewrite soit activé.

a2enmod rewrite

S'il reste un problème de rewriting, il faut édité le fichier /etc/apache2/apache2.conf et changer le

AllowOverride None => All

on restart le apache avec :

service apache2 restart

On peut aussi installer phpmyadmin pour facilité la gestion des BDD.

apt-get phpmyadmin

ajouter une ligne de commande dans le /etc/apache2/apache2.conf:

Include /etc/phpmyadmin/apache.conf


et comme d'hab
service apache2 restart

Type Accès Entité dans Elgg

Type d'acces pour les entitées dans Elgg

–  « ACCESS_PRIVATE«  (value: 0) Privé.
–  « ACCESS_LOGGED_IN«  (value: 1) Utilisateur logué.
–  « ACCESS_PUBLIC«  (value: 2) Public.
–  « ACCESS_FRIENDS«  (value: -2) Le propriétaire et ses contacts.

– (value: 4)

 

A utilisé lors de la creation avec elgg_extract:

$access_id = elgg_extract('access_id', $vars, ACCESS_DEFAULT);