Jump to content
Sign in to follow this  
ludo

[Résolu] Produit un peu trop dématérialisé

Recommended Posts

Salut à tous !

 

Je tente désespérément d'utiliser la vente d'article Produit dématérialisé (fichier zip)

J'ai eu beau parametre une date limite 2010-01-01, des quantités 999 , nombre de téléchargements 999 , nombre de jours 999,...

Mais du coté du client, lorsqu'on veut télécharger le fichier, on obtient toujours une fenêtre [removed]

avec "La date limite du produit est dépassé."

Pourquoi ce message ?

Au passage, un petit bug avec les accents

 

Et autre chose importante, on peut télécharger le fichier avant meme avant d'avoir payé (par cheque par exemple)

Share this post


Link to post
Share on other sites

Merci Ludo.  J'ai signalé ces bugs à Joël, le développeur qui s'occupe de cette fonctionnalité.

Share this post


Link to post
Share on other sites

Bonjour,

j'ai rencontré aussi ce problème.
Pour le corriger j'ai modifié le fichier /get-file.php ligne 72

$product_deadline = strtotime($info['download_deadline']);


devient

$productDownload = new ProductDownload($info['id_product_download']);
$product_deadline = strtotime($productDownload->getDeadline());
//$product_deadline = strtotime($info['download_deadline']);



en effet $info['download_deadline'] n'existe pas. Par contre je ne sais pas si la nouvelle valeur $product_deadline correspond à ce qui était recherché au départ. A vérifier donc.

Cordialement

Share this post


Link to post
Share on other sites

Merci Shag ca marche nikel !

 

Astuce pour les freenautes : oubliez pas de remettre php1 dans le .htaccess de download

Share this post


Link to post
Share on other sites

Impossible de reproduire le meme bug. Je ne vois pas pourquoi tu as change ces lignes alors que tout fonctionne avec le bout de code originel.
Bref ! Ce sujet est resolu.

Share this post


Link to post
Share on other sites

Bonjour,

pour moi le bug est toujours présent dans la RC5 et la même modification corrige le problème.

A+

Share this post


Link to post
Share on other sites

Correction :

en fait le problème ne vient pas de là,
Quand la commande est faite la date d'expiration est enregistrée. elle est calculée par la méthode ProductDownload::getDeadline().
le problème est que quand aucune limite n'est définie cette méthode renvoie le moment actuel. c'est donc le moment de création de la commande qui est enregistré comme date limite et donc c'est dans le passé quand on veut télécharger le produit.

en corrigeant la méthode c'est bon :

   public function getDeadline()
   {
       // TODO check if deadline is inferior than date_expiration
       if ($this->nb_days_accessible > 0)
       {
           $timestamp = strtotime('+'.$this->nb_days_accessible.' day');
           return date('Y-m-d H:i:s', $timestamp);
       }
       else
           return '0000-00-00 00:00:00';
   }

Share this post


Link to post
Share on other sites

Bonjour shagshag,

Ta correction a ete apporte a la solution, malgré que je n'arrive toujours pas a reporduire ce bug.

Merci pour ton support

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More