Bonjour,
Je crois avoir obtenu le résultat que je recherche, à savoir :
"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"
COMMENT :
A partir de ce paramètre "Z" mentionné sur le tableau suivant :
J'obtient automatiquement la valeur de décalage horaire en secondes.
Le décalage des zones à l'ouest de la zone UTC est négatif, et à l'est, il est positif.
Voici les instructions de vérification pour la valeur
public $offset = 'Europe/Paris'; dans
configuration.php :
Résultat :
==============================
Alors dans votre plugin
akeebasubs.php sur les instructions ajoutées précédemment j'ai remplacé
-7200 par
- date("Z") comme suit :
$timestamp = time();
if(!$old){
//New sub
$up = time();
$up = (int)$up - date("Z")
$down = time() + (86400 * $level_duration * $result->order_product_quantity);
$down = (int)$down - date("Z");
}
else{
//add sub after the old sub
if(strtotime($old->publish_down) < time()){
$up = time();
$up = (int)$up - date("Z");
$down = time() + (86400 * $level_duration * $result->order_product_quantity);
$down = (int)$down - date("Z");
}else{
$up = strtotime($old->publish_down);
$down = strtotime($old->publish_down) + (86400 * $level_duration * $result->order_product_quantity);
}
}
Et l'auto-activation est obtenu immédiatement avec le statut confirmé sur hikashop et terminé sur akeeba subs
Merci de vos avis sur la prise en compte de ces 2 ajustements suivants dans la prochaine MàJ de votre plugin akeebasubs.php :
1 - Remplacer les chaines
'Y-m-d h:i:s' par
'Y-m-d H:i:s' pour prendre en compte les heurs de 00 à 24 Heures
2 - Ajouter le paramètre de l'OUEST
- date("Z") et de l'EST
+ date ("Z") pour automatiser les décalage entre l'horaire local de
configuration.php et l'horaire UTC.
Nota : Lors de mes nombreux tests j'ai pu vérifié les points suivants :
- Pour afficher les heures d'abonnement début et fin le composant Akeeba Subsriptions tient compte de la valeur public $offset = 'Europe/Paris'; dans configuration.php.
- Pour auto-activer un abonnement Akeeba Subsriptions fonctionne avec les horaires UTC sans tenir compte des horaires locaux; ce qui me semble normal pour éviter les confusions lors d'un abonnement acheter sous un fuseau horaire et consommer sous un autre.
- Les valeurs de php.ini du serveur n'ont pas d'impact sur le fonctionnement du composant Akeeba Subsriptions
Je vais appliquer ces modifications dès maintenant pour aller vers des abonnements à la journée dans un premier temps voire pour quelques heures dans une de vos prochaines versions dans le cas du e_learning.
MERCI pour vos conseils.
Ce fil m'a beaucoup appris et encore une fois vous avez un super couple Hikashop et Akeeba Subscriptions.