Exemple #1
0
 public static function order($name, $email = '', $phone = '', $address = '', $comment = '', $adminNotifyTplID = 'admin_purchase_notify', $customerNotifyTplID = 'user_purchase_notify')
 {
     global $db;
     $user = \cf\User::getLoggedIn();
     $productList = '';
     $products = \cf\api\cart\getList();
     if (!array_key_exists('contents', $products) || !count($products['contents'])) {
         return false;
     }
     $tpl = new MailTemplate('order');
     execQuery("\n\t\t\tINSERT INTO cf_orders (created,customer_name, customer_email, customer_phone, customer_address, customer_comments, comments)\n\t\t\tVALUES(NOW(),:name, :email, :phone, :address, :comments, :contents)", array('name' => $name, 'email' => $email, 'phone' => $phone, 'address' => $address, 'comments' => $comment, 'contents' => $tpl->parseBody(array('cart' => $products))));
     $orderId = $db->lastInsertId();
     $msgParams = array('name' => $name, 'email' => $email, 'phone' => $phone, 'address' => $address, 'comment' => $comment, 'order' => $orderId, 'total' => $products['total'], 'products' => $products['contents']);
     \cf\api\cart\clear();
     $mail = new \PHPMailer();
     $mail->CharSet = 'UTF-8';
     if ($adminNotifyTplID) {
         $tpl = new MailTemplate($adminNotifyTplID);
         $mail->Subject = $tpl->parseSubject($msgParams);
         $mail->MsgHTML($tpl->parseBody($msgParams));
         foreach ($tpl->recipients() as $address) {
             $mail->addAddress($address);
         }
         $mail->Send();
     }
     $mail->clearAddresses();
     if ($customerNotifyTplID && $email) {
         $tpl = new MailTemplate($customerNotifyTplID);
         $mail->Subject = $tpl->parseSubject($msgParams);
         $mail->MsgHTML($tpl->parseBody($msgParams));
         $mail->addAddress($email);
         $mail->Send();
     }
     return $orderId;
 }
Exemple #2
0
 public static function order($name, $email = '', $phone = '', $address = '', $comment = '', $notifyGroup = 'admin', $notifyCustomer = true)
 {
     global $db;
     $user = \cf\User::getLoggedIn();
     $productList = '';
     $products = \cf\api\cart\getList();
     if (count($products) < 2) {
         return false;
     }
     for ($i = 1; $i < count($products); ++$i) {
         $productList .= "{$products[$i]['id']} {$products[$i]['name']} [{$products[$i]['price']}] - {$products[$i]['amount']} <br>";
     }
     $productList .= "<br><strong>Итого</strong>: {$products[0]['total_price']}";
     execQuery("\n\t\t\tINSERT INTO cf_orders (created,customer_name, customer_email, customer_phone, customer_address, customer_comments, comments)\n\t\t\tVALUES(NOW(),:name, :email, :phone, :address, :comments, :products)", array('name' => $name, 'email' => $email, 'phone' => $phone, 'address' => $address, 'comments' => $comment, 'products' => $productList));
     $orderId = $db->lastInsertId();
     \cf\api\cart\clear();
     $msgParams = array('name' => $name, 'email' => $email, 'phone' => $phone, 'address' => $address, 'comment' => $comment, 'order' => $orderId, 'total' => array_shift($products), 'products' => $products);
     if ($notifyGroup) {
         $emails = query2vector("SELECT email FROM cf_users INNER JOIN cf_user_roles ON cf_users.id=cf_user_roles.user_id WHERE cf_user_roles.role_id=:id", array('id' => $notifyGroup));
         if (!empty($emails)) {
             $tpl = new MailTemplate('admin_purchase_notify');
             $mail = new \PHPMailer();
             $mail->CharSet = 'UTF-8';
             $mail->Subject = $tpl->parseSubject($msgParams);
             $mail->MsgHTML($tpl->parseBody($msgParams));
             foreach ($emails as $a) {
                 $mail->AddAddress($a);
             }
             $mail->Send();
         }
     }
     if ($notifyCustomer && $email) {
         $tpl = new MailTemplate('user_purchase_notify');
         $mail = new \PHPMailer();
         $mail->CharSet = 'UTF-8';
         $mail->Subject = $tpl->parseSubject($msgParams);
         $mail->MsgHTML($tpl->parseBody($msgParams));
         $mail->AddAddress($email);
         @$mail->Send();
     }
     return $orderId;
 }
Exemple #3
0
<?php

require_once cf\Config::path . 'api/form.php';
require_once cf\Config::path . 'cart.php';
$orderform = cf\api\form\get('order');
$clientInfo = cf\api\form\results($orderform);
if ($clientInfo) {
    $products = \cf\api\cart\getList();
    $sum = $products['total'];
    $orderId = cf\Cart::order($clientInfo['name'], $clientInfo['email'], $clientInfo['phone'], $clientInfo['address'], $clientInfo['comments']);
    echo json_encode(array('id' => $orderId, 'text' => cf\query2Var("SELECT comments FROM cf_orders WHERE id=:id", array('id' => $orderId)), 'sum' => $sum['sum']));
    exit;
}
$smarty->assign('orderform', $orderform);
Exemple #4
0
            }
        }
    } catch (Exception $e) {
        $pid = 'error';
    }
    $page = cf\Page::get($pid);
    $pageText = cf\api\page\getText($page['id']);
    $crumbs = array();
    foreach ($page['branch'] as $p) {
        $crumbs[] = array('name' => $p['menu_name'], 'link' => $p['path']);
    }
    if (cf\Page::isDescendantOf($page, 'catalog')) {
        $page['template'] = $productId ? 'product' : 'category';
    }
    if (strlen($page['template']) && file_exists($_SERVER['DOCUMENT_ROOT'] . '/' . $page['template'] . '.php')) {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/' . $page['template'] . '.php';
    }
    $tpl = 'page';
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/templates/' . $page['code'] . '.tpl')) {
        $tpl = $page['code'];
    }
    $smarty->assign('page', $page);
    $smarty->assign('pageText', $pageText);
    $smarty->assign('crumbs', $crumbs);
    $smarty->assign('cart', cf\api\cart\getList());
    $smarty->display((strlen($page['template']) ? $page['template'] : $tpl) . '.tpl');
} catch (Exception $e) {
    print_r($e);
    //header("Location: /error");
    exit;
}