- oct. 24, 2006
-
-
esj a rédigé
-
esj a rédigé
Suite de [7691]: le bouton "retour" dans le formulaire de message de forum interne ne marchait plus au 2e coup, vues les acrobaties imposées par le non respect du RFC. On retarde donc au maximum la création de l'URL de retour, avec joli lot de consolation au final. En effet, cette page présentait le défaut de ne pas spécifier à quel objet ce forum se rapportait (elle n'affichait que le titre, qui pouvait de plus changer dans le fil des messages). A présent le haut de page rappelle le type de l'objet initial (article, breve et), son numéro et son titre. Seul regret: le non respect du RFC empeche d'installer une ancre pour atterir au niveau du formulaire dans la page. Mais ça n'est vraiment genant que dans une réponse à un message de forum particulièrement long.
-
renato a rédigé
-
JamesRezo a rédigé
-
JamesRezo a rédigé
-
esj a rédigé
Sportif d'une part parce que pas du tout conforme XHTML, et surtout parce que les clients HTTP ne respectent pas son RFC en ce qu'une redirection d'un POST est faite en GET et est donc inutilisable ici. Conséquence: le script est obligé d'inclure ecrire/index, lequel pensait benoitement que toutes ses variables seraient toujours globales, ce qui n'est pas le cas dans ce contexte. Bilan: réécriture de ecrire/index en explicitant $GLOBALS partout, et réécriture aussi de inc/lang qui doit chercher des mots dans le module "ecrire" quand bien meme on l'utilise à partir de l'espace public.
-
esj a rédigé
-
Fil a rédigé
-
- oct. 23, 2006
-
-
JamesRezo a rédigé
- l'installateur est corrigé en conséquence - une solution, à tester, qui permet de créer certains sous-répertoires de tmp/ (sessions/ et CACHE/)
-
esj a rédigé
Suite à quelques essais (pas toujours réussis il est vrai) et échanges divers, l'installation de Spip, notamment en mutualisé, repose à présent sur les symboles suivants: - plusieurs constantes _DIR_* au début de inc_version définissent les répertoires où se trouvent les sources, considérées comme inaccessibles en écriture car partageable par plusieurs sites. - ensuite, plusieurs constantes _NOM_* définissent le nom (relatif) des fichiers et répertoires propres et indispensables à chaque site utilisant Spip, savoir define('_NOM_CONFIG', 'mes_options'); define('_NOM_TEMPORAIRES_INACCESSIBLES', "tmp/"); define('_NOM_TEMPORAIRES_ACCESSIBLES', "var/"); define('_NOM_PERMANENTS_INACCESSIBLES', "etc/"); define('_NOM_PERMANENTS_ACCESSIBLES', "IMG/"); var/ comportant les images réduites créé dynamiquement tmp/ jouant le role d'ecrire/data et comportant egalement CACHE/ etc/ jouant le role de ecrire/ en tant que repertoire accessible en écriture. - inc_version ne définit plus de fontions, mais charge immédiatement inc/utils qui à l'inverse ne fait que définir des fonctions. - inc_version charge ensuite le fichier ecrire/mes_options.php (pour compatibilité) ou etc/mes_options (préférable aujourd'hui); - enfin, il appelle la fonction d'initialisation ainsi: @spip_initialisation( (_DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES), (_DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES), (_DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES), (_DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES) ); ce qui va définir les 4 répertoires accessibles en écriture à la racine du site, et initialiser toutes les autres constantes (notamment _SPIP_CHMOD). - toutefois l'inclusion de mes_options peut neutraliser cet appel soit partiellement (en définissant quelques unes des constantes normalement définies par spip_initialisation qui ne pourra plus agir dessus) soit totalement (en appelant lui-meme spip_initialisation avec d'autres arguments que ceux ci-dessus). Une application typique est de mettre dans ecrire/mes_options.php (ou etc/mes_otpions.php) les lignes suivantes: define('_SPIP_CHMOD', 0770); if ( preg_match(',/([a-zA-Z0-9_-]*)[/?],',$_SERVER['REQUEST_URI'],$r)) { if (is_dir($e = _DIR_RACINE . 'Ajouts/' . $r[1]. '/')) { $cookie_prefix = $table_prefix = $r[1]; define('_SPIP_PATH', _DIR_RACINE . 'Ajouts/' . $table_prefix . '/:' . _DIR_RACINE.':'. _DIR_RACINE .'dist/:' . _DIR_RESTREINT); spip_initialisation( ($e . _NOM_PERMANENTS_INACCESSIBLES), ($e . _NOM_PERMANENTS_ACCESSIBLES), ($e . _NOM_TEMPORAIRES_INACCESSIBLES), ($e . _NOM_TEMPORAIRES_ACCESSIBLES) ); if (is_readable($e .= _NOM_CONFIG . '.php')) include($e); } } La première ligne réduit l'accès aux répertoires et fichiers créés par le serveur http à ce seul serveur. A partir de l'URL du script appelé, les lignes suivantes déduisent un nom qui doit etre le nom d'un sous-répertoire Ajouts dans l'installation de Spip. L'exécution de ce script commence donc par déclarer les 4 sous-répertoires spécifiques au site, ainsi que le préfixe de ses table SQL. Au cas où existerait un fichier etc/mes_options pour ce site spécifique, celui est également chargé. L'utilisation des constantes _NOM_* permet donc de disposer d'un ensemble de répertoires et fichiers qui n'ont meme pas à savoir s'ils utilisent une installation mutualisée ou non de Spip. ATTENTION: il faut bien voir que les fonctions de inc/utils ne seront vraiment utilisables qu'après appel de spip_initialisation, car les constantes qu'elles utilisent (_DIR_TMP, _DIR_IMG etc) ne sont pas encore définies à l'entrée de mes_options (c'est justement ce qui permet de les personnaliser).
-
esj a rédigé
-
- oct. 22, 2006
- oct. 21, 2006
-
-
Fil a rédigé
-
Fil a rédigé
-
Fil a rédigé
quelque chose m'echappe peut-etre, mais il n'y a visiblement plus aucune raison que cette fonctione ne soit pas dans inc/utils
-
Fil a rédigé
-
JamesRezo a rédigé
On déplace la définition de _SPIP_CHMOD dans un fichier à part (il concerne le file_system, pas la base de données) dans config/. Il s'appelle chmod.php, c'est original... Ce qui marche mieux pour le surcharger dans mes_options.php, et c'est inc_version.php qui lui donne une valeur par défaut, le cas échéant. Ce fichier est crée pour une nouvelle installation. Sur une mise à jour, il ne se passe rien, on fait du 777 comme avant. config/ abrite donc potentiellement deux fichiers, ça prend son sens maintenant :)... et on pourrait imaginer que ldap soit indépendant de la même manière... mais rien ne presse... ça règle un soucis de création du cache en fichier plat aussi (cf. #635)
-
renato a rédigé
-
JamesRezo a rédigé
-
esj a rédigé
afficher_articles fonce et s'enrichit. Les différents paramètres d'affichage étaient en fait tombés en désuétude et disparaissent. Il sont remplacés par un unique paramètre fontionnel optionnel, dont la valeur par défaut est inc_formater_article_dist. Par ailleurs la mise en base des requetes à trancher n'avait pas besoin de distinguer le connecté, $connect_id_auteur étant déjà dans la requete lorsque l'affichage est effectivement différencié. Dans tous les autres cas il est intéressant de ne pas mettre en base autant de requetes statiques que d'auteurs connus du site (on pourrait meme ne pas tenir compte implicitement de leur langue par défaut comme c'est le cas actuellement). Du coup l'entree id_auteur dans la table ajax_fonc est libre, et on n'y met à present le nombre de réponses de la requetes (qui donne le nombre de tranches) plutot que de le recalculer à chaque appel ajax.
-
esj a rédigé
Suite de [7668]: il faut distinguer les noms des répertoires et leur localisation absolue pour faciliter la mutualisation.
-
Fil a rédigé
-
JamesRezo a rédigé
rustine pour _SPIP_CHMOD (toggg: [http://thread.gmane.org/gmane.comp.web.spip.devel/37325/focus=37325])
-
Fil a rédigé
attention aux champs extra; desormais les fonctions qui creent le formulaire extra ou la liste des champs enregistres ne font plus echo eux-memes (a reporter dans les plugins) + il y avait un bug dans editer_rubriques, car ['champs_extra'] c'est la config des champs, pas les donnees envoyees par le redacteur
-
JamesRezo a rédigé
-
JamesRezo a rédigé
la fonction spip_initialisation_parametree prend désormais 4 paramètres représentant les 4 répertoires non partageables d'un SPIP. _DIR_CHMOD, s'appelle maintenant _SPIP_CHMOD et est calculée à l'installation de spip. On colle la constante dans le fichier de connection. On ajoute le répertoire tmp_img/ qui servira de base aux données volatiles mais devant être accessible via http. C'est là qu'on calculera tous les images réduites, (à tester) On en profite pour faire une très légère toilette au page d'installation. C'est pas encore fantastik ;) TODO: la vérification des sous-répertoires de tmp/ en écriture, voire, leur création à la volée
-
- oct. 20, 2006
-
-
esj a rédigé
- onkeypress='setTimeout(X); if (event.eyCode= 13) return false' est remplacé par onkeypress='if (event.eyCode= 13) return false' onkeyup='X' plus efficace et plus simple. En particulier, l'expression X teste si le retour de la requete Ajax ne renvoie qu'un seul résultat qui est alors aussitot pré-sélectionné (mais il faut toujours cliquer pour valider). Reintroduction du code qui supprime la plus vieilles de 2 requetes sur un meme noeud (finalement indispensable pour la recherche interactive car la recherche d' une chaine longue revient plus rapidement qu'une recheche sur un préfixe de cette chaine) mais sans garder le gestionnaire Ajax indéfiniment (==> try/catch pour éviter le NS_ERROR_NOT_AVAILABLE induit. Zon encore des progrès à faire dans leurs specs). Partage de code plus important entre les 2 mini-navigateurs (rubriques / auteurs) pour mutualiser les développements futurs.
-
Fil a rédigé
-
Fil a rédigé
ah le bug... & #147; et & #148; sont justement des caracteres interdits, a remplacer par & #8220; et 8221 !
-
tetue a rédigé
+ pas d'indentation (le resultat dans le code genere etant horrible)
-
esj a rédigé
[7656] faisait que afficher_articles ne calculait plus un hash différentpour des requêtes différentes (md5 sur un tableau = md5 sur la chaine 'Array')
-
renato a rédigé
delete a dynamic html comment to avoid to break markup when it contains -- (see http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4)
-
- oct. 19, 2006
-
-
Fil a rédigé
resoud le #631 sur le statut initial d'un auteur; pas terrible de forcer la creation au premier clic...
-
Fil a rédigé
-
Fil a rédigé
-
Fil a rédigé
GROS HACK pour le plugin async_upload, permettant d'avoir un upload de document (ou d'image) sur un article pas encore cree
-
Fil a rédigé
retour d'une erreur lorsque le fichier uploade est trop gros (on n'est plus dans un script signe, il faut ruser... dommage)
-