Ejemplo n.º 1
0
 /**
  * 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;
         }
     }
 }