Umfragen
edit.matrix.handle.php
Go to the documentation of this file.
1 <?php
2 /*
3  * edit.matrix.handle.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 if ( (isset($widget)) ){
25  $all_err_reason = array();
26 
27  $r = $widget->handle_option_list_edit();
28  if($r !== true){
29  $all_err_reason[] = $r;
30  }else{
31  $widget->save_option_list($db);
32  }
33 
34  $r = $widget->handle_dispName_edit();
35  if($r !== true){
36  $all_err_reason[] = $r;
37  }else{
38  $widget->save_dispName($db);
39  }
40 
41  $r = $widget->handle_numberQuestion_edit();
42  if($r !== true){
43  $all_err_reason[] = $r;
44  }else{
45  $widget->save_config($db);
46  }
47 
48  $r = $widget->handle_chartType_edit();
49  if($r !== true){
50  $all_err_reason[] = $r;
51  }else{
52  $widget->save_config($db);
53  }
54 
55  $widget->handle_show_charts_edit();
56  if($r !== true){
57  $all_err_reason[] = $r;
58  }else{
59  $widget->save_config($db);
60  }
61 
62  // get old widget names for widget name availability check
63  $old_widget_names = array();
64  foreach( $widget->widget_list as $child ){
65  $old_widget_names[$child->ID] = $child->name;
66  }
67  // new names
68  $r = $widget->handle_question_list_edit();
69  if($r !== true){
70  $all_err_reason[] = $r;
71  }
72  $names = $db->get_widget_names($widget->pollID);
73  foreach( $widget->widget_list as $child ){
74  $old_name = $old_widget_names[$child->ID];
75  if($old_name !== $child->name){
76  foreach($names as $row){
77  if( ($row["name"] == $child->name) ){
78  $r = "Datenbankname der Option mit ID {$child->ID} ist bereits vergeben. Bitte einen anderen Wählen.";
79  }
80  }
81  }
82  }
83 
84  if($r !== true){
85  $all_err_reason[] = $r;
86  }else{
87  foreach( $widget->widget_list as $child ){
88  $old_name = $old_widget_names[$child->ID];
89  // update db only if there is change
90  if( $old_name !== $child->name ){
91  $db->rename_result_column($widget->pollID,$child->typ,$old_name, $child->name);
92  }
93  }
94  $widget->save_widget_list($db);
95  }
96 
97 
98 }
99 ?>
100