/var/www/vhosts/ihelp.ro/httpdocs/src/Controller/Dashboard
NameSizeModeActions
DashboardController.php21390644editdlrm
GalleryImagesController.php36690644editdlrm
OrdersController.php38060644editdlrm
ProductFavoritesController.php65610644editdlrm
ProductsController.php63100644editdlrm
ProfilesController.php34670644editdlrm
UserAddressesController.php50090644editdlrm
UsersController.php24020644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/src/Controller/Dashboard/ProductFavoritesController.php (6561B)
Authentication->addUnauthenticatedActions(['addRemove', 'index']); } /** * Index method */ public function index() { $condition = []; $productFavorites = null; // daca este user logat if (!empty($this->userAuth->id) && $this->userAuth->id) { $condition = ['ProductFavorites.user_id' => $this->userAuth->id, 'Products.is_active' => true]; $productFavorites = $this->paginate( $this->ProductFavorites->find() ->contain(['Products', 'Products.FeaturedImage']) ->where($condition) )->toArray(); } else { // nu este logat $session = $this->request->getSession(); if ($session->check('favorite_identifier')) { $favorite_identifier = $session->read('favorite_identifier'); $condition = ['ProductFavorites.uuid' => $favorite_identifier, 'Products.is_active' => true]; $productFavorites = $this->paginate( $this->ProductFavorites->find() ->contain(['Products', 'Products.FeaturedImage']) ->where($condition) )->toArray(); } } $this->set(compact('productFavorites')); } /** * Add method */ public function addRemove($uuidProd) { $this->autoRender = false; $data = []; if (!empty($uuidProd)) { if ($this->request->is('post')) { $favorite_identifier = $this->identifireIdFavoriteSession(); $idProd = $this->ProductFavorites->Products->find() ->where(['Products.uuid' => $uuidProd, 'Products.is_active' => true]) ->first() ->id; if (!empty($idProd)) { // if product $productFavorite = $this->ProductFavorites->newEmptyEntity(); $data = [ 'product_id' => $idProd, 'uuid' => $favorite_identifier, 'is_active' => true ]; if (!empty($this->userAuth->id) && $this->userAuth->id) { //is login // delete if product is in favorite $productFavoriteEntity = $this->ProductFavorites->find() ->where(['ProductFavorites.user_id' => $this->userAuth->id, 'ProductFavorites.product_id' => $idProd]) ->first(); if (!empty($productFavoriteEntity)) { $productFavorite = $this->ProductFavorites->get($productFavoriteEntity->id); if (!empty($productFavoriteEntity)) { if ($this->ProductFavorites->delete($productFavorite)) { $this->Flash->success(__('Produsul a fost scos de la favorite..')); } else { $this->Flash->error(__('TProdusul nu a fost scos de la favorite..')); } return $this->redirect($this->referer()); } } // save in favorite $data['user_id'] = $this->userAuth->id; $productFavorite = $this->ProductFavorites->patchEntity($productFavorite, $data); if ($this->ProductFavorites->save($productFavorite)) { $this->Flash->success(__('The product favorite has been saved.')); return $this->redirect($this->referer()); } $this->Flash->error(__('Produsul nu a putut fi adaugat la favorite.')); return $this->redirect($this->referer()); } else { //is not login // delete if product is in favorite $productFavoriteEntity = $this->ProductFavorites->find() ->where(['ProductFavorites.user_id IS' => null, 'ProductFavorites.uuid' => $favorite_identifier, 'ProductFavorites.product_id' => $idProd]) ->first(); if (!empty($productFavoriteEntity)) { $productFavorite = $this->ProductFavorites->get($productFavoriteEntity->id); if ($this->ProductFavorites->delete($productFavorite)) { $this->Flash->success(__('Produsul a fost scos de la favorite..')); } else { $this->Flash->error(__('TProdusul nu a fost scos de la favorite..')); } return $this->redirect($this->referer()); } // save in favorite $productFavorite = $this->ProductFavorites->patchEntity($productFavorite, $data); if ($this->ProductFavorites->save($productFavorite)) { $this->Flash->success(__('The product favorite has been saved.')); return $this->redirect($this->referer()); } $this->Flash->error(__('Produsul nu a putut fi adaugat la favorite.')); return $this->redirect($this->referer()); } } else { // the product id not exist $this->Flash->error(__('Produsul nu exista.')); return $this->redirect($this->referer()); } } else { // is not post $this->Flash->error(__('Transmitere incorecta.')); return $this->redirect($this->referer()); } } else { // the uuid not exist $this->Flash->error(__('Cod produs incorect.')); return $this->redirect($this->referer()); } } }