Astuces

, par _Eric_

Afficher un article dans la langue du visiteur si possible, sinon dans la langue principale

-* Article sur les critères {traduction} et {origine_traduction} sur Programmer : Critères spécifiques

  • Utilisation dans le plugin Squelette Plugins SPIP : 75922

Appeler un formulaire dont le nom est dynamique
  1. [(#SET{operation, [(#ENV{type-page})_[(#ENV{operation, generer})]]})]
  2. [<div class="noajax">
  3. (#FORMULAIRE_{#GET{operation}})
  4. </div>]

Télécharger

Adapter le php.ini de MAMP
max_execution_time = 300     ; Maximum execution time of each script, in seconds
max_input_time = 60        ; Maximum amount of time each script may spend parsing request data
memory_limit = 256M      ; Maximum amount of memory a script may consume (8MB)

; Maximum size of POST data that PHP will accept.
post_max_size = 64M

; Maximum allowed size for uploaded files.
upload_max_filesize = 64M

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.idekey=default

xdebug.var_display_max_data=2048
xdebug.show_local_vars=1
xdebug.collect_params=4
xdebug.var_display_max_depth=10

Générer un zip directement à partir de la Zone avec son navigateur

http://zone.spip.org/trac/spip-zone/changeset/latest/ICI_LE_CHEMIN_COMPLET SUR LE ZONE?old_path=/&format=zip

récupérer un zip des diff entre 2 révisions :

http://zone.spip.org/trac/spip-zone/changeset?format=zip&new=[[jusqu'à la révision]]&old=[[depuis la révision]]&new_path=_plugins_/[[nom du plugin]]&old_path=_plugins_/[[nom du plugin]]

par exemple :

http://zone.spip.org/trac/spip-zone/changeset?format=zip&new=59775&old=56572&new_path=_plugins_/langonet&old_path=_plugins_/langonet

Debug des squelettes SPIP

Lire l’article http://www.spip.net/fr_article4453.html

Utiliser l’IDE PHPStorm pour accéder à la base de données

Si on utilise MAMP il ne faut pas oublier de décocher l’option « autoriser uniquement un accès local »

Erreur « Project Data Sources : re-sync required, Unsupported format version 2.2 (2.4 expected) » dans PHPStorm 10

Il faut resynchroniser la base de données en lançant la commande « View > Tool Windows > Database > Synchronize (button) ». En fait, dans la fenêtre Database, la base de données en erreur apparait sans contenu.

Contribuer à un projet Github qui ne vous appartient pas

Et bien c’est pas immédiat !
il faut enchainer quelques actions dont il est important de comprendre la signification :

  1. « fork a repository » : dupliquer le dépôt d’un utilisateur Github. Un nouveau dépôt est donc créé dans votre environnement Github uniquement et une icône et un libellé spécifique permet de comprendre son origine (forked) ;
  2. « clone a repository » : installer un dépôt en local sur votre machine. Ce peut être un dépôt « forké » (clone a fork) ou pas. A partir de ce moment les fichiers du dépôt sont modifiables en local sur votre machine comme un copie de travail SVN.
  3. « commit changes » : après avoir fait les modifications en local sur la copie de travail il est temps d’enregistrer ces modifications. Par contre, contrairement à SVN la commande commit va uniquement enregistrer les modifications en local sur votre dépôt de travail. Aucune modification n’est encore synchronisée avec votre fork sur Github.
  4. « sync changes » : permet de synchroniser les commits stockés en local sur votre dépôt distant sur Github qu’il soit « forké » ou pas.
  5. « pull request » : si votre dépôt « forké » sur Github contient les dernières modifications, le dépôt original lui n’est toujours pas modifié. Si vous souhaitez partager vos modifications avec l’auteur du dépôt original il faut proposer vos modifications en utilisant cette commande.

Ajouter des commiteurs svn ou changer leurs droits

Pour changer les droits :
nano svn/smellup.net/conf/authz
On ajoute les droits par exemple avec kent1 = rw par exemple dans [/]

Pour créer des auteurs :
aller dans svn/smellup.net/conf/passwd
utiliser la commande htpasswd -m svn/smellup.net/conf/passwd user

Pour plus d’information http://technique.arscenic.org/servi...

Utiliser la version SVN installée par le binaire WANDISCO dans /opt/subversion

Ne pas oublier de rajouter la ligne suivante dans le fichier .profile à la racine du compte utilisateur :
export PATH=/opt/subversion/bin :$PATH

Quelle est la différence entre les variables globales $spip_lang et $lang ?

$GLOBALS[’spip_lang’] est la langue en cours d’utilisation dans le traitement alors que $GLOBALS[’lang’] est la langue de la page en cours. Ce n’est donc pas bon de remplacer la première par la seconde.
Normalement chaque fois qu’on change de langue dans le traitement on est supposé revenir à la langue précédente juste après, et il semble qu’ici on oublie de revenir a en apres avoir passé $GLOBALS[’spip_lang’] en fr pour traiter la typo du titre en fr

Décoder un XML en utilisant les fonctions JSON

Il est possible de décoder très rapidement une chaine XML en tableau associatif en utilisant les fonctions JSON (decode et encode). Cela revient à écrire le code suivant :

  1. $objet_xml = simplexml_load_string("<dummyroot>${xml}</dummyroot>");
  2. $tableau = json_decode(json_encode($objet_xml), true);

Télécharger

Installer l’outil de vérification PSR du code PHP, php-cs-fixer

Tout d’abord il faut récupérer l’archive PHP sur le site de l’auteur via curl :

Ensuite, il faut rendre le fichier exécutable et le transférer dans un dossier un peu standard. Pour éviter de disperser tous ces outils optionnels je les regroupe dans /opt (comme subversion) :

Enfin, il faut modifier le .profile en ajoutant le dossier /opt dans le PATh si ce n’est pas déjà le cas.

Pour effectuer une mise à jour, il suffit de lancer la commande suivante :