98 lines
3.7 KiB
PHP
Executable File
98 lines
3.7 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* messageStack Class.
|
|
*
|
|
* @package classes
|
|
* @copyright Copyright 2003-2006 Zen Cart Development Team
|
|
* @copyright Portions Copyright 2003 osCommerce
|
|
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
|
|
* @version $Id: message_stack.php 3619 2006-05-13 18:52:56Z ajeh $
|
|
*/
|
|
if (!defined('IS_ADMIN_FLAG')) {
|
|
die('Illegal Access');
|
|
}
|
|
/**
|
|
* messageStack Class.
|
|
* This class is used to manage messageStack alerts
|
|
*
|
|
* @package classes
|
|
*/
|
|
class messageStack extends tableBox {
|
|
|
|
// class constructor
|
|
function messageStack() {
|
|
|
|
$this->messages = array();
|
|
|
|
if (isset($_SESSION['messageToStack']) && $_SESSION['messageToStack']) {
|
|
$messageToStack = $_SESSION['messageToStack'];
|
|
for ($i=0, $n=sizeof($messageToStack); $i<$n; $i++) {
|
|
$this->add($messageToStack[$i]['class'], $messageToStack[$i]['text'], $messageToStack[$i]['type']);
|
|
}
|
|
$_SESSION['messageToStack']= '';
|
|
}
|
|
}
|
|
|
|
// class methods
|
|
function add($class, $message, $type = 'error') {
|
|
global $template, $current_page_base;
|
|
|
|
$message = trim($message);
|
|
if (strlen($message) > 0) {
|
|
if ($type == 'error') {
|
|
$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);
|
|
} elseif ($type == 'warning') {
|
|
$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);
|
|
} elseif ($type == 'success') {
|
|
$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);
|
|
} elseif ($type == 'caution') {
|
|
$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);
|
|
} else {
|
|
$this->messages[] = array('params' => 'class="messageStackError larger"', 'class' => $class, 'text' => $message);
|
|
}
|
|
}
|
|
}
|
|
|
|
function add_session($class, $message, $type = 'error') {
|
|
|
|
if (!$_SESSION['messageToStack']) {
|
|
$messageToStack = array();
|
|
} else {
|
|
$messageToStack = $_SESSION['messageToStack'];
|
|
}
|
|
|
|
$messageToStack[] = array('class' => $class, 'text' => $message, 'type' => $type);
|
|
$_SESSION['messageToStack'] = $messageToStack;
|
|
$this->add($class, $message, $type);
|
|
}
|
|
|
|
function reset() {
|
|
$this->messages = array();
|
|
}
|
|
|
|
function output($class) {
|
|
global $template, $current_page_base;
|
|
$this->table_data_parameters = 'class="messageBox"';
|
|
|
|
$output = array();
|
|
for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
|
|
if ($this->messages[$i]['class'] == $class) {
|
|
$output[] = $this->messages[$i];
|
|
}
|
|
}
|
|
require($template->get_template_dir('tpl_message_stack_default.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_message_stack_default.php');
|
|
}
|
|
|
|
function size($class) {
|
|
$count = 0;
|
|
|
|
for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
|
|
if ($this->messages[$i]['class'] == $class) {
|
|
$count++;
|
|
}
|
|
}
|
|
|
|
return $count;
|
|
}
|
|
}
|
|
?>
|