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
reallyesttrue, le document ainsi que toutes ses révisions sont supprimées de la base de données. Cette opération n'est pas annulable.
Sireallyestfalse, 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
controlesttrue, le droitdeleteest vérifié pour l'utilisateur courant. Si l'utilisateur n'a pas ce privilège la suppression est abandonnée.
Sicontrolestfalse, la vérification des droits n'est pas effectuée. - (bool)
nopost - Si
nopostesttrue, alors les hameçonsDoc::preDelete()etDoc::postDelete()ne sont pas exécutés.
Sinopostestfalse, 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
deletesur 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.