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éthode Doc::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.

13.6.4.4.8 Voir aussi

×
nouveauté