|
12 | 12 | use SHC\Condition\ConditionEditor;
|
13 | 13 | use SHC\Core\SHC;
|
14 | 14 | use SHC\Form\FormElements\ConditionTypeChooser;
|
| 15 | +use SHC\Form\Forms\Conditions\CalendarWeekConditionForm; |
15 | 16 | use SHC\Form\Forms\Conditions\DateConditionForm;
|
16 | 17 | use SHC\Form\Forms\Conditions\DayOfWeekConditionForm;
|
17 | 18 | use SHC\Form\Forms\Conditions\FileExistsConditionForm;
|
|
25 | 26 | use SHC\Form\Forms\Conditions\NobodyAtHomeConditionForm;
|
26 | 27 | use SHC\Form\Forms\Conditions\SunriseSunsetConditionForm;
|
27 | 28 | use SHC\Form\Forms\Conditions\SunsetSunriseConditionForm;
|
| 29 | +use SHC\Form\Forms\Conditions\SwitchableStateConditionForm; |
28 | 30 | use SHC\Form\Forms\Conditions\TemperatureConditionForm;
|
29 | 31 | use SHC\Form\Forms\Conditions\TimeOfDayConditionForm;
|
30 | 32 | use SHC\Form\Forms\Conditions\UserAtHomeConditionForm;
|
@@ -1069,6 +1071,212 @@ public function processData() {
|
1069 | 1071 | $tpl->assign('conditionForm', $conditionForm);
|
1070 | 1072 | }
|
1071 | 1073 | break;
|
| 1074 | + case 22: |
| 1075 | + |
| 1076 | + //gerade Kalenderwoche |
| 1077 | + $conditionForm = new CalendarWeekConditionForm(); |
| 1078 | + $conditionForm->setView(Form::SMARTPHONE_VIEW); |
| 1079 | + $conditionForm->setAction('index.php?app=shc&m&page=addconditionform'); |
| 1080 | + $conditionForm->addId('shc-view-form-addCondition'); |
| 1081 | + |
| 1082 | + if($conditionForm->isSubmitted() && $conditionForm->validate()) { |
| 1083 | + |
| 1084 | + //Werte vorbereiten |
| 1085 | + $name = $conditionForm->getElementByName('name')->getValue(); |
| 1086 | + $enabled = $conditionForm->getElementByName('enabled')->getValue(); |
| 1087 | + |
| 1088 | + //Speichern |
| 1089 | + $message = new Message(); |
| 1090 | + try { |
| 1091 | + |
| 1092 | + ConditionEditor::getInstance()->addJustCalendarWeekCondition($name, $enabled); |
| 1093 | + $message->setType(Message::SUCCESSFULLY); |
| 1094 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.success')); |
| 1095 | + } catch(\Exception $e) { |
| 1096 | + |
| 1097 | + if($e->getCode() == 1502) { |
| 1098 | + |
| 1099 | + //Name schon vergeben |
| 1100 | + $message->setType(Message::ERROR); |
| 1101 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1502')); |
| 1102 | + } elseif($e->getCode() == 1102) { |
| 1103 | + |
| 1104 | + //fehlende Schreibrechte |
| 1105 | + $message->setType(Message::ERROR); |
| 1106 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1102')); |
| 1107 | + } else { |
| 1108 | + |
| 1109 | + //Allgemeiner Fehler |
| 1110 | + $message->setType(Message::ERROR); |
| 1111 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error')); |
| 1112 | + } |
| 1113 | + } |
| 1114 | + RWF::getSession()->setMessage($message); |
| 1115 | + |
| 1116 | + //Umleiten |
| 1117 | + $this->response->addLocationHeader('index.php?app=shc&page=listconditions'); |
| 1118 | + $this->response->setBody(''); |
| 1119 | + $this->template = ''; |
| 1120 | + } else { |
| 1121 | + |
| 1122 | + $tpl->assign('conditionForm', $conditionForm); |
| 1123 | + } |
| 1124 | + break; |
| 1125 | + case 23: |
| 1126 | + |
| 1127 | + //ungerade Kalenderwoche |
| 1128 | + $conditionForm = new CalendarWeekConditionForm(); |
| 1129 | + $conditionForm->setView(Form::SMARTPHONE_VIEW); |
| 1130 | + $conditionForm->setAction('index.php?app=shc&m&page=addconditionform'); |
| 1131 | + $conditionForm->addId('shc-view-form-addCondition'); |
| 1132 | + |
| 1133 | + if($conditionForm->isSubmitted() && $conditionForm->validate()) { |
| 1134 | + |
| 1135 | + //Werte vorbereiten |
| 1136 | + $name = $conditionForm->getElementByName('name')->getValue(); |
| 1137 | + $enabled = $conditionForm->getElementByName('enabled')->getValue(); |
| 1138 | + |
| 1139 | + //Speichern |
| 1140 | + $message = new Message(); |
| 1141 | + try { |
| 1142 | + |
| 1143 | + ConditionEditor::getInstance()->addOddCalendarWeekCondition($name, $enabled); |
| 1144 | + $message->setType(Message::SUCCESSFULLY); |
| 1145 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.success')); |
| 1146 | + } catch(\Exception $e) { |
| 1147 | + |
| 1148 | + if($e->getCode() == 1502) { |
| 1149 | + |
| 1150 | + //Name schon vergeben |
| 1151 | + $message->setType(Message::ERROR); |
| 1152 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1502')); |
| 1153 | + } elseif($e->getCode() == 1102) { |
| 1154 | + |
| 1155 | + //fehlende Schreibrechte |
| 1156 | + $message->setType(Message::ERROR); |
| 1157 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1102')); |
| 1158 | + } else { |
| 1159 | + |
| 1160 | + //Allgemeiner Fehler |
| 1161 | + $message->setType(Message::ERROR); |
| 1162 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error')); |
| 1163 | + } |
| 1164 | + } |
| 1165 | + RWF::getSession()->setMessage($message); |
| 1166 | + |
| 1167 | + //Umleiten |
| 1168 | + $this->response->addLocationHeader('index.php?app=shc&page=listconditions'); |
| 1169 | + $this->response->setBody(''); |
| 1170 | + $this->template = ''; |
| 1171 | + } else { |
| 1172 | + |
| 1173 | + $tpl->assign('conditionForm', $conditionForm); |
| 1174 | + } |
| 1175 | + break; |
| 1176 | + case 24: |
| 1177 | + |
| 1178 | + //schaltbares Element "an" |
| 1179 | + $conditionForm = new SwitchableStateConditionForm(); |
| 1180 | + $conditionForm->setView(Form::SMARTPHONE_VIEW); |
| 1181 | + $conditionForm->setAction('index.php?app=shc&m&page=addconditionform'); |
| 1182 | + $conditionForm->addId('shc-view-form-addCondition'); |
| 1183 | + |
| 1184 | + if($conditionForm->isSubmitted() && $conditionForm->validate()) { |
| 1185 | + |
| 1186 | + //Werte vorbereiten |
| 1187 | + $name = $conditionForm->getElementByName('name')->getValue(); |
| 1188 | + $switchables = $conditionForm->getElementByName('switchables')->getValues(); |
| 1189 | + $enabled = $conditionForm->getElementByName('enabled')->getValue(); |
| 1190 | + |
| 1191 | + //Speichern |
| 1192 | + $message = new Message(); |
| 1193 | + try { |
| 1194 | + |
| 1195 | + ConditionEditor::getInstance()->addSwitchableStateHighCondition($name, $switchables, $enabled); |
| 1196 | + $message->setType(Message::SUCCESSFULLY); |
| 1197 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.success')); |
| 1198 | + } catch(\Exception $e) { |
| 1199 | + |
| 1200 | + if($e->getCode() == 1502) { |
| 1201 | + |
| 1202 | + //Name schon vergeben |
| 1203 | + $message->setType(Message::ERROR); |
| 1204 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1502')); |
| 1205 | + } elseif($e->getCode() == 1102) { |
| 1206 | + |
| 1207 | + //fehlende Schreibrechte |
| 1208 | + $message->setType(Message::ERROR); |
| 1209 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1102')); |
| 1210 | + } else { |
| 1211 | + |
| 1212 | + //Allgemeiner Fehler |
| 1213 | + $message->setType(Message::ERROR); |
| 1214 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error')); |
| 1215 | + } |
| 1216 | + } |
| 1217 | + RWF::getSession()->setMessage($message); |
| 1218 | + |
| 1219 | + //Umleiten |
| 1220 | + $this->response->addLocationHeader('index.php?app=shc&page=listconditions'); |
| 1221 | + $this->response->setBody(''); |
| 1222 | + $this->template = ''; |
| 1223 | + } else { |
| 1224 | + |
| 1225 | + $tpl->assign('conditionForm', $conditionForm); |
| 1226 | + } |
| 1227 | + break; |
| 1228 | + case 25: |
| 1229 | + |
| 1230 | + //schaltbares Element "aus" |
| 1231 | + $conditionForm = new SwitchableStateConditionForm(); |
| 1232 | + $conditionForm->setView(Form::SMARTPHONE_VIEW); |
| 1233 | + $conditionForm->setAction('index.php?app=shc&m&page=addconditionform'); |
| 1234 | + $conditionForm->addId('shc-view-form-addCondition'); |
| 1235 | + |
| 1236 | + if($conditionForm->isSubmitted() && $conditionForm->validate()) { |
| 1237 | + |
| 1238 | + //Werte vorbereiten |
| 1239 | + $name = $conditionForm->getElementByName('name')->getValue(); |
| 1240 | + $switchables = $conditionForm->getElementByName('switchables')->getValues(); |
| 1241 | + $enabled = $conditionForm->getElementByName('enabled')->getValue(); |
| 1242 | + |
| 1243 | + //Speichern |
| 1244 | + $message = new Message(); |
| 1245 | + try { |
| 1246 | + |
| 1247 | + ConditionEditor::getInstance()->addSwitchableStateLowCondition($name, $switchables, $enabled); |
| 1248 | + $message->setType(Message::SUCCESSFULLY); |
| 1249 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.success')); |
| 1250 | + } catch(\Exception $e) { |
| 1251 | + |
| 1252 | + if($e->getCode() == 1502) { |
| 1253 | + |
| 1254 | + //Name schon vergeben |
| 1255 | + $message->setType(Message::ERROR); |
| 1256 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1502')); |
| 1257 | + } elseif($e->getCode() == 1102) { |
| 1258 | + |
| 1259 | + //fehlende Schreibrechte |
| 1260 | + $message->setType(Message::ERROR); |
| 1261 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error.1102')); |
| 1262 | + } else { |
| 1263 | + |
| 1264 | + //Allgemeiner Fehler |
| 1265 | + $message->setType(Message::ERROR); |
| 1266 | + $message->setMessage(RWF::getLanguage()->get('acp.conditionManagement.form.condition.error')); |
| 1267 | + } |
| 1268 | + } |
| 1269 | + RWF::getSession()->setMessage($message); |
| 1270 | + |
| 1271 | + //Umleiten |
| 1272 | + $this->response->addLocationHeader('index.php?app=shc&page=listconditions'); |
| 1273 | + $this->response->setBody(''); |
| 1274 | + $this->template = ''; |
| 1275 | + } else { |
| 1276 | + |
| 1277 | + $tpl->assign('conditionForm', $conditionForm); |
| 1278 | + } |
| 1279 | + break; |
1072 | 1280 | }
|
1073 | 1281 | } else {
|
1074 | 1282 |
|
|
0 commit comments