v1.0.11 : ajout d'un onglet pour lister les URLs qui n'auraient pas été migrées lors du passage à la V1 (cas improbable où l'URL serait déjà prise par un objet éditorial). Pour l'instant c'est juste à titre indicatif, trouver un moyen de régler le problème (boutons d'action). Mise à jour du TODO : refacto à faire et prise en compte des langues. On revoit quelques chaînes de langue, et 2-3 points de détail.

svn/root/tags/v1.0.11
tcharlss@bravecassine.com 5 years ago
parent a64ae9d88f
commit 04e5db93d8

1
.gitattributes vendored

@ -9,6 +9,7 @@ lang/urls_pages_fr.php -text
/paquet.xml -text
prive/objets/liste/fonds_pages.html -text
prive/objets/liste/urls_pages.html -text
prive/objets/liste/urls_pages_erreurs.html -text
prive/squelettes/contenu/choisir_fond_page.html -text
prive/squelettes/contenu/controler_urls_pages.html -text
prive/squelettes/contenu/url_page_edit.html -text

@ -4,8 +4,21 @@
## URLs pages non migrées
Lors de la migration de la branche 0.x vers la branche 1.x, les URLs enregistrées dans le meta `urls_pages` sont migrées dans la table `spip_urls`.
Seules les URLs non converties car déjà présentes dans la table sont conservées dans le meta.
Dans le cas improbable où certaines sont déjà utilisées par des objets éditoriaux, elles sont conservées dans le meta (mais elles ne sont plus fonctionnelles donc).
En principe, ce cas de figure ne devrait pas se présenter car on vérifiait les doublons au moment d'enregistrer les URLs, mais réfléchir à ce qu'on pourrait faire dans ce cas improbable :
- message de mise en garde sur la page des URLs ?
- migration sauvage (c'est à dire qu'on enregistre quand même, et l'URL de la page prendra le pas sur l'URL de l'objet) ?
Pour l'instant on les montre aux utilisateurs dans un onglet à part, il faut ajouter un moyen de régler le problème (un bouton pour supprimer la meta après que les admins aient réglé le problème, ou autre).
## Refactorisation
Tous les traitements se font actuellement dans le formulaire editer_url_page.
Il faut les déplacer dans l'API (à créer) :
- action/editer_url_page.php
- url_page_insert()
- url_page_edit()
- url_page_delete()
- supprimer_url_page.php
## Langues
Réfléchir à la prise en compte des langues.

@ -1,6 +1,8 @@
<div class="formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[(#ENV{editable})
<form method='post' action='#ENV{action}'><div>
[(#REM) declarer les hidden qui declencheront le service du formulaire
@ -11,8 +13,12 @@
#SET{name,page}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,'obligatoire'}
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<label for="champ_#GET{name}"><:urls_pages:champ_page_label:></label>
[(#ENV{page_locked}|non)<span class='explication'><:urls_pages:champ_page_explication:></span>]
[(#ENV{page_locked}|et{#ENV{page_fond}}|oui)<span class='explication'><:urls_pages:champ_page_explication_fond{fond=#ENV{page_fond}}:></span>]
[(#ENV{page_locked}|non)
<span class='explication'><:urls_pages:champ_page_explication|propre:></span>
]
[(#ENV{page_locked}|et{#ENV{page_fond}}|oui)
<span class='explication'><:urls_pages:champ_page_explication_fond{fond=#ENV{page_fond}}|propre:></span>
]
[<span class='erreur_message'>(#GET{erreurs})</span>]
<input type="text" class="text" name="#GET{name}[(#ENV{page_locked}|oui)_off]" id="champ_#GET{name}" size="40" value="#ENV{#GET{name}}"[ (#ENV{page_locked}|oui)disabled="disabled" readonly="readonly"][ (#GET{obli}|oui)required="required"] />
[(#ENV{page_locked}|non)

@ -8,8 +8,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'champ_page_label' => 'Page',
'champ_page_tri' => 'Page',
'champ_page_explication' => 'Indiquez le nom de fichier du squelette correspondant à la page, sans l\'extension .html et en respectant la casse : unePage.html &rarr; unePage.
Les objets éditoriaux et leurs déclinaisons sont proscris !',
'champ_page_explication' => 'Indiquez le fond de la page : nom de fichier du squelette sans extension, en respectant la casse. Rappel : les objets éditoriaux sont proscris !
Ex. : unePage.html &rarr; unePage',
'champ_page_explication_fond' => 'Squelette de la page : @fond@',
'champ_fond_label' => 'Fond',
'champ_statut' => 'Statut',
@ -22,10 +22,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'explication_dossier' => 'Dossier contenant les squelettes',
'explication_generale' => 'Les « pages » sont des squelettes ne correspondant à aucun objet éditorial.
Gérez ici leurs URLs, elles sont prises en compte par la balise <tt>#URL_PAGE</tt>.
Leurs URLs sont prises en compte par la balise <code>#URL_PAGE</code>.
L\'onglet « fonds des pages » contient une liste des pages sans URL personnalisée, à titre indicatif.
Si une page n\'y figure pas, vous pouvez tout de même lui en attribuer une en saisissant la page manuellement.',
→ L\'onglet {« URLs enregistrées »} présente la liste des URLs enregistrées.
→ L\'onglet {« fonds détectés »} présente la liste fonds de pages détectés automatiquement qui n\'ont pas encore d\'URL personnalisée.
Si un fond de page est absent de la liste, attribuez-lui une URL manuellement.',
'erreur_page_mauvais_format' => 'Le nom de la page est incorrect. Il doit s\'agir du nom de fichier d\'un squelette, sans l\'extension .html',
'erreur_url_doublon' => 'Cette URL est déjà utilisée',
'erreur_fond_doublon' => 'Cette page est déjà enregistrée dans la base',
@ -60,10 +63,12 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// M
'message_url_update_ok' => 'L\'URL a été mise à jour',
'message_url_insert_ok' => 'L\'URL a été enregistrée',
'menu_onglet_pages' => 'URLs des pages',
'menu_onglet_fonds' => 'Fonds des pages',
'menu_onglet_pages' => 'URLs enregistrées',
'menu_onglet_fonds' => 'Fonds détectés',
'menu_onglet_erreurs' => 'Erreurs migration',
'menu_urls_pages' => 'URLs des pages',
'menu_urls_objets' => 'URLs des objets éditoriaux',
'message_erreur_migration' => 'Les URLs des pages suivantes n\'ont pas été migrées automatiquement vers la table des URLs lors du passage à la V1 car elles étaient déjà utilisées pour des objets éditoriaux.',
// T
'titre_pages_detectees' => 'Pages détectées',
@ -72,6 +77,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'titre_creer_url_page' => 'Créer l\'URL d\'une page',
'titre_nouvelle_url' => 'Nouvelle URL',
);
?>
// U
'utilisation' => 'Utilisation',
);

@ -1,7 +1,7 @@
<paquet
prefix="urls_pages"
categorie="statistique"
version="1.0.10"
version="1.0.11"
schema="1.0.0"
etat="test"
compatibilite="[3.1.0;3.2.*]"

@ -0,0 +1,45 @@
[(#REM)
Liste des URLs n'ayant pas pu être migrées lors du passage à la V1
]
<div class="notice">
<:urls_pages:message_erreur_migration:>
</div>
<B_liste_urls>
#ANCRE_PAGINATION
<div class="liste-objets urls_pages erreur">
<table class='spip liste'>
[<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{urls_pages:info_1_url_page,urls_pages:info_nb_urls_pages}})</strong></caption>]
<thead>
<tr class='first_row'>
<th class='page principale' scope='col'><:urls_pages:champ_page_label:></th>
<th class='url secondaire' scope='col'><:urls_pages:champ_url_label:></th>
<th class='fond secondaire' scope='col'><:urls_pages:champ_fond_label:></th>
<th class='objet secondaire' scope='col'><:urls_pages:utilisation:></th>
<th class="action"></th>
</tr>
</thead>
<tbody>
<BOUCLE_liste_urls(DATA){source table, #CONFIG{urls_pages}}{par cle}{pagination #ENV{nb,20}}>
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
<td class='page principale'>[(#CLE*)]</td>
<td class='url'>#VALEUR</td>
<td class='fond secondaire'>
[(#CLE|trouver_fond_page|sinon{#CHEMIN_IMAGE{erreur-16}|balise_img{'X','erreur'}|concat{' ',<span class="erreur"><:urls_pages:erreur_fond_absent:></span>}})]
</td>
<td class='objet secondaire'>
<BOUCLE_url_objet(spip_urls){url=#VALEUR}{page=''}><a href="[(#ID_OBJET|generer_url_entite{#TYPE})]">#TYPE #ID_OBJET</a></BOUCLE_url_objet>
Ø<//B_url_objet>
</td>
<td class='action'>
</td>
</tr>
</BOUCLE_liste_urls>
</tbody>
</table>
[<p class='pagination'>(#PAGINATION{prive})</p>]
</div>
</B_liste_urls>

@ -10,6 +10,7 @@
<h1 class="grostitre"><:urls_pages:titre_urls_pages:></h1>
#SET{onglets, #LISTE{pages,fonds}}
[(#LIRE_CONFIG{urls_pages}|oui)#SET{onglets,#GET{onglets}|push{erreurs}}]
#SET{onglet, #ENV{onglet}|in_array{#GET{onglets}}|?{#ENV{onglet},#GET{onglets/0}}}
<div class='onglets_simple clearfix'>
<ul>
@ -30,4 +31,8 @@
<INCLURE{fond=prive/objets/liste/fonds_pages, boutons=editer}>
]
[(#GET{onglet}|=={erreurs}|oui)
<INCLURE{fond=prive/objets/liste/urls_pages_erreurs}>
]
[(#URL_ECRIRE{url_page_edit}|parametre_url{redirect,#SELF}|icone_verticale{<:urls_pages:icone_ajouter_url_page:>,url,new,'right'})]

@ -53,6 +53,9 @@ function urls_pages_vider_tables($nom_meta_base_version) {
// Suppression meta
effacer_meta($nom_meta_base_version);
// Invalider le cache pour éviter une erreur undefined function url_perso
include_spip('inc/invalideur');
suivre_invalideur(1);
}
@ -94,7 +97,4 @@ function urls_pages_maj_100(){
ecrire_config('urls_pages', $nouvelle_config);
}
// Invalider le cache pour éviter une erreur undefined function url_perso
include_spip('inc/invalideur');
suivre_invalideur(1);
}

Loading…
Cancel
Save