コード例 #1
0
ファイル: FarmAdapter.php プロジェクト: scalr/scalr
 public function _timezone($from, $to, $action)
 {
     switch ($action) {
         case static::ACT_CONVERT_TO_OBJECT:
             /* @var $from Farm */
             $to->timezone = $from->settings[FarmSetting::TIMEZONE];
             break;
         case static::ACT_CONVERT_TO_ENTITY:
             /* @var $to Farm */
             if (!in_array($from->timezone, DateTimeZone::listIdentifiers())) {
                 throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, "Unknown timezone");
             }
             $to->settings[FarmSetting::TIMEZONE] = $from->timezone;
             break;
         case static::ACT_GET_FILTER_CRITERIA:
             $farm = new Farm();
             $farmSetting = new FarmSetting();
             return [AbstractEntity::STMT_FROM => "\n                        JOIN  {$farmSetting->table('fstz')}  ON  {$farmSetting->columnFarmId('fstz')} = {$farm->columnId()}\n                            AND  {$farmSetting->columnName('fstz')}  = " . $farmSetting->qstr('name', FarmSetting::TIMEZONE) . "\n                    ", AbstractEntity::STMT_WHERE => "{$farmSetting->columnValue('fstz')} = " . $farmSetting->qstr('value', $from->timezone)];
     }
 }