[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
[phpBB Debug] PHP Warning: in file [ROOT]/includes/crs/crs_misc_functions.php on line 37: mime_content_type(): Empty filename or path
Zen Cart 源代码 message_stack.php

Zen Cart 源代码 message_stack.php




下载文件

文件名: message_stack.php
文件类型: PHP文件
文件大小: 3.99 KiB
MD5: 57a616bcf145b6fe7bb23311d1105bd0

message_stack.php - 关闭高亮
  1. <?php
  2. /**
  3.  * messageStack Class.
  4.  *
  5.  * @package classes
  6.  * @copyright Copyright 2003-2009 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 14169 2009-08-15 23:58:05Z 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.   function add($class, $message, $type = 'error') {
  37.     global $template, $current_page_base;
  38.     $message = trim($message);
  39.     $duplicate = false;
  40.     if (strlen($message) > 0) {
  41.       if ($type == 'error') {
  42.         $theAlert = 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);
  43.       } elseif ($type == 'warning') {
  44.         $theAlert = 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);
  45.       } elseif ($type == 'success') {
  46.         $theAlert = 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);
  47.       } elseif ($type == 'caution') {
  48.         $theAlert = 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);
  49.       } else {
  50.         $theAlert = array('params' => 'class="messageStackError larger"', 'class' => $class, 'text' => $message);
  51.       }
  52.  
  53.       for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
  54.         if ($theAlert['text'] == $this->messages[$i]['text'] && $theAlert['class'] == $this->messages[$i]['class']) $duplicate = true;
  55.       }
  56.       if (!$duplicate) $this->messages[] = $theAlert;
  57.     }
  58.   }
  59.  
  60.   function add_session($class, $message, $type = 'error') {
  61.  
  62.     if (!$_SESSION['messageToStack']) {
  63.       $messageToStack = array();
  64.     } else {
  65.       $messageToStack = $_SESSION['messageToStack'];
  66.     }
  67.  
  68.     $messageToStack[] = array('class' => $class, 'text' => $message, 'type' => $type);
  69.     $_SESSION['messageToStack'] = $messageToStack;
  70.     $this->add($class, $message, $type);
  71.   }
  72.  
  73.   function reset() {
  74.     $this->messages = array();
  75.   }
  76.  
  77.   function output($class) {
  78.     global $template, $current_page_base;
  79.  
  80.     $output = array();
  81.     for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
  82.       if ($this->messages[$i]['class'] == $class) {
  83.         $output[] = $this->messages[$i];
  84.       }
  85.     }
  86.  
  87.     // remove duplicates before displaying
  88. //    $output = array_values(array_unique($output));
  89.  
  90.     require($template->get_template_dir('tpl_message_stack_default.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_message_stack_default.php');
  91.   }
  92.  
  93.   function size($class) {
  94.     $count = 0;
  95.  
  96.     for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
  97.       if ($this->messages[$i]['class'] == $class) {
  98.         $count++;
  99.       }
  100.     }
  101.  
  102.     return $count;
  103.   }
  104. }
  105. ?>


cron