13.6.3.6 Doc::delete()

Méthode utilisée pour supprimer un document.

13.6.3.6.1 Description

string delete ( bool $really  = false, 
                bool $control = true, 
                bool $nopost  = false )

Cette méthode met le statut du document à "supprimé". La propriété doctype est affectée à Z (Zombie) et locked est affectée à -1 dans le cas d'une suppression logique.

13.6.3.6.1.1 Avertissements

Cette méthode supprime toutes les révisions du document.

13.6.3.6.2 Liste des paramètres

(bool) really
Si really est true, le document ainsi que toutes ses révisions sont supprimées de la base de données. Cette opération n'est pas annulable.
Si really est false, le document est supprimé de manière logique. il est donc toujours présent en base de données mais juste noté comme étant supprimé.
(bool) control
Si control est true, le droit delete est vérifié pour l'utilisateur courant. Si l'utilisateur n'a pas ce privilège la suppression est abandonnée.
Si control est false, la vérification des droits n'est pas effectuée.
(bool) nopost
Si nopost est true, alors les hameçons Doc::preDelete() et Doc::postDelete() ne sont pas exécutés.
Si nopost est false, ces deux hameçons (hooks) sont exécutés.

13.6.3.6.3 Valeur de retour

Message d'erreur. Si la chaîne retournée est non nulle, le message indique l'erreur qui a interdit la suppression.

13.6.3.6.4 Erreurs / Exceptions

Une erreur est retournée si :

  • le document n'existe pas ou plus,
  • le document est déjà supprimé,
  • l'utilisateur n'a pas le droit delete sur le document,
  • l'hameçon preDelete() retourne une erreur.

13.6.3.6.5 Historique

La méthode obsolète Doc::reallyDelete() est équivalente à cette méthode avec le paramètre $really mis à true.

13.6.3.6.6 Exemples

Suppression du document référencé par l'identificateur $documentId.

$doc=new_doc('', $documentId);
if ($doc->isAlive()) {
    $err=$doc->delete();
    // maintenant le document est supprime
    if ($err == "") {
        printf("Suppression %s [%d]", $doc->getTitle(), $doc->id);
    }
}

13.6.3.6.7 Notes

Une entrée dans l'historique est enregistrée à chaque suppression.

Les documents supprimés logiquement sont toujours accessibles avec leur identifiant. Ils ne peuvent par contre plus être modifiés par l'interface web.

La classe SearchDoc permet de rechercher les documents supprimés en utilisant l'attribut trash.

13.6.3.6.8 Voir aussi

×