public function search() { $category = Input::get('category'); $text = Input::get('text'); $products = Product::whereRaw("MATCH(name, content) AGAINST(? IN BOOLEAN MODE)", array($text))->get(); return View::make('shop.products', ['products' => $products, 'text' => $text]); }
public function sendProductActionMail($p_id, $action, $input_arr) { $product_details = Product::whereRaw('id = ?', array($p_id))->first(); $user_details = CUtil::getUserDetails($product_details->product_user_id); $product_code = $product_details->product_code; $url_slug = $product_details->url_slug; $view_url = $this->getProductViewURL($product_details->id, $product_details); $user_type = CUtil::isSuperAdmin() ? 'Admin' : 'Staff'; $logged_user_id = isLoggedin() ? getAuthUser()->user_id : 0; $staff_details = CUtil::getUserDetails($logged_user_id); $data = array('product_code' => $product_details['product_code'], 'product_name' => $product_details['product_name'], 'display_name' => $user_details['display_name'], 'user_email' => $user_details['email'], 'action' => $action, 'view_url' => $view_url, 'admin_notes' => isset($input_arr['comment']) ? $input_arr['comment'] : '', 'user_type' => $user_type); $data['product_details'] = $product_details; $data['user_details'] = $user_details; $data['staff_details'] = $staff_details; //Mail to User Mail::send('emails.mp_product.productStatusUpdate', $data, function ($m) use($data) { $m->to($data['user_email']); $subject = str_replace('VAR_PRODUCT_CODE', $data['product_code'], trans('email.productStatusUpdate')); $m->subject($subject); }); //Send mail to admin $mailer = new AgMailer(); $data['subject'] = str_replace('VAR_PRODUCT_CODE', $data['product_code'], trans('email.productStatusUpdateAdmin')); $mailer->sendAlertMail('mp_product_status_update', 'emails.mp_product.productStatusUpdateAdmin', $data); }
public function postProductAction() { $productService = new ProductService(); $error_msg = \Lang::get('webshoppack::myProducts.product_invalid_action'); $sucess_msg = ''; if (\Input::has('product_action') && \Input::has('p_id')) { $p_id = \Input::get('p_id'); $product_action = \Input::get('product_action'); //Validate product id $user = \Config::get('webshoppack::logged_user_id'); $logged_user_id = $user(); $p_details = Product::whereRaw('id = ? AND product_status != ? AND product_user_id = ?', array($p_id, 'Deleted', $logged_user_id))->first(); if (count($p_details) > 0) { switch ($product_action) { # Delete product case 'delete': $error_msg = ''; # Product status is changed as Deleted $status = $productService->deleteProduct($p_id, $p_details); # Display delete success msg if ($status) { $sucess_msg = \Lang::get('webshoppack::myProducts.product_success_deleted'); } else { $error_msg = \Lang::get('webshoppack::myProducts.product_error_on_action'); } break; # Set featured # Set featured case 'feature': # Product featured status is changed if ($p_details['product_status'] == 'Ok' && $p_details['is_user_featured_product'] == 'No') { $error_msg = ''; $status = $productService->changeFeaturedStatus($p_id, $p_details, 'Yes'); # Display success msg if ($status) { $sucess_msg = \Lang::get('webshoppack::myProducts.product_featured_success_msg'); } else { $error_msg = \Lang::get('webshoppack::myProducts.product_error_on_action'); } } break; # Remove featured # Remove featured case 'unfeature': # Product featured status is changed if ($p_details['product_status'] == 'Ok' && $p_details['is_user_featured_product'] == 'Yes') { $error_msg = ''; $status = $productService->changeFeaturedStatus($p_id, $p_details, 'No'); # Display success msg if ($status) { $sucess_msg = \Lang::get('webshoppack::myProducts.product_unfeatured_success_msg'); } else { $error_msg = \Lang::get('webshoppack::myProducts.product_error_on_action'); } } break; } } } if ($sucess_msg != '') { return \Redirect::to(\Config::get('webshoppack::myProducts'))->with('success_message', $sucess_msg); } return \Redirect::to(\Config::get('webshoppack::myProducts'))->with('error_message', $error_msg); }
public function getIndex() { $d_arr = $category_main_arr = $category_sub_arr = array(); $user = \Config::get('webshoppack::logged_user_id'); $logged_user_id = $user(); $title = trans('webshoppack::product.add_product_title'); $error_msg = ''; $category_id = \Input::get('my_category_id') == '' ? \Input::old('my_category_id', 1) : \Input::get('my_category_id', 1); //To add/edit product details $p_id = \Input::get('id') == '' ? \Input::old('id') : \Input::get('id'); $tab = \Input::get('p') == '' ? \Input::old('p', 'basic') : \Input::get('p', 'basic'); $p_url = \URL::action('Agriya\\Webshoppack\\AdminProductAddController@postAdd'); $action = 'add'; $p_details = new Product(); if ($p_id != '') { //To validate product id if (is_numeric($p_id)) { $p_details = Product::whereRaw('id = ? AND product_user_id = ?', array($p_id, $logged_user_id))->first(); if (count($p_details) > 0) { $p_details = $p_details->toArray(); $p_url = \URL::action('Agriya\\Webshoppack\\AdminProductAddController@postEdit'); $category_id = $p_details['product_category_id']; $action = 'edit'; $d_arr['product_user_details'] = CUtil::getUserDetails($p_details['product_user_id']); } else { $p_id = ''; $error_msg = trans('webshoppack::product.invalid_product_id'); } } else { $p_id = ''; $error_msg = trans('webshoppack::product.invalid_product_id'); } } //Render user alert mesage if ($error_msg != '') { Session::put('error_message', $error_msg); } //$this->header->setMetaTitle($title); if ($tab == 'basic') { $user_code = \Input::get('user_code') == '' ? \Input::old('user_code') : \Input::get('user_code'); $section_arr = array('' => trans('webshoppack::common.select_option')); if ($action == 'edit') { $section_arr = $this->productService->getProductSectionDropList(); } //To get category list $category_main_arr = $this->productService->getCategoryListArr(); $cat_list = $this->productService->getAllTopLevelCategoryIds($category_id); $top_cat_list_arr = explode(',', $cat_list); $top_cat_count = count($top_cat_list_arr); if ($top_cat_count > 1) { foreach ($top_cat_list_arr as $sel_key => $top_cat_id) { $category_sub_arr[$top_cat_id] = $this->productService->getSubCategoryList($top_cat_id); } } $d_arr['my_selected_categories'] = $cat_list; $d_arr['top_cat_list_arr'] = $top_cat_list_arr; $d_arr['my_category_id'] = $category_id; $d_arr['top_cat_count'] = $top_cat_count; $d_arr['root_category_id'] = $this->productService->root_category_id; $d_arr['user_code'] = $user_code; } elseif ($tab == 'attribute') { $d_arr['attr_arr'] = $this->productService->getAttributesList($category_id, $p_id); } elseif ($tab == 'preview_files') { $d_arr['p_img_arr'] = $this->productService->populateProductDefaultThumbImages($p_id); $d_arr['thumb_no_image'] = CUtil::DISP_IMAGE(145, 145, \Config::get("webshoppack::product.photos_thumb_width"), \Config::get("webshoppack::product.photos_thumb_height"), true); $d_arr['default_no_image'] = CUtil::DISP_IMAGE(578, 385, \Config::get("webshoppack::product.photos_large_width"), \Config::get("webshoppack::product.photos_large_height"), true); $d_arr['resources_arr'] = $this->productAddService->populateProductResources($p_id, 'Image'); } elseif ($tab == 'download_files') { $d_arr['resources_arr'] = $this->productAddService->populateProductResources($p_id, 'Archive', 'Yes'); } elseif ($tab == 'status') { $d_arr['product_notes'] = $this->productService->getProductNotes($p_id); $d_arr['status_arr'] = $this->productAddService->getProductStatusDropList(); $d_arr['product_view_url'] = $this->productService->getProductViewURL($p_id, $p_details); } $d_arr['p'] = $tab; $d_arr['tab_list'] = $this->productAddService->getTabList($p_id, $p_details, $action); if (!isset($d_arr['tab_list'][$tab]) || isset($d_arr['tab_list'][$tab]) && !$d_arr['tab_list'][$tab]) { return \Redirect::to(\Config::get('webshoppack::admin_uri') . '/add')->with('error_message', trans('webshoppack::common.invalid_access')); } $service_obj = $this->productService; return \View::make(\Config::get('webshoppack::admin_product_add'), compact('d_arr', 'section_arr', 'p_details', 'p_id', 'p_url', 'category_main_arr', 'category_sub_arr', 'service_obj', 'action', 'category_id')); }
public function checkProductForPublish($p_id) { $rtn_arr = array('allow_to_publish' => false, 'tab_arr' => array()); $p_details = Product::whereRaw('id = ?', array($p_id))->first()->toArray(); if (count($p_details) > 0) { $tab_arr = $this->validateTabList($p_id, $p_details); //Check manually for download tab.. $available_tab_arr = array_filter($tab_arr, function ($val) { return $val ? true : false; }); $allow_to_publish = count($tab_arr) == count($available_tab_arr) ? true : false; $rtn_arr = array('allow_to_publish' => $allow_to_publish, 'tab_arr' => $tab_arr); } return $rtn_arr; }
public function getDemo($url_slug) { $product_code = $this->ViewProductService->getProductCode($url_slug); $page_title = ''; $d_arr = array(); $p_arr = Product::whereRaw('product_code = ? AND product_status != ?', array($product_code, 'Deleted'))->first(); if (count($p_arr) > 0) { $page_title = str_replace('VAR_SCRIPT_NAME', $p_arr['title'], trans('webshoppack::viewProductURL.demo_page_title')); $category_info_arr = $this->ViewProductService->getProductViewBreadcrumbArr($p_arr['product_category_id']); $d_arr['category_info'] = $category_info_arr; $d_arr['demo_details'] = $p_arr['demo_details']; $d_arr['page_type'] = 'demo'; $d_arr['iframe_url'] = $p_arr['demo_url']; return View::make('mp_product/viewProductURL', compact('p_arr', 'd_arr', 'page_title')); } else { return Redirect::to('products'); } }
public function getTotalProduct($shop_user_id) { return Product::whereRaw('product_user_id = ? AND product_status = ?', array($shop_user_id, 'Ok'))->count(); }
public function postChangeStatus() { $this->service = new AdminProductListService(); $p_id = \Input::get('p_id'); $p_details = Product::whereRaw('id = ? AND product_status != ?', array($p_id, 'Deleted'))->first(); $error_msg = trans('webshoppack::admin/productList.product_invalid_action'); $sucess_msg = ''; if (count($p_details) > 0) { if (\Input::has('change_status')) { $product_status = \Input::get('product_status'); $input_arr = \Input::all(); switch ($product_status) { # Activate product case 'activate': # Product status is changed as Ok if ($p_details['product_status'] == 'ToActivate') { $error_msg = ''; $status = $this->service->activateProduct($p_id, $p_details, $input_arr); # Display activate success msg if ($status) { $sucess_msg = trans('webshoppack::admin/productList.product_success_activated'); } else { $error_msg = trans('webshoppack::admin/productList.product_error_on_action'); } } break; # Activate product # Activate product case 'disapprove': # Product status is changed as Ok if ($p_details['product_status'] == 'ToActivate') { $error_msg = ''; $status = $this->service->disapproveProduct($p_id, $p_details, $input_arr); # Display activate success msg if ($status) { $sucess_msg = trans('webshoppack::admin/productList.product_success_disapproved'); } else { $error_msg = trans('webshoppack::admin/productList.product_error_on_action'); } } break; } } } if ($sucess_msg != '') { return \Redirect::to(\Config::get('webshoppack::admin_uri') . '/list/change-status')->with('success_message', $sucess_msg); } return \Redirect::to(\Config::get('webshoppack::admin_uri') . '/list/change-status')->with('error_message', $error_msg); }