diff options
author | Bharat Mediratta <bharat@menalto.com> | 2008-12-25 23:43:44 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2008-12-25 23:43:44 +0000 |
commit | 2c91a7e9ced0d2134682450dc1713b8e1b239dae (patch) | |
tree | 25b7bd2cb67fba30e091ff8e250714250ae7ad4f /core/helpers | |
parent | 847d42682d02f2bd86ff0e5a247c38e1f55d86b9 (diff) |
Rework log and message helpers to be parallel, but separate.
1) they now have their own matching severity constants
2) they both have convenience functions success(), info(), warning() and error()
3) they both have severity_class()
Diffstat (limited to 'core/helpers')
-rw-r--r-- | core/helpers/log.php | 71 | ||||
-rw-r--r-- | core/helpers/message.php | 69 | ||||
-rw-r--r-- | core/helpers/module.php | 4 |
3 files changed, 131 insertions, 13 deletions
diff --git a/core/helpers/log.php b/core/helpers/log.php index 43e2b8f8..4b135465 100644 --- a/core/helpers/log.php +++ b/core/helpers/log.php @@ -18,9 +18,50 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class log_Core { - const INFO = 1; - const WARNING = 2; - const ERROR = 3; + const SUCCESS = 1; + const INFO = 2; + const WARNING = 3; + const ERROR = 4; + + /** + * Report a successful event. + * @param string $category an arbitrary category we can use to filter log messages + * @param string $message a detailed log message + * @param string $html an html snippet presented alongside the log message to aid the admin + */ + public static function success($category, $message, $html="") { + self::add($category, $message, $html, self::SUCCESS); + } + + /** + * Report an informational event. + * @param string $category an arbitrary category we can use to filter log messages + * @param string $message a detailed log message + * @param string $html an html snippet presented alongside the log message to aid the admin + */ + public static function info($category, $message, $html="") { + self::add($category, $message, $html, self::INFO); + } + + /** + * Report that something went wrong, not fatal, but worth investigation. + * @param string $category an arbitrary category we can use to filter log messages + * @param string $message a detailed log message + * @param string $html an html snippet presented alongside the log message to aid the admin + */ + public static function warning($category, $message, $html="") { + self::add($category, $message, $html, self::WARNING); + } + + /** + * Report that something went wrong that should be fixed. + * @param string $category an arbitrary category we can use to filter log messages + * @param string $message a detailed log message + * @param string $html an html snippet presented alongside the log message to aid the admin + */ + public static function error($category, $message, $html="") { + self::add($category, $message, $html, self::ERROR); + } /** * Add a log entry. @@ -30,7 +71,7 @@ class log_Core { * @param integer $severity INFO, WARNING or ERROR * @param string $html an html snippet presented alongside the log message to aid the admin */ - function add($category, $message, $severity=log::INFO, $html="") { + private static function add($category, $message, $html, $severity) { $log = ORM::factory("log"); $log->category = $category; $log->message = $message; @@ -44,4 +85,26 @@ class log_Core { } $log->save(); } + + + /** + * Convert a message severity to a CSS class + * @param integer $severity + * @return string + */ + public function severity_class($severity) { + switch($severity) { + case self::SUCCESS: + return "gSuccess"; + + case self::INFO: + return "gInfo"; + + case self::WARNING: + return "gWarning"; + + case self::ERROR: + return "gError"; + } + } } diff --git a/core/helpers/message.php b/core/helpers/message.php index 1aa09e49..4c4d1e0a 100644 --- a/core/helpers/message.php +++ b/core/helpers/message.php @@ -18,33 +18,88 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class message_Core { - public function add($msg, $severity=log::INFO) { + const SUCCESS = 1; + const INFO = 2; + const WARNING = 3; + const ERROR = 4; + + /** + * Report a successful event. + * @param string $msg a detailed message + */ + public static function success($msg) { + self::add($msg, self::SUCCESS); + } + + /** + * Report an informational event. + * @param string $msg a detailed message + */ + public static function info($msg) { + self::add($msg, self::INFO); + } + + /** + * Report that something went wrong, not fatal, but worth investigation. + * @param string $msg a detailed message + */ + public static function warning($msg) { + self::add($msg, self::WARNING); + } + + /** + * Report that something went wrong that should be fixed. + * @param string $msg a detailed message + */ + public static function error($msg) { + self::add($msg, self::ERROR); + } + + /** + * Save a message in the session for our next page load. + * @param string $msg a detailed message + * @param integer $severity one of the severity constants + */ + private function add($msg, $severity) { $session = Session::instance(); $status = $session->get("messages"); $status[] = array($msg, $severity); $session->set("messages", $status); } + /** + * Get any pending messages. These must be displayed to the user since they can only be + * retrieved once. + * @return html text + */ public function get() { - $messages = Session::instance()->get_once("messages", array()); - if ($messages) { + $msgs = Session::instance()->get_once("messages", array()); + if ($msgs) { $buf = "<ul id=\"gMessages\">"; - foreach ($messages as $msg) { + foreach ($msgs as $msg) { $buf .= "<li class=\"" . self::severity_class($msg[1]) . "\">$msg[0]</li>"; } return $buf .= "</ul>"; } } + /** + * Convert a message severity to a CSS class + * @param integer $severity + * @return string + */ public function severity_class($severity) { switch($severity) { - case log::INFO: + case self::SUCCESS: + return "gSuccess"; + + case self::INFO: return "gInfo"; - case log::WARNING: + case self::WARNING: return "gWarning"; - case log::ERROR: + case self::ERROR: return "gError"; } } diff --git a/core/helpers/module.php b/core/helpers/module.php index 5dddfa61..415ecf4b 100644 --- a/core/helpers/module.php +++ b/core/helpers/module.php @@ -127,7 +127,7 @@ class module_Core { } self::load_modules(); - log::add("module", sprintf(_("Installed module %s"), $module_name)); + log::success("module", sprintf(_("Installed module %s"), $module_name)); } /** @@ -137,7 +137,7 @@ class module_Core { $installer_class = "{$module_name}_installer"; Kohana::log("debug", "$installer_class uninstall"); call_user_func(array($installer_class, "uninstall")); - log::add("module", sprintf(_("Uninstalled module %s"), $module_name)); + log::success("module", sprintf(_("Uninstalled module %s"), $module_name)); } /** |