Dates création, modification et plus

Un plugin qui ajoute une date de création et une date de modification sur tous les objets éditoriaux.

Ce plugin vient en remplacement de « Date de création » en étendant ses fonctionnalités [1]

Ce plugin crée automatiquement les champs date_creation et date_modif sur toutes les tables d’objets éditoriaux, si ce champ n’existe pas déjà, sur les objets natifs de SPIP (articles, auteurs, rubriques...) comme sur les objets créés par des plugins.

En cas de création d’un nouvel objet (lors de l’installation d’un nouveau plugin), ces champs y seront également ajoutés.

Les dates de création / modification sont renseignées automatiquement à la création d’un nouvel objet ou lors de sa modification, depuis les pipelines post_insertion() et post_edition().
Elle n’est ensuite plus modifiée.

Elles sont affichées sur la page de chaque objet dans l’espace privé, dans le formulaire_dater.

Utilisation dans les squelettes

Pour chaque boucle sur un objet éditorial, on peut donc utiliser :

  • les critères {par date_creation} et {par date_modif} pour classer les objets,
  • les balises #DATE_CREATION et #DATE_MODIF pour les afficher.

NB : quand vous installez ce plugin sur votre site, les objets existants n’auront pas de date de création. Concrètement elle sera égale à ’0000-00-00 00:00:00’ dans la base de données.

La balise [(#DATE_CREATION|affdate)] afficherait alors : 0000.

Pour tester si une valeur de date est bien présente, et ne l’afficher que dans ce cas, vous pouvez tester la valeur de #DATE_CREATION|intval, qui doit retourner autre chose que 0 si une date est présente [2].

Exemple :

[(#DATE_CREATION|intval|oui) 
  [<:date_creation:date_creation:> (#DATE_CREATION|affdate)]
]

Cette astuce est valable pour tous les champs de date dans les squelettes.

Ajouter d’autres dates

Le plugin déclare un pipeline dates_plus_champs_dates que vous pouvez utiliser pour ajouter vos propres champs de dates, qui seront donc automatiquement créés sur tous les objets.

Exemple d’utilisation dans un autre plugin :

function monplugin_dates_plus_champs_dates($flux) {
	$flux[] = 'date_truc';
	return $flux;
}

A vous ensuite d’implémenter la mise à jour de cette date, à travers les pipelines sur les objets (pre/post insertion/edition) ou tout autre événement.

Configuration

Quelques constantes peuvent être définies pour masquer les dates de création dans l’espace privé, si vous ne souhaitez pas les voir apparaître :

_MASQUER_DATE_CREATION pour les masquer partout,
_MASQUER_DATE_CREATION_BIDULE pour les masquer sur les objets bidules.

Idem avec _MASQUER_DATE_MODIF et _MASQUER_DATE_MODIF_BIDULE.

Footnotes

[1Pour passer de l’ancien plugin « Date de création » à celui-ci, ne le désinstallez pas (le champ date_creation serait supprimé et vous perdriez toutes les dates), mais installez le nouveau, puis désactivez l’ancien et enfin supprimez le.

[2Ce n’est pas tout à fait exact pour l’année 0, mais on ne vas pas chipoter :).

Discussion

No discussion

Add a comment

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom