[ Index ]
 

Code source de Zen Cart E-Commerce Shopping Cart 1.3.7.1

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/includes/classes/ -> message_stack.php (source)

   1  <?php
   2  /**

   3   * messageStack Class.

   4   *

   5   * @package classes

   6   * @copyright Copyright 2003-2006 Zen Cart Development Team

   7   * @copyright Portions Copyright 2003 osCommerce

   8   * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0

   9   * @version $Id: message_stack.php 5384 2006-12-24 19:38:39Z drbyte $

  10   */
  11  if (!defined('IS_ADMIN_FLAG')) {
  12    die('Illegal Access');
  13  }
  14  /**

  15   * messageStack Class.

  16   * This class is used to manage messageStack alerts

  17   *

  18   * @package classes

  19   */
  20  class messageStack extends base {
  21  
  22    // class constructor

  23    function messageStack() {
  24  
  25      $this->messages = array();
  26  
  27      if (isset($_SESSION['messageToStack']) && $_SESSION['messageToStack']) {
  28        $messageToStack = $_SESSION['messageToStack'];
  29        for ($i=0, $n=sizeof($messageToStack); $i<$n; $i++) {
  30          $this->add($messageToStack[$i]['class'], $messageToStack[$i]['text'], $messageToStack[$i]['type']);
  31        }
  32        $_SESSION['messageToStack']= '';
  33      }
  34    }
  35  
  36    // class methods

  37    function add($class, $message, $type = 'error') {
  38      global $template, $current_page_base;
  39  
  40      $message = trim($message);
  41      if (strlen($message) > 0) {
  42        if ($type == 'error') {
  43          $this->messages[] = array('params' => 'class="messageStackError larger"', 'class' => $class, 'text' => zen_image($template->get_template_dir(ICON_IMAGE_ERROR, DIR_WS_TEMPLATE, $current_page_base,'images/icons'). '/' . ICON_IMAGE_ERROR, ICON_ERROR_ALT) . '  ' . $message);
  44        } elseif ($type == 'warning') {
  45          $this->messages[] = array('params' => 'class="messageStackWarning larger"', 'class' => $class, 'text' => zen_image($template->get_template_dir(ICON_IMAGE_WARNING, DIR_WS_TEMPLATE, $current_page_base,'images/icons'). '/' . ICON_IMAGE_WARNING, ICON_WARNING_ALT) . '  ' . $message);
  46        } elseif ($type == 'success') {
  47          $this->messages[] = array('params' => 'class="messageStackSuccess larger"', 'class' => $class, 'text' => zen_image($template->get_template_dir(ICON_IMAGE_SUCCESS, DIR_WS_TEMPLATE, $current_page_base,'images/icons'). '/' . ICON_IMAGE_SUCCESS, ICON_SUCCESS_ALT) . '  ' . $message);
  48        } elseif ($type == 'caution') {
  49          $this->messages[] = array('params' => 'class="messageStackCaution larger"', 'class' => $class, 'text' => zen_image($template->get_template_dir(ICON_IMAGE_WARNING, DIR_WS_TEMPLATE, $current_page_base,'images/icons'). '/' . ICON_IMAGE_WARNING, ICON_WARNING_ALT) . '  ' . $message);
  50        } else {
  51          $this->messages[] = array('params' => 'class="messageStackError larger"', 'class' => $class, 'text' => $message);
  52        }
  53      }
  54    }
  55  
  56    function add_session($class, $message, $type = 'error') {
  57  
  58      if (!$_SESSION['messageToStack']) {
  59        $messageToStack = array();
  60      } else {
  61        $messageToStack = $_SESSION['messageToStack'];
  62      }
  63  
  64      $messageToStack[] = array('class' => $class, 'text' => $message, 'type' => $type);
  65      $_SESSION['messageToStack'] = $messageToStack;
  66      $this->add($class, $message, $type);
  67    }
  68  
  69    function reset() {
  70      $this->messages = array();
  71    }
  72  
  73    function output($class) {
  74      global $template, $current_page_base;
  75  
  76      $output = array();
  77      for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
  78        if ($this->messages[$i]['class'] == $class) {
  79          $output[] = $this->messages[$i];
  80        }
  81      }
  82  
  83      // remove duplicates before displaying

  84  //    $output = array_values(array_unique($output)); 

  85  
  86      require($template->get_template_dir('tpl_message_stack_default.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_message_stack_default.php');
  87    }
  88  
  89    function size($class) {
  90      $count = 0;
  91  
  92      for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
  93        if ($this->messages[$i]['class'] == $class) {
  94          $count++;
  95        }
  96      }
  97  
  98      return $count;
  99    }
 100  }
 101  ?>


Généré le : Mon Nov 26 16:45:43 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics