fixed error in handling dates with acf format as datepicker and not datetimepicker
This commit is contained in:
@@ -98,6 +98,7 @@ class Cipf {
|
|||||||
const ACF_PARTNER_OFFER_2_OUTPUT = ['_name'=>'afficher_offre_2', 'show'=>'Afficher', 'hide'=>'Masquer'];
|
const ACF_PARTNER_OFFER_2_OUTPUT = ['_name'=>'afficher_offre_2', 'show'=>'Afficher', 'hide'=>'Masquer'];
|
||||||
const ACF_PARTNER_OFFER_3_OUTPUT = ['_name'=>'afficher_offre_3', 'show'=>'Afficher', 'hide'=>'Masquer'];
|
const ACF_PARTNER_OFFER_3_OUTPUT = ['_name'=>'afficher_offre_3', 'show'=>'Afficher', 'hide'=>'Masquer'];
|
||||||
const ACF_READONLY_CLASS = 'readonly_acf';
|
const ACF_READONLY_CLASS = 'readonly_acf';
|
||||||
|
const ACF_DATE_FORMAT = 'Ymd';
|
||||||
|
|
||||||
// META
|
// META
|
||||||
const META_PAYEMENT_STATUS = 'cipf_payement_status';
|
const META_PAYEMENT_STATUS = 'cipf_payement_status';
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ if (!defined('ABSPATH')) {
|
|||||||
*/
|
*/
|
||||||
function get_date_CIPF($acf_date, $acf_id) {
|
function get_date_CIPF($acf_date, $acf_id) {
|
||||||
Plgntls::debug_infos();
|
Plgntls::debug_infos();
|
||||||
|
$acf_date_format = Cipf::ACF_DATE_FORMAT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* get acf date field
|
* get acf date field
|
||||||
@@ -36,11 +37,37 @@ function get_date_CIPF($acf_date, $acf_id) {
|
|||||||
// compare 2 dates : https://stackoverflow.com/q/8722806/9497573
|
// compare 2 dates : https://stackoverflow.com/q/8722806/9497573
|
||||||
// also I dont use strtotime to compare 2 ints,
|
// also I dont use strtotime to compare 2 ints,
|
||||||
// because i don't know if it will fail one day (2000y bug style)
|
// because i don't know if it will fail one day (2000y bug style)
|
||||||
$current_date = date_create_immutable_from_format('Ymd', $current_date_string);
|
$current_date = date_create_immutable_from_format($acf_date_format, $current_date_string);
|
||||||
if ($current_date === false) {
|
if ($current_date === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// /*
|
||||||
|
// * get acf date field
|
||||||
|
// *
|
||||||
|
// */
|
||||||
|
// $current_date_object = get_field_object($acf_date['_name'], $acf_id);
|
||||||
|
// if (empty($current_date_object)) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// if (empty($current_date_object['value'])) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /*
|
||||||
|
// * create date object from acf date
|
||||||
|
// *
|
||||||
|
// */
|
||||||
|
// $current_date_string = $current_date_object['value'];
|
||||||
|
// $current_format_field = $current_date_object['return_format'];
|
||||||
|
// // compare 2 dates : https://stackoverflow.com/q/8722806/9497573
|
||||||
|
// // also I dont use strtotime to compare 2 ints,
|
||||||
|
// // because i don't know if it will fail one day (2000y bug style)
|
||||||
|
// $current_date = date_create_immutable_from_format($current_format_field, $current_date_string);
|
||||||
|
// if ($current_date === false) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* returns the date object
|
* returns the date object
|
||||||
*
|
*
|
||||||
@@ -110,9 +137,9 @@ function get_new_date_CIPF($date, $duration) {
|
|||||||
*/
|
*/
|
||||||
function set_acf_date_CIPF($acf_date_field_to_update, $new_date, $user_id) {
|
function set_acf_date_CIPF($acf_date_field_to_update, $new_date, $user_id) {
|
||||||
Plgntls::debug_infos();
|
Plgntls::debug_infos();
|
||||||
|
$acf_date_format = Cipf::ACF_DATE_FORMAT;
|
||||||
|
|
||||||
$acf_id = 'user_'.$user_id;
|
$acf_id = 'user_'.$user_id;
|
||||||
$acf_date_format = 'Y-m-d H:i:s';
|
|
||||||
|
|
||||||
set_acf_field_CIPF($acf_date_field_to_update, $new_date->format($acf_date_format), $acf_id);
|
set_acf_field_CIPF($acf_date_field_to_update, $new_date->format($acf_date_format), $acf_id);
|
||||||
}
|
}
|
||||||
@@ -220,10 +247,13 @@ function is_prof_account_deletion_date_exceeded_CIPF($user_id = null) {
|
|||||||
*/
|
*/
|
||||||
function get_offer_date_expiration_CIPF($offer_number, $page_id) {
|
function get_offer_date_expiration_CIPF($offer_number, $page_id) {
|
||||||
Plgntls::debug_infos();
|
Plgntls::debug_infos();
|
||||||
|
$acf_date_format = Cipf::ACF_DATE_FORMAT;
|
||||||
|
|
||||||
|
$acf_field_name = 'fin_offre_'.$offer_number;
|
||||||
|
|
||||||
|
$current_date_expiration = get_field($acf_field_name, $page_id, false);
|
||||||
|
$date_expiration = date_create_immutable_from_format($acf_date_format, $current_date_expiration);
|
||||||
|
|
||||||
// last parameter is false to not format the date, and get the 'Ymd' format
|
|
||||||
$offer_expiration = get_field('fin_offre_'.$offer_number, $page_id, false);
|
|
||||||
$date_expiration = date_create_immutable_from_format('Ymd', $offer_expiration);
|
|
||||||
return $date_expiration;
|
return $date_expiration;
|
||||||
}
|
}
|
||||||
function is_offer_date_exceeded_CIPF($offer_number, $page_id) {
|
function is_offer_date_exceeded_CIPF($offer_number, $page_id) {
|
||||||
|
|||||||
Reference in New Issue
Block a user