Skip to content
Extraits de code Groupes Projets
  1. mars 26, 2018
  2. jan. 02, 2018
  3. oct. 11, 2017
  4. sept. 15, 2017
  5. juil. 07, 2017
    • marcimat's avatar
      En finir probablement avec la dernière notice PHP lorsque la session est... · 902d84d5
      marcimat a rédigé
      En finir probablement avec la dernière notice PHP lorsque la session est rejouée (constante _SPIP_SCRIPT ou _SPIP_ECRIRE_SCRIPT inexistante)
      en déplaçant l’appel à rejouer_session() au moment où il est inséré dans le HTML. Appeler generer_url_action() trop tôt effectivement
      pouvait créer ces cas.
      
      902d84d5
  6. juin 15, 2017
  7. jan. 01, 2016
  8. déc. 13, 2015
  9. nov. 22, 2015
  10. sept. 12, 2015
    • marcimat's avatar
      2 notices PHP en moins : · c00ed15d
      marcimat a rédigé
      - sur protege_champ() si le unserialize ne réussit pas… pas la peine de crier.
      - sur les drapeaux d'édition, lorsqu'on crée un nouvel élément (par exemple un mot), le contexte n'a pas encore l'identifiant de l'objet. 
      c00ed15d
  11. mai 17, 2015
  12. mai 10, 2015
  13. jan. 01, 2014
  14. nov. 05, 2013
    • marcimat's avatar
      2 notices php après l'installation : · 53ac6eeb
      marcimat a rédigé
      - l'appel de $GLOBALS['meta']['xx'] est toujours problématique : cela crée une notice dès que xx n'existe pas (ou pas encore). Il serait plus perenne d'utiliser lire_config() tout le temps plutôt que de mettre, comme ici, un isset() de plus disgracieux.
      
      - le debuggeur dans l'espace privé n'a pas de globale 'fond' accessible.
      53ac6eeb
  15. mars 19, 2013
  16. sept. 12, 2012
  17. juin 06, 2012
  18. jan. 16, 2012
  19. août 29, 2011
  20. juil. 17, 2011
  21. juin 27, 2011
    • cerdic's avatar
      rejoue_session n'a aucune raison d'etre une globale puisqu'on l'affecte une unique fois. · ad30c37b
      cerdic a rédigé
      Autant utiliser une constante, c'est plus clair.
      
      Par ailleurs, on peut se demander pourquoi le hit pour rejouer une session est en <img> statique + js pour inserer l'attribut src, et non directement en statique.
      Historiquement, ça vient de r424 qui l'inserait sous forme de <script> puis de r427 qui l'a compliqué avec le montage img+js. Pourquoi ne pas simplifier par une simple img ?
      ad30c37b
  22. mai 23, 2011
    • cerdic's avatar
      Reorganisation complete des feuilles de style de l'espace privé : · ab4e0e5a
      cerdic a rédigé
      - toutes déplacées dans le repertoire du thème
      - découpage par grandes fonctions
      - tous les paramètres calculés historiques, auxquels sont ajoutés des paramètres liés à la typo, sont calculés une fois dans style_prive.css.html du theme, et passees a toutes les inclusions, ce qui evite redondance de calcul
      - chaque feuille est surchargeable par un thème indépendamment des autres
      - la typo est reprise du travail de tetue sur le plugin petronille/basecss
      - la grille et les boites sont reprises de ooCSS
      
      Gros travail de nettoyage des styles qui ne servent plus, d'homogeneisation des styles entre les différentes feuilles ...
      spip_styles qui n'amène que des soucis pour l'annuler n'est plus utilisée et sa substantifique moelle est ajoutee a typo.css.html : elle est grandement allégée par rapport à la version statique précédente, et certaines propriétés sont calculées et non plus fixes.
      ab4e0e5a
  23. mai 03, 2011
  24. mars 31, 2011
    • cerdic's avatar
      Intégration d'une gestion de files de taches (initialement le plugin... · 8583e134
      cerdic a rédigé
      Intégration d'une gestion de files de taches (initialement le plugin job_queue) en remplacement du système de cron periodique
      La declaration de taches periodiques reste identique a auparavant (pipeline taches_generales_cron)
      
      La balise #SPIP_CRON disparait, remplacee par un declenchement en fin de hit uniquement quand une tache
      est en attente. Pour le declenchement, on utilise preferentiellement un socket, et a defaut une image background comme avant.
      
      Lors d'un appel, le sequenceur execute autant de taches en attente que possible, dans la limite d'un temps donné. Des appels concurents peuvent se jouer, mais chaque tache est executee une unique fois par une seule instance. L'unicité de l'execution est garantie par un sql_delete.
      
      SI jamais le nombre de taches en attente depasse un seuil (10000 par defaut) la file est purgee par un appel en fin de hit, synchrone.
      Une page d'aministration est accesible aux administrateurs depuis le menu maintenance.
      
      L'API est 
      /**
       * Ajout d'une tache dans la file d'attente
       *
       * @param $function
       *   The function name to call.
       * @param $description
       *   A human-readable description of the queued job.
       * @param $arguments
       *   Optional array of arguments to pass to the function.
       * @param $file
       *   Optional file path which needs to be included for $fucntion.
       * @param $no_duplicate
       *   If TRUE, do not add the job to the queue if one with the same function and
       *   arguments already exists.
       * @param $time
       *		time for starting the job. If 0, job will start as soon as possible
       * @param $priority
       *		-10 (low priority) to +10 (high priority), 0 is the default
       * @return int
       *	id of job
       */
      function job_queue_add($function, $description, $arguments = array(), $file = '', $no_duplicate = FALSE, $time=0, $priority=0)
      
      /**
       * Supprimer une tache de la file d'attente
       * @param int $id_job
       *  id of jonb to delete
       * @return bool
       */
      function job_queue_remove($id_job)
      
      /**
       * Associer une tache a un/des objets de SPIP
       * @param int $id_job
       *	id of job to link
       * @param array $objets
       *  can be a simple array('objet'=>'article','id_objet'=>23)
       *  or an array of simple array to link multiples objet in one time
       */
      function job_queue_link($id_job,$objets)
      8583e134
  25. mars 28, 2011
  26. mars 27, 2011
  27. mars 25, 2011
  28. fév. 18, 2011
    • cerdic's avatar
      Drapeaux d'edition generalises : · 8a1e81c0
      cerdic a rédigé
      - integration du patch de sylvain sur inc/drapeau_edition
      - branchement automatique sur tous les objets :
      * qui ont un bloc extra
      * qui sont declares via declarer_tables_objets_sql (pour connaitre leur page d'edition)
      
      Fonctionne en l'etat sur breve, article, rubrique, sites, documents. Les mots et groupes n'ayant pas de bloc extra propres a la page d'edition,
      ils ne sont pas signales. A voir si on fait evoluer ce pre-requis ou si on laisse en l'etat
      
      La boite qui signale l'edition est brute, et necessitera une passe d'habillage, comme tout le reste de l'espace prive quand on aura fini le recodage. On laisse donc telle quelle pour le moment
      8a1e81c0
    • cerdic's avatar
  29. fév. 14, 2011
    • cerdic's avatar
      evacuer definitivement la fonction voir_en_ligne qui oblige a centraliser et... · 75490368
      cerdic a rédigé
      evacuer definitivement la fonction voir_en_ligne qui oblige a centraliser et doublonner la definition de ce qu'est un objet publie. On s'appuie a la place sur une boucle de test et un appel a autoriser(previsualiser,type,id,'',array(statut=>$statut)) qui permet a chaque extension de definir ses conditions de publication pour ses objets
      75490368
  30. fév. 12, 2011
  31. fév. 05, 2011
  32. jan. 30, 2011
    • cerdic's avatar
      nettoyage de la production du head : on evacue toutes les fonctions php... · 1180c99f
      cerdic a rédigé
      nettoyage de la production du head : on evacue toutes les fonctions php utilisees pour cela au profit du squelette prive/squelettes/head/dist.html qui produit le meme resultat a bien moins de frais.
      _SPIP_AJAX peut egalement etre evacue a plusieurs endroits car il suffit de prefixer .blocreplie par .js pour gerer le cas sans js (et garder les blocs deplies dans ce cas)
      Les deux feuilles de style spip_style_invisible et spip_style_visible peuvent aussi etre remplacees par l'utilisation des classes .js et .no-js
      1180c99f
Chargement en cours