Changeset View
Changeset View
Standalone View
Standalone View
src/applications/settings/panel/PhabricatorDateTimeSettingsPanel.php
Show All 15 Lines | final class PhabricatorDateTimeSettingsPanel extends PhabricatorSettingsPanel { | ||||
public function processRequest(AphrontRequest $request) { | public function processRequest(AphrontRequest $request) { | ||||
$user = $request->getUser(); | $user = $request->getUser(); | ||||
$username = $user->getUsername(); | $username = $user->getUsername(); | ||||
$pref_time = PhabricatorUserPreferences::PREFERENCE_TIME_FORMAT; | $pref_time = PhabricatorUserPreferences::PREFERENCE_TIME_FORMAT; | ||||
$pref_date = PhabricatorUserPreferences::PREFERENCE_DATE_FORMAT; | $pref_date = PhabricatorUserPreferences::PREFERENCE_DATE_FORMAT; | ||||
$pref_week_start = PhabricatorUserPreferences::PREFERENCE_WEEK_START_DAY; | $pref_week_start = PhabricatorUserPreferences::PREFERENCE_WEEK_START_DAY; | ||||
$pref_ignore = PhabricatorUserPreferences::PREFERENCE_IGNORE_OFFSET; | |||||
$preferences = $user->loadPreferences(); | $preferences = $user->loadPreferences(); | ||||
$errors = array(); | $errors = array(); | ||||
if ($request->isFormPost()) { | if ($request->isFormPost()) { | ||||
$new_timezone = $request->getStr('timezone'); | $new_timezone = $request->getStr('timezone'); | ||||
if (in_array($new_timezone, DateTimeZone::listIdentifiers(), true)) { | if (in_array($new_timezone, DateTimeZone::listIdentifiers(), true)) { | ||||
$user->setTimezoneIdentifier($new_timezone); | $user->setTimezoneIdentifier($new_timezone); | ||||
} else { | } else { | ||||
$errors[] = pht('The selected timezone is not a valid timezone.'); | $errors[] = pht('The selected timezone is not a valid timezone.'); | ||||
} | } | ||||
$preferences | $preferences | ||||
->setPreference( | ->setPreference( | ||||
$pref_time, | $pref_time, | ||||
$request->getStr($pref_time)) | $request->getStr($pref_time)) | ||||
->setPreference( | ->setPreference( | ||||
$pref_date, | $pref_date, | ||||
$request->getStr($pref_date)) | $request->getStr($pref_date)) | ||||
->setPreference( | ->setPreference( | ||||
$pref_week_start, | $pref_week_start, | ||||
$request->getStr($pref_week_start)); | $request->getStr($pref_week_start)) | ||||
->setPreference($pref_ignore, null); | |||||
if (!$errors) { | if (!$errors) { | ||||
$preferences->save(); | $preferences->save(); | ||||
$user->save(); | $user->save(); | ||||
return id(new AphrontRedirectResponse()) | return id(new AphrontRedirectResponse()) | ||||
->setURI($this->getPanelURI('?saved=true')); | ->setURI($this->getPanelURI('?saved=true')); | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 71 Lines • Show Last 20 Lines |