/home/techb158/public_html/wp-content/plugins/kirki/libraries/framework/Supports
NameSizeModeActions
Facades/-0755rm
Traits/-0755rm
Arr.php142540644editdlrm
DataCaster.php25720644editdlrm
Fluent.php90230644editdlrm
HigherOrderTapProxy.php11380644editdlrm
MediaAttachment.php40510644editdlrm
MessagesBag.php77680644editdlrm
Somoy.php329300644editdlrm
Str.php149880644editdlrm
Url.php19010644editdlrm
Utils.php18780644editdlrm
Edit: /home/techb158/public_html/wp-content/plugins/kirki/libraries/framework/Supports/Somoy.php (32930B)
'Y', 'month' => 'n', 'day' => 'j', 'hour' => 'G', 'minute' => 'i', 'second' => 's', 'microsecond' => 'u', 'timestamp' => 'U', 'day_of_week' => 'w', 'day_of_year' => 'z', 'days_in_month' => 't', 'week_of_year' => 'W']; /** * Get an instance for the current date and time. * * @param DateTimeZone|string|null $timezone The timezone to use. * * @return static The current date and time. * * @since 1.0.0 */ public static function now($timezone = null) { return static::parse('now', $timezone); } /** * Get an instance for today at midnight. * * @param DateTimeZone|string|null $timezone The timezone to use. * * @return static Today at midnight. * * @since 1.0.0 */ public static function today($timezone = null) { return static::now($timezone)->start_of_day(); } /** * Get an instance for yesterday at midnight. * * @param DateTimeZone|string|null $timezone The timezone to use. * * @return static Yesterday at midnight. * * @since 1.0.0 */ public static function yesterday($timezone = null) { return static::today($timezone)->sub_day(); } /** * Get an instance for tomorrow at midnight. * * @param DateTimeZone|string|null $timezone The timezone to use. * * @return static Tomorrow at midnight. * * @since 1.0.0 */ public static function tomorrow($timezone = null) { return static::today($timezone)->add_day(); } /** * Parse a value into a date instance. * * Integers and floats are read as unix timestamps. Null and empty strings * resolve to the current date and time. * * @param DateTimeInterface|string|int|float|null $time The value to parse. * @param DateTimeZone|string|null $timezone The timezone to use. * * @return static The parsed date. * * @throws InvalidDateFormatException When the value cannot be parsed. * * @since 1.0.0 */ public static function parse($time = null, $timezone = null) { if ($time instanceof DateTimeInterface) { $instance = static::instance($time); return $timezone === null ? $instance : $instance->set_timezone($timezone); } if (\is_int($time) || \is_float($time)) { $instance = static::from_timestamp($time); return $timezone === null ? $instance : $instance->set_timezone($timezone); } if (\is_bool($time)) { $time = (string) $time; } if ($time !== null && !\is_string($time)) { throw new InvalidDateFormatException(\sprintf('Could not parse a value of type %s as a date.', \gettype($time))); } try { return new static($time === null || $time === '' ? 'now' : $time, static::resolve_timezone($timezone)); } catch (Exception $exception) { throw new InvalidDateFormatException(\sprintf('Could not parse "%s" as a date.', $time), 0, $exception); } } /** * Create an instance from any other date object. * * The microseconds and the timezone of the given date are preserved. * * @param DateTimeInterface $date The date to copy. * * @return static The new instance. * * @since 1.0.0 */ public static function instance(DateTimeInterface $date) { return new static($date->format('Y-m-d H:i:s.u'), $date->getTimezone() ?: null); } /** * Create an instance from a unix timestamp. * * Unlike parse(), a timestamp without an explicit timezone is expressed in * the default timezone rather than in UTC. * * @param int|float|string $timestamp The unix timestamp. * @param DateTimeZone|string|null $timezone The timezone to use. * * @return static The new instance. * * @throws InvalidDateFormatException When the timestamp is not numeric. * * @since 1.0.0 */ public static function create_from_timestamp($timestamp, $timezone = null) { return static::from_timestamp($timestamp)->set_timezone($timezone === null ? \date_default_timezone_get() : $timezone); } /** * Create an instance from a value matching the given format. * * @param string $format The format the value is written in. * @param string $time The value to read. * @param DateTimeZone|string|null $timezone The timezone to use. * * @return static The new instance. * * @throws InvalidDateFormatException When the value does not match the format. * * @since 1.0.0 */ public static function create_from_format($format, $time, $timezone = null) { $timezone = static::resolve_timezone($timezone); $date = $timezone === null ? DateTime::createFromFormat($format, $time) : DateTime::createFromFormat($format, $time, $timezone); if (!$date instanceof DateTimeInterface) { throw new InvalidDateFormatException(\sprintf('Could not parse "%s" using the format "%s".', \is_scalar($time) ? $time : \gettype($time), $format)); } return static::instance($date); } /** * Create an instance from the given date and time parts. * * Any part left as null falls back to the matching part of the current * date and time. * * @param int|null $year The year. * @param int|null $month The month. * @param int|null $day The day. * @param int|null $hour The hour. * @param int|null $minute The minute. * @param int|null $second The second. * @param DateTimeZone|string|null $timezone The timezone to use. * * @return static The new instance. * * @since 1.0.0 */ public static function create($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $timezone = null) { $instance = static::now($timezone); return $instance->set_date($year === null ? (int) $instance->format('Y') : (int) $year, $month === null ? (int) $instance->format('n') : (int) $month, $day === null ? (int) $instance->format('j') : (int) $day)->set_time($hour === null ? (int) $instance->format('G') : (int) $hour, $minute === null ? (int) $instance->format('i') : (int) $minute, $second === null ? (int) $instance->format('s') : (int) $second); } /** * Check if the value is a valid date. * * @param mixed $value The value to check. * * @return bool Whether the value can be read as a date. * * @since 1.0.0 */ public static function is_valid_date($value) { if ($value instanceof DateTimeInterface) { return \true; } try { static::parse($value); return \true; } catch (InvalidDateFormatException $exception) { return \false; } } /** * Get a copy of the instance. * * @return static The copied instance. * * @since 1.0.0 */ public function copy() { return clone $this; } /** * Add the given number of seconds. * * @param int $value The number of seconds. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_seconds($value = 1) { return $this->shift('second', $value); } /** * Add the given number of minutes. * * @param int $value The number of minutes. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_minutes($value = 1) { return $this->shift('minute', $value); } /** * Add the given number of hours. * * @param int $value The number of hours. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_hours($value = 1) { return $this->shift('hour', $value); } /** * Add the given number of days. * * @param int $value The number of days. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_days($value = 1) { return $this->shift('day', $value); } /** * Add the given number of weeks. * * @param int $value The number of weeks. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_weeks($value = 1) { return $this->shift('week', $value); } /** * Add the given number of months. * * Overflows into the next month when the resulting month is shorter, which * is the behaviour of the native date arithmetic. * * @param int $value The number of months. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_months($value = 1) { return $this->shift('month', $value); } /** * Add the given number of years. * * @param int $value The number of years. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_years($value = 1) { return $this->shift('year', $value); } /** * Subtract the given number of seconds. * * @param int $value The number of seconds. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_seconds($value = 1) { return $this->shift('second', -$value); } /** * Subtract the given number of minutes. * * @param int $value The number of minutes. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_minutes($value = 1) { return $this->shift('minute', -$value); } /** * Subtract the given number of hours. * * @param int $value The number of hours. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_hours($value = 1) { return $this->shift('hour', -$value); } /** * Subtract the given number of days. * * @param int $value The number of days. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_days($value = 1) { return $this->shift('day', -$value); } /** * Subtract the given number of weeks. * * @param int $value The number of weeks. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_weeks($value = 1) { return $this->shift('week', -$value); } /** * Subtract the given number of months. * * @param int $value The number of months. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_months($value = 1) { return $this->shift('month', -$value); } /** * Subtract the given number of years. * * @param int $value The number of years. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_years($value = 1) { return $this->shift('year', -$value); } /** * Add a single second. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_second() { return $this->add_seconds(1); } /** * Add a single minute. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_minute() { return $this->add_minutes(1); } /** * Add a single hour. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_hour() { return $this->add_hours(1); } /** * Add a single day. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_day() { return $this->add_days(1); } /** * Add a single week. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_week() { return $this->add_weeks(1); } /** * Add a single month. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_month() { return $this->add_months(1); } /** * Add a single year. * * @return $this The mutated instance. * * @since 1.0.0 */ public function add_year() { return $this->add_years(1); } /** * Subtract a single second. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_second() { return $this->sub_seconds(1); } /** * Subtract a single minute. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_minute() { return $this->sub_minutes(1); } /** * Subtract a single hour. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_hour() { return $this->sub_hours(1); } /** * Subtract a single day. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_day() { return $this->sub_days(1); } /** * Subtract a single week. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_week() { return $this->sub_weeks(1); } /** * Subtract a single month. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_month() { return $this->sub_months(1); } /** * Subtract a single year. * * @return $this The mutated instance. * * @since 1.0.0 */ public function sub_year() { return $this->sub_years(1); } /** * Move the instance to the first moment of its day. * * @return $this The mutated instance. * * @since 1.0.0 */ public function start_of_day() { return $this->set_time(0, 0, 0, 0); } /** * Move the instance to the last moment of its day. * * @return $this The mutated instance. * * @since 1.0.0 */ public function end_of_day() { return $this->set_time(23, 59, 59, 999999); } /** * Move the instance to the first moment of its week, weeks starting on Monday. * * @return $this The mutated instance. * * @since 1.0.0 */ public function start_of_week() { return $this->sub_days((int) $this->format('N') - 1)->start_of_day(); } /** * Move the instance to the last moment of its week, weeks ending on Sunday. * * @return $this The mutated instance. * * @since 1.0.0 */ public function end_of_week() { return $this->start_of_week()->add_days(6)->end_of_day(); } /** * Move the instance to the first moment of its month. * * @return $this The mutated instance. * * @since 1.0.0 */ public function start_of_month() { return $this->set_date((int) $this->format('Y'), (int) $this->format('n'), 1)->start_of_day(); } /** * Move the instance to the last moment of its month. * * @return $this The mutated instance. * * @since 1.0.0 */ public function end_of_month() { return $this->set_date((int) $this->format('Y'), (int) $this->format('n'), (int) $this->format('t'))->end_of_day(); } /** * Move the instance to the first moment of its year. * * @return $this The mutated instance. * * @since 1.0.0 */ public function start_of_year() { return $this->set_date((int) $this->format('Y'), 1, 1)->start_of_day(); } /** * Move the instance to the last moment of its year. * * @return $this The mutated instance. * * @since 1.0.0 */ public function end_of_year() { return $this->set_date((int) $this->format('Y'), 12, 31)->end_of_day(); } /** * Move the instance to the first day of its month at midnight. * * @return $this The mutated instance. * * @since 1.0.0 */ public function first_of_month() { return $this->start_of_month(); } /** * Move the instance to the last day of its month at midnight. * * @return $this The mutated instance. * * @since 1.0.0 */ public function last_of_month() { return $this->set_date((int) $this->format('Y'), (int) $this->format('n'), (int) $this->format('t'))->start_of_day(); } /** * Determine whether the instance is equal to the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when both represent the same moment. * * @since 1.0.0 */ public function eq($date) { return $this == $this->resolve($date); } /** * Determine whether the instance is different from the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when both represent a different moment. * * @since 1.0.0 */ public function ne($date) { return !$this->eq($date); } /** * Determine whether the instance is later than the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when the instance is later. * * @since 1.0.0 */ public function gt($date) { return $this > $this->resolve($date); } /** * Determine whether the instance is later than or equal to the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when the instance is later or equal. * * @since 1.0.0 */ public function gte($date) { return $this >= $this->resolve($date); } /** * Determine whether the instance is earlier than the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when the instance is earlier. * * @since 1.0.0 */ public function lt($date) { return $this < $this->resolve($date); } /** * Determine whether the instance is earlier than or equal to the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when the instance is earlier or equal. * * @since 1.0.0 */ public function lte($date) { return $this <= $this->resolve($date); } /** * Determine whether the instance is later than the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when the instance is later. * * @since 1.0.0 */ public function is_after($date) { return $this->gt($date); } /** * Determine whether the instance is earlier than the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when the instance is earlier. * * @since 1.0.0 */ public function is_before($date) { return $this->lt($date); } /** * Determine whether the instance falls on the same day as the given date. * * @param DateTimeInterface|string|int|float|null $date The date to compare with. * * @return bool True when both fall on the same calendar day. * * @since 1.0.0 */ public function is_same_day($date) { return $this->format(static::DATE_FORMAT) === $this->resolve($date)->format(static::DATE_FORMAT); } /** * Determine whether the instance falls between the given dates, bounds included. * * @param DateTimeInterface|string|int|float|null $start The lower bound. * @param DateTimeInterface|string|int|float|null $end The upper bound. * * @return bool True when the instance falls within the range. * * @since 1.0.0 */ public function between($start, $end) { return $this->gte($start) && $this->lte($end); } /** * Format the instance as a date. * * @return string The formatted date. * * @since 1.0.0 */ public function to_date_string() { return $this->format(static::DATE_FORMAT); } /** * Format the instance as a time. * * @return string The formatted time. * * @since 1.0.0 */ public function to_time_string() { return $this->format(static::TIME_FORMAT); } /** * Format the instance as a date and time. * * @return string The formatted date and time. * * @since 1.0.0 */ public function to_date_time_string() { return $this->format(static::DATETIME_FORMAT); } /** * Format the instance as an ISO-8601 string keeping the timezone offset. * * @return string The formatted date and time. * * @since 1.0.0 */ public function to_iso8601_string() { return $this->format(static::ISO8601_FORMAT); } /** * Format the instance the way it is serialized to JSON. * * The value is normalized to UTC and carries a trailing "Z". * * @return string The formatted date and time. * * @since 1.0.0 */ public function to_json() { return $this->copy()->set_timezone('UTC')->format(static::JSON_FORMAT) . 'Z'; } /** * Convert the instance to a SQL safe date string. * * @return string The formatted date string. * * @since 1.0.0 */ public function to_sql_datetime_string() { return $this->format(static::DATETIME_FORMAT); } /** * Get the unix timestamp of the instance. * * @return int The unix timestamp. * * @since 1.0.0 */ public function get_timestamp() { return $this->getTimestamp(); } /** * Get the timezone of the instance. * * @return DateTimeZone The timezone. * * @since 1.0.0 */ public function get_timezone() { return $this->getTimezone(); } /** * Move the instance to the given timezone, keeping the same moment in time. * * @param DateTimeZone|string $timezone The timezone to move to. * * @return $this The mutated instance. * * @since 1.0.0 */ public function set_timezone($timezone) { $this->setTimezone(static::resolve_timezone($timezone)); return $this; } /** * Set the date part of the instance. * * @param int $year The year. * @param int $month The month. * @param int $day The day. * * @return $this The mutated instance. * * @since 1.0.0 */ public function set_date($year, $month, $day) { $this->setDate((int) $year, (int) $month, (int) $day); return $this; } /** * Set the time part of the instance. * * @param int $hour The hour. * @param int $minute The minute. * @param int $second The second. * @param int $microsecond The microsecond. * * @return $this The mutated instance. * * @since 1.0.0 */ public function set_time($hour, $minute, $second = 0, $microsecond = 0) { $this->setTime((int) $hour, (int) $minute, (int) $second, (int) $microsecond); return $this; } /** * Set the time part of the instance from a time string. * * Accepts the shapes a time column holds, such as "10", "10:30", * "10:30:45" and "10:30:45.123456". Parts that are not given are reset to * zero, so "10:30" clears the seconds and the microseconds. The date part * is left untouched. * * @param string $time The time to read. * * @return $this The mutated instance. * * @throws InvalidDateFormatException When the time cannot be read. * * @since 1.0.0 */ public function set_time_from_time_string($time) { $given = $time; $time = (string) $time; if (\strpos($time, ':') === \false) { $time .= ':0'; } try { $modified = @$this->modify($time); } catch (Exception $exception) { $modified = \false; } if ($modified === \false) { throw new InvalidDateFormatException(\sprintf('Could not read "%s" as a time.', \is_scalar($given) ? $given : \gettype($given))); } return $this; } /** * Get the value used when the instance is encoded to JSON. * * @return string The JSON representation. * * @since 1.0.0 */ public function jsonSerialize() : string { return $this->to_json(); } /** * Get the value used when the instance is cast to a string. * * @return string The string representation. * * @since 1.0.0 */ public function __toString() { return $this->to_date_time_string(); } /** * Read a single unit of the instance as a property. * * @param string $name The unit name. * * @return int The unit value. * * @throws InvalidArgumentException When the unit is unknown. * * @since 1.0.0 */ public function __get($name) { if (!isset(static::$readable_units[$name])) { throw new InvalidArgumentException(\sprintf('Undefined property %s::$%s.', static::class, $name)); } return (int) $this->format(static::$readable_units[$name]); } /** * Determine whether a unit can be read as a property. * * @param string $name The unit name. * * @return bool Whether the unit is readable. * * @since 1.0.0 */ public function __isset($name) { return isset(static::$readable_units[$name]); } /** * Reject any undefined instance method. * * The API of this class is snake_case only, so calls are never translated * from another naming style. * * @param string $method The method name. * @param array $parameters The method parameters. * * @return void No return value. * * @throws BadMethodCallException Always. * * @since 1.0.0 */ public function __call($method, $parameters) { throw new BadMethodCallException(\sprintf('Call to undefined method %s::%s(). Date methods are snake_case.', static::class, $method)); } /** * Reject any undefined static method. * * @param string $method The method name. * @param array $parameters The method parameters. * * @return void No return value. * * @throws BadMethodCallException Always. * * @since 1.0.0 */ public static function __callStatic($method, $parameters) { throw new BadMethodCallException(\sprintf('Call to undefined method %s::%s(). Date methods are snake_case.', static::class, $method)); } /** * Shift the instance by the given amount of a single unit. * * @param string $unit The unit to shift by. * @param int $value The signed amount to shift. * * @return $this The mutated instance. * * @since 1.0.0 */ protected function shift($unit, $value) { $this->modify(\sprintf('%+d %s', (int) $value, $unit)); return $this; } /** * Normalize a value into a date instance to compare against. * * @param DateTimeInterface|string|int|float|null $date The value to normalize. * * @return static The normalized date. * * @throws InvalidDateFormatException When the value cannot be parsed. * * @since 1.0.0 */ protected function resolve($date) { return $date instanceof static ? $date : static::parse($date); } /** * Normalize a timezone value into a timezone object. * * @param DateTimeZone|string|null $timezone The timezone to normalize. * * @return DateTimeZone|null The timezone, or null when none was given. * * @throws InvalidDateFormatException When the timezone is unknown. * * @since 1.0.0 */ protected static function resolve_timezone($timezone) { if ($timezone === null || $timezone instanceof DateTimeZone) { return $timezone; } try { return new DateTimeZone($timezone); } catch (Exception $exception) { throw new InvalidDateFormatException(\sprintf('Unknown timezone "%s".', \is_scalar($timezone) ? $timezone : \gettype($timezone)), 0, $exception); } } /** * Build an instance from a unix timestamp, in UTC. * * The timestamp is always rendered with six decimal places because the * native parser rejects a shorter microsecond fragment. * * @param int|float|string $timestamp The unix timestamp. * * @return static The new instance, expressed as a UTC offset. * * @throws InvalidDateFormatException When the timestamp is not numeric. * * @since 1.0.0 */ protected static function from_timestamp($timestamp) { if (!\is_numeric($timestamp)) { throw new InvalidDateFormatException(\sprintf('Could not create a date from a non numeric timestamp of type %s.', \gettype($timestamp))); } try { return new static('@' . \sprintf('%.6F', (float) $timestamp)); } catch (Exception $exception) { throw new InvalidDateFormatException(\sprintf('Could not create a date from the timestamp "%s".', $timestamp), 0, $exception); } } }