summaryrefslogtreecommitdiff
path: root/app/php/controls/TimezoneSelect.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/php/controls/TimezoneSelect.php')
-rw-r--r--app/php/controls/TimezoneSelect.php58
1 files changed, 0 insertions, 58 deletions
diff --git a/app/php/controls/TimezoneSelect.php b/app/php/controls/TimezoneSelect.php
deleted file mode 100644
index 25af453..0000000
--- a/app/php/controls/TimezoneSelect.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-Prado::using('Application.web.FacadeTemplateControl');
-
-Prado::using('Application.user.DbUser');
-Prado::using('Application.facades.UserFacade');
-
-Prado::using('Application.dto.TimezoneDTO');
-
-class TimezoneSelect extends FacadeTemplateControl {
-
- public function getUserToChange() {
- return $this->getControlState('user');
- }
-
- public function setUserToChange(DbUser $user) {
- if ($user->IsGuest && !$this->Page->IsCallBack) {
- throw new TInvalidDataValueException(
- Prado::localize(
- 'Timezone preference change impossible for guest user'
- )
- );
- }
- $this->setControlState('user', $user);
- }
-
- public function onPreRender($param) {
- parent::onPreRender($param);
- $this->Timezones->DataSource = $this->_getTimezones();
- $this->Timezones->DataValueField = 'Name';
- $this->Timezones->DataTextField = 'Label';
- $this->Timezones->dataBind();
- $this->Timezones->setSelectedValue(
- $this->getFacade()->getTimezonePreference($this->UserToChange)->Name
- );
- }
-
- public function saveTimezone($sender, $param) {
- $this->getFacade()->setTimezonePreference(
- $this->UserToChange,
- $this->Timezones->SelectedValue
- );
- }
-
- private function _getTimezones() {
- $timezones = array_map(
- function($tz) {
- return new TimezoneDTO($tz);
- },
- DateTimeZone::listIdentifiers()
- );
- usort($timezones, ['TimezoneDTO', '__compare']);
- return $timezones;
- }
-
-}
-
-?>