Fil a écrit :
maitenant, faudrait voir pour faire un bouton 'nouveau' et une API dans crayons
"créer une nouvelle page", c'est pas du domaine d'un crayon... ce sera un
script séparé je pense.
qui existe presque déjà :
spip.php?action=editer_article&arg=oui&id_parent=1&redirect=http%3A%2F%2F127.0.0.1%2Fspip%2Fecrire%2F%3Fexec%3Darticles&editer_article=oui&hash=d68ecXXXXXXXXXXXX462159d
En GET dans le navigateur, ça créé bien un article, vide, sans titre, pour peu qu'on ait récupérer le hash d'un formulaire de création d'article de l'espace privé.
donc, ce que j'en ai compris
spip.php, on a.
action = editer_article, ça se surcharge.
arg = oui, ça dit que c'est une insertion d'article.
id_parent = la rubrique parente
Cette rubrique: On définit une constante _SPIP_RUBRIQUE_WIKI, qui contient une chaine de type "1:2:3" (cf, spip_loader_update) définissant les rubriques wiki du site. Si on fournit un id_rubrique dans l'url, on le compare au contenu de la constante. Si on ne fournit pas d'id_rubrique, on prend le premier élément numérique de la chaine.
On pourrait imaginer un champ supplémentaire dans la table spip_rubriques, mais bof...
redirect = l'url où on sera rediriger après le succès de l'insertion en base qui sera la page publique de l'article
editer_article = oui (semble facultatif, n'est utiliser nulle part, code mort sans doute)
et hash, qu'il faut calculer. (fonction securiser_action_auteur() dans <code>ecrire/inc/securiser_action.php</code>)
Une fois fait :
-* le statut est 'prepa': c'est dans la fonction insert_article() qu'il est défini, ligne 100 du fichier <code>ecrire/action/editer_article.php</code> Qu'on peut surcharger, on l'a dit.
-* l'article se retrouve sans titre: Idem ci-dessus, le champ est à ajouter à la requête avec un titre par défaut, ou issu de l'url.
-* On peut mettre un texte par défaut : double-cliquez pour editer cette page, mais il faudrait alors le vider propremement --> <code>[(#TEXTE|sinon{<:double_clic_pour_editer:>})]</code> sans le squelette.
Evidement, ça marche si l'auteur est identifié. ça marcherait pour un auteur '6forum', je crois. Si on veut élargir à tous les visiteurs, on peut ne stocker aucun auteur... comme pour les brèves ?
Par contre, il faut sans doute penser au stockage de l'adresse IP (ou du hostname, s'il est résolu?), mais où ?
Le bouton 'créez cette page' de la page 404 devient assez trivial à faire.
(Avec éventuellement un garbage collector pour les articles créés mais
jamais édités.)
Pas la moindre idée de comment on fait ça.
--
James