Système d’expiration automatique des articles

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Le but de cette modification est gérer une date d’expiration (ou de notification) pour les articles.

Eventuellement, l’état de l’article (en ligne, proposé ...) peut être automatiquement modifié à la suite d’un nombre de jours définis après l’expiration, quel que soit son état initial (sauf état poubelle, qui ne peut changer).

Des alertes peuvent être affichées dans le formulaire d’admin, donnant pour l’auteur connecté le nombre d’articles qu’il a à réviser.

Plusieurs fichiers ont été modifiés, ils sont contenus dans l’archive jointe.

Administration

Une section a été ajoutée dans la partie administration_du_site>fonctions_avancees, elle permet de gérer les paramètres supplémentaires, soit :

  • activer ou pas l’expiration
  • produire ou pas des alertes dans les boutons d’admin
  • donner le nombre de jours d’alerte avant expiration
  • basculer l’état (ou non) après un nombre de jours donnés

Lorsque la fonction est activée, apparaissent en plus dans l’interface d’administration :

  • dans l’édition de l’état d’un article (ecrire/article.php3) : un formulaire de saisie sous la date de publication permettant de saisir la date d’expiration, seul un administrateur peut la modifier.
  • dans « A suivre » : une liste de tous les articles à réviser (tient compte du nombre de jours d’alerte)
  • dans « Edition du site » : une liste des articles de l’auteur connecté à réviser (tient compte du nombre de jours d’alerte)
  • le formulaire d’administration affiche un bouton supplémentaire si l’option est sélectionnée.
  • la page optimiser.php3 a été modifiée pour effectuer la bascule d’état (au besoin) lorsque’elle est déclenchée par Spip.
  • au niveau de la base de données :
    • Un champ a été ajouté à la table articles
    • quatre entrées ont été ajoutées dans la table Meta.

Pour plus de détails, voir le readMe.txt de l’archive.
Les modifications existent aussi pour Spip 1.7.1, je peux les mettre sur le site au besoin.

Installation sur Spip 1.7.2

Il suffit de remplacer les fichiers existants avec les nouveaux.

Ensuite, il faut au minimum exécuter la requête ALTER .... (voir ReadMe.txt, ajout d’un champ) pour créer le champ date_exp dans la base.

Les champs Meta peuvent être générés par la partie administration lorsque les fichiers ont été copiés et l’Alter exécuté.

Utilisation

Les boucles Spip ont été modifiées pour intégrer date_exp et #DATE_EXP.

L’archive contient un sommaire.html et un article.html qui contiennent des exemples d’implémentation :

Exemple pour l’accueil :

Exemple pour un article :

  • sans date d’epiration :
  • qui n’a pas expiré :
  • qui a expiré :

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom