PDA

Zobacz pełną wersję : [VM + PHP]Wysyłanie załączników z potwierdzeniem zakupu w VirteuMart prawie gotowe



danio_d
17-12-2011, 21:33
Witam,

Zrobił mi się problem, dla mnie spory, bo php znam jako tako, a już mi się pomysły i google skończyły.
Do maila wysyłanego z VM muszę mieć załączone pliki doc (i to już zrobione), ale w zależności od tego jaka jest pierwsza litera w polu SKU (są 3 rodzaje i 3 pliki) w karcie produktu - i tu mam problem, bo jeśli jest zamówiony jeden produkt to wszystko działa poprawnie, ale jeśli są zamówione dwa lub więcej różnych produktów to wówczas wysyłany jest tylko jeden plik.

Poniżej kod jaki popełniłem (wszystkich programistów proszę o wyrozumiałość i o wybaczenie jeśli są jakieś karygodne błędy)


$mosConfig_absolute_path = $GLOBALS['mosConfig_absolute_path'] = JPATH_SITE;
$rodzaj = array ($dboi->f("order_item_sku"));
for($sku=0;$sku<count($rodzaj);$sku++) {
if ($rodzaj[$sku]{0} == "Z") $paths = $mosConfig_absolute_path."/files/formularz_ZAPROSZENIA.doc";
if ($rodzaj[$sku]{0} == "P") $paths = $mosConfig_absolute_path."/files/formularz_PAMIATKI.doc";
if ($rodzaj[$sku]{0} == "W") $paths = $mosConfig_absolute_path."/files/formularz_WINIETKI.doc";
}
$path = array ($paths);
for($f=0;$f<count($path);$f++) {
$mail_header = array();
$mail_header['name'] = basename($path[$f]);
$mail_header['size'] = filesize($path[$f]);
$mail_header['data'] = implode("",file($path[$f]));
if(function_exists("mime_content_type"))
$mail_header['type'] = mime_content_type($path[$f]);
else
$mail_header['type'] = "application/doc";
}

$shopper_mail = vmMail( $from_email, $mosConfig_fromname, $shopper_email, $shopper_subject, $shopper_mail_Body, $shopper_mail_AltBody, true, null, null, $EmbeddedImages, $path, null);

$vendor_mail = vmMail( $from_email, $mosConfig_fromname, $vendor_email, $vendor_subject, $vendor_mail_Body, $vendor_mail_AltBody, true, null, null, $EmbeddedImages, $path, $shopper_email);


Z góry dziękuję za pomoc
dede