public function gateway() { if ($error = getRequest('err_msg')) { $error = $error[0]; $error = iconv("windows-1251", "utf-8", urldecode($error)); cmsController::getInstance()->errorUrl = "/emarket/ordersList/"; $this->errorNewMessage($error); } $orderId = payment::getResponseOrderId(); if (!$orderId) { throw new publicException("Order identificator wasn't recieved from payment system"); } $order = order::get($orderId); if ($order instanceof order) { $paymentId = $order->getValue('payment_id'); if ($paymentId) { $payment = payment::get($paymentId, $order); return $payment->poll(); } else { throw new publicException("No payment method inited for order #{$orderId}"); } } else { throw new publicException("Order #{$orderId} doesn't exists"); } }
public function sendManagerNotification(order $order) { $regedit = regedit::getInstance(); $cmsController = cmsController::getInstance(); $domains = domainsCollection::getInstance(); $domainId = $cmsController->getCurrentDomain()->getId(); $defaultDomainId = $domains->getDefaultDomain()->getId(); if ($regedit->getVal("//modules/emarket/manager-email/{$domainId}")) { $emails = $regedit->getVal("//modules/emarket/manager-email/{$domainId}"); $fromMail = $regedit->getVal("//modules/emarket/from-email/{$domainId}"); $fromName = $regedit->getVal("//modules/emarket/from-name/{$domainId}"); } elseif ($regedit->getVal("//modules/emarket/manager-email/{$defaultDomainId}")) { $emails = $regedit->getVal("//modules/emarket/manager-email/{$defaultDomainId}"); $fromMail = $regedit->getVal("//modules/emarket/from-email/{$defaultDomainId}"); $fromName = $regedit->getVal("//modules/emarket/from-name/{$defaultDomainId}"); } else { $emails = $regedit->getVal('//modules/emarket/manager-email'); $fromMail = $regedit->getVal("//modules/emarket/from-email"); $fromName = $regedit->getVal("//modules/emarket/from-name"); } $letter = new umiMail(); $recpCount = 0; foreach (explode(',', $emails) as $recipient) { $recipient = trim($recipient); if (strlen($recipient)) { $letter->addRecipient($recipient); $recpCount++; } } if (!$recpCount) { return; } list($template) = def_module::loadTemplatesForMail("emarket/mail/default", "neworder_notification"); try { $payment = payment::get($order->payment_id); $paymentName = $payment->name; $paymentStatus = order::getCodeByStatus($order->getPaymentStatus()); } catch (coreException $e) { $paymentName = ""; $paymentStatus = ""; } $param = array(); $param["order_id"] = $order->id; $param["order_name"] = $order->name; $param["order_number"] = $order->number; $param["payment_type"] = $paymentName; $param["payment_status"] = $paymentStatus; $param["price"] = $order->getActualPrice(); $param["domain"] = cmsController::getInstance()->getCurrentDomain()->getHost(); $content = def_module::parseTemplateForMail($template, $param); $langs = cmsController::getInstance()->langs; $letter->setFrom($fromMail, $fromName); $letter->setSubject($langs['notification-neworder-subject'] . " (#{$order->number})"); $letter->setContent($content); $letter->commit(); $letter->send(); }