HEX
Server: LiteSpeed
System: Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User: swifizcd (1555)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/swifizcd/buyease.com.ng/wp-content/plugins/yaysmtp/vendor_amazon/Aws/Api/TimestampShape.php
<?php

namespace YaySMTP\Aws3\Aws\Api;

/**
 * Represents a timestamp shape.
 */
class TimestampShape extends \YaySMTP\Aws3\Aws\Api\Shape {
  public function __construct(array $definition, \YaySMTP\Aws3\Aws\Api\ShapeMap $shapeMap) {
    $definition['type'] = 'timestamp';
    parent::__construct($definition, $shapeMap);
  }
  /**
   * Formats a timestamp value for a service.
   *
   * @param mixed  $value  Value to format
   * @param string $format Format used to serialize the value
   *
   * @return int|string
   * @throws \UnexpectedValueException if the format is unknown.
   * @throws \InvalidArgumentException if the value is an unsupported type.
   */
  public static function format($value, $format) {
    if ($value instanceof \DateTime) {
      $value = $value->getTimestamp();
    } elseif (is_string($value)) {
      $value = strtotime($value);
    } elseif (!is_int($value)) {
      throw new \InvalidArgumentException('Unable to handle the provided' . ' timestamp type: ' . gettype($value));
    }
    switch ($format) {
      case 'iso8601':
        return gmdate('Y-m-d\\TH:i:s\\Z', $value);
      case 'rfc822':
        return gmdate('D, d M Y H:i:s \\G\\M\\T', $value);
      case 'unixTimestamp':
        return $value;
      default:
        throw new \UnexpectedValueException('Unknown timestamp format: ' . $format);
    }
  }
}