var Phenix = function () {
Troll du Web depuis 1996

Blog

Mon avis sur tout (même si on ne me le demande pas) et surtout sur n’importe quoi !

Sass-convert memo

Petit mémo pour la commande sass-convert qui permet de convertir un fichier CSS existant en fichier .scss (ou .sass, il suffit d’adapter le paramètre —to)

Convertir tout un répertoire de fichier css

  1. sass-convert --from css --to scss --trace -R .

Convertir un fichier

  1. sass-convert --from css --to scss --trace perso.css > perso.scss

Des rédacteurs restreints dans #SPIP

Chacun sa rubrique !

Il est possible d’améliorer un peu la gestion des utilisateurs de SPIP. Dans cet exemple, on va :

- Pouvoir restreindre un rédacteur à une ou plusieurs rubriques. C’est similaire au administrateur restreint.
- Limiter la création d’article par les administrateurs/rédacteurs restreints à leur rubrique uniquement.
C’est assez pratique si vous n’avez pas envie que des articles soit poster n’importe ou sur le site.

On commence par permettre de lier aussi les rédacteurs à une rubrique, il faut placer ce code dans le fichier config/mes_options.php :

  1. <?php
  2. define('_STATUT_AUTEUR_RUBRIQUE', '0minirezo,1comite');

Ensuite on ajoute la vérification des accès restreints dans l’autorisation a créé des articles dans une rubrique.
Attention, c’est une surcharge de fonction, cela veut dire qu’elle va remplacer celle du core de SPIP.

Il faut mettre ce code dans un fichier de fonction (mes_fonctions.php par exemple).

  1. <?php
  2. /**
  3.  * Autorisation de créer un article dans une rubrique $id
  4.  *
  5.  * Il faut pouvoir voir la rubrique et pouvoir créer un article…
  6.  *
  7.  * @param string $faire Action demandée
  8.  * @param string $type Type d'objet sur lequel appliquer l'action
  9.  * @param int $id Identifiant de l'objet
  10.  * @param array $qui Description de l'auteur demandant l'autorisation
  11.  * @param array $opt Options de cette autorisation
  12.  * @return bool true s'il a le droit, false sinon
  13.  **/
  14. function autoriser_rubrique_creerarticledans($faire, $type, $id, $qui, $opt) {
  15. return
  16. $id
  17. and autoriser('voir', 'rubrique', $id)
  18. and autoriser('creer', 'article')
  19.  
  20. // Vérifier l'accès restreint avant d'autoriser la publication
  21. and (
  22. !$qui['restreint'] or !$id
  23. or in_array($id, $qui['restreint'])
  24. );
  25. }

Executer du code lorsqu’un utilisateur ce connecte sous SPIP

J’avais besoin d’exécuter un peu de code lorsqu’un utilisateur ce connecte à SPIP. Il y a un moyen assez simple de le faire : dans le traiter du formulaire login.

La connexion de l’utilisateur ce fait dans la partie vérifier du formulaire CVT. Cela veut dire que la session a été créé.

  1. function prefix_formulaire_traiter($flux) {
  2.  
  3. if ($flux['args']['form'] == 'login') {
  4. // Coder ici
  5. }
  6.  
  7. return $flux;
  8. }

Bien entendu je préfèrerai avoir un pipeline post_login, ce serai plus simple et plus lisible dans le code.
Cela viendra peut-être avec SPIP 3.2 !


Executer du code lorsqu’un inscription est validée sous SPIP

Ou comment avoir un pipeline post_inscription

Dans SPIP, il n’y a pas de pipeline post_inscription. Difficile donc d’exécuter facilement du code lorsque l’inscription est validé par l’utilisateur. Cela va peut être changé avec SPIP 3.2.

En attendant, voici un bricolage avec le pipeline post_edition :

  1. function prefix_post_edition($flux) {
  2.  
  3. // Confirmation d'une inscription
  4. if ($flux['args']['table'] == 'spip_auteurs'
  5. and $flux['args']['statut_ancien'] == 'nouveau'
  6. and $flux['args']['action'] == 'instituer'
  7. and $flux['data']['statut'] == '6forum' ) { // Limité aux visiteurs
  8. $id_auteur = $flux['args']['id_objet'];
  9. // Faire des trucs ici.
  10. }
  11.  
  12. return $flux;
  13. }

Script de découpe des fichiers flac et cue sous GNU/Linux

La découpe de fichier flac + cue sous GNU/Linux, ce fait via la ligne de commande.
C’est assez casse pied à mémorisé, du coup, j’ai fait un mini script qui s’occupe de cela :

  1. #!/bin/bash
  2.  
  3. # Ce script facilite l'extraction de fichier flac + cue
  4. # Il ajoute également tout seul les métadonnées pour importation
  5.  
  6. # Exemple : splitflac fichier.cue fichier.flac
  7.  
  8. # Dépendant :
  9. # sudo apt install cuetools shntool flac
  10.  
  11. # Découper le fichier
  12. echo "|Extraction des fichiers|"
  13. cuebreakpoints "$1" | shnsplit -o flac "$2"
  14. # Récupérer les méta donnée du flac
  15. echo "|Extraction des métadonnées|"
  16. cuetag "$1" split-track*.flac

Dépôts github : https://github.com/phenix-factory/splitflac