Date incohérente avec First Akeeba Subscriptions

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

Bonjour,

Je viens de faire la mise à jour vers Hikashop 2.3.2 et Akeeba Subscriptions 4.1.0.

Sur Hikashop 2.3.2 les dates et heures de commandes sont OK voir photo => Date-hikashop.png



Par contre sur Akeeba Subscriptions 4.1.0 c'est NOK voir photo => date-akeebasub.png (5:11 à la place de 7:11 .../..)




J'ai remis à jour votre pugin akeebasubs

Merci de votre aide

Teophile

Attachments:

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

  • Posts: 13201
  • Thank you received: 2322
9 years 9 months ago #163771

Bonjour,

Nous utilisons pourtant la fonction Joomla JDate() pour récupérer la date courante.
Le soucis doit provenir de l'heure de votre serveur qui est sûrement décallée de 2 heures.

C'est pourquoi nous retrouvons ce décallage ici. Ce que je vous suggère c'est d'éditer le fichier php du plugin et remplacer:

time()
Par:
'now +2 hours'
Dans toutes les occurences de new JDate ou "time()" est présent. Et cela devrait régler votre décallage.

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

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

Bonsoir Xavier et merci votre réponse.

J'ai fait la modif dans plugins/hikashop/akeebasubs/akeebasubs.php à la ligne 142 :

$jDown = new JDate( 'now +2 hours' + (86400 * $level_duration * $result->order_product_quantity) );

Je verrai demain matin lors d'un nouveau test.

Remarque : Je suis en plein doute sur cette solution car :
- je suis chez infomaniak "est-ce leur serveur dont tu parles ?";
- dans la configuration de Joomla sur l'onglet Serveur j'ai le fuseau horaire sur PARIS
- et de plus l'heure de modification dans hikashop est OK (voir photo Date-hikashop.png ci-dessus)
alors ...

Teophile

Last edit: 9 years 9 months ago by Teophile.

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

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

Bonjour,

J'ai appliqué votre proposition de modification mais rien n'a changé alors ce matin j'ai fait un nouveau paiement pour mon fameux abonnement de 1 jour et je vous présente sur ces photos les incohérences :

A) AkeebaSubs :

1 - Dans AkkeebaSubs : Créé le 2014-07-13 04:20 => Valide à partir du 2014-07-12 22:59 => jusqu'au 2014-07-13 22:59
..... Dans hikashop ..........Date le 2014-07-13 06:20 => Dernière modif....2014-07-13 06:20




Sur cette vue d'akeebasubs c'est encore plus incohérent puisque la date de validation 2014-07-12 est inférieure à la date de créaton 2014-07-13



B - Hikashop
Les dates sont bonnes :



Nota : Ce post est plus détaillé alors vous pouvez supprimer le post précédent qui présentai le même problème.

Merci de votre aide car je voudrai vendre des abonnements à la journée et le couple Hikashop-Akeeba est super pour faire cela.

Attachments:
Last edit: 9 years 9 months ago by Teophile.

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

  • Posts: 13201
  • Thank you received: 2322
9 years 9 months ago #164342

Bonjour,

Désolé pour l'attente, pourriez vous essayer avec cette version du plugin ?

File Attachment:

File Name: hdd933bd.zip
File Size:9 KB

Attachments:

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

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

Bonjour et merci de la prise en compte de ce problème.

J'ai installé le plugin que vous m'avez adressé et voici les résultats suite à la confirmation d'un paiement sur hikashop :

A - Dans AkkeebaSubs voir les points sur l'image ci-dessous :
OK pour les points 1 et 2 : Créé le 2014-07-16 09:07 => Valide à partir du 2014-07-16 09:07 => jusqu'au 2014-07-17 09:07
NOK pour le point 3 : Décalage de 1 heure avec l'heure du système local 09:07 pour 10:07
NOK pour le point 4 : L'auto-publication de l'abonnement n'a pas été réalisée dans Akeebasub alors que le statut confirmé a été réalisé sur Hikashop suite au paiement par chèque ou Paypal .../...





Questions : Il me semble évident que pour une même commande d'abonnement la date de création dans Akeebasub correspond à la "date d'écriture" dans akeebasubs et non à la date de création dans Hikashop. Est-ce vrai ?
Ces différentes dates sont visibles lorsque sur Hikashop la date de création est différée de quelques heures voire quelques jour lors d'un paiement par chèque par exemple. Est-ce exacte ?


B - Dans Hikashop voir image çi-dessous :
C'est un changement manuel de créée à confirmée lors d'un paiement par chéque. Je suppose que si c'était un paiement automatique de type Paypal cela aurait fonctionné de la même manière.
Pour moi c'est OK.



Je reste à votre disposition pour résoudre définitivement ce problème

Attachments:

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

  • Posts: 13201
  • Thank you received: 2322
9 years 9 months ago #164387

Décidémment c'est à ne rien y comprendre.
Dans la version du plugin que je vous ai donné, j'utilise la fonction hikashop_getDate() qui est donc celle utilisée dans HikaShop et qui prend en compte le décallage horaire.

Pouvez vous modifier toutes les occurences de hikashop_getDate dans le plugin pour ajouter "+3600" au premier paramètre, exemple:

$publish_up = hikashop_getDate($up,'Y-m-d h:m:s');
// Devient:
$publish_up = hikashop_getDate($up + 3600,'Y-m-d h:m:s');

Il y a en tout 5 occurences.

Pour répondre à vos autre questions, oui la souscription dans akeeba est créée seulement lorsque le status de la commande est confirmé. Et la date de création est la date à laquelle la souscription est créer, lors de la validation de la commande.

Pour PayPal cela aurait fonctionné de la même façon.

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

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

Bonjour Xavier,

Je viens de modifier les lignes suivantes :

188         $publish_up = hikashop_getDate($up + 3600,'Y-m-d h:m:s');
189		$publish_down = hikashop_getDate($down + 3600,'Y-m-d h:m:s');
201         $now = hikashop_getDate(time()+ 3600,'Y-m-d h:m:s');
271     	$publish_up = hikashop_getDate($up + 3600,'Y-m-d h:m:s');
272		$publish_down = hikashop_getDate($down + 3600,'Y-m-d h:m:s');

Effectivement c'est à n'y rien comprendre car si tu as pris les mêmes instructions que hikashop ca devrait fonctionner sans ajouter + 3600. Il doit y avoir une autre cause-racine. Si j'ai bien compris ces modifs qui donnent un bon résultat (voir photo) sont alors paliatives ??


Il reste l'autopublication qui n'est pas active ...

Grand merci pour votre aide

Attachments:
Last edit: 9 years 9 months ago by Teophile.

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

  • Posts: 13201
  • Thank you received: 2322
9 years 9 months ago #164460

Je pense que la non autopublication vient du même soucis.
Si Akeeba subscriptions a un décallage aussi, alors la publication n'est pas activée, si vous revenez dans 2 heures ce sera peut être le cas.

Je vais approfondir ce point.

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

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

OK et encore grand merci de prendre ce problème en compte.

Tous mes encouragements et à votre disposition pour effectuer des tests ...

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

  • Posts: 13201
  • Thank you received: 2322
9 years 9 months ago #164966

Bonjour,

J'ai réussi à reproduire l'issue de mon côté, en effet le status reste sur "Dépublié".

Dans le plugin, vous pourrez trouver le code:

'enabled' => 0,

Ceci m'a été indiqué par la team d'Akeeba Subscriptions lors du développement du plugin.
C'est akeeba qui gère normalement cette plublication automatique de la souscription selon sa validité.

Vous pouvez potentiellement essayer de passer cette valeur à 1 afin de publier par défaut en attendant d'avoir plus d'informations sur cette auto-publication.

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

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

Bonjour,

Je viens de modifier la ligne suivante :

213   enabled' => 1, // Required - SET TO 0 and let Akeeba Subscriptions handle the auto-activation

Et voici le résultat
Hikashop
La date de confirmation Hikashop est 2014-07-22 12:14 :



AkeebaSubs
Alors que la date de création AkeebaSubs est 2014-07-22 12:07 donc inféreure à 12:14 (Remarque : Elle se termine toujours par 07 ??).
Et toujours pas d'autopublication alors que j'ai modifié la ligne 213 :


Merci de votre aide
Teophile

Attachments:
Last edit: 9 years 9 months ago by Teophile.

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

  • Posts: 13201
  • Thank you received: 2322
9 years 9 months ago #164983

Ok, j'ai fais une faute dans le code.

Merci de remplacer le format de la date dans les fonction "hikashop_getDate()" par:

'Y-m-d h:i:s'
au lieu de
'Y-m-d h:m:s'

Et ça devrait corriger tous les soucis.

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

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

Merci pour votre réponse.
J'ai effectué les modif de format de date sur les lignes 188, 189, 201, 271 et 272

Dans ce 5 fonctions il n'y a plus le + 3600, est-ce qu'il faut le garder ou le supprimer ?
Idem pour le 'enabled' => 1 à ligne 213 ?


L'abonnement de ce midi est publié, mais combien de temps aprés je ne sais pas.
Demain je ferai un test d'abonnement pour voir les changements.

Bonne fin de journée

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

  • Posts: 13201
  • Thank you received: 2322
9 years 9 months ago #164997

Il ne faut plus le +3600 et il faut remettre le enabled à 0.

Les nouvelles souscriptions seront publiées directement après désormais.
Le soucis provenait du décallage de date.

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

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

Bonjour,

Tu as aiguisé ma curiosité concernant la définition de l'heure en PHP (voir photo jointe)

Il me semble que sur hikashop c'est l'heure H: Heure, au format 24h, avec les zéros initiaux 00 à 23
Exemple sur Hikashop : 2014-07-22 19:48 alors que sur Akeebasub :2014-07-22 07:48

Pourquoi ne pas utiliser H sur Akeebasubs soit 'Y-m-d H:i:s' au lieu de 'Y-m-d h:i:s' ?

Merci de vos réponses.

Attachments:
Last edit: 9 years 9 months ago by Teophile.

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

  • Posts: 13201
  • Thank you received: 2322
9 years 9 months ago #165082

Bonjour,

Oui en effet passer au format 24h est peut être plus judicieux.
C'est changé de mon côté.

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

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

Bonjour Xavier,

Les enregistrements de dates sont OK.

Par contre l'auto-activation de l'abonnement n'est toujours pas opérationnel suite à un statut Confirmé dans Hikashop générant simultanément un état Terminé dans Akeebasubs.
Je poursuis mes tests et je t'adresserai le résultat de mes investigations.

Bonne journée;

Last edit: 9 years 8 months ago by Teophile.

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

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

Bonsoir,

J'ai téléchargé la dernière version du 29 juillet sur votre site et l'auto-activation ne fonctionne pas.
Après quelques heures de test concernant cette auto-activation j'en suis arrivé à souhaiter que votre plugin puisse permettre d'écrire la valeur 1 dans la champ enabled de la table _akeeebasubs_subscription.
Par conséquent j'ai modifié votre plugin akeebasubs en remplaçant 0 par 1 :
- à la ligne 189 'enabled' => 1, // Required - SET TO 0 and let Akeeba Subscriptions handle the auto-activation
- à la ligne 243 SET enabled = 1, publish_down = '.$db->quote($publish_down).'
sans succès puisque c'est toujours 0 qui est écrit dans la table _akeeebasubs_subscription

Lorsque je vais dans la table _akeeebasubs_subscription et que je met manuellement la valeur 1 dans la champ enabled l'activation est OK.

Je ne comprend vraiment pas qu'elle est la logique pour ne pas auto-activer un abonnement enabled = 1au même moment que le process de paiement est OK (state=C) et que l'heure de validation est OK.

J'ajoute cette image pour illustrer ma demande :




Grand merci par avance de votre aide.

Attachments:
Last edit: 9 years 8 months ago by Teophile.

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

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

Re bonjour,

Juste pour info

J'ai constaté un décalage de 2 heures entre l'heure de validation et l'activation suite à ce test :
Validation à 12:56 pour une activation à 14:57
Il me semble que cela correspond au décalage UTC.

C'est pourquoi je pense que votre plugin Akeebasubs devrait mettre enable ==> 1 au moment de transfert de hikashop dans akeeba subscriptions.

Que est votre avis ??

Merci de votre aide

Last edit: 9 years 8 months ago by Teophile.

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

Time to create page: 0.178 seconds
Powered by Kunena Forum