_INTERVALLE_REVISIONS
Intervalle de temps (en seconde) separant deux révisions par un même auteur
public
mixed
_INTERVALLE_REVISIONS
= 600
Intervalle de temps (en seconde) separant deux révisions par un même auteur
public
mixed
_INTERVALLE_REVISIONS
= 600
Afficher le diff d'un champ texte generique
afficher_diff_champ_dist(string $champ, string $old, string $new[, string $format = 'diff' ]) : string
apercu, diff ou complet
afficher_para_modifies(string $texte[, bool $court = false ]) : string
Afficher le diff d'un id_rubrique on affiche en fait le deplacement si id_rubrique a change le nom de la rubrique sinon
afficher_diff_id_rubrique_dist(string $champ, string $old, string $new[, string $format = 'diff' ]) : string
Afficher le diff d'un champ texte generique
afficher_diff_jointure_dist(string $champ, string $old, string $new[, string $format = 'diff' ]) : string
apercu, diff ou complet
Déclarer les interfaces des tables versions pour le compilateur
revisions_declarer_tables_interfaces(array<string|int, mixed> $interface) : array<string|int, mixed>
Déclarations d'interface pour le compilateur
Déclarations d'interface pour le compilateur
Déclaration des jointures génériques
revisions_declarer_tables_objets_sql(array<string|int, mixed> $tables) : array<string|int, mixed>
Description des tables
Description complétée des tables
Déclarer les tables versions et fragments
revisions_declarer_tables_auxiliaires(array<string|int, mixed> $tables_auxiliaires) : array<string|int, mixed>
Description des tables
Description complétée des tables
formulaires_configurer_revisions_objets_charger_dist() : mixed
formulaires_configurer_revisions_objets_traiter_dist() : mixed
test_objet_versionable(mixed $desc) : mixed
trouver_version_inf(mixed $objet, mixed $id_objet[, mixed $cond = '' ]) : mixed
check_version_diff(mixed $objet, mixed $id_objet, mixed $id_version, mixed $id_diff[, mixed $last_version = 0 ]) : mixed
formulaires_reviser_charger_dist(mixed $objet, mixed $id_objet, mixed $id_version, mixed $id_diff) : mixed
formulaires_reviser_verifier_dist(mixed $objet, mixed $id_objet, mixed $id_version, mixed $id_diff) : mixed
formulaires_reviser_traiter_dist(mixed $objet, mixed $id_objet, mixed $id_version, mixed $id_diff) : mixed
Tâche Cron d'optimisation des révisions
genie_optimiser_revisions_dist(int $last) : int
Timestamp de la dernière exécution de cette tâche
Positif : la tâche a été effectuée
Tâche Cron d'optimisation des révisions
genie_revisions_optimiser_revisions_dist(int $last) : int
Timestamp de la dernière exécution de cette tâche
Positif : la tâche a été effectuée
Supprimer les révisions des objets disparus
optimiser_base_revisions() : mixed
Optimisation des tables spip_versions et spip_versions_fragments
optimiser_tables_revision() : mixed
Dans l'historique des révisions, hash à intervalle régulier les ip
anonymiser_base_revisions() : mixed
Calcule un LCS (Longest Common Subsequence) simplifié
lcs_opt(array<string|int, mixed> $s) : array<string|int, mixed>
Chaque chaîne est une permutation de l'autre et on passe en paramètre un des deux tableaux de correspondances
Calcule un LCS (Longest Common Subsequence)
lcs(array<string|int, mixed> $s, array<string|int, mixed> $t) : array<string|int, mixed>
Les deux chaînes n'ont pas été traitées au préalable par la fonction d'appariement
preparer_diff(mixed $texte) : mixed
afficher_diff(mixed $texte) : mixed
Découper les paragraphes d'un texte en fragments
separer_paras(string $texte[, array<string|int, mixed> $paras = [] ]) : array<string|int, string>
Texte à fragmenter
Tableau de fragments déjà là
Tableau de fragments (paragraphes)
replace_fragment(mixed $id_objet, mixed $objet, mixed $version_min, mixed $version_max, mixed $id_fragment, mixed $fragment) : mixed
envoi_replace_fragments(mixed $replaces) : mixed
envoi_delete_fragments(mixed $id_objet, mixed $objet, mixed $deletes) : mixed
ajouter_fragments(mixed $id_objet, mixed $objet, mixed $id_version, mixed $fragments) : mixed
supprimer_fragments(mixed $id_objet, mixed $objet, mixed $version_debut, mixed $version_fin) : mixed
Récupérer les fragments d'un objet pour une version demandée
recuperer_fragments(int $id_objet, string $objet, int $id_version) : array<string|int, mixed>
Identifiant de l'objet
Objet
Identifiant de la version
Couples id_fragment => texte
apparier_paras(mixed $src, mixed $dest[, mixed $flou = true ]) : mixed
Retrouve les champs d'un objet et leurs contenus à une version donnée
recuperer_version_complete(int $id_objet, string $objet, int $id_version) : array<string|int, mixed>
Identifiant de l'objet
Objet
Identifiant de la version
Couples champs => textes
Récupérer les champs d'un objet, pour une version demandée
recuperer_version(int $id_objet, string $objet, int $id_version) : array<string|int, mixed>
Identifiant de l'objet
Objet
Identifiant de la version
Couples champs => textes
Reconstruire une version donnée
reconstuire_version(array<string|int, mixed> $champs, array<string|int, mixed> $fragments[, array<string|int, mixed> $res = [] ]) : array<string|int, mixed>
À partir de la liste des champs et de fragments, retourne le texte de chaque champ.
Couples (champ => liste d'id_fragment). La liste est de la forme "5 32 7 16 8 2"
Couples (id_fragment => texte)
Couples (champ => texte) déjà connus
Couples (champ => texte)
supprimer_versions(mixed $id_objet, mixed $objet, mixed $version_min, mixed $version_max) : mixed
Ajouter une version à un objet éditorial
ajouter_version(int $id_objet, string $objet, array<string|int, mixed> $champs[, string $titre_version = '' ][, int|null $id_auteur = null ]) : int
Titre donné aux modifications apportées
Auteur apportant les modifications. En absence (session anonyme), utilisera l'IP pour garder une trace.
id_version : identifiant de la version
propre_diff(mixed $texte) : mixed
Liste les champs versionnés d'une table objet.
liste_champs_versionnes(string $table) : array<string|int, mixed>
Nom complet de sa table sql. Exemple 'spip_articles'
Liste des champs versionnés
Lorsqu'un champ versionée est une jointure, récuperer tous les liens et les mettre sous forme de liste énumérée
recuperer_valeur_champ_jointure(string $objet, string $id_objet, string $jointure) : string
Créer la première révision d'un objet si nécessaire
verifier_premiere_revision(string $table, string $objet, int $id_objet[, array<string|int, mixed> $champs = null ][, int $id_auteur = 0 ]) : int
À faire notamment si on vient d'activer l'extension et qu'on fait une modif sur un objet qui était déjà en base, mais non versionné
La fonction renvoie le numéro de la dernière version de l'objet, et 0 si pas de version pour cet objet
Afficher un diff correspondant à une révision d'un objet
revisions_diff(int $id_objet, string $objet, int $id_version[, bool $court = false ]) : string
Identifiant de l'objet
Objet
Identifiant de la version
Texte HTML du diff.
Retrouver le champ d'un objet, pour une version demandée
retrouver_champ_version_objet(string $objet, int $id_objet, int $id_version, string $champ, array<string|int, mixed> &$champs) : mixed
Si le champ n'est pas déjà présent dans la liste des champs ($champs), on remonte les versions à partir du id_version donné, jusqu'à récupérer une version qui contient ce champ. On complète alors la liste des champs avec la version du champ trouvée.
Objet
Identifiant de l'objet
Identifiant de la version
Le nom du champ à retrouver
Liste des champs déjà connus
Liste les champs modifiés par une version de révision donnée
revision_comparee(int $id_objet, string $objet, int $id_version[, string $format = 'diff' ][, null $id_diff = null ]) : array<string|int, mixed>
Pour un couple objet/id_objet et id_version donné, calcule les champs qui ont été modifiés depuis une version précédente et la version d'id_version, et les retourne.
La version précédente est par défaut la version juste avant id_version, mais peut être définie via le paramètre id_diff.
Le retour est plus ou moins locace en fonction du paramètre format.
Identifiant de l'objet
Objet
Identifiant de la version
Type de retour
Identifiant de la version de base du diff, par défaut l'id_version juste précédent
Couples (champ => texte)
Trouver le label d'un champ de révision
label_champ(string $champ[, string $objet = false ]) : string
Quelques champs ont un label dans dans les chaînes de langue de SPIP Pour un champ particulier d'un objet particulier, le pipeline revisions_chercher_label peut être utilisé
Le nom du champ révisionné
Le type d'objet révisionné
Le label du champ
Installation/maj des tables révisions
revisions_upgrade(string $nom_meta_base_version, string $version_cible) : mixed
revisions_uncompress_fragments() : mixed
revisions_repair_unserialized_fragments() : mixed
revisions_repair_serialise(mixed $serialize) : mixed
Desinstallation/suppression des tables revisions
revisions_vider_tables(string $nom_meta_base_version) : mixed
Mettre a jour la meta des versions
revisions_update_meta() : mixed
Fonction du pipeline autoriser. N'a rien à faire
revisions_autoriser() : mixed
Autorisation de voir les revisions ?
autoriser_voirrevisions_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Il faut :
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
Autorisation de voir le menu révisions
autoriser_revisions_menu_dist(string $faire[, string $type = '' ][, int $id = 0 ][, array<string|int, mixed> $qui = null ][, array<string|int, mixed> $opt = null ]) : bool
Il faut des révisions activées et présentes.
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
Autorisation de voir le menu configurer_revisions
autoriser_configurerrevisions_menu_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Il faut avoir accès à la page configurer_revisions
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de l'objet
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
Ajoute les éléments de config des révisions pour les sauvegardes de IEConfig
revisions_ieconfig_metas(array<string|int, mixed> $table) : array<string|int, mixed>
Description des configurations
Description des configurations
Ajoute dans le bloc d'info d'un objet un bouton permettant d'aller voir l'historique de ses révisions
revisions_boite_infos(array<string|int, mixed> $flux) : array<string|int, mixed>
Données du pipeline
Données du pipeline
Afficher les dernières révisions sur l'accueil et le suivi
revisions_affiche_milieu(array<string|int, mixed> $flux) : array<string|int, mixed>
Liste les révisions en bas de la page d'accueil de ecrire/ et sur la page de suivi de l'activité du site
Données du pipeline
Données du pipeline
Définir les metas de configuration liées aux révisions
revisions_configurer_liste_metas(array<string|int, mixed> $metas) : array<string|int, mixed>
Utilisé par inc/config
Liste des métas et leurs valeurs par défaut
Liste des métas et leurs valeurs par défaut
Charge les données d'une révision donnée dans le formulaire d'édition d'un objet
revisions_formulaire_charger(array<string|int, mixed> $flux) : array<string|int, mixed>
Données du pipeline
Données du pipeline
Sur une insertion en base, lever un flag pour ne pas creer une premiere révision vide
revisions_pre_insertion(array<string|int, mixed> $x) : array<string|int, mixed>
Données du pipeline
Données du pipeline
Sur une insertion en base, lever un flag pour ne pas creer une premiere révision vide dans pre_edition mais attendre la post_edition pour cela
revisions_post_insertion(array<string|int, mixed> $x) : array<string|int, mixed>
Données du pipeline
Données du pipeline
Avant toute modification en base vérifier qu'une version initiale existe bien pour cet objet et la creer sinon avec l'etat actuel de l'objet
revisions_pre_edition(array<string|int, mixed> $x) : array<string|int, mixed>
Données du pipeline
Données du pipeline
Avant modification en base d'un lien, enregistrer une première révision de l'objet si nécessaire
revisions_pre_edition_lien(array<string|int, mixed> $x) : array<string|int, mixed>
Données du pipeline
Données du pipeline
Après modification en base, versionner l'objet
revisions_post_edition(array<string|int, mixed> $x) : array<string|int, mixed>
Données du pipeline
Données du pipeline
Après modification en base d'un lien, versionner l'objet si nécessaire
revisions_post_edition_lien(array<string|int, mixed> $x) : array<string|int, mixed>
Données du pipeline
Données du pipeline