Init
This commit is contained in:
213
api/Notify.php
Normal file
213
api/Notify.php
Normal file
@@ -0,0 +1,213 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Simpla CMS
|
||||
*
|
||||
* @copyright 2011 Denis Pikusov
|
||||
* @link http://simplacms.ru
|
||||
* @author Denis Pikusov
|
||||
*
|
||||
*/
|
||||
|
||||
class Notify extends Simpla
|
||||
{
|
||||
function email($to, $subject, $message, $from = '', $reply_to = ''){
|
||||
/*$headers = "MIME-Version: 1.0\n" ;
|
||||
$headers .= "Content-type: text/html; charset=utf-8; \r\n";
|
||||
$headers .= "From: $from\r\n";
|
||||
if(!empty($reply_to))
|
||||
$headers .= "reply-to: $reply_to\r\n";
|
||||
|
||||
$subject = "=?utf-8?B?".base64_encode($subject)."?=";
|
||||
|
||||
@mail($to, $subject, $message, $headers);*/
|
||||
|
||||
include_once $_SERVER['DOCUMENT_ROOT'] . '/modal-form/phpmailer/class.phpmailer.php';
|
||||
$mail = new PHPMailer();
|
||||
|
||||
|
||||
//$mail->AddAddress('info@atomicgarage.ru');
|
||||
//$mail->AddAddress('proviruz@mail.ru');
|
||||
|
||||
$emails = explode(',', $to);
|
||||
foreach($emails as $email) $mail->AddAddress(trim($email));
|
||||
|
||||
$mail->Subject = $subject;
|
||||
$mail->SetFrom('admin@atomicgarage.ru');
|
||||
$mail->MsgHTML($message);
|
||||
$mail->Send();
|
||||
}
|
||||
|
||||
public function email_order_user($order_id)
|
||||
{
|
||||
if(!($order = $this->orders->get_order(intval($order_id))) || empty($order->email))
|
||||
return false;
|
||||
|
||||
$purchases = $this->orders->get_purchases(array('order_id'=>$order->id));
|
||||
$this->design->assign('purchases', $purchases);
|
||||
|
||||
$products_ids = array();
|
||||
$variants_ids = array();
|
||||
foreach($purchases as $purchase)
|
||||
{
|
||||
$products_ids[] = $purchase->product_id;
|
||||
$variants_ids[] = $purchase->variant_id;
|
||||
}
|
||||
|
||||
$products = array();
|
||||
foreach($this->products->get_products(array('id'=>$products_ids)) as $p)
|
||||
$products[$p->id] = $p;
|
||||
|
||||
$images = $this->products->get_images(array('product_id'=>$products_ids));
|
||||
foreach($images as $image)
|
||||
$products[$image->product_id]->images[] = $image;
|
||||
|
||||
$variants = array();
|
||||
foreach($this->variants->get_variants(array('id'=>$variants_ids)) as $v)
|
||||
{
|
||||
$variants[$v->id] = $v;
|
||||
$products[$v->product_id]->variants[] = $v;
|
||||
}
|
||||
|
||||
foreach($purchases as &$purchase)
|
||||
{
|
||||
if(!empty($products[$purchase->product_id]))
|
||||
$purchase->product = $products[$purchase->product_id];
|
||||
if(!empty($variants[$purchase->variant_id]))
|
||||
$purchase->variant = $variants[$purchase->variant_id];
|
||||
}
|
||||
|
||||
// Способ доставки
|
||||
$delivery = $this->delivery->get_delivery($order->delivery_id);
|
||||
$this->design->assign('delivery', $delivery);
|
||||
|
||||
$this->design->assign('order', $order);
|
||||
$this->design->assign('purchases', $purchases);
|
||||
|
||||
// Отправляем письмо
|
||||
// Если в шаблон не передавалась валюта, передадим
|
||||
if ($this->design->smarty->getTemplateVars('currency') === null)
|
||||
{
|
||||
$this->design->assign('currency', reset($this->money->get_currencies(array('enabled'=>1))));
|
||||
}
|
||||
$email_template = $this->design->fetch($this->config->root_dir.'design/'.$this->settings->theme.'/html/email_order.tpl');
|
||||
$subject = $this->design->get_var('subject');
|
||||
//
|
||||
$this->email($order->email, $subject, $email_template, $this->settings->notify_from_email);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function email_order_admin($order_id)
|
||||
{
|
||||
if(!($order = $this->orders->get_order(intval($order_id))))
|
||||
return false;
|
||||
|
||||
$purchases = $this->orders->get_purchases(array('order_id'=>$order->id));
|
||||
$this->design->assign('purchases', $purchases);
|
||||
|
||||
$products_ids = array();
|
||||
$variants_ids = array();
|
||||
foreach($purchases as $purchase)
|
||||
{
|
||||
$products_ids[] = $purchase->product_id;
|
||||
$variants_ids[] = $purchase->variant_id;
|
||||
}
|
||||
|
||||
$products = array();
|
||||
foreach($this->products->get_products(array('id'=>$products_ids)) as $p)
|
||||
$products[$p->id] = $p;
|
||||
|
||||
$images = $this->products->get_images(array('product_id'=>$products_ids));
|
||||
foreach($images as $image)
|
||||
$products[$image->product_id]->images[] = $image;
|
||||
|
||||
$variants = array();
|
||||
foreach($this->variants->get_variants(array('id'=>$variants_ids)) as $v)
|
||||
{
|
||||
$variants[$v->id] = $v;
|
||||
$products[$v->product_id]->variants[] = $v;
|
||||
}
|
||||
|
||||
foreach($purchases as &$purchase)
|
||||
{
|
||||
if(!empty($products[$purchase->product_id]))
|
||||
$purchase->product = $products[$purchase->product_id];
|
||||
if(!empty($variants[$purchase->variant_id]))
|
||||
$purchase->variant = $variants[$purchase->variant_id];
|
||||
}
|
||||
|
||||
// Способ доставки
|
||||
$delivery = $this->delivery->get_delivery($order->delivery_id);
|
||||
$this->design->assign('delivery', $delivery);
|
||||
|
||||
// Пользователь
|
||||
$user = $this->users->get_user(intval($order->user_id));
|
||||
$this->design->assign('user', $user);
|
||||
|
||||
$this->design->assign('order', $order);
|
||||
$this->design->assign('purchases', $purchases);
|
||||
|
||||
// В основной валюте
|
||||
$this->design->assign('main_currency', $this->money->get_currency());
|
||||
|
||||
//
|
||||
|
||||
// Отправляем письмо
|
||||
$email_template = $this->design->fetch($this->config->root_dir.'simpla/design/html/email_order_admin.tpl');
|
||||
$subject = $this->design->get_var('subject');
|
||||
//$subject = 'Новый заказ';
|
||||
|
||||
//echo $email_template;die;
|
||||
|
||||
$this->email( $this->settings->order_email, $subject, $email_template );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function email_comment_admin($comment_id)
|
||||
{
|
||||
if(!($comment = $this->comments->get_comment(intval($comment_id))))
|
||||
return false;
|
||||
|
||||
$this->design->assign('comment', $comment);
|
||||
|
||||
// Отправляем письмо
|
||||
$email_template = $this->design->fetch($this->config->root_dir.'simpla/design/html/email_comment_admin.tpl');
|
||||
$subject = $this->design->get_var('subject');
|
||||
$this->email($this->settings->comment_email, $subject, $email_template, $this->settings->notify_from_email);
|
||||
}
|
||||
|
||||
public function email_password_remind($user_id, $code)
|
||||
{
|
||||
if(!($user = $this->users->get_user(intval($user_id))))
|
||||
return false;
|
||||
|
||||
$this->design->assign('user', $user);
|
||||
$this->design->assign('code', $code);
|
||||
|
||||
// Отправляем письмо
|
||||
$email_template = $this->design->fetch($this->config->root_dir.'design/'.$this->settings->theme.'/html/email_password_remind.tpl');
|
||||
$subject = $this->design->get_var('subject');
|
||||
$this->email($user->email, $subject, $email_template, $this->settings->notify_from_email);
|
||||
|
||||
$this->design->smarty->clearAssign('user');
|
||||
$this->design->smarty->clearAssign('code');
|
||||
}
|
||||
|
||||
public function email_feedback_admin($feedback_id)
|
||||
{
|
||||
if(!($feedback = $this->feedbacks->get_feedback(intval($feedback_id))))
|
||||
return false;
|
||||
|
||||
$this->design->assign('feedback', $feedback);
|
||||
|
||||
// Отправляем письмо
|
||||
$email_template = $this->design->fetch($this->config->root_dir.'simpla/design/html/email_feedback_admin.tpl');
|
||||
$subject = $this->design->get_var('subject');
|
||||
$this->email($this->settings->comment_email, $subject, $email_template, "$feedback->name <$feedback->email>", "$feedback->name <$feedback->email>");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user