function rcl_payment_order($order_id, $user_id = false) { global $wpdb, $order, $rmag_options; $order = $wpdb->get_results($wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "rmag_orders_history WHERE order_id='%d'", $order_id)); rcl_setup_orderdata($order); if (!$user_id) { $user_id = $order->order_author; } rcl_remove_reserve($order_id); rcl_update_status_order($order_id, 2); //Если работает реферальная система и партнеру начисляются проценты с покупок его реферала if (function_exists('add_referall_incentive_order')) { add_referall_incentive_order($user_id, $order->order_price); } $get_fields = get_option('custom_profile_field'); if ($get_fields) { $cf = new Rcl_Custom_Fields(); foreach ((array) $get_fields as $custom_field) { $slug = $custom_field['slug']; $meta = get_the_author_meta($slug, $user_id); $show_custom_field .= $cf->get_field_value($custom_field, $meta); } } $table_order = rcl_get_include_template('order.php', __FILE__); $args = array('role' => 'administrator'); $users = get_users($args); $subject = 'Заказ №' . $order->order_id . ' оплачен!'; $admin_email = $rmag_options['admin_email_magazin_recall']; $text = ''; $text = apply_filters('payment_mail_text', $text); //print_r($text);exit; $textmail = ' <p>Пользователь оплатил заказ в магазине "' . get_bloginfo('name') . '".</p> <h3>Информация о пользователе:</h3> <p><b>Имя</b>: ' . get_the_author_meta('display_name', $user_id) . '</p> <p><b>Email</b>: ' . get_the_author_meta('user_email', $user_id) . '</p> ' . $show_custom_field . ' <p>Заказ №' . $order_id . ' получил статус "Оплачено".</p> <h3>Детали заказа:</h3> ' . $table_order . ' ' . $text . ' <p>Ссылка для управления заказом в админке:</p> <p>' . admin_url('admin.php?page=manage-rmag&order-id=' . $order_id) . '</p>'; if ($admin_email) { rcl_mail($admin_email, $subject, $textmail); } else { foreach ((array) $users as $userdata) { $email = $userdata->user_email; rcl_mail($email, $subject, $textmail); } } $email = get_the_author_meta('user_email', $user_id); $textmail = ' <p>Вы оплатили заказ в магазине "' . get_bloginfo('name') . '" средствами со своего личного счета.</p> <h3>Информация о покупателе:</h3> <p><b>Имя</b>: ' . get_the_author_meta('display_name', $user_id) . '</p> <p><b>Email</b>: ' . get_the_author_meta('user_email', $user_id) . '</p> ' . $show_custom_field . ' <p>Заказ №' . $order_id . ' получил статус "Оплачено".</p> <h3>Детали заказа:</h3> ' . $table_order . ' ' . $text . ' <p>Ваш заказ оплачен и поступил в обработку. Вы можете следить за сменой его статуса из своего личного кабинета</p>'; rcl_mail($email, $subject, $textmail); do_action('payorder_user_count_rcl', $user_id, $order->order_price, 'Оплата заказа №' . $order_id, 1); }
function rcl_pay_order_private_account() { global $user_ID, $wpdb, $rmag_options, $order; $order_id = intval($_POST['idorder']); if (!$order_id || !$user_ID) { $log['otvet'] = 1; echo json_encode($log); exit; } $order = rcl_get_order($order_id); //rcl_setup_orderdata($order); $oldusercount = rcl_get_user_money(); if (!$oldusercount) { $log['otvet'] = 1; $log['recall'] = $order->order_price; echo json_encode($log); exit; } //print_r($order); $newusercount = $oldusercount - $order->order_price; if ($newusercount < 0) { $log['otvet'] = 1; $log['recall'] = $order->order_price; echo json_encode($log); exit; } rcl_update_user_money($newusercount); $result = rcl_update_status_order($order_id, 2); if (!$result) { $log['otvet'] = 1; $log['recall'] = 'Ошибка запроса!'; echo json_encode($log); exit; } rcl_payment_order($order_id, $user_ID); do_action('payment_rcl', $user_ID, $order->order_price, $order_id, 2); $text = "<p>Ваш заказ успешно оплачен! Соответствующее уведомление было выслано администрации сервиса.</p>"; $text = apply_filters('payment_order_text', $text); $log['recall'] = "<div style='clear: both;color:green;font-weight:bold;padding:10px; border:2px solid green;'>" . $text . "</div>"; $log['count'] = $newusercount; $log['idorder'] = $order_id; $log['otvet'] = 100; echo json_encode($log); exit; }