Advertisement
Guest User

Flash - CI Library

a guest
Dec 25th, 2010
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.22 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4.  * @author Franco Bouly 25/12/2010
  5.  * @version 0.1
  6.  * @name Flash - Flashdata with ease
  7.  *
  8.  */
  9.  
  10.  
  11. class Flash {
  12.  
  13.     var $CI;
  14.     var $data = array();
  15.     var $layout = '<div class="%s">%s</div>';
  16.  
  17.     var $_prefix = '_flash';
  18.  
  19.     function Flash() {
  20.         $this->CI =& get_instance();
  21.         $this->CI->load->library('session');
  22.         $this->_local_store();
  23.     }
  24.  
  25.     function get($format = TRUE, $keep = FALSE) {
  26.         $data = unserialize($this->CI->session->userdata($this->_prefix));
  27.         if ($keep === FALSE) {
  28.             $this->CI->session->unset_userdata($this->_prefix);
  29.         }
  30.         //var_dump($data);
  31.         if ($format === TRUE AND is_array($data) AND count($data) > 0) {
  32.             $data_temp = '';
  33.             foreach ($data as $d) {
  34.                 $data_temp .= sprintf($this->layout, $d['class'], $d['message']) . "\r\n";
  35.             }
  36.             $data = (string) $data_temp;
  37.             unset($data_temp);
  38.         }
  39.         $this->_local_store();
  40.         return $data;
  41.     }
  42.  
  43.     function add($message, $class = 'error') {
  44.         $this->_local_store();
  45.         $store = array(
  46.             'message' => $message,
  47.             'class' => $class,
  48.             'layout' => $this->layout,
  49.         );
  50.         $this->data[] = $store;
  51.         $this->CI->session->set_userdata($this->_prefix,serialize($this->data));
  52.     }
  53.  
  54.     function _local_store() {
  55.         $this->data = unserialize($this->CI->session->userdata($this->_prefix));
  56.     }
  57.  
  58. }
  59.  
  60. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement