Example #1
0
 function orderAction()
 {
     $img_id = $_SESSION['imag_id'];
     $imgAccount = ImgAccountUtil::getImgAccountById($img_id, TRUE);
     $v_params['sys_name'] = SysPropertiesUtil::getPropertyValue("sys_name");
     $v_params['sys_slog'] = SysPropertiesUtil::getPropertyValue("sys_slog");
     if (NULL != $imgAccount) {
         $v_params['logined'] = LoginChecker::isLogined();
         if ($v_params['logined'] == $img_id) {
             $v_params['mysc']['main'] = TRUE;
             $v_params['img_name'] = $imgAccount['img_name'];
             $v_params['img_all_gds_cats_href'] = "/" . IMAG_PREFIX . $img_id . "/" . IMAG_DIR;
             $v_params['img_all_blog_cats_href'] = "/" . IMAG_PREFIX . $img_id . "/" . BLOG_DIR;
             $v_params['img_gds_cats_HTML'] = ImgGdsCatUtil::createTreeHTML($imgAccount['id'], "/" . IMAG_PREFIX . $img_id . "/" . IMAG_DIR . "?" . PROD_CAT_PARAM_NAME . "=");
             $v_params['img_blog_cats_HTML'] = ImgBlogCatUtil::createTreeHTML($imgAccount['id'], "/" . IMAG_PREFIX . $img_id . "/" . BLOG_DIR . "?" . ART_CAT_PARAM_NAME . "=");
             if ($_GET['id']) {
                 $order_id = $_GET['id'];
                 $v_params['order'] = OrderUtil::getOrderById($order_id, $imgAccount['id']);
                 $v_params['order_gdss'] = ImgGdsUtil::getImgGdssForOrder($imgAccount['id'], $order_id);
                 if ($_POST['order_ended'] && count($v_params['order_gdss'])) {
                     if (0 == strcmp("not_ended", $_POST['order_ended'])) {
                         OrderAccountSendedUtil::updateOrderAccountRelation($order_id, $imgAccount['id'], 0);
                         $v_params['order']['sended'] = 0;
                     } else {
                         if (0 == strcmp("ended", $_POST['order_ended'])) {
                             OrderAccountSendedUtil::updateOrderAccountRelation($order_id, $imgAccount['id'], 1);
                             $v_params['order']['sended'] = 1;
                         }
                     }
                 }
                 Application::fastView('imag-admin/order/img_admin_order', $v_params);
                 exit;
             }
         }
     }
     Application::fastView('main/sys_error', $v_params);
 }
Example #2
0
 function orderAction()
 {
     $v_params['logined'] = LoginChecker::isLogined();
     $v_params['sys_name'] = SysPropertiesUtil::getPropertyValue("sys_name");
     $v_params['sys_slog'] = SysPropertiesUtil::getPropertyValue("sys_slog");
     // Товары переданные в POST запросе
     foreach ($_POST as $req_key => $req_value) {
         if (0 == strcmp("gds", substr($req_key, 0, 3))) {
             $img_gds_id_post = (int) substr($req_key, 3);
             $img_gds_ids_post[] = $img_gds_id_post;
             $img_gds_id_map_post[$img_gds_id_post] = (int) $req_value;
         }
     }
     // Товары переданные в GET запросе
     foreach ($_GET as $req_key => $req_value) {
         if (0 == strcmp("gds", substr($req_key, 0, 3))) {
             $img_gds_id_get = (int) substr($req_key, 3);
             $img_gds_ids_get[] = $img_gds_id_get;
             $img_gds_id_map_get[$img_gds_id_get] = (int) $req_value;
         }
     }
     if (count($img_gds_id_map_get) && !count($img_gds_id_map_post)) {
         // Если есть только GET, значит переход от формы проверки корзины
         // рисуем просто форму заказа
         $v_params['img_gdss'] = ImgGdsUtil::getBasketImgGds($img_gds_ids_get);
         if (0 != count($v_params['img_gdss'])) {
             foreach ($v_params['img_gdss'] as $img_gds) {
                 $img_gds['count_in_basket'] = $img_gds_id_map_get[$img_gds['ig_id']];
                 $img_gds['price_all'] = $img_gds['count_in_basket'] * $img_gds['ig_price'];
                 $img_gds_temp[] = $img_gds;
                 $v_params['summ'][$img_gds['ic_name']] += $img_gds['price_all'];
             }
         }
         $v_params['img_gdss'] = $img_gds_temp;
         $v_params['img_link_prefix'] = "/" . IMAG_PREFIX;
         Application::fastView('main/sys_order', $v_params);
         exit;
     } else {
         if (!count($img_gds_id_map_get) && count($img_gds_id_map_post)) {
             // если POST - была попытка оформить заказ
             if (!isset($_POST['u_email']) || 0 == strcmp("", trim($_POST['u_email']))) {
                 $v_params['errors'][] = "Вы не ввели email, он нужен для того чтоб менеджер связался с вами.";
             }
             if (!preg_match("/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}\$/", $_POST['u_email'])) {
                 $v_params['errors'][] = "Скорее всего вы ввели email не правильно, попробуйте снова.";
             }
             $resp = recaptcha_check_answer(RECAPCHA_PRIVATE_KEY, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
             if ($resp->is_valid) {
                 foreach ($img_gds_ids_post as $img_gds_id_post) {
                     setcookie("gds" . $img_gds_id_post, '', time() - 1);
                 }
                 if (count($img_gds_id_map_post)) {
                     $order['u_email'] = $_POST['u_email'];
                     $order['u_name'] = $_POST['u_name'];
                     $order['u_phone'] = $_POST['u_phone'];
                     $order['u_comment'] = $_POST['u_comment'];
                     $order_id = OrderUtil::insertOrder($order);
                     foreach ($img_gds_id_map_post as $img_gds_id => $img_gds_count) {
                         $order_gds['order_id'] = $order_id;
                         $order_gds['img_gds_id'] = $img_gds_id;
                         $order_gds['count_gds'] = $img_gds_count;
                         OrderGdsUtil::insertOrderGds($order_gds);
                     }
                     OrderAccountSendedUtil::insertOrderAccountRelation($order_id);
                     $orderAccs = OrderAccountSendedUtil::getOrderAccsToMailMessage($order_id);
                     foreach ($orderAccs as $orderAcc) {
                         // Рассылка писем для владельцев стендов
                         $mail_values['__root_url__'] = "http://" . $_SERVER["HTTP_HOST"];
                         $mail_values['__o_email__'] = $orderAcc['oemail'];
                         $mail_values['__o_url__'] = "http://" . $_SERVER["HTTP_HOST"] . "/imag" . $orderAcc['accid'] . "/admin/order?id=" . $orderAcc['oid'];
                         $mail_values['__o_num__'] = $orderAcc['oid'];
                         MailWork::sendMailByTemplate($orderAcc['accemail'], "Новый заказ - №" . $orderAcc['oid'], "new_order.html", $mail_values);
                     }
                     $v_params['order_sended'] = TRUE;
                 }
             } else {
                 $v_params['errors'][] = "Картинка подтверждения была введена не правильно. Попробуйте еще раз.";
             }
             $v_params['img_gdss'] = ImgGdsUtil::getBasketImgGds($img_gds_ids_post);
             if (0 != count($v_params['img_gdss'])) {
                 foreach ($v_params['img_gdss'] as $img_gds) {
                     $img_gds['count_in_basket'] = $img_gds_id_map_post[$img_gds['ig_id']];
                     $img_gds['price_all'] = $img_gds['count_in_basket'] * $img_gds['ig_price'];
                     $img_gds_temp[] = $img_gds;
                     $v_params['summ'][$img_gds['ic_name']] += $img_gds['price_all'];
                 }
             }
             $v_params['img_gdss'] = $img_gds_temp;
             $v_params['img_link_prefix'] = "/" . IMAG_PREFIX;
             if ($v_params['order_sended']) {
                 $v_params['message'] = "Заказ отправлен";
                 $v_params['message_descr'] = "Вскоре менеджеры торговых стендов с вами свяжутся по указанному email";
                 Application::fastView('main/sys_message', $v_params);
             } else {
                 Application::fastView('main/sys_order', $v_params);
                 exit;
             }
         } else {
             $v_params['message'] = "Ошибка обработки заказа";
             $v_params['message_descr'] = "Переданные данные не верны, попробуйте снова";
             Application::fastView('main/sys_message', $v_params);
         }
     }
 }