/** * Remove the specified resource from storage. * @return \Illuminate\Http\Response */ public function postDestroy() { $response = []; if (!empty($_POST) && !empty($_POST['method'])) { //Remove product if ($_POST['method'] == 'product' && !empty($_POST['record_id']) && is_numeric($_POST['record_id'])) { $response['status'] = 'error'; $response['message'] = trans('orders.product_not_removed'); if (Model_Orders::removeOrderProducts(Input::get('record_id')) === TRUE) { $response['status'] = 'success'; $response['message'] = trans('orders.product_removed'); } } //Remove order if ($_POST['method'] == 'order' && !empty($_POST['order_id'])) { if (Model_Orders::removeOrder($_POST['order_id']) === TRUE) { $response['status'] = 'success'; $response['message'] = trans('orders.removed'); } } } return response()->json($response); }
private function sendMail($id) { $response = ['sys_title' => $this->system['title'], 'sys_email' => $this->system['email']]; //Try to catch order id if (empty($id)) { $id = session()->get('order_id', FALSE); if (!empty($id)) { $response['new'] = TRUE; session()->forget('order_id'); } } //If no order if (empty($id)) { return redirect('/'); } $order_data = Model_Orders::getOrders($id, FALSE); if (!empty($order_data = $order_data[0]) && is_array($order_data)) { $response['cart'] = !empty($order_data['cart']) ? json_decode($order_data['cart'], TRUE) : []; $response['total'] = !empty($order_data['total']) ? $order_data['total'] : 0; if (isset($order_data['total'])) { unset($order_data['total']); } if (isset($order_data['cart'])) { unset($order_data['cart']); } if (isset($response['cart']['total'])) { unset($response['cart']['total']); } $response['order'] = $order_data; } foreach ($this->states as $state) { $response['states'][$state] = trans('orders.' . $state); } //Calculate delivery and total if (!empty($order_data['delivery_type']) && $response['total'] < $this->system['delivery_free_delivery']) { if ($order_data['delivery_type'] == 'to_address') { $response['delivery_cost'] = $this->system['delivery_to_address']; } elseif ($order_data['delivery_type'] == 'to_office') { $response['delivery_cost'] = $this->system['delivery_to_office']; } $response['order_total'] = $response['total'] + $response['delivery_cost']; } else { $response['delivery_cost'] = 0; $response['order_total'] = $response['total']; } $response['order_id'] = $order_data['id']; $response['date_created'] = date('H:i - m.d.Y', strtotime($order_data['created_at'])); $response['delivery_type'] = $order_data['delivery_type']; $products_to_cart = []; //Get product id's if (!empty($response['cart']) && is_array($response['cart'])) { foreach ($response['cart'] as $key => $item) { $products_to_cart[] = $item['product_id']; } } // Get products data $response['products'] = Model_Main::getProducts($products_to_cart, ['title', 'images']); // Send products to response $response['products'] = self::prepareProductsForResponse($response['products']); $response['thumbs_path'] = Config::get('system_settings.product_public_path'); $response['icon_size'] = Config::get('images.sm_icon_size'); Mail::send('dressplace::emails.order', $response, function ($m) use($response) { $m->from($response['sys_email'], $response['sys_title']); $m->replyTo($response['sys_email'], $response['sys_title']); $m->to($response['order']['email'], $response['order']['name'] . ' ' . $response['order']['last_name'])->subject(trans('client.order_completed_mail')); }); }
public function index() { $customCSS = []; $customJS = ['global/plugins/flot/jquery.flot', 'global/plugins/flot/jquery.flot.resize', 'global/plugins/flot/jquery.flot.categories', 'admin/pages/scripts/ecommerce-index']; $response = ['blade_custom_css' => $customCSS, 'blade_custom_js' => $customJS]; $response['total_sales'] = intval(Model_Orders::getTotalSales()); $response['count_sales'] = intval(Model_Orders::getCountSales()); $response['avg_sales'] = intval(Model_Orders::getAvgSales()); if (!empty($last_orders = Model_Orders::getOrders(FALSE, TRUE, FALSE, 0, 20))) { foreach ($last_orders as $key => $order) { $response['last_orders'][$key]['id'] = $order['id']; $response['last_orders'][$key]['first_name'] = $order['name']; $response['last_orders'][$key]['last_name'] = $order['last_name']; $response['last_orders'][$key]['created_at'] = date('d.m.Y H:i', strtotime($order['created_at'])); $response['last_orders'][$key]['status'] = trans('dashboard.' . $order['status']); switch ($order['status']) { case 'pending': $response['last_orders'][$key]['status_color'] = 'bg-yellow-lemon'; break; case 'confirmed': $response['last_orders'][$key]['status_color'] = 'bg-blue-madison'; break; case 'completed': $response['last_orders'][$key]['status_color'] = 'bg-green-jungle'; break; case 'canceled': $response['last_orders'][$key]['status_color'] = 'bg-red-flamingo'; break; } } } if (!empty($last_users = Model_Users::getUsers(FALSE, FALSE, 0, 20))) { if (!empty($users_data = Model_Users::getUsersData(['first_name', 'last_name'], 0, 20))) { //Merge users and users data foreach ($last_users as $key => $user) { $user_id = $user['id']; foreach ($user as $user_info_key => $user_info) { //Do not pass sensitive data to view if ($user_info_key != 'password' && $user_info_key != 'remember_token' && $user_info_key != 'updated_at' && $user_info_key != 'last_login') { $response['last_users'][$user_id][$user_info_key] = $user_info; } } } foreach ($users_data as $key => $data) { $response['last_users'][$data['user_id']][$data['object']] = $data['value']; } } } if (!empty($response['last_orders'])) { $response['last_orders_count'] = count($response['last_orders']); } if (!empty($response['last_users'])) { $response['last_users_count'] = count($response['last_users']); } $date_seven_days_ago = date('Y-m-d 00:00:00', strtotime('-6 days')); $last_seven_days_orders = Model_Orders::getOrders(FALSE, TRUE, FALSE, 0, 0, $date_seven_days_ago, date('Y-m-d H:i:s', time())); $count = 1; $response['graph'][date('d.m', time())] = 0.0; $response['graph2'][date('d.m', time())] = 0; while ($count < 7) { $date = date('d.m', strtotime('-' . $count . ' days')); $response['graph'][$date] = 0.0; $response['graph2'][$date] = 0; $count++; } if (!empty($last_seven_days_orders) && is_array($last_seven_days_orders)) { foreach ($last_seven_days_orders as $key => $order) { $date = date('d.m', strtotime($order['created_at'])); $amount = Model_Orders::getTotalSales($order['id']); $response['graph'][$date] = $response['graph'][$date] + $amount; $response['graph2'][$date] = $response['graph2'][$date] + 1; } } //Sort by date ksort($response['graph']); ksort($response['graph2']); // dd($response['graph']); return Theme::view('dashboard.index', $response); }