- oct. 29, 2007
-
-
esj a rédigé
Utiliser systématiquement les squelettes inclus de ''dist/'' pour harmoniser la présentation des squelettes dynamiques avec les autres et prendre en compte les vertèbres qui ne parlent pas notre langue. Le lien habituel ''squelette'' en bas de page fonctionne à présent pour elles aussi, bien que ça ne dirige pas vers la meme page (on peut d'ailleurs se demander si tous ne devrait pas pointer sur celle-ci). Par ailleurs, le tableau retourné par la fonction '''trouver_table''' contient une entrée supplémentaire, {{{connexion}}}, ça évite de trimbaler le paramètre {{{$connect}}} partout.
-
esj a rédigé
Squelettes dynamiques introduits en [10645]: mettre aussi un formulaire de saisie par colonne, sinon les critères conditionnels ne sont pas devinables.
-
Fil a rédigé
le squelette compile change de nom si version_code est modifiee ; permet d'eviter des erreurs bloquantes lors de la mise a jour
-
esj a rédigé
Extension du filtre '''parametre_url''': il est à présent possible de donner une liste de paramètres plutôt qu'un unique paramètre, ce qui évite d'écrire une succession d'appels à ce filtre lorsque l'on veut appliquer le même traitement à ces paramètres (en pratique c'est surtout la suppression). La syntaxe retenue est de les séparer par une barre '''|''', et ne rien mettre autour. Ainsi: {{{ [(#SELF|parametre_url{"tri_n|_tri|_tri_n",""})] }}} élimine trois paramètres de l'URL courante s'ils s'y trouvent. Application aux squelettes dynamiques introduits en [10645]. Ceux ci ont de plus un lien vers le squelette produit, sous la forme d'un appel au débusqueur avec les paramètres idoines (pour ne pas effrayer les débutants avec la page d'accueil du débusqueur).
-
- oct. 28, 2007
-
-
Christian Lefebvre a rédigé
-
esj a rédigé
Evacuation de exit, on peut enfin passer le validateur sur l'aide en ligne sans perdre la main en cas de doc non disponible dans la langue demandée.
-
Fil a rédigé
-
Fil a rédigé
savoir traiter les é dans les images_typo (kent1, cf. http://trac.rezo.net/trac/spip-zone/ticket/618 )
-
Fil a rédigé
-
esj a rédigé
Evacuation de echo et exit: la fonction de cache retourne un message d''erreur si le calcul de la page est impossible, plutot que de faire exit autoritairement.
-
esj a rédigé
-
esj a rédigé
Le validateur sur répertoire de script peut s'appliquer sur n'importe quel répertoire (pas seulement exec) à présent, et pour les fonctions ne faisant pas 'echo' se sera leur résultat qui sera validé. Les actions deguisées en exec (import et export) repèrent elles-mêmes qu'elles sont appelées dans ce contexte et évite de s'exécuter.
-
esj a rédigé
Les fonctions appelées par inc_admin reçoivent deux arguments, il est largement temps d'avoir systématiquement les 2 paramètres correspondants, car ça permet d'empêcher leur execution si elles ne sont pas appelées à travers elle (notamment un testeur automatique avec les autorisations sans confirmation dans le mes_options).
-
esj a rédigé
-
esj a rédigé
-
esj a rédigé
Enfin compris pourquoi le validateur avec appel synthétisé ne donnait pas toujours le meme résultat qu'en accès direct: l'appel a toujours 3 arguments alors que les fonctions _args en exigent parfois plus. Ah, parlez-moi du Lisp de mon enfance où programmes==données et on chopait l'entête de la fonction en une instruction.
-
- oct. 27, 2007
-
-
esj a rédigé
-
esj a rédigé
-
Christian Lefebvre a rédigé
-
Fil a rédigé
-
esj a rédigé
-
Fil a rédigé
les vrais malheurs de sedna, viennent du fait que ce code chargeait, depuis quelque temps, les fichiers public.php ou spip.php -- qui ne sont pas des fichiers de langue
-
esj a rédigé
Sous le débusqueur, toujours proposer la validation XML, l'existence du service ne se devine pas. Nouvelle spec du coup: si la variable {{{xhtml}}} vaut {{{true}}}, on propose le validateur du W3C, sinon on propose le validateur maison. Pour la simple indentation, hors débusqueur, si elle vaut {{{true}}} et qu'il existe {{{inc_tidy}}} on appelle cette fonction, sinon on appelle l'indenteur maison.
-
esj a rédigé
Certaines opérations n'appelaient volontairement pas ecrire_metaS pour éviter de refabriquer le fichier de metas plusieurs fois (en particulier la grosse boucle dans l'importation). Pour revenir exactement au meme comportement, On introduit une statique dans ecrire_meta et effacer_meta pour ne faire le Touch qu'une fois (mais il est probable qu'on tapait dans le cache disque de toutes façons).
-
esj a rédigé
-
Fil a rédigé
une fois la commande SQL lancee, on risque le timeout ; il faut donc avoir note l'etape avant de lancer la commande probleme de cette approche : la serie de commandes emboitees avec CREATE TEMPORARY TABLE, pour les date_thread, risque de casser au milieu sans qu'on s'en apercoive (todo)
-
esj a rédigé
Petites modifications, normalement transparentes, dans le code produit par le compilateur pour maximiser le nombre d'occurrences de {{{$Pile[O]['}}}''nom''{{{']}}}. Cela concerne: * la balise ENV * les #PARAM non indiqués par les boucles et déplacements de fonctions et inclusions pour que le validateur puisse exécuter le compilateur hors contexte.
-
esj a rédigé
Suite de [10609], le validateur appliqué à un répertoire cherche à présent les squelettes du répertoire si l'URL contient {{{&ext=html}}} (ou s'il ne trouve pas de fichier {{{.php}}} dans le répertoire). On peut donc tester la validité XML de tous les squelettes standards en invoquant: {{{ecrire/?exec=valider_xml&url=../dist}}} Les squelettes ne contenant pas la chaîne {{{DOCTYPE}}} sont ignorés. Le contexte nécessaire au squelette est deviné en cherchant dans le code compilé toutes les occurrences de {{{$Pile[O]['}}}''nom''{{{']}}}. La valeur associé à ''nom'' est 1 si cette occurrence est argument de {{{intval}}}, une chaine quelconque sinon (très insuffisant, mais le langage de squelette de SPIP n'étant pas fortement typé, c'est difficile de faire mieux). Le tableau de résultat donne le nombre d'erreurs de validation, et un lien vers l'application du validateur sur la page concernée (qui remarche depuis [10672]) avec le contexte deviné (qu'il faudra donc parfois corriger dans la barre de navigation).
-
esj a rédigé
Pb 40 avec [9649] (eh oui il en restait un): on n'avait plus accès à la validation dans le débusqueur.
-
Fil a rédigé
lire_meta(), ecrire_metas() et spip_fetch_array() reviennent dans les fonctions de base ; on les considere depreciees, mais la gymnastique a faire pour developper des plugins compatibles 1.9.2 et 1.9.3 si on les laisse dans vieilles_defs est beaucoup trop couteuse par rapport au gain
-
Fil a rédigé
-
- oct. 26, 2007
-
-
Fil a rédigé
-
Christian Lefebvre a rédigé
-
esj a rédigé
Le traitement des hexadécimaux en PG oblige à introduire une nouvelle fonction d'abstraction encodant ces valeurs. Comme dans [10433], [10131], [10146] et [10154] on rallonge la liste des fonctions d'abstraction de [10113]: {{{ 'hex' => fonction d'abstraction de la représentation d'un hexadécimal }}} Il faut donc utiliser '''sql_hex("FFBB")''' pour envoyer ce genre de valeurs aux serveurs SQL. A noter d'ailleurs qu'il ne faut pas utiliser '''intval''' comme outil de sécurité si le nombre est un grand entier, car PHP le tronque sans prévenir alors que les serveurs SQL l'auraient accepté. Pour éviter une révision générale de SPIP et ses extensions, l'analyse des arguments SQL devient plus précise. Intuitivement il s'agit d'utiliser '''is_numeric''' mais PHP n'en est pas à une incohérence près; ceci {{{ <?php echo is_numeric('0x1234567') ? '1' : '0';; echo is_numeric('0x12345678') ? '1' : '0';; echo is_numeric('0x123456789') ? '1' : '0';; echo is_numeric('0x123456789A') ? '1' : '0';; ?> }}} répond-il ''0000' ou ''0101'' ou ''0011'' ou ''1111'' ? Attention, contraitement aux apparences, la bonne réponse n'est pas '''c'est nul'''.
-
esj a rédigé
-
esj a rédigé
-
esj a rédigé
Prendre des valeurs par défaut plutot que de provoquer des erreurs SQL dans les tests automatiques du validateur.
-
esj a rédigé
-
- oct. 25, 2007
-
-
Christian Lefebvre a rédigé
-
esj a rédigé
-