Bonjour,
J'ai poursuivi mes tests et j'en suis arrivé à mettre en place la solution suivante:
$timestamp = time();
if(!$old){
//New sub
$up = time();
$up = (int)$up - 7200;
$down = time() + (86400 * $level_duration * $result->order_product_quantity);
$down = (int)$down - 7200;
}
else{
//add sub after the old sub
if(strtotime($old->publish_down) < time()){
$up = time();
$up = (int)$up - 7200;
$down = time() + (86400 * $level_duration * $result->order_product_quantity);
$down = (int)$down - 7200;
}else{
$up = strtotime($old->publish_down);
$down = strtotime($old->publish_down) + (86400 * $level_duration * $result->order_product_quantity);
}
}
au lieu de :
$timestamp = time();
if(!$old){
//New sub
$up = time();
$down = time() + (86400 * $level_duration * $result->order_product_quantity);
}
else{
//add sub after the old sub
if(strtotime($old->publish_down) < time()){
$up = time();
$down = time() + (86400 * $level_duration * $result->order_product_quantity);
}else{
$up = strtotime($old->publish_down);
$down = strtotime($old->publish_down) + (86400 * $level_duration * $result->order_product_quantity);
}
}
Cette solution me permet d'avoir :
- l'activation sans décalage avec les heures
H: au format 24h, avec les zéros initiaux 00 à 23 alors les heures de début et fin sont en heure UTC dans la BD.
- les 3 modes de fonctionnement corrects en utilisant votre instruction
$xxx =(int)$up - 7200; à savoir :
pas d'ancien abonnement
if(!$old),
date de l'ancien abonnement plus ancienne
$old->publish_down
et date de l'ancien abonnement plus récente
- et la date de création à l'heure locale.
$now = hikashop_getDate(time(),'Y-m-d H:i:s');
J'ai mis en application ces modifs et suite à vos remarques, j'espère les voir intégrées dans la prochaine version de votre plugin pour faciliter les MàJ.
D'autre part est-ce qu'il vous serait possible de compléter l'instruction
$xxx = (int)$up - 7200; par une instruction qui prendrait en compte automatiquement le décalage à partir de configuration.php de joomla ? Ceçi rendrait la solution entièrement compatible à la fois avec configuration.php de joomla et Akeeba Subsription
Merci de votre aide
Teophile