where("key", "=", $permanent_key) ->find(); if (!$message->loaded()) { $message->key = $permanent_key; } $message->severity = $severity; $message->value = $msg; $message->save(); } /** * Remove any permanent message by key. * @param string $permanent_key */ static function clear($permanent_key) { $message = ORM::factory("message")->where("key", "=", $permanent_key)->find(); if ($message->loaded()) { $message->delete(); } } /** * Get any pending messages. There are two types of messages, transient and permanent. * Permanent messages are used to let the admin know that there are pending administrative * issues that need to be resolved. Transient ones are only displayed once. * @return html text */ static function get() { if (!identity::active_user()->admin) { return; } $buf = array(); foreach (ORM::factory("message")->find_all() as $msg) { $value = str_replace("__CSRF__", access::csrf_token(), $msg->value); $buf[] = "
  • severity) . "\">$value
  • "; } if ($buf) { return ""; } } /** * Convert a message severity to a CSS class * @param integer $severity * @return string */ static function severity_class($severity) { switch($severity) { case site_status::SUCCESS: return "g-success"; case site_status::INFO: return "g-info"; case site_status::WARNING: return "g-warning"; case site_status::ERROR: return "g-error"; } } }