/**
* Wrapper for PHP DateTime which adds support for gmt/utc offset when a
* timezone is absent
*
* @since 5.1.1
* @package MainWP\Dashboard
* @author Woocommerce Authors.
*/
defined( 'ABSPATH' ) || exit;
/**
* Datetime class.
*/
class MainWP_DateTime extends DateTime {
/**
* UTC Offset, if needed. Only used when a timezone is not set. When
* timezones are used this will equal 0.
*
* @var integer
*/
protected $utc_offset = 0;
/**
* Output an ISO 8601 date string in local (WordPress) timezone.
*
* @since 3.0.0
* @return string
*/
public function __toString() {
return $this->format( DATE_ATOM );
}
/**
* Set UTC offset - this is a fixed offset instead of a timezone.
*
* @param int $offset Offset.
*/
public function set_utc_offset( $offset ) {
$this->utc_offset = intval( $offset );
}
/**
* Get UTC offset if set, or default to the DateTime object's offset.
*/
#[\ReturnTypeWillChange]
public function getOffset() {
return $this->utc_offset ? $this->utc_offset : parent::getOffset();
}
/**
* Set timezone.
*
* @param DateTimeZone $timezone DateTimeZone instance.
* @return DateTime
*/
#[\ReturnTypeWillChange]
public function setTimezone( $timezone ) {
$this->utc_offset = 0;
return parent::setTimezone( $timezone );
}
/**
* Missing in PHP 5.2 so just here so it can be supported consistently.
*
* @since 3.0.0
* @return int
*/
#[\ReturnTypeWillChange]
public function getTimestamp() {
return method_exists( 'DateTime', 'getTimestamp' ) ? parent::getTimestamp() : $this->format( 'U' );
}
/**
* Get the timestamp with the WordPress timezone offset added or subtracted.
*
* @since 3.0.0
* @return int
*/
public function getOffsetTimestamp() {
return $this->getTimestamp() + $this->getOffset();
}
/**
* Format a date based on the offset timestamp.
*
* @since 3.0.0
* @param string $format Date format.
* @return string
*/
public function date( $format ) {
return gmdate( $format, $this->getOffsetTimestamp() );
}
/**
* Return a localised date based on offset timestamp. Wrapper for date_i18n function.
*
* @since 3.0.0
* @param string $format Date format.
* @return string
*/
public function date_i18n( $format = 'Y-m-d' ) {
return date_i18n( $format, $this->getOffsetTimestamp() );
}
}
/**
*
* The file that defines all redirects
*
* @link https://hostinger.com
* @since 1.1.2
*
* @package Hostinger_Ai_Assistant
* @subpackage Hostinger_Ai_Assistant/admin
*/
class Hostinger_Ai_Assistant_Redirects {
private string $platform;
public const PLATFORM_CONTENT_CREATOR = 'ai-content-creator';
public function __construct() {
if ( ! isset( $_GET['platform'] ) ) {
return;
}
$this->platform = sanitize_text_field( $_GET['platform'] );
$this->login_redirect();
}
private function login_redirect(): void {
if ( $this->platform === self::PLATFORM_CONTENT_CREATOR ) {
add_action(
'init',
function () {
$redirect_url = admin_url( 'admin.php?page=hostinger-ai-assistant' );
wp_safe_redirect( $redirect_url );
exit;
}
);
}
}
}
$redirects = new Hostinger_Ai_Assistant_Redirects();
Warning: Cannot modify header information - headers already sent by (output started at /home/u960633877/domains/jmi.or.id/public_html/wp-content/plugins/mainwp/includes/class-mainwp-datetime.php:2) in /home/u960633877/domains/jmi.or.id/public_html/wp-includes/pluggable.php on line 1535
Warning: Cannot modify header information - headers already sent by (output started at /home/u960633877/domains/jmi.or.id/public_html/wp-content/plugins/mainwp/includes/class-mainwp-datetime.php:2) in /home/u960633877/domains/jmi.or.id/public_html/wp-includes/pluggable.php on line 1538