/** * Render Notices * * Renders the notices to the browser * * @param string - Type of notices to render. * @param string - The view template to use when rendering notices. * @return void */ public static function render($type = NULL, $template = 'notice/render') { if (Request::$protocol === NULL) { return; } if ($type == NULL) { //echo all the types if (sizeof(self::$notices) == 0) { if (sizeof(self::$views) != 0) { foreach (self::$views as $view) { //display all the views (this is a repeat render) echo $view; } } } else { foreach (self::$notices as $type => $notices) { //reset the saved views self::$views = array(); //save it incase it needs to be rendered again self::$views[$type] = View::factory($template)->set('type', $type)->set('notices', $notices); echo self::$views[$type]; } //clear $notices for new ones self::$notices = array(); } } else { //only echo specified type (if not from $notices then from $views if (isset(self::$notices[$type])) { self::$views[$type] = View::factory($template)->set('type', $type)->set('notices', self::$notices[$type]); echo self::$views[$type]; } else { echo isset(self::$views[$type]) ? self::$views[$type] : NULL; } } }