13.6.4.4 Doc::unattachAllTimers()
Méthode utilisée pour détacher tous les minuteurs du document.
13.6.4.4.1 Description
string unattachAllTimers(Doc $origin = null)
Cette méthode permet de supprimer tout ou un sous-ensemble de minuteurs associés au document.
Si l'origine est vide, tous les minuteurs sont détachés.
Si l'origine est indiquée, seuls les minuteurs issus de cette origine sont détachés.
13.6.4.4.1.1 Avertissements
Aucuns.
13.6.4.4.2 Liste des paramètres
- (Doc)
origin
- Filtre permettant de détacher un sous-ensemble. L'origine est donné
par l'argument
origine
de la méthodeDoc::attachTimer()
.
13.6.4.4.3 Valeur de retour
La valeur de retour est le message d'erreur. Un retour vide indique que l'opération s'est bien déroulée.
13.6.4.4.4 Erreurs / Exceptions
Les cas de retours d'erreurs sont :
- Erreur d'accès interne à la base de donnée
13.6.4.4.5 Historique
Aucun.
13.6.4.4.6 Exemples
13.6.4.4.6.1 Détachement de tous les minuteurs
Deux minuteurs sont attachés au document n°1427. Le premier minuteur n°13509 est lié à l'origine n°1090. Le deuxième minuteur n'est pas lié.
Le but de cet exemple est de détacher les minuteurs liés à l'origine n°1090.
$myOrigin=new_doc("", 1090); $myDocument=new_doc("", 1427); $myFirstTimer=new_doc("", 13509); $mySecondTimer=new_doc("", 13510); $err=$myDocument->attachTimer($myFirstTimer, $myOrigin); $err.=$myDocument->attachTimer($mySecondTimer); print "Active timers:\n"; print_r( $myDocument->getAttachedTimers()); $err.=$myDocument->unattachAllTimers(); print "After origin deletion :\n"; if (empty($err)) { print_r( $myDocument->getAttachedTimers()); } else { print "$err\n"; }
Résultat :
Active timers: Array ( [0] => Array ( [timerid] => 13509 [level] => 0 [originid] => 1090 [docid] => 1427 [title] => Éléonore [fromid] => 1059 [attachdate] => 2014-10-16 10:12:00 [referencedate] => 2014-10-16 13:12:00 [tododate] => 2014-10-17 13:12:00 [donedate] => [actions] => a:3:{s:5:"state";s:0:"";s:5:"tmail";s:0:"";s:6:"method";s:12:"::myMethod()";} [result] => [id] => 25 ) [1] => Array ( [timerid] => 13510 [level] => 0 [originid] => [docid] => 1427 [title] => Éléonore [fromid] => 1059 [attachdate] => 2014-10-16 10:12:00 [referencedate] => 2012-10-01 05:00:00 [tododate] => 2012-10-01 05:00:00 [donedate] => [actions] => a:3:{s:5:"state";s:0:"";s:5:"tmail";s:0:"";s:6:"method";s:12:"::myMethod()";} [result] => [id] => 26 ) )
After origin deletion : Array ( )
Tous les minuteurs ont été détachés.
13.6.4.4.6.2 Détachement en fonction de l'origine
Deux minuteurs sont attachés au document n°1427. Le premier minuteur n°13509 est lié à l'origine n°1090. Le deuxième minuteur n'est pas lié.
Le but de cet exemple est de détacher les minuteurs liés à l'origine n°1090.
$myOrigin=new_doc("", 1090); $myDocument=new_doc("", 1427); $myFirstTimer=new_doc("", 13509); $mySecondTimer=new_doc("", 13510); $err=$myDocument->attachTimer($myFirstTimer, $myOrigin); $err.=$myDocument->attachTimer($mySecondTimer); print "Active timers:\n"; print_r( $myDocument->getAttachedTimers()); $err.=$myDocument->unattachAllTimers($myOrigin); print "After origin deletion :\n"; if (empty($err)) { print_r( $myDocument->getAttachedTimers()); } else { print "$err\n"; }
Résultat :
Active timers: Array ( [0] => Array ( [timerid] => 13509 [level] => 0 [originid] => 1090 [docid] => 1427 [title] => Éléonore [fromid] => 1059 [attachdate] => 2014-10-16 10:12:00 [referencedate] => 2014-10-16 13:12:00 [tododate] => 2014-10-17 13:12:00 [donedate] => [actions] => a:3:{s:5:"state";s:0:"";s:5:"tmail";s:0:"";s:6:"method";s:12:"::myMethod()";} [result] => [id] => 25 ) [1] => Array ( [timerid] => 13510 [level] => 0 [originid] => [docid] => 1427 [title] => Éléonore [fromid] => 1059 [attachdate] => 2014-10-16 10:12:00 [referencedate] => 2012-10-01 05:00:00 [tododate] => 2012-10-01 05:00:00 [donedate] => [actions] => a:3:{s:5:"state";s:0:"";s:5:"tmail";s:0:"";s:6:"method";s:12:"::myMethod()";} [result] => [id] => 26 ) )
After origin deletion : Array ( [0] => Array ( [timerid] => 13510 [level] => 0 [originid] => [docid] => 1427 [title] => Éléonore [fromid] => 1059 [attachdate] => 2014-10-16 10:12:00 [referencedate] => 2012-10-01 05:00:00 [tododate] => 2012-10-01 05:00:00 [donedate] => [actions] => a:3:{s:5:"state";s:0:"";s:5:"tmail";s:0:"";s:6:"method";s:12:"::myMethod()";} [result] => [id] => 26 ) )
Seuls les minuteurs liés à l'origine n°1090 ont été détachés.
13.6.4.4.7 Notes
Une entrée, de niveau notice, est enregistrée dans l'historique pour indiquer le détachement des minuteurs.