MIOLO20
Carregando...
Procurando...
Nenhuma entrada encontrada
mmessage.class
Ir para a documentação deste ficheiro.
1<?php
2
35/*
36 * Class to show a message.
37 * This classes can be used to show messages to the user, using Dojo's features. On your form,
38 * you need only to add a field, which will be used to show the message, and than when you want,
39 * create a new MMessage object and it's done.
40 *
41 * @example
42 * <code>
43 * ...
44 * $fields[] = MMessage::getMessageContainer();
45 * $this->setFields($fields);
46 * ...
47 * new MMessage("Error message string here.", MMessage::TYPE_ERROR);
48 * </code>
49 *
50 */
52if (!is_null($MIOLO->page))
53{
54 $MIOLO->page->addScript('m_message.js');
55}
56
58{
59 // Message types
60 const TYPE_SUCCESS = 'success';
61 const TYPE_INFORMATION = 'information';
62 const TYPE_WARNING = 'warning';
63 const TYPE_ERROR = 'error';
64
65 const CSS_CLASS = 'm-message m-message';
66 const MSG_CONTAINER_ID = 'm-message-div';
67 const MSG_DIV_ID = 'main-message-div';
68
78 public function __construct($message, $type = self::TYPE_INFORMATION, $display = true, $msgContainer = self::MSG_CONTAINER_ID)
79 {
81
82 if ( is_array($message) )
83 {
84 $message = implode($message, '<br/>');
85 }
86
87 $box = new MDiv(self::MSG_DIV_ID, $message, self::getCssClass($type));
88
89 if ( $display )
90 {
91 $jsCode = "mmessage.show('$msgContainer'); ";
92 $jsCode .= "mmessage.connectHideEvents('". self::MSG_DIV_ID ."'); ";
93
94 $generatedBox = addslashes(str_replace("\n", ' ', $box->generate()));
95
96 $jsCode .= "document.getElementById('$msgContainer').innerHTML = '$generatedBox';";
97 $MIOLO->page->onload($jsCode);
98 }
99 else
100 {
101 // TODO: some kind of multi message support, adding them to the session
102 $session = new MSession(self::MSG_DIV_ID);
103 $session->setValue('lastMessage', $message);
104 $session->setValue('lastType', $type);
105 }
106 }
107
113 public static function getMessageSession()
114 {
115 return new MSession(self::MSG_DIV_ID);
116 }
117
121 public static function clearLastMessage()
122 {
123 $session = new MSession(self::MSG_DIV_ID);
124 $session->setValue('lastMessage', '');
125 $session->setValue('lastType', '');
126 }
127
133 public static function getStaticMessage($name, $message, $type = self::TYPE_SUCCESS)
134 {
135 return new MDiv($name, $message, self::getCssClass($type));
136 }
137
138 public static function getCssClass($type = self::TYPE_INFORMATION)
139 {
140 $cssClass = self::CSS_CLASS . '-' . $type . ' alert ';
141
142 switch ($type)
143 {
145 $cssClass .= 'alert-success';
146 break;
147
149 $cssClass .= 'alert-info';
150 break;
151
153 $cssClass .= 'alert-warning';
154 break;
155
156 case self::TYPE_ERROR:
157 $cssClass .= 'alert-danger';
158 break;
159 }
160
161 return $cssClass;
162 }
163
169 public static function getMessageContainer()
170 {
172
173 $session = self::getMessageSession();
174 $type = $session->getValue('lastType');
175 $message = $session->getValue('lastMessage');
176
177 $content = '';
178
179 // if a message exists in session, return it
180 if ( $type && $message )
181 {
182 $content = new MDiv(self::MSG_DIV_ID, $message, self::getCssClass($type));
183
185
186 $jsCode = "mmessage.show('". self::MSG_DIV_ID ."');";
187 $jsCode .= "mmessage.connectHideEvents('". self::MSG_DIV_ID ."');";
188 $MIOLO->page->onload($jsCode);
189 }
190
191 return new MDiv(self::MSG_CONTAINER_ID, $content);
192 }
193}
194
200{
206 public function __construct($message, $display = true)
207 {
208 parent::__construct($message, self::TYPE_SUCCESS, $display);
209
210 }
211}
212
218{
224 public function __construct($message, $display = true)
225 {
226 parent::__construct($message, self::TYPE_INFORMATION, $display);
227 }
228}
229
235{
241 public function __construct($message, $display = true)
242 {
243 parent::__construct($message, self::TYPE_WARNING, $display);
244 }
245}
246
252{
258 public function __construct($message, $display = true)
259 {
260 parent::__construct($message, self::TYPE_ERROR, $display);
261 }
262}
263
264?>
static getInstance()
Definição miolo.class:134
__construct($message, $display=true)
Definição mmessage.class:258
__construct($message, $display=true)
Definição mmessage.class:224
__construct($message, $display=true)
Definição mmessage.class:206
__construct($message, $display=true)
Definição mmessage.class:241
static getMessageSession()
Definição mmessage.class:113
const MSG_CONTAINER_ID
Definição mmessage.class:66
static getMessageContainer()
Definição mmessage.class:169
const TYPE_ERROR
Definição mmessage.class:63
const TYPE_INFORMATION
Definição mmessage.class:61
const MSG_DIV_ID
Definição mmessage.class:67
const CSS_CLASS
Definição mmessage.class:65
const TYPE_SUCCESS
Definição mmessage.class:60
static getStaticMessage($name, $message, $type=self::TYPE_SUCCESS)
Definição mmessage.class:133
static getCssClass($type=self::TYPE_INFORMATION)
Definição mmessage.class:138
const TYPE_WARNING
Definição mmessage.class:62
static clearLastMessage()
Definição mmessage.class:121
__construct($message, $type=self::TYPE_INFORMATION, $display=true, $msgContainer=self::MSG_CONTAINER_ID)
Definição mmessage.class:78
$MIOLO
Definição mmessage.class:51