Documentation
DELETE
usage
<DELETE [throw-exception="true"]>
<element ID="number"/>
</DELETE>
paramètres
ID : number identifying uniquely the element
throw-exception : if the command fails throws a PHP exception instead of returning a XML error message
retourne
<MESSAGE/>
Cette commande permet d'effacer un élément si celui-ci n'est pas lié à un autre par une dépendance.
En effet, pour conserver la cohérence de la Base de données et pour conscientiser l'utilisateur que l'élément est utilisé par un ou plusieurs autres éléments, on lui interdit d'effacer un élément si celui-ci n'est pas isolé des autres (effacer un élément de contenu du site web lié à un autre pourrait rendre le contenu incohérent à la lecture pour les visiteurs).
NB: Pour effacer un élément ET le détacher de tous les autres éléments auquels il est lié, il faut utiliser la commande KILL.
La commande DELETE nécessite de connaître le module (contact, media, group, etc) et l'identifiant (ID) de l'élément à effacer.
Ex: pour effacer le média d'ID 25, on écrira :
<DELETE><MEDIA ID="25"/></DELETE>.
Delete d'après recherche
Il est également possible d'effacer tous les éléments obtenus avec une recherche.
Ex1 : effacer tous les contacts créés aujourd'hui
Ex2 : effacer tous les médias non publiés
Pour cela, au lieu de spécifier l'ID de l'élément en attribut, vous allez placer à l'intérieur du noeud donnant le module, un noeud WHERE dans lequel vous indiquerez les critères de la recherche.
Ex:
<DELETE>
<MEDIA>
<WHERE>
<DESCRIPTIONS>Théâtre</DESCRIPTIONS>
</WHERE>
</MEDIA>
</DELETE>
Cette requête va effacer tous les médias comprenant le mot théâtre dans leurs descriptions.
Les critères de recherche utilisent la même syntaxe que pour une commande SEARCH.
NB : si un des éléments à effacer est lié (dépendance), aucun des éléments ne sera effacé. Si vous voulez forcer la destruction des éléments de la recherche sans vérification des dépendances, utilisez KILL.