public static function success($text = "", $icon = null, $tag = 'p') { self::add('success', $text, $icon, $tag); Guardian::forget(); }
<?php // Forget all memor(y|ies) on page visit ... // Clear all notif(y|ies) on page visit ... Weapon::add('shield_after', function () { Guardian::forget(); Notify::clear(); });
/** * ========================================================== * RENDER A PAGE * ========================================================== * * -- CODE: ------------------------------------------------- * * Shield::attach('article', true, false); * * ---------------------------------------------------------- * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Parameter | Type | Description * --------- | ------- | ----------------------------------- * $name | string | Name of the shield * $minify | boolean | Minify HTML output? * $cache | boolean | Create a cache file on page visit? * $expire | integer | Define cache file expiration time * --------- | ------- | ----------------------------------- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * */ public static function attach($name, $minify = null, $cache = false, $expire = null) { $config = Config::get(); if (is_null($minify)) { $minify = $config->html_minifier; } $G = array('data' => array('name' => $name, 'minify' => $minify, 'cache' => $cache, 'expire' => $expire)); $shield = false; $shield_base = explode('-', $name, 2); if ($_file = File::exist(self::path($name))) { $shield = $_file; } else { if ($_file = File::exist(self::path($shield_base[0]))) { $shield = $_file; } else { Guardian::abort(Config::speak('notify_file_not_exist', '<code>' . self::path($name) . '</code>')); } } $G['data']['path'] = $shield; $q = !empty($config->url_query) ? '.' . md5($config->url_query) : ""; $cache_path = is_string($cache) ? $cache : CACHE . DS . str_replace(array('/', ':'), '.', $config->url_path) . $q . '.cache'; if ($G['data']['cache'] && file_exists($cache_path)) { if (is_null($expire) || is_int($expire) && time() - $expire < filemtime($cache_path)) { // Begin shield cache Weapon::fire('shield_cache_before', array($G, $G)); echo Filter::apply('shield:cache', File::open($cache_path)->read()); // Clear session Notify::clear(); Guardian::forget(); self::$lot = array(); // End shield cache Weapon::fire('shield_cache_after', array($G, $G)); exit; } } // Begin shield Weapon::fire('shield_before', array($G, $G)); ob_start($minify ? 'self::s_o' : 'self::s_o_d'); extract(Filter::apply('shield:lot', self::cargo())); require Filter::apply('shield:path', $shield); // Clear session Notify::clear(); Guardian::forget(); self::$lot = array(); // Get shield content $content = ob_get_contents(); ob_end_flush(); // Create shield cache $G['data']['content'] = $minify ? self::s_o($content) : self::s_o_d($content); if ($G['data']['cache']) { $G['data']['cache'] = $cache_path; File::write($G['data']['content'])->saveTo($cache_path); Weapon::fire('on_cache_construct', array($G, $G)); } // End shield Weapon::fire('shield_after', array($G, $G)); exit; }