automatewoo/includes/Rest_Api/Utilities/DateHelper.php
fei-source 47d3c9a8b6 Update to v6.2.2
Source: GrootMade/Festinger Vault
2026-03-15 08:31:15 +08:00

47 lines
1 KiB
PHP

<?php
namespace AutomateWoo\Rest_Api\Utilities;
use AutomateWoo\Log;
use DateTimeInterface;
/**
* DateHelper Trait
*
* @since 6.0.12
*/
trait DateHelper {
/**
* Helper to get date data from a Log object.
*
* @param Log $log The log object.
* @param string $type The type of date data to get. Valid options are '' (empty),
* 'opened', or 'clicked'.
*
* @return string
*/
private function get_date_response_from_log( $log, $type = '' ) {
$type = empty( $type ) ? $type : "_{$type}";
$method = "get_date{$type}";
if ( ! is_callable( [ $log, $method ] ) ) {
return '';
}
$date = $log->$method();
return ( $date instanceof DateTimeInterface ) ? $this->prepare_date_response( $date ) : '';
}
/**
* Prepare a date object for a REST Response.
*
* @param DateTimeInterface $date A date object.
*
* @return string
*/
protected function prepare_date_response( DateTimeInterface $date ) {
return mysql_to_rfc3339( $date->format( 'Y-m-d H:i:s' ) );
}
}