Quick Search:

View

Revision:

Diff

Diff from 1 to:

Annotations

Annotate by Age | Author | Mixed | None
/fisheye/browse/osCommerce/trunk/oscommerce/includes/classes/message_stack.php

Annotated File View

hpdl
1
1 <?php
2 /*
3   $Id: message_stack.php,v 1.7 2004/04/13 07:32:51 hpdl Exp $
4
5   osCommerce, Open Source E-Commerce Solutions
6   http://www.oscommerce.com
7
8   Copyright (c) 2004 osCommerce
9
10   Released under the GNU General Public License
11 */
12
13   class messageStack {
14     var $messages;
15
16 // class constructor
17     function messageStack() {
18       $this->messages = array();
19     }
20
21 // class methods
22     function add($class, $message, $type = 'error') {
23       $this->messages[] = array('class' => $class, 'type' => $type, 'message' => $message);
24     }
25
26     function add_session($class, $message, $type = 'error') {
27       global $osC_Session;
28
29       if ($osC_Session->exists('messageToStack')) {
30         $messageToStack = $osC_Session->value('messageToStack');
31       } else {
32         $messageToStack = array();
33       }
34
35       $messageToStack[] = array('class' => $class, 'text' => $message, 'type' => $type);
36
37       $osC_Session->set('messageToStack', $messageToStack);
38
39       $this->add($class, $message, $type);
40     }
41
42     function reset() {
43       $this->messages = array();
44     }
45
46     function output($class) {
47       $messages = '<ul>';
48       for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
49         if ($this->messages[$i]['class'] == $class) {
50           switch ($this->messages[$i]['type']) {
51             case 'error':
52               $bullet_image = DIR_WS_ICONS . 'error.gif';
53               break;
54             case 'warning':
55               $bullet_image = DIR_WS_ICONS . 'warning.gif';
56               break;
57             case 'success':
58               $bullet_image = DIR_WS_ICONS . 'success.gif';
59               break;
60             default:
61               $bullet_image = DIR_WS_ICONS . 'bullet_default.gif';
62           }
63
64           $messages .= '<li style="list-style-image: url(\'' . $bullet_image . '\')">' . tep_output_string($this->messages[$i]['message']) . '</li>';
65         }
66       }
67       $messages .= '</ul>';
68
69       return '<div class="messageStack">' . $messages . '</div>';
70     }
71
72     function outputPlain($class) {
73       $message = false;
74
75       for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
76         if ($this->messages[$i]['class'] == $class) {
77           $message = tep_output_string($this->messages[$i]['message']);
78           break;
79         }
80       }
81
82       return $message;
83     }
84
85     function size($class) {
86       $class_size = 0;
87
88       for ($i=0, $n=sizeof($this->messages); $i<$n; $i++) {
89         if ($this->messages[$i]['class'] == $class) {
90           $class_size++;
91         }
92       }
93
94       return $class_size;
95     }
96
97     function loadFromSession() {
98       global $osC_Session;
99
100       if ($osC_Session->exists('messageToStack')) {
101         $messageToStack = $osC_Session->value('messageToStack');
102
103         for ($i=0, $n=sizeof($messageToStack); $i<$n; $i++) {
104           $this->add($messageToStack[$i]['class'], $messageToStack[$i]['text'], $messageToStack[$i]['type']);
105         }
106
107         $osC_Session->remove('messageToStack');
108       }
109     }
110   }
111 ?>