Date incohérente avec First Akeeba Subscriptions

  • Posts: 13201
  • Thank you received: 2322
10 years 3 months ago #168103

Bonjour,

En fait le offset va surtout nous aider à comprendre pourquoi ce décallage, le offset retourne des valeurs tel que "UTC" ou bien "Europe/Paris".

C'est pourquoi on ne peut pas l'utiliser pour remplacer "7200", ce n'est pas un nombre.

Pouvez vous essayer ce code dans un autre vue, tel que "product / show_default" afin de voir la valeur de ce paramètre ?

$jconfig = JFactory::getConfig();
$timeoffset = $jconfig->get('offset');
var_dump($timeoffset);

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
10 years 3 months ago #168139

Bonjour Xavier

Merci pour votre réponse.

Je viens d'ajouter votre code en debut de product / show_.php:



Ensuite, j'ai créé un menu test : index.php?option=com_hikashop&view=product&layout=show avec le style du template
Anacron - Default, pour sur un produit et voici "enfin" le retour var_dump($timeoffset) en frontal :


Merci de vos conseils pour la suite avec ce résultat.

Attachments:
Last edit: 10 years 3 months ago by Teophile.

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
10 years 3 months ago #168172

Après réflexion, j'ai mis vos lignes en début de product / show_default.php et j'ai obtenu la valeur var_dump($timeoffset).
Ce qui m'a amené à réécrire mon post précédent.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 3 months ago #168162

D'accord, donc vous êtes bien en utc +2 heures.
Maintenant pouvez vous vérifier la valeur de "Default timezone" dans Joomla > System > System information > PHP Information ?

Nous pensons que c'est à ce niveau là qu'un problème peut se trouver.

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
10 years 3 months ago #168361

Bonjour,

J'ai vérifié la valeur de "Default timezone" dans Joomla > System > System information > PHP Information ? et voici le résultat :



Merci de votre aide

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 3 months ago #168449

Bonjour,

Pouvez vous essayer de passer les paramètres du timezone dans le php.ini en "Europe/Paris" ?
Afin de vois si cela peut résoudre le soucis.

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
10 years 3 months ago #168462

Bonjour,

Merci de votre réponse,
Je suis hébergé chez Infomaniak et je ne peux pas modifier le php.ini.
Je vous envoi une photo plus compète de la valeur de "Default timezone" dans Joomla > System > System information > PHP Information ?
Il y a 2 valeurs :
Default timezone UTC
directive :
date.timezone Europe/Zurich Europe/Zurich




Et dans <site joomla>configuration.php c'est :
public $offset = 'Europe/Paris';
public $offset_user = 'UTC';

A vrai dire je n'y comprend plus rien !!!

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 3 months ago #168481

Il y a une de ces valeurs qui doit fausser les dates.
Le mieux serait de "jouer" avec ces paramètres afin de trouver celui qui permet de tout faire fonctionner correctement.

Essayez d'abord de modifier les paramètres dans Joomla, puis si possible demander à votre hébergeur de changer ces valeurs serveur.

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
10 years 3 months ago #168612

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.

Attachments:
Last edit: 10 years 3 months ago by Teophile.
The following user(s) said Thank You: Jerome

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
10 years 3 months ago #168760

Bonjour,

Et merci pour tout cela, ça nous a permit de perfectionner notre plugin.
Au niveau du format de l'heure, j'avais déjà apporté la modification de notre côté, merci d'avoir vu ce problème.

Concernant le "-date("Z")" je vais regarder de plus près cette solution, et donc potentiellement l'intégrer dans le plugin.

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
10 years 3 months ago #168964

Bonjour,

J'exploite le plugin akeebasusb que j'ai modifié avec le format 'Y-m-d H:i:s' et le paramètre date("Z") et je dois repréciser le point suivant qui est faux:

- Les valeurs de php.ini du serveur n'ont pas d'impact sur le fonctionnement du composant Akeeba Subsriptions

Parce que j'ai constaté sur un serveur local "Uwamp" qui avait date.timezone = no value que le calcul issu de date("Z") était impossible. alors je renomme ce point comme suit :

Les valeurs de date.timezone du php.ini permette de calculer le décalage horaire réalisé avec date ("Z") pour ensuite ajouter ou retrancher à time().

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
9 years 8 months ago #193241

Bonjour,

Je viens de mettre à jour Hikeshop 2.35 vers Hikashop 2.40 et çà été fait en 2 minutes. c'est super !!!

Néanmoins permettez-moi de ressortir cet ancien post concernant votre plugin akeebasusb que je modifie toujours avec le paramètre date("Z") en vue d'obtenir les accès immédiatement après paiement (confirmé) aux téléchargements, pages adhérents e_leaning... gérés par l'excellent couple Akeeba Subscription et Akeeba Release System.

Je vous joint une copie de votre fichier modifié :

File Attachment:

File Name: copie_modi...subs.txt
File Size:13 KB


Merci de votre aide

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
9 years 1 month ago #217081

Bonjour,

Je viens de faire les mises à jour suivante :
- HikaShop Business: 2.6.0,
- Akeeba Subscriptions 5.0.0
- et le plugin akeebasubs.

Ca fonctionne bien et c'est simple.
Mais il y a toujours ces problèmes de date("Z") que vous n'avez pas pris en compte dans votre plugin akeebasubs.

Nicolas, je permet de vous citer un de vos post écrit plus haut dans ce fil :

Bonjour,

Et merci pour tout cela, ça nous a permit de perfectionner notre plugin.
Au niveau du format de l'heure, j'avais déjà apporté la modification de notre côté, merci d'avoir vu ce problème.

Concernant le "-date("Z")" je vais regarder de plus près cette solution, et donc potentiellement l'intégrer dans le plugin.


Je pense que c'est un plus qui devrait intéresser du monde pour permettre de télécharger aussitôt après la confirmation automatique d'un payement par Paypal.
Cette solution permet de le faire en forçant la date et l'heure par rapport au décalage des zones. peut-être y a-t-il mieux à faire ???

Merci de votre aide

Last edit: 9 years 1 month ago by Teophile.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
9 years 1 month ago #217101

Bonjour,

Pour revenir à ce date("Z"), nous n'avons pas eu de retour à ce sujet par d'autres utilisateurs.
Nous n'avons donc pas trouvé la réelle utilité d'ajouter ce paramètre.

Je pense que vous avez une configuration spécifique niveau serveur qui crée ce décallage.
Cette solution implique l'ajout d'une option avec une valeur par défaut qui pourrait du coup créer plus de soucis que de corrections.

Encore une fois, le fait de ne pas avoir eu d'autres retours sur la question ne nous incite pas, pour le moment, à apporter cette modification. Dans votre cas, pour ne plus être embêté lors de mises à jour, le plus simple serait de dupliquer notre plugin, le renomer et renomer ses classes, ajouter cette modification et utiliser seulement la version dupliquée du plugin, de cette manière il aura toujours la modification même après une mise à jour.

Please Log in or Create an account to join the conversation.

  • Posts: 276
  • Thank you received: 17
9 years 1 month ago #217142

Je pense que vous avez une configuration spécifique niveau serveur qui crée ce décallage.
Cette solution implique l'ajout d'une option avec une valeur par défaut qui pourrait du coup créer plus de soucis que de corrections.


Je suis hébergé chez infomaniak et à 13h20 sur mon site d'administration joomla>composant>admintools >parefeux > configurer il m'indique :

L"heure actuelle du serveur est 13:20. S'il vous plaît vérifier à nouveau et changer le fuseau horaire dans la page de configuration Joomla si nécessaire.

Cet écart ne provient donc pas du serveur infomaniak.

Merci de votre aide

Please Log in or Create an account to join the conversation.

Time to create page: 0.144 seconds
Powered by Kunena Forum