diff options
Diffstat (limited to 'app/php/controls/TimezoneSelect.php')
-rw-r--r-- | app/php/controls/TimezoneSelect.php | 58 |
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; - } - -} - -?> |