- jan. 16, 2012
-
-
Bennyb a rédigé
-
- août 29, 2011
-
-
cerdic a rédigé
-
- juil. 17, 2011
-
-
cerdic a rédigé
et en particulier de sa valeur 4 qui n'existe plus (feu oo), l'accessibilite n'etant pas un mode degrade, mais une propriete intrinseque de l'interface commune a tous.
-
- juin 27, 2011
-
-
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 ?
-
- mai 23, 2011
-
-
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.
-
- mai 03, 2011
-
-
b_b a rédigé
-
- mars 31, 2011
-
-
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)
-
- mars 28, 2011
-
-
cerdic a rédigé
-
- mars 27, 2011
-
-
cerdic a rédigé
nettoyage des fonctions dépréciées, et remise a niveau du layout php conforme au layout de body.html
-
- mars 25, 2011
-
-
cerdic a rédigé
squeletiser le pied de page, et en profiter pour eviter double appel du debusqueur quand on est dans un exec en squelette (le debusqueur est deja appele par public.php)
-
- fév. 18, 2011
-
-
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
-
cerdic a rédigé
-
- fév. 14, 2011
-
-
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
-
- fév. 12, 2011
-
-
cerdic a rédigé
Il manque encore le formulaire de traduction, on laisse un TODO visible pour ne pas l'oublier
-
- fév. 05, 2011
-
-
cerdic a rédigé
-
- jan. 30, 2011
-
-
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
-
cerdic a rédigé
ordonner les composants js-inline puis css puis js externe (chargement sans blocage) corrolairement, eviter les appels a jquery dans le js-inline poser les classes no-js, langue et direction sur <html>, un javascript en debut de head remplace no-js par js (nhoizey, selon http://paulirish.com/2009/avoiding-the-fouc-v3/ & modernizr & htmlboilerplate) definir les jeu de classes (tetue) : none, none-js, none-nojs : masque un element (respectivement toujours, en presence de js,en absence de js) hidden, hidden-js, hidden-nojs : passe un element en visibility hidden (respectivement toujours, en presence de js, en absence de js) over, over-js, over-nojs : envoie hors champ un element (respectivement toujours, en presence de js, en absence de js)
-
- jan. 08, 2011
-
- déc. 18, 2010
-
-
esj a rédigé
Je profite de cette écriture massive pour normaliser quelque chose de trompeur lorsqu'on compare deux versions, savoir l'usage de " ou ' dans le premier argument de define et defined. Comme les chaînes entre apostrophes sont plus rapidement analysées que celles entre guillemets, je choisis l'apostrophe. Dépot obtenu avec le script Shell: {{{ a=$(find . -name "*.php" |grep -v extensions/ | grep -v /config/ | grep -v index.php | grep -v public.php | grep -v prive.php ) echo -n "Fichiers: " echo $a|wc -w for i in $a do sed -f ~/Sites/spip/spip.sed $i > /tmp/f.php if diff -q $i /tmp/f.php then : else diff $i /tmp/f.php # echo $i; php /tmp/f.php # mv /tmp/f.php $i fi done }}} et le script Sed: {{{ s/Copyright (c) 2001-20../Copyright (c) 2001-2011/ s,\(if [(]!*\)*\(defined* *[(]\)"\([^"]*\)"\(.*\);[[:space:]]*[#/]*.*$,\1\2'\3'\4;, }}}
-
- nov. 26, 2010
-
-
davux a rédigé
-
- oct. 06, 2010
-
-
cerdic a rédigé
Unification de la table des liens auteurs en spip_auteurs_liens qui remplace ainsi les 3 spip_auteurs_articles, spip_auteurs_rubriques et spip_auteurs_messages et permettra aussi de gerer les liens auteur sur n'importe quel objet. On a en plus un champ vu sur la table de liaison, qui est utilise dans la messagerie. On pourra avoir plus tard un champ role permettant de distinguer les roles des auteurs. Ce premier commit met a jour toutes les requetes SQL, et prend en charge l'upgrade de la base. Mais il n'est pas encore totalement fonctionnel. debug a suivre.
-
- sept. 20, 2010
-
-
cerdic a rédigé
initialiser a chaque hit la globale $spip_pipelines, qui grossit au fil du temps, a peu d'interet puisque elle n'est vraiment utile que dans inc/plugin lors de la construction des pipelines compiles. On remplace donc cette declaration globale par la declaration xml dans core.xml. Celu-ci migre depuis prive/ vers ecrire/ puisque c'est le repertoire source d'ou partent les inclusions. Toutes les fonctions appelees par des pipelines qui etaient dispersees sont regroupees dans deux fichiers inc/pipelines.php et inc/pipelines_ecrire.php La seule autre utilisation de spip_pipelines concernait la compilation des balises dynamiques lorsqu'un pipeline y etait passe en contexte (CVT). On remplace le test d'existence a cet endroit par un flag dans la fonction pipeline() qui demande d'ignorer silencieucement l'absence du dit pipeline en cas de non existence. Il reste le cas des declarations || sur le pipeline styliser pour forcer l'appel en queue de pipeline, qui n'est pas couvert par la syntaxe actuelle des plugin.xml. Un point a ajouter dans la DTD en cours de realisation. Le seul cas que l'on ne couvre plus est la possibilite pour les plugins de surcharger la globale spip_pipeline pour enlever/modifier un appel du core ou d'un autre plugin. Il faudra peut etre ajouter pour cela un pipeline sur la construction des pipelines. On y reviendra si les cas sont vraiment indispensables.
-
- sept. 11, 2010
-
-
cerdic a rédigé
-
- juil. 30, 2010
-
-
cerdic a rédigé
-
- avr. 29, 2010
-
-
esj a rédigé
-
- avr. 25, 2010
-
-
Fil a rédigé
-
- avr. 24, 2010
-
-
esj a rédigé
-
- mars 13, 2010
-
-
cerdic a rédigé
-
- jan. 30, 2010
-
-
esj a rédigé
D'une part, [14571] avait trouvé une meilleure solution pour les utiliateurs non connectés que [14468], mais sans revenir sur le code de celui-ci qui du coup empêchait l'affichage des erreurs (pour ses deux OR mal parenthèsés, ça a été corrigé entre temps). D'autre part, être en mode debug n'est plus décidable en début de script car depuis {{{tableau_des_erreurs}}} est passé en statique on peut le forcer tardivement par le {{{set_request}}} dans le débusqueur; faute de le savoir, {{{ecrire_fichier}}} mettait en cache le résultat d'une compilation mal passée. Et retrait d'une scorie de [15040] qui n'a rien à voir.
-
cerdic a rédigé
#1849 : plus de fix pour msie qui a deja trop abuse des substances interdites (plus de wrapper.php non plus d'ailleurs)
-
- jan. 27, 2010
-
-
esj a rédigé
Permettre à la fonction détectant les mises à jour de SPIP disponibles de détecter aussi celles d'un plugin donné. Fallait voir qu'il y avait aussi dans le répertoire spip-zone un fichier {{{archives.xml}}}. Je suggère de le renommer, ou alors de revoir la présentation des pages de [http://files.spip.org/spip/ http://files.spip.org/spip/], d'autant que le {{{1 paquets disponibles}}} (sic) sur cette page est trompeur.
-
esj a rédigé
L'option de recuperer_page donnant une date de mise à jour ne produisait pas l'en-tête HTTP {{{If-Modified-Since}}}, c'était dispendieux. Cette option est à présent disponible aussi au niveau de {{{copie_locale}}} quand on lui donne un 2e argument égal à {{{modif}}}. Du coup, la fonction signalant de nouvelles versions de SPIP peut facilement mettre en cache leur liste, pas besoin d'une meta comme j'avais pensé un moment. Il semble cependant que le fichier {{{http://files.spip.org/spip/archives.xml}}} soit réécrit très souvent même si son contenu ne change pas. N'y aurait-il pas moyen d'éviter ça ?
-
esj a rédigé
Suite de [15020]: utiliser le fichier .xml plutôt que la page HTML pour repérer les versions de SPIP disponibles.
-
- jan. 26, 2010
-
-
esj a rédigé
Une petite fonction pour signaler (aux seuls webmestres) qu'une (ou des) versions de SPIP plus récentes que celle utilisée sont disponibles au chargement. Sans doute à améliorer graphiquement, voire à coupler avec [http://zone.spip.org/trac/spip-zone/changeset/34610 spip_loader versions >= 2.1.0], mais ce serait utile de le reporter en 2.1, voire dans les futures 2.0.11 et 1.9.2j.
-
- jan. 04, 2010
-
-
cerdic a rédigé
-
- sept. 03, 2009
-
-
cerdic a rédigé
sortir les css bling dans un fichier specifique, en attendant que cela constitue un theme a part entiere Corrolairement, le mode d'emploi change comme suit : un systeme de themes prives : - chaque theme prive est un sous repertoire de prive/themes/ - le theme par defaut s'appelle spip/ et contien(t|dra) un jeu complet d'icones utilisees par l'interface prive - un plugin peut etendre un theme. Par exemple, en ayant un repertoire themes/spip/ il etendra le theme par defaut nommee spip - d'autres themes peuvent etre definis (dans le core, dans un plugin, ...), il suffit de creer un repertoire prive/themes/nomdutheme/ - si un theme est incomplet, les elements manquants sont pioches dans le theme principal, qui par defaut est aussi 'spip' - le theme principal (qui sert de rechange aux themes supplementaires) peut etre redefinie par tout plugin avec define('_SPIP_THEME_PRIVE','nomdemonthemeimpose'); - le theme par defaut des utilisateurs est le skin principal sauf si il est definie par $GLOBALS['theme_prive_defaut'] = 'monthemepardefaut'; - les utilisateurs pourront choisir leur theme dans les preferences, mais plus tard...
-
- août 20, 2009
-
-
esj a rédigé
La globale $tableau_des_erreurs devient une statique du débusqueur afin d'assurer à celui-ci la complète maîtrise de son contenu. Ce tableau est composé de sous-tableaux de longueur 2, comportant le message d'erreur et le lieu de l'erreur , ces deux valeurs étant les deux arguments de la fonction {{{erreur_squelette}}} qu'il faut exclusivement appeler pour signaler une erreur. Le lieu de l'erreur est idéalement un objet de class Contexte (ou toute classe ayant au minimum les mêmes champs). Le message d'erreur est à fournir sous la forme d'un tableau dont le premier élément est une chaîne de langue, le deuxième élément éventuel étant les arguments de cette chaîne.
-
- août 19, 2009
-
-
esj a rédigé
Retour du validateur XML en boucle sur les squelettes et les scripts. Pour qu'il puisse mener son travail à terme, je rappelle qu'il ne faut pas réintroduire {{{exit}}} dans les scripts: utiliser {{{else}}} sur tout le code qui suit. Ne pas définir non plus de fonctions existant dans un autre script.
-
esj a rédigé
Fusion du debusqueur et du chronometreur, la fonction affiche_erreurs_page (mal nommee puisqu'elle servait aussi a afficher les temps de calculs) n'est plus appelee directement mais a travers {{{erreur_squelette}}} (et se nomme a present {{{debusquer_navigation}}} mais ca n'a pas d'importance). Au passage, pb 43 et 44 avec [9649], la disparition du FEED_GLOBALS sur la trace des erreurs dans un AJAX.
-
- août 06, 2009
-
-
Fil a rédigé
report ecran de secu 0.7 + affichage de la version de l'ecran de secu en signature sous la version de SPIP (emplacement pas genial, il doit y avoir mieux
-