From 580adc82636e33314103d279f1bcd94a05dfbb7f Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Sun, 10 Jul 2011 04:26:41 -0400 Subject: [PATCH] - Add add_shutdown_function() method. Make possible to call user function before destoying all objects (e.g. session) --- program/include/rcmail.php | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/program/include/rcmail.php b/program/include/rcmail.php index fe2d994..dba846d 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -124,6 +124,7 @@ private $address_books = array(); private $caches = array(); private $action_map = array(); + private $shutdown_functions = array(); /** @@ -1142,6 +1143,9 @@ */ public function shutdown() { + foreach ($this->shutdown_functions as $function) + call_user_func($function); + if (is_object($this->smtp)) $this->smtp->disconnect(); @@ -1183,6 +1187,19 @@ /** + * Registers shutdown function to be executed on shutdown. + * The functions will be executed before destroying any + * objects like smtp, imap, session, etc. + * + * @param callback Function callback + */ + public function add_shutdown_function($function) + { + $this->shutdown_functions[] = $function; + } + + + /** * Generate a unique token to be used in a form request * * @return string The request token -- Gitblit v1.9.1