Example #1
0
 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);
 }
Example #3
0
 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');
     }
 }
Example #7
0
 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);
 }