public function actionSetTimeZone()
 {
     $do = \Yii::app()->getRequest()->getParam('do');
     if ('set' == $do) {
         $timezone = \Yii::app()->getRequest()->getParam('timezone');
         if (strlen($timezone) && in_array($timezone, timezone_identifiers_list())) {
             \Yii::app()->session->add("timezone", $timezone);
             echo json_encode(['result' => 'success']);
         } else {
             echo json_encode(['result' => 'error']);
         }
     } else {
         if ('list' == $do) {
             $arr = \User::getTimeZones();
             echo json_encode(['result' => 'success', 'list' => $arr]);
         } else {
             if ('offset' == $do) {
                 $timezone = \Yii::app()->getRequest()->getParam('timezone');
                 if (strlen($timezone) && in_array($timezone, timezone_identifiers_list())) {
                     $offset = \User::calcOffsetTimeZone($timezone);
                     echo json_encode(['result' => 'success', 'offset' => $offset]);
                 } else {
                     echo json_encode(['result' => 'error']);
                 }
             }
         }
     }
 }