Файл: system/src/Casts/DateHuman.php
Строк: 57
<?php
/**
* This file is part of JohnCMS Content Management System.
*
* @copyright JohnCMS Community
* @license https://opensource.org/licenses/GPL-3.0 GPL-3.0
* @link https://johncms.com JohnCMS Project
*/
declare(strict_types=1);
namespace JohncmsCasts;
use CarbonCarbon;
use IlluminateContractsDatabaseEloquentCastsAttributes;
use IlluminateDatabaseEloquentModel;
use JohncmsSystemi18nTranslator;
use JohncmsSystemUsersUser;
class DateHuman implements CastsAttributes
{
/**
* Cast the given value.
*
* @param Model $model
* @param string $key
* @param int $value
* @param array $attributes
* @return Carbon|int
*/
public function get($model, $key, $value, $attributes)
{
if (! empty($value)) {
/** @var User $user */
$user = di(User::class);
/** @var Translator $translator */
$translator = di(Translator::class);
return Carbon::parse($value, $user->config->timeshift)
->addHours($user->config->timeshift)
->locale($translator->getLocale())
->diffForHumans(['join' => false, 'parts' => 2]);
}
return $value;
}
/**
* Prepare the given value for storage.
*
* @param Model $model
* @param string $key
* @param $value
* @param array $attributes
* @return string|null
*/
public function set($model, $key, $value, $attributes)
{
return $value;
}
}