Supprimer les configurations d'un module à l'aide d'un hook_uninstall
Placer le hook_unistall dans le fichier .install de votre module
Placer le hook_unistall dans le fichier .install de votre module
Dans un processus de déploiement, il est utile de gérer les traductions de chaînes de caractères dans le code, afin de pouvoir les déployer plus facilement.
Exemple avec cette fonction d'update à adapter en fonction de vos besoins :
/** * Création d'une traduction */ function mespronos_tweaks_update_8005() { $chaine = 'Forgotten password'; $traduction = 'Mot de passe oublié'; $storage = \Drupal::service('locale.storage'); $string = $storage->findString(['source' => $chaine]); if ($string === NULL) { $string = new \Drupal\locale\SourceString(); $string->setString($chaine); $string->setStorage($storage); $string->save(); } 'lid' => $string->lid, 'language' => 'fr', 'translation' => $traduction, ))->save(); }
Pour un exemple réel, il sera plus pratique de passer par un tableau associatif (à deux dimensions si l'on veut importer plusieurs langues) qui sera parcouru par un ou deux foreach.
Sa y est, j'ai enfin franchi le cap. j'ai migré tout mon site sur une architecture full Docker en dev, test et prod.
Je vais vous expliquer dans cet article, comment j'ai réussi à mettre tout ça en place
Audit de sécurité : 4 - Fichiers inutilesLaborouge
mer 01/08/2018 - 09:18
Dans le fichier MODULE.routing.yml on va utiliser le requirement « _custom_access »
module.ma_methode: path: 'mon-module/mon-chemin' defaults: _controller: '\Drupal\module\Controller\monController::maMethode' requirements: _custom_access: '\Drupal\module\Controller\monController::maMethodeAccess'
Que l'on va implémenter dans notre contrôleur, ici monController.php :
à noter : les ip autorisées sont stockées en configuration via un formulaire de config, les ip sont séparées par une virgule, d'où le explode.
public function maMethodeAccess() { /** @var Request $request */ $request = \Drupal::request(); }
L'audit de sécurité a révélé une faille importante : l'énumération des paiements.
L'utilisateur procède à une commande sur notre site. Nous lui proposons un règlement par CB et le redirigeons vers la plateforme de paiement en ligne. Une fois le paiement effectué, un contenu (node) est créé afin de récupérer les données relatives à la commande et l'utilisateur est redirigé vers une page de notre site lui indiquant le bon déroulement de l'opération. Cette page comporte deux informations sensibles : l'email de l'utilisateur et le numéro de commande.
L'audit de sécurité a révélé une faille importante : l'énumération des paiements.
L'utilisateur procède à une commande sur notre site. Nous lui proposons un règlement par CB et le redirigeons vers la plateforme de paiement en ligne. Une fois le paiement effectué, un contenu (node) est créé afin de récupérer les données relatives à la commande et l'utilisateur est redirigé vers une page de notre site lui indiquant le bon déroulement de l'opération. Cette page comporte deux informations sensibles : l'email de l'utilisateur et le numéro de commande.
Audit de sécurité : 3 - Énumération des paiementsLaborouge
mar 31/07/2018 - 00:13
L'audit de sécurité a révélé une faille de type XSS Stored. C'est une faille majeure.
Nous avons développé un formulaire maison via le Form API de Drupal 7.
Ce formulaire comporte une étape de validation (hook_form_validate()) et une étape d'envoi (hook_form_submit()).
L'audit de sécurité a révélé une faille de type XSS Stored. C'est une faille majeure.
Nous avons développé un formulaire maison via le Form API de Drupal 7.
Ce formulaire comporte une étape de validation (hook_form_validate()) et une étape d'envoi (hook_form_submit()).
Audit de sécurité : 2 - XSS StoredLaborouge
sam 28/07/2018 - 07:40
Lors de la livraison en production d'un de nos sites, notre client nous a fait savoir son intention de réaliser un "audit de sécurité" sur notre travail ainsi que notre hébergement.
Je me suis réjoui de cette initiative. Cela veut dire que notre client a conscience des risques liés au développement d'un site web. Et j'y ai vu une belle opportunité de remettre en question mon travail, notre travail.
Lors de la livraison en production d'un de nos sites, notre client nous a fait savoir son intention de réaliser un "audit de sécurité" sur notre travail ainsi que notre hébergement.
Je me suis réjoui de cette initiative. Cela veut dire que notre client a conscience des risques liés au développement d'un site web. Et j'y ai vu une belle opportunité de remettre en question mon travail, notre travail.
Audit de sécurité : 1 - PrésentationLaborouge
lun 23/07/2018 - 09:40
Du 2 au 6 juillet ont eu lieu les Drupal Dev Days de 2018. Cette année, ils avaient lieu à Lisbonne où 404 participants ont pu se retrouver pour assister à des keynotes, sessions, bofs et sprinter.
Voici un résumé des sessions auxquelles j'ai assisté et des sujets sur lesquels j'ai sprinté.
J'ai pu consacrer du temps à faire avancer Entity share :
test de bugs signalés
merge de patchs
Dans un article précédent Télécharger des traductions Drupal avec Composer, j'avais présenté une extension Composer pour télécharger des traductions Drupal.
Désormais cette extension est dans le groupe Github drupal-composer https://github.com/drupal-composer/drupal-l10n.
Drupagora c'est demain !
Nous vous attendons nombreuses et nombreux pour cette journée de rencontres autour de Drupal.
Simon et Vincent seront présents toute la journée sur le stand de l'association et vous parlerons aussi de contribution à 14h30.
A demain à l'UMPC, Paris.
http://www.drupagora.com/2018/le-programme
Hier, j'ai réorganisé mes images Docker. Cet article va résumer les changements et expliquer pourquoi de telles modifications.
C'est un commentaire d'Ines Wallon à propos du fait que le hub Docker peut être paramètré pour construire les images Docker automatiquement qui a déclenché cette réorganisation.
Les Rencontres Interactives #18 : La dette techniqueLaborouge
lun 28/05/2018 - 23:46