Jump to content

úprava stahování zakoupených souborů


Trampino

Recommended Posts

Dobrý den,

dokázal by jste mi někdo pomoci s následující úpravou modulu pro prodej zboží ve formě souborů?

U zboží je přiložen soubor s příponou ABC. Jedná se o zkomprimovaný soubor obsahující několik adresářů. Tento soubor je uložen v adresáři /www/download/ pod názvem, který vygeneroval prestashop. V databázi v tabulce ps_product_download je uložen jak skutečný, tak i prestashopem vygenerovaný název souboru.

 

Zákazníkovi přijde email s odkazem a stejný odkaz je mu také k dispozici v náhledu objednávky v jeho uživatelském účtu v eshopu. Pomocí tohoto odkazu si může stáhnout zakoupený soubor.

Zákazník klikne na odkaz. Normálně mu aplikace nabídne soubor ke stažení. Nově by byla tato funkčnost rozšířena následujícím způsobem.

 

Aplikace si ověří zda soubor, který si chce zákzník stáhnout, má příponu ABC. Pokud ne, tak pokračuje normálně dál. Pokud ano tak provede následující rozšíření standardního chování modulu.

1) Do pomocné proměnné $OBJ si uloží číslo objednávky, do pomocné proměnné $SB si uloží název souboru. Z databáze zjistí a do pomocné proměnné $SDRM si uloží Jméno, Adresu a Telefon zákazníka, který zadal objednávku.

2) V pomocném adresáři tmp vytvoří podadresář pojmenovaný IDObjednávky_názevsouboru

3) Vezme ten zdrojový soubor, který je umístěn v adresáři /www/download/ a do tohoto pomocného podadresáře rozkomprimuje jeho obsah.

4) Postupně bere každý soubor který nalezne v podadresáři XYZ a jehož jméno začíná řetězcem OPQ. Vždy v něm vyhledá první výskyt řetězce "ABCD" a nahradí ho obsahem proměnné $SDRM. Změněný soubor uloží, vezme další jehož název začíná řetězcem OPQ a provede totéž, dokud nejsou takto upraveny všechny soubory v adresáři, jejichž název začíná řetězcem OPQ.

5) Nakonec znovu zakomprimuje obsah pomocného podadresáře do adresáře tmp tak, aby výsledný soubor měl název IDObjednávky_názevsouboru.ABC.

6) nabídne upravený soubor zákazníkovi ke stažení

7) odstraní z adresáře tmp pomocný IDObjednávky_názevsouboru.

8) Pokud je to pomocí php realizovatelné, tak po té co si zákazník soubor IDObjednávky_názevsouboru.ABC úspěšně stáhl na svůj disk. Odstraní ho z adresáře tmp.

 

Předem dík moc za případnou pomoc.

Nebo alespoň za info kde v php kódu prestashopu je ten kus, který vezme ten soubor uložený v /www/download/ a nabídne ho pod jeho skutečným jménem zákazníkovi ke stažení.

Link to comment
Share on other sites

×
×
  • Create New...