/** * Convert display date for saving to model * * @return string JSON encoded HTML output */ public function actionConvert() { $output = ''; Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $post = Yii::$app->request->post(); if (isset($post['displayDate'])) { $type = empty($post['type']) ? Module::FORMAT_DATE : $post['type']; $saveFormat = ArrayHelper::getValue($post, 'saveFormat'); $dispFormat = ArrayHelper::getValue($post, 'dispFormat'); $dispTimezone = ArrayHelper::getValue($post, 'dispTimezone'); $saveTimezone = ArrayHelper::getValue($post, 'saveTimezone'); $settings = ArrayHelper::getValue($post, 'settings', []); $dispDate = ArrayHelper::getValue($post, 'displayDate'); $date = DateControl::getTimestamp($type, $dispDate, $dispFormat, $dispTimezone, $settings); if (empty($date) || !$date) { $value = ''; } elseif ($saveTimezone != null) { $value = $date->setTimezone(new DateTimeZone($saveTimezone))->format($saveFormat); } else { $value = $date->format($saveFormat); } return ['status' => 'success', 'output' => $value]; } else { return ['status' => 'error', 'output' => 'No display date found']; } }
/** * Convert display date for saving to model * * @return string JSON encoded HTML output */ public function actionConvert() { $output = ''; Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $post = Yii::$app->request->post(); if (isset($post['displayDate'])) { $saveFormat = ArrayHelper::getValue($post, 'saveFormat'); $dispFormat = ArrayHelper::getValue($post, 'dispFormat'); $dispTimezone = ArrayHelper::getValue($post, 'dispTimezone'); $saveTimezone = ArrayHelper::getValue($post, 'saveTimezone'); $settings = ArrayHelper::getValue($post, 'settings', []); // Russian dates ends with \r. - i dont know why if (StringHelper::endsWith($dispFormat, '.')) { $dispFormat = substr($dispFormat, 0, strlen($dispFormat) - 4); $post['displayDate'] = substr($post['displayDate'], 0, strlen($post['displayDate']) - 4); } if (ArrayHelper::getValue($post, 'type') != DateControl::FORMAT_DATETIME) { $dispTimezone = null; $saveTimezone = null; } $date = DateControl::getTimestamp($post['displayDate'], $dispFormat, $dispTimezone, $settings); if (empty($date) || !$date) { $value = ''; } elseif ($saveTimezone != null) { $value = $date->setTimezone(new DateTimeZone($saveTimezone))->format($saveFormat); } else { $value = $date->format($saveFormat); } return ['status' => 'success', 'output' => $value]; } else { return ['status' => 'error', 'output' => 'No display date found']; } }
/** * Convert display date for saving to model. * * @return string JSON encoded HTML output */ public function actionConvert() { Yii::$app->response->format = Response::FORMAT_JSON; $post = Yii::$app->request->post(); if (!isset($post['displayDate'])) { return ['status' => 'error', 'output' => 'No display date found']; } $saveFormat = $dispFormat = $dispTimezone = $saveTimezone = $displayDate = ''; $settings = []; extract($post); $date = DateControl::getTimestamp($displayDate, $dispFormat, $dispTimezone, $settings); if (empty($date) || !$date) { $value = ''; } elseif ($saveTimezone != null) { $value = $date->setTimezone(new DateTimeZone($saveTimezone))->format($saveFormat); } else { $value = $date->format($saveFormat); } return ['status' => 'success', 'output' => $value]; }