Umfragen
messages.class.php
Go to the documentation of this file.
1 <?php
2 /*
3  * choice.class.php
4  *
5  * Copyright 2012 Johannes <jojo@jojo-42>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20  * MA 02110-1301, USA.
21  *
22  *
23  */
24 
25 if ( !isset($config_included) ){
26  die("Configfile not loaded");
27 }
28 
29 
30 function print_err($err){
31  /*
32  echo "<div class='error'>";
33  echo "<table><tr>";
34  echo "<td><img src='".APP_ROOT."/icons/48/dialog-error.png' alt='Error: '/></td>";
35  echo "<td>$err</td>";
36  echo "</tr></table>";
37  echo "</div>";
38  */
39  echo "<div class='message error'>";
40  echo "<span class='message_text_top_left'>Fehler!</span>";
41  echo "<span class='message_text_top_right'>x</span>";
42  echo "<table><tr>";
43  echo "<td><img src='".APP_ROOT."/icons/48/dialog-error.png' alt='Error: ' /></td>";
44  echo "<td><ul class='message_ul'>";
45  echo "<li>{$err} <hr/></li>";
46  echo "</ul></td>";
47  echo "</tr></table>";
48  echo "</div>";
49 
50 
51 }
52 
53 function print_info($inf){
54  /* echo "<div class='info'>";
55  echo "<table><tr>";
56  echo "<td><img src='".APP_ROOT."/icons/48/dialog-information.png' alt='Info: '/></td>";
57  echo "<td>$inf</td>";
58  echo "</tr></table>";
59  echo "</div>";
60  */
61 
62  echo "<div class='message info'>";
63  echo "<span class='message_text_top_left'>Info:</span>";
64  echo "<span class='message_text_top_right'>x</span>";
65 
66  echo "<table><tr>";
67  echo "<td><img src='".APP_ROOT."/icons/48/dialog-information.png' alt='Info: ' /></td>";
68  echo "<td><ul class='message_ul'>";
69  echo "<li>{$inf} <hr/></li>";
70  echo "</ul></td>";
71  echo "</tr></table>";
72  echo "</div>";
73 
74 }
75 
76 function print_warning($war){
77  /*
78  echo "<div class='warning'>";
79  echo "<table><tr>";
80  echo "<td><img src='".APP_ROOT."/icons/48/dialog-warning.png' alt='Achtung: '/></td>";
81  echo "<td>$war</td>";
82  echo "</tr></table>";
83  echo "</div>";
84  **/
85  echo "<div class='message warning'>";
86  echo "<span class='message_text_top_left'>Warnung:</span>";
87  echo "<span class='message_text_top_right'>x</span>";
88  echo "<table><tr>";
89  echo "<td><img src='".APP_ROOT."/icons/48/dialog-warning.png' alt='Warnung: ' /></td>";
90  echo "<td><ul class='message_ul'>";
91  echo "<li>{$war} <hr/></li>";
92  echo "</ul></td>";
93  echo "</tr></table>";
94  echo "</div>";
95 
96 }
97 
98 
99 
101 
102  private $message_list = array();
103 
104  public function __construct(){
105  // start session ... we store our messages accross sites in session vars
106  if( !isset($_SESSION) ){
107  require_once("user.class.php");
108  session_start();
109  }
110  // load session var if there is one
111  if( !isset($_SESSION["messages"]) ){
112  $_SESSION["messages"] = array();
113  }
114  return $this->load_from_session();
115  }
116 
117  /*************************************
118  * LOAD // SAVE
119  * ***********************************/
120  public function load_from_session(){
121  $this->message_list = array();
122  if( (isset($_SESSION["messages"])) AND
123  (is_array($_SESSION["messages"])) AND
124  (sizeof($_SESSION["messages"]) >0 ) ){
125 
126  foreach( $_SESSION["messages"] as $message_ar){
127  if( $message_ar["type"] == "errorMessage"){
128  $message = new errorMessage();
129  }else if ( $message_ar["type"] == "infoMessage"){
130  $message = new infoMessage();
131  }else if ( $message_ar["type"] == "successMessage"){
132  $message = new successMessage();
133  }else if( $message_ar["type"] == "warningMessage"){
134  $message = new warningMessage();
135  }else{
136  break;
137  }
138  $message->setMessage($message_ar["message"]);
139  $this->message_list[ $message_ar["index"] ] = $message;
140  }
141  return true;
142  }else{ // end if there is a session message var
143  return false;
144  }
145  }
146 
147 
148  public function save_to_session(){
149  $_SESSION["messages"] = array();
150 
151  for( $i=0 ; $i<sizeof($this->message_list) ; ++$i){
152  $message = $this->message_list[$i];
153  $type = "";
154  if( $message instanceof errorMessage ){
155  $type = "errorMessage";
156  }else if ($message instanceof infoMessage ){
157  $type = "infoMessage";
158  }else if ($message instanceof successMessage ){
159  $type = "successMessage";
160  }else if($message instanceof warningMessage){
161  $type ="warningMessage";
162  }else{
163  break;
164  }
165  $text = $message->getMessage();
166  $_SESSION["messages"][$i] = array( "index"=>$i , "type"=>$type , "message"=>$text);
167  }
168  return true;
169  }
170 
171 
172  /*************************************
173  * ADD // DEL
174  * ***********************************/
175 
176  public function add_message($message){
177  $this->message_list[] = $message;
178  $this->save_to_session();
179  return true;
180  }
181 
182  public function del_message($index){
183  if( isset($this->message_list[$index]) ){
184  unset( $this->message_list[$index] );
185  return $this->save_to_session();
186  }else{
187  return false;
188  }
189  }
190 
191  public function del_all_messages(){
192  $this->message_list = array();
193  return $this->save_to_session();
194  }
195 
196  public function get_message($index){
197  if( isset($this->message_list[$index]) ){
198  return $this->message_list[$index];
199  }else{
200  return;
201  }
202  }
203 
204  /*************************************
205  * GETTERS
206  * ***********************************/
207  public function iserr(){
208  foreach( $this->message_list as $msg){
209  if( $msg instanceof errorMessage ){
210  return true;
211  }
212  }
213  return false;
214  }
215 
216  public function get_all_errorMessage(){
217  $ret = array();
218  foreach( $this->message_list as $message){
219  if( $message instanceof errorMessage ){
220  $ret[] = $message;
221  }
222  }
223  return $ret;
224  }
225 
226  public function get_all_infoMessage(){
227  $ret = array();
228  foreach( $this->message_list as $message){
229  if( $message instanceof infoMessage ){
230  $ret[] = $message;
231  }
232  }
233  return $ret;
234  }
235 
236  public function get_all_successMessage(){
237  $ret = array();
238  foreach( $this->message_list as $message){
239  if( $message instanceof successMessage ){
240  $ret[] = $message;
241  }
242  }
243  return $ret;
244  }
245 
246  public function get_all_warningMessage(){
247  $ret = array();
248  foreach( $this->message_list as $message){
249  if( $message instanceof warningMessage ){
250  $ret[] = $message;
251  }
252  }
253  return $ret;
254  }
255 
256 
257  /*************************************
258  * DISPLAY
259  * ***********************************/
260  public function display_errorMessages(){
261  $infs = $this->get_all_errorMessage();
262  if( sizeof($infs) >0 ){
263  echo "<div class='message error'>";
264  echo "<span class='message_text_top_left'>Fehler!</span>";
265  echo "<span class='message_text_top_right'>x</span>";
266  echo "<table><tr>";
267  echo "<td><img src='".APP_ROOT."/icons/48/dialog-error.png' alt='Error: ' /></td>";
268  echo "<td><ul class='message_ul'>";
269  foreach( $infs as $inf ){
270  echo "<li>{$inf->getMessage()} <hr/></li>";
271  }
272  echo "</ul></td>";
273  echo "</tr></table>";
274  echo "</div>";
275  }
276  }
277 
278  public function display_infoMessages(){
279  $infs = $this->get_all_infoMessage();
280  if( sizeof($infs) >0 ){
281  echo "<div class='message info'>";
282  echo "<span class='message_text_top_left'>Info:</span>";
283  echo "<span class='message_text_top_right'>x</span>";
284  echo "<table><tr>";
285  echo "<td><img src='".APP_ROOT."/icons/48/dialog-information.png' alt='Info: ' /></td>";
286  echo "<td><ul class='message_ul'>";
287  foreach( $infs as $inf ){
288  echo "<li>{$inf->getMessage()} <hr/></li>";
289  }
290  echo "</ul></td>";
291  echo "</tr></table>";
292  echo "</div>";
293  }
294  }
295 
296  public function display_warningMessages(){
297  $infs = $this->get_all_warningMessage();
298  if( sizeof($infs) >0 ){
299  echo "<div class='message warning'>";
300  echo "<span class='message_text_top_left'>Warnung:</span>";
301  echo "<span class='message_text_top_right'>x</span>";
302  echo "<table><tr>";
303  echo "<td><img src='".APP_ROOT."/icons/48/dialog-warning.png' alt='Warnung: ' /></td>";
304  echo "<td><ul class='message_ul'>";
305  foreach( $infs as $inf ){
306  echo "<li>{$inf->getMessage()} <hr/></li>";
307  }
308  echo "</ul></td>";
309  echo "</tr></table>";
310  echo "</div>";
311  }
312  }
313 
314  public function display_messages(){
315  $this->display_errorMessages();
316  $this->display_warningMessages();
317  $this->display_infoMessages();
318  }
319 
320 }
321 
322 class message{
323  private $message = "";
324 
325  public function __construct($message=""){
326  if( $message != "" ) {
327  $this->setMessage($message);
328  }
329  }
330 
331  public function setMessage($message){
332  $this->message = $message;
333  }
334 
335  public function getMessage(){
336  return $this->message;
337  }
338 
339 
340 }
341 
342 class errorMessage extends message{
343 
344 }
345 
346 class infoMessage extends message{
347 
348 }
349 
350 class warningMessage extends message{
351 
352 }
353 
354 class sucessMessage extends message{
355 
356 }
357 
358 // ! no ending newLine
359 ?>