diff options
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)); } /** |