95 lines
2.9 KiB
PHP
95 lines
2.9 KiB
PHP
<?php
|
|
/* ----------------------------------------------------------------------
|
|
$Id: class_message_stack.php,v 1.1 2007/06/08 14:58:10 r23 Exp $
|
|
|
|
MyOOS [Shopsystem]
|
|
https://www.oos-shop.de
|
|
|
|
Copyright (c) 2003 - 2019 by the MyOOS Development Team.
|
|
----------------------------------------------------------------------
|
|
Based on:
|
|
|
|
File: message_stack.php,v 1.5 2002/11/22 18:45:46 dgw_
|
|
----------------------------------------------------------------------
|
|
osCommerce, Open Source E-Commerce Solutions
|
|
http://www.oscommerce.com
|
|
|
|
Copyright (c) 2003 osCommerce
|
|
----------------------------------------------------------------------
|
|
Released under the GNU General Public License
|
|
----------------------------------------------------------------------
|
|
Example usage:
|
|
|
|
$messageStack = new messageStack();
|
|
$messageStack->add('Error: Error 1', 'error');
|
|
$messageStack->add('Error: Error 2', 'warning');
|
|
if ($messageStack->size > 0) echo $messageStack->output();
|
|
---------------------------------------------------------------------- */
|
|
|
|
/** ensure this file is being included by a parent file */
|
|
defined( 'OOS_VALID_MOD' ) or die( 'Direct Access to this location is not allowed.' );
|
|
|
|
class messageStack {
|
|
var $size = 0;
|
|
|
|
public function __construct() {
|
|
|
|
$this->errors = array();
|
|
|
|
if (isset($_SESSION['messageToStack'])) {
|
|
for ($i = 0, $n = sizeof($_SESSION['messageToStack']); $i < $n; $i++) {
|
|
$this->add($_SESSION['messageToStack'][$i]['text'], $_SESSION['messageToStack'][$i]['type']);
|
|
}
|
|
unset($_SESSION['messageToStack']);
|
|
}
|
|
}
|
|
|
|
public function add($message, $type = 'error') {
|
|
|
|
if ($type == 'error') {
|
|
$this->errors[] = array('params' => 'alert-danger', 'text' => $message);
|
|
} elseif ($type == 'warning') {
|
|
$this->errors[] = array('params' => 'alert-warning', 'text' => $message);
|
|
} elseif ($type == 'success') {
|
|
$this->errors[] = array('params' => 'alert-success', 'text' => $message);
|
|
} else {
|
|
$this->errors[] = array('params' => 'alert-info', 'text' => $message);
|
|
}
|
|
|
|
$this->size++;
|
|
}
|
|
|
|
public function add_session($message, $type = 'error') {
|
|
if (!isset($_SESSION['messageToStack'])) {
|
|
$_SESSION['messageToStack'] = array();
|
|
}
|
|
|
|
$_SESSION['messageToStack'][] = array('text' => $message, 'type' => $type);
|
|
}
|
|
|
|
public function reset() {
|
|
$this->errors = array();
|
|
$this->size = 0;
|
|
}
|
|
|
|
public function output() {
|
|
$sMessageBox = '';
|
|
|
|
$aContents = $this->errors;
|
|
|
|
for ($i = 0, $n = count($aContents); $i < $n; $i++) {
|
|
$sMessageBox .= '<div class="alert';
|
|
if (isset($aContents[$i]['params']) && oos_is_not_null($aContents[$i]['params'])) {
|
|
$sMessageBox .= ' ' . $aContents[$i]['params'];
|
|
}
|
|
$sMessageBox .= '" role="alert">';
|
|
if (isset($aContents[$i]['text']) && oos_is_not_null($aContents[$i]['text'])) {
|
|
$sMessageBox .= ' ' . $aContents[$i]['text'];
|
|
}
|
|
$sMessageBox .= '</div>' . "\n";
|
|
}
|
|
|
|
return $sMessageBox;
|
|
}
|
|
}
|