Passed
Branchfeature/useWidgetsNamespaces (eb4650)
by Robin
02:57
created
programs/Ui/AppHelpers.php 1 patch
Indentation   +260 added lines, -260 removed lines patch added patch discarded remove patch
@@ -57,50 +57,50 @@  discard block
 block discarded – undo
57 57
 
58 58
 function app_genericSetEditor(ORMRecordSet $set)
59 59
 {
60
-	$O = \bab_functionality::get('LibOrm');
61
-	$O->init();
62
-	$W = \bab_Widgets();
63
-	$layout = $W->VBoxLayout();
64
-	$layout->setVerticalSpacing(1, 'em');
65
-
66
-
67
-	$fields = $set->getFields();
68
-
69
-	foreach ($fields as $field) {
70
-		$description = $field->getDescription();
71
-		if (empty($description)) {
72
-			$description = $field->getName();
73
-		}
74
-		$fieldLabel = $W->Label($description . ':');
75
-
76
-		if ($field instanceof ORMDateField) {
77
-			$widget = $W->DatePicker();
78
-		} else if ($field instanceof ORMTimeField) {
79
-			$widget = $W->LineEdit()->setMaxSize(5)->setSize(5)->addClass('widget-timepicker');
80
-		} else if ($field instanceof ORMStringField) {
81
-			$widget = $W->LineEdit()->setSize(min(array(80, $field->getMaxLength())));
82
-		} else if ($field instanceof ORMEnumField) {
83
-			$widget = $W->Select();
84
-			$widget->addOption('', '');
85
-			foreach ($field->getValues() as $key => $text) {
86
-				$widget->addOption($key, $text);
87
-			}
88
-		} else if ($field instanceof ORMIntField) {
89
-			$widget = $W->LineEdit()->setSize(9);
90
-		} else if ($field instanceof ORMTextField) {
91
-			$widget = $W->TextEdit()->setColumns(80)->setLines(5);
92
-		} else if ($field instanceof ORMRecordSet) {
93
-				$widget = app_genericSetEditor($field);
94
-				$widget->addClass('sub-form');
95
-		} else {
96
-			$widget = null;
97
-		}
98
-		if (isset($widget)) {
99
-			$layout->addItem($W->VBoxLayout()->addItem($fieldLabel)->addItem($widget));
100
-		}
101
-	}
102
-
103
-	return $layout;
60
+    $O = \bab_functionality::get('LibOrm');
61
+    $O->init();
62
+    $W = \bab_Widgets();
63
+    $layout = $W->VBoxLayout();
64
+    $layout->setVerticalSpacing(1, 'em');
65
+
66
+
67
+    $fields = $set->getFields();
68
+
69
+    foreach ($fields as $field) {
70
+        $description = $field->getDescription();
71
+        if (empty($description)) {
72
+            $description = $field->getName();
73
+        }
74
+        $fieldLabel = $W->Label($description . ':');
75
+
76
+        if ($field instanceof ORMDateField) {
77
+            $widget = $W->DatePicker();
78
+        } else if ($field instanceof ORMTimeField) {
79
+            $widget = $W->LineEdit()->setMaxSize(5)->setSize(5)->addClass('widget-timepicker');
80
+        } else if ($field instanceof ORMStringField) {
81
+            $widget = $W->LineEdit()->setSize(min(array(80, $field->getMaxLength())));
82
+        } else if ($field instanceof ORMEnumField) {
83
+            $widget = $W->Select();
84
+            $widget->addOption('', '');
85
+            foreach ($field->getValues() as $key => $text) {
86
+                $widget->addOption($key, $text);
87
+            }
88
+        } else if ($field instanceof ORMIntField) {
89
+            $widget = $W->LineEdit()->setSize(9);
90
+        } else if ($field instanceof ORMTextField) {
91
+            $widget = $W->TextEdit()->setColumns(80)->setLines(5);
92
+        } else if ($field instanceof ORMRecordSet) {
93
+                $widget = app_genericSetEditor($field);
94
+                $widget->addClass('sub-form');
95
+        } else {
96
+            $widget = null;
97
+        }
98
+        if (isset($widget)) {
99
+            $layout->addItem($W->VBoxLayout()->addItem($fieldLabel)->addItem($widget));
100
+        }
101
+    }
102
+
103
+    return $layout;
104 104
 }
105 105
 
106 106
 
@@ -113,50 +113,50 @@  discard block
 block discarded – undo
113 113
  */
114 114
 function app_genericSetFilterForm(ORMRecordSet $set)
115 115
 {
116
-	$O = \bab_functionality::get('LibOrm');
117
-	$O->init();
118
-	$W = \bab_Widgets();
119
-	$layout = $W->FlowLayout();
120
-	$layout->setVerticalSpacing(1, 'em')->setHorizontalSpacing(1, 'em');
121
-
122
-
123
-	$fields = $set->getFields();
124
-
125
-	foreach ($fields as $field) {
126
-		$description = $field->getDescription();
127
-		if (empty($description)) {
128
-			$description = $field->getName();
129
-		}
130
-		$fieldLabel = $W->Label($description . ':');
131
-
132
-		if ($field instanceof ORMDateField) {
133
-			$widget = $W->PeriodPicker();
134
-		} else if ($field instanceof ORMTimeField) {
135
-			$widget = $W->TimePicker();
136
-		} else if ($field instanceof ORMStringField) {
137
-			$widget = $W->LineEdit()->setSize(min(array(15, $field->getMaxLength())));
138
-		} else if ($field instanceof ORMEnumField) {
139
-			$widget = $W->Select();
140
-			$widget->addOption('', '');
141
-			foreach ($field->getValues() as $key => $text) {
142
-				$widget->addOption($key, $text);
143
-			}
144
-		} else if ($field instanceof ORMIntField) {
145
-			$widget = $W->LineEdit()->setSize(9);
146
-		} else if ($field instanceof ORMTextField) {
147
-			$widget = $widget = $W->LineEdit()->setSize(15);
148
-		} else if ($field instanceof ORMRecordSet) {
149
-			$widget = app_genericSetFilterForm($field);
150
-			$widget->addClass('sub-form');
151
-		} else {
152
-			$widget = null;
153
-		}
154
-		if (isset($widget)) {
155
-			$layout->addItem($W->VBoxLayout()->addItem($fieldLabel)->addItem($widget));
156
-		}
157
-	}
158
-
159
-	return $layout;
116
+    $O = \bab_functionality::get('LibOrm');
117
+    $O->init();
118
+    $W = \bab_Widgets();
119
+    $layout = $W->FlowLayout();
120
+    $layout->setVerticalSpacing(1, 'em')->setHorizontalSpacing(1, 'em');
121
+
122
+
123
+    $fields = $set->getFields();
124
+
125
+    foreach ($fields as $field) {
126
+        $description = $field->getDescription();
127
+        if (empty($description)) {
128
+            $description = $field->getName();
129
+        }
130
+        $fieldLabel = $W->Label($description . ':');
131
+
132
+        if ($field instanceof ORMDateField) {
133
+            $widget = $W->PeriodPicker();
134
+        } else if ($field instanceof ORMTimeField) {
135
+            $widget = $W->TimePicker();
136
+        } else if ($field instanceof ORMStringField) {
137
+            $widget = $W->LineEdit()->setSize(min(array(15, $field->getMaxLength())));
138
+        } else if ($field instanceof ORMEnumField) {
139
+            $widget = $W->Select();
140
+            $widget->addOption('', '');
141
+            foreach ($field->getValues() as $key => $text) {
142
+                $widget->addOption($key, $text);
143
+            }
144
+        } else if ($field instanceof ORMIntField) {
145
+            $widget = $W->LineEdit()->setSize(9);
146
+        } else if ($field instanceof ORMTextField) {
147
+            $widget = $widget = $W->LineEdit()->setSize(15);
148
+        } else if ($field instanceof ORMRecordSet) {
149
+            $widget = app_genericSetFilterForm($field);
150
+            $widget->addClass('sub-form');
151
+        } else {
152
+            $widget = null;
153
+        }
154
+        if (isset($widget)) {
155
+            $layout->addItem($W->VBoxLayout()->addItem($fieldLabel)->addItem($widget));
156
+        }
157
+    }
158
+
159
+    return $layout;
160 160
 }
161 161
 
162 162
 
@@ -169,47 +169,47 @@  discard block
 block discarded – undo
169 169
  */
170 170
 function app_LabelledWidget($labelText, WidgetDisplayableInterface $widget)
171 171
 {
172
-	$W = \bab_Widgets();
173
-
174
-	$label = $W->Label($labelText);
175
-	if ($widget instanceof WidgetInputWidget) {
176
-		$label->setAssociatedWidget($widget);
177
-	}
178
-
179
-	if ($widget instanceof WidgetCheckBox) {
180
-		$layout = $W->HBoxItems(
181
-			$widget->setSizePolicy(WidgetSizePolicy::MINIMUM),
182
-			$label
183
-		)->setVerticalAlign('middle')->setHorizontalSpacing(0.5, 'em');
184
-	} else {
185
-		$layout = $W->VBoxItems(
186
-			$label,
187
-			$widget
188
-		)->setVerticalSpacing(0.5, 'em');
189
-	}
190
-
191
-	return $layout;
172
+    $W = \bab_Widgets();
173
+
174
+    $label = $W->Label($labelText);
175
+    if ($widget instanceof WidgetInputWidget) {
176
+        $label->setAssociatedWidget($widget);
177
+    }
178
+
179
+    if ($widget instanceof WidgetCheckBox) {
180
+        $layout = $W->HBoxItems(
181
+            $widget->setSizePolicy(WidgetSizePolicy::MINIMUM),
182
+            $label
183
+        )->setVerticalAlign('middle')->setHorizontalSpacing(0.5, 'em');
184
+    } else {
185
+        $layout = $W->VBoxItems(
186
+            $label,
187
+            $widget
188
+        )->setVerticalSpacing(0.5, 'em');
189
+    }
190
+
191
+    return $layout;
192 192
 }
193 193
 
194 194
 
195 195
 
196 196
 function app_LabelledCheckbox($labelText, $checkboxName, $options = null)
197 197
 {
198
-	$W = \bab_Widgets();
198
+    $W = \bab_Widgets();
199 199
 
200
-	$label = $W->Label($labelText)->colon(false);
201
-	$checkbox = $W->Checkbox()->setName($checkboxName);
202
-	$label->setAssociatedWidget($checkbox);
203
-	if (isset($options)) {
204
-		$label->setSizePolicy(WidgetSizePolicy::FIXED)->setCanvasOptions($options);
205
-	}
200
+    $label = $W->Label($labelText)->colon(false);
201
+    $checkbox = $W->Checkbox()->setName($checkboxName);
202
+    $label->setAssociatedWidget($checkbox);
203
+    if (isset($options)) {
204
+        $label->setSizePolicy(WidgetSizePolicy::FIXED)->setCanvasOptions($options);
205
+    }
206 206
 
207
-	$layout = $W->HBoxItems(
208
-					$checkbox->setSizePolicy(WidgetSizePolicy::MINIMUM),
209
-					$label
210
-				)->setVerticalAlign('middle')->setHorizontalSpacing(0.5, 'em');
207
+    $layout = $W->HBoxItems(
208
+                    $checkbox->setSizePolicy(WidgetSizePolicy::MINIMUM),
209
+                    $label
210
+                )->setVerticalAlign('middle')->setHorizontalSpacing(0.5, 'em');
211 211
 
212
-	return $layout;
212
+    return $layout;
213 213
 }
214 214
 
215 215
 
@@ -217,42 +217,42 @@  discard block
 block discarded – undo
217 217
 
218 218
 function app_LabelledOrmSelect(ORMMySqlIterator $iterator, $fieldName, $selectName, $label, $hidden = false, $groupFieldName = null)
219 219
 {
220
-	$W = \bab_Widgets();
221
-
222
-	if (isset($groupFieldName)) {
223
-		$groupPathElements = explode('/', $groupFieldName);
224
-	}
225
-
226
-	$select = $W->Select()->setName($selectName);
227
-
228
-	$select->addOption('', '');
229
-
230
-	$nbOptions = 0;
231
-	foreach ($iterator as $record) {
232
-		if (isset($record->code)) {
233
-			$optionText = $record->code . ' - ' . $record->$fieldName;
234
-		} else {
235
-			$optionText = $record->$fieldName;
236
-		}
237
-		if (isset($groupFieldName)) {
238
-			$group = $record;
239
-			foreach ($groupPathElements as $groupPathElement) {
240
-				$group = $group->$groupPathElement;
241
-			}
242
-			$select->addOption($record->id, $optionText, $group);
243
-		} else {
244
-			$select->addOption($record->id, $optionText);
245
-		}
246
-		$nbOptions++;
247
-		$lastId = $record->id;
248
-	}
249
-
250
-	if ($nbOptions == 1) {
251
-		$select->setValue($lastId);
252
-	}
253
-
254
-
255
-	return app_LabelledWidget($label, $select);
220
+    $W = \bab_Widgets();
221
+
222
+    if (isset($groupFieldName)) {
223
+        $groupPathElements = explode('/', $groupFieldName);
224
+    }
225
+
226
+    $select = $W->Select()->setName($selectName);
227
+
228
+    $select->addOption('', '');
229
+
230
+    $nbOptions = 0;
231
+    foreach ($iterator as $record) {
232
+        if (isset($record->code)) {
233
+            $optionText = $record->code . ' - ' . $record->$fieldName;
234
+        } else {
235
+            $optionText = $record->$fieldName;
236
+        }
237
+        if (isset($groupFieldName)) {
238
+            $group = $record;
239
+            foreach ($groupPathElements as $groupPathElement) {
240
+                $group = $group->$groupPathElement;
241
+            }
242
+            $select->addOption($record->id, $optionText, $group);
243
+        } else {
244
+            $select->addOption($record->id, $optionText);
245
+        }
246
+        $nbOptions++;
247
+        $lastId = $record->id;
248
+    }
249
+
250
+    if ($nbOptions == 1) {
251
+        $select->setValue($lastId);
252
+    }
253
+
254
+
255
+    return app_LabelledWidget($label, $select);
256 256
 }
257 257
 
258 258
 
@@ -260,108 +260,108 @@  discard block
 block discarded – undo
260 260
 
261 261
 function app_OrmWidget(ORMField $field)
262 262
 {
263
-	$W = \bab_Widgets();
263
+    $W = \bab_Widgets();
264 264
 
265 265
 
266
-	if ($field instanceof ORMDateField) {
267
-		$widget = $W->DatePicker();
268
-	} else if ($field instanceof ORMTimeField) {
269
-		$widget = $W->TimeEdit(); //->setMaxSize(5)->setSize(5)->addClass('widget-timepicker');
270
-	} else if ($field instanceof ORMDatetimeField) {
271
-	    $widget = $W->DateTimePicker(); //->setMaxSize(5)->setSize(5)->addClass('widget-timepicker');
272
-	} else if ($field instanceof ORMEnumField) {
273
-		$widget = $W->Select();
266
+    if ($field instanceof ORMDateField) {
267
+        $widget = $W->DatePicker();
268
+    } else if ($field instanceof ORMTimeField) {
269
+        $widget = $W->TimeEdit(); //->setMaxSize(5)->setSize(5)->addClass('widget-timepicker');
270
+    } else if ($field instanceof ORMDatetimeField) {
271
+        $widget = $W->DateTimePicker(); //->setMaxSize(5)->setSize(5)->addClass('widget-timepicker');
272
+    } else if ($field instanceof ORMEnumField) {
273
+        $widget = $W->Select();
274 274
 ////		$widget = $W->MultiSelect()->setSingleSelect();
275
-		$widget->addOption('', '');
276
-		$values = $field->getValues();
277
-		foreach ($values as $key => $value) {
278
-			$widget->addOption($key, $value);
279
-		}
280
-	} else if ($field instanceof ORMSetField) {
281
-		$widget = $W->MultiSelect()->setSelectedList(2);
282
-		$values = $field->getValues();
283
-		foreach ($values as $key => $value) {
284
-			$widget->addOption($key, $value);
285
-		}
286
-	} else if ($field instanceof ORMUserField) {
287
-	    $widget = $W->SuggestUser()
288
-    	    ->setMinChars(0)
289
-    	    ->setSizePolicy(\Func_Icons::ICON_LEFT_16);
290
-	} else if ($field instanceof ORMCurrencyField) {
291
-		$widget = $W->LineEdit()->setSize(6)->addClass('widget-input-currency');
292
-	} else if ($field instanceof ORMBoolField) {
293
-		$widget = $W->CheckBox()->setCheckedValue('1');
294
-	} else if ($field instanceof ORMIntField) {
295
-		$widget = $W->LineEdit()
296
-						->setSize(6)->addClass('widget-input-numeric');
297
-	} else if ($field instanceof ORMEmailField) {
298
-		$widget = $W->EmailLineEdit()
299
-						->setMaxSize($field->getMaxLength());
300
-	} else if ($field instanceof ORMFileField) {
301
-	    $widget = $W->FilePicker();
302
-	} else if ($field instanceof ORMStringField) {
303
-		$widget = $W->LineEdit()
304
-			->setMaxSize($field->getMaxLength());
305
-	} else if ($field instanceof ORMTextField) {
306
-		$widget = $W->TextEdit()
307
-		  ->addClass('widget-autoresize');
308
-	} else if ($field instanceof ORMPkField) {
309
-	    $widget = $W->Hidden();
310
-	} else if ($field instanceof ORMFkField) {
311
-		$widget = $W->Select();
312
-		$fieldName = $field->getName();
313
-		$parentSet = clone $field->getParentSet();
314
-		$parentSet->join($fieldName);
315
-		$set = $parentSet->$fieldName;
316
-		$records = $set->select();
317
-		$records->orderAsc($set->name);
318
-		$pkName = $set->getPrimaryKey();
319
-		$widget->addOption('', '');
320
-		foreach ($records as $record) {
321
-			$widget->addOption($record->$pkName, $record->name);
322
-		}
323
-	} else if ($field instanceof ORMRecordSet) {
324
-		$widget = $W->Select();
275
+        $widget->addOption('', '');
276
+        $values = $field->getValues();
277
+        foreach ($values as $key => $value) {
278
+            $widget->addOption($key, $value);
279
+        }
280
+    } else if ($field instanceof ORMSetField) {
281
+        $widget = $W->MultiSelect()->setSelectedList(2);
282
+        $values = $field->getValues();
283
+        foreach ($values as $key => $value) {
284
+            $widget->addOption($key, $value);
285
+        }
286
+    } else if ($field instanceof ORMUserField) {
287
+        $widget = $W->SuggestUser()
288
+            ->setMinChars(0)
289
+            ->setSizePolicy(\Func_Icons::ICON_LEFT_16);
290
+    } else if ($field instanceof ORMCurrencyField) {
291
+        $widget = $W->LineEdit()->setSize(6)->addClass('widget-input-currency');
292
+    } else if ($field instanceof ORMBoolField) {
293
+        $widget = $W->CheckBox()->setCheckedValue('1');
294
+    } else if ($field instanceof ORMIntField) {
295
+        $widget = $W->LineEdit()
296
+                        ->setSize(6)->addClass('widget-input-numeric');
297
+    } else if ($field instanceof ORMEmailField) {
298
+        $widget = $W->EmailLineEdit()
299
+                        ->setMaxSize($field->getMaxLength());
300
+    } else if ($field instanceof ORMFileField) {
301
+        $widget = $W->FilePicker();
302
+    } else if ($field instanceof ORMStringField) {
303
+        $widget = $W->LineEdit()
304
+            ->setMaxSize($field->getMaxLength());
305
+    } else if ($field instanceof ORMTextField) {
306
+        $widget = $W->TextEdit()
307
+            ->addClass('widget-autoresize');
308
+    } else if ($field instanceof ORMPkField) {
309
+        $widget = $W->Hidden();
310
+    } else if ($field instanceof ORMFkField) {
311
+        $widget = $W->Select();
312
+        $fieldName = $field->getName();
313
+        $parentSet = clone $field->getParentSet();
314
+        $parentSet->join($fieldName);
315
+        $set = $parentSet->$fieldName;
316
+        $records = $set->select();
317
+        $records->orderAsc($set->name);
318
+        $pkName = $set->getPrimaryKey();
319
+        $widget->addOption('', '');
320
+        foreach ($records as $record) {
321
+            $widget->addOption($record->$pkName, $record->name);
322
+        }
323
+    } else if ($field instanceof ORMRecordSet) {
324
+        $widget = $W->Select();
325 325
 ////		$widget = $W->MultiSelect()->setSingleSelect();
326 326
 //		$fieldName = $field->getName();
327 327
 //		$parentSet = $field->getParentSet();
328 328
 //		$parentSet->join($fieldName);
329 329
 //		$set = $parentSet->$fieldName;
330
-		$records = $field->select();
331
-		$records->orderAsc($field->name);
332
-		$pkName = $field->getPrimaryKey();
333
-		$widget->addOption('', '');
334
-		foreach ($records as $record) {
335
-			$widget->addOption($record->$pkName, $record->name);
336
-		}
337
-	} else {
338
-		$widget = $W->LineEdit();
339
-	}
340
-
341
-	$widget->setName($field->getName());
342
-
343
-	return $widget;
330
+        $records = $field->select();
331
+        $records->orderAsc($field->name);
332
+        $pkName = $field->getPrimaryKey();
333
+        $widget->addOption('', '');
334
+        foreach ($records as $record) {
335
+            $widget->addOption($record->$pkName, $record->name);
336
+        }
337
+    } else {
338
+        $widget = $W->LineEdit();
339
+    }
340
+
341
+    $widget->setName($field->getName());
342
+
343
+    return $widget;
344 344
 }
345 345
 
346 346
 
347 347
 
348 348
 function app_LabelledOrmWidget(ORMField $field, $label = null, $hidden = false)
349 349
 {
350
-	$W = \bab_Widgets();
350
+    $W = \bab_Widgets();
351 351
 
352
-	if ($hidden) {
353
-		$widget = $W->Hidden();
354
-		$widget->setName($field->getName());
355
-		return $widget;
356
-	}
352
+    if ($hidden) {
353
+        $widget = $W->Hidden();
354
+        $widget->setName($field->getName());
355
+        return $widget;
356
+    }
357 357
 
358
-	if (is_null($label)) {
359
-		$label = $field->getDescription();
360
-	}
358
+    if (is_null($label)) {
359
+        $label = $field->getDescription();
360
+    }
361 361
 
362
-	$widget = app_OrmWidget($field);
362
+    $widget = app_OrmWidget($field);
363 363
 
364
-	return app_LabelledWidget($label, $widget);
364
+    return app_LabelledWidget($label, $widget);
365 365
 }
366 366
 
367 367
 
@@ -377,16 +377,16 @@  discard block
 block discarded – undo
377 377
  */
378 378
 function app_dateTime(ORMField $field, $value) {
379 379
 
380
-	$W = \bab_functionality::get('Widgets');
381
-	$name = $field->getName();
382
-	$label = $W->Label($field->getDescription());
380
+    $W = \bab_functionality::get('Widgets');
381
+    $name = $field->getName();
382
+    $label = $W->Label($field->getDescription());
383 383
 
384
-	$frame = app_dateTimeField($name, $label, $value);
384
+    $frame = app_dateTimeField($name, $label, $value);
385 385
 
386
-	return $W->VBoxItems(
387
-		$label,
388
-		$frame
389
-	);
386
+    return $W->VBoxItems(
387
+        $label,
388
+        $frame
389
+    );
390 390
 
391 391
 }
392 392
 
@@ -400,24 +400,24 @@  discard block
 block discarded – undo
400 400
  */
401 401
 function app_dateTimeField($fieldName, WidgetLabel $label, $value = null)
402 402
 {
403
-	$W = \bab_functionality::get('Widgets');
403
+    $W = \bab_functionality::get('Widgets');
404 404
 
405
-	$datepart = $W->DatePicker()->setAssociatedLabel($label)->setName('date');
406
-	$timepart = $W->TimePicker()->setName('time');
405
+    $datepart = $W->DatePicker()->setAssociatedLabel($label)->setName('date');
406
+    $timepart = $W->TimePicker()->setName('time');
407 407
 
408
-	if (isset($value)) {
408
+    if (isset($value)) {
409 409
 
410
-		$value = explode(' ', $value);
410
+        $value = explode(' ', $value);
411 411
 
412
-		$datepart->setValue($value[0]);
413
-		$timepart->setValue($value[1]);
414
-	}
412
+        $datepart->setValue($value[0]);
413
+        $timepart->setValue($value[1]);
414
+    }
415 415
 
416
-	$datetime = $W->Frame(null, $W->HBoxLayout())->setName($fieldName)
417
-			->addItem($datepart)
418
-			->addItem($timepart);
416
+    $datetime = $W->Frame(null, $W->HBoxLayout())->setName($fieldName)
417
+            ->addItem($datepart)
418
+            ->addItem($timepart);
419 419
 
420
-	return $datetime;
420
+    return $datetime;
421 421
 }
422 422
 
423 423
 
Please login to merge, or discard this patch.