summaryrefslogtreecommitdiff
path: root/core/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'core/helpers')
-rw-r--r--core/helpers/log.php71
-rw-r--r--core/helpers/message.php69
-rw-r--r--core/helpers/module.php4
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));
}
/**