Drupal, scripter en dehors du CMS
Un post très succinct qui fera office de pense-bête.
Si comme moi vous devez scripter en dehors des outils Drupal mais que vous avez besoin des données générées via le CMS (session, données de l'utilisateurs, etc), vous aurez besoin de 3, voir 4 lignes de code supplémentaires.
En effet, Drupal modifie le comportement de PHP "standard" et il est impossible de récupérer une session php générée dans le CMS en utilisant ce code :
<?php
session_start();
var_dump($_SESSION); // affiche array(0) { }
Du fait de cette restriction et on ne peut absolument rien faire de potable.
Les 3 lignes de code "magiques" sont les suivantes :
<?php
define("DRUPAL_ROOT", getcwd() );
require_once('./includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
Ici, on admet que le script est à la racine du CMS. Si vous êtes dans une autre arborescence, il faudra ajouter un chdir
avant le define
:
<?php
chdir('/chemin/vers/drupal');
define("DRUPAL_ROOT", getcwd() );
require_once('./includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
Vous pourrez constater que ça fonctionne bien avec un var_dump
de $user
ou $_SESSION
.

Matrix-Synapse : migrer de SQLite à PostgreSQL
Matrix-Synapse est un service de messagerie décentralisé et interopérable avec d'autres mess…

Détecter les vulnérabilités dans les dépendances de son projet
La gestion des dépendances dans un projet est quelque chose de complexe. Il y a autant de ge…

Sharepoint Office365 sur Linux : automatiser l'authentification (v2)
En septembre 2018, je publiais un article pour automatiser l'authentification sur Sharepoint…