public function nr($id = null) { $is_loged = LoginVal::isLogged(); $http = new Http(); $this->product_m = new \models\Product($id[0]); $name = $this->product_m->getName(); if (empty($name)) { Location::To(URL . 'error'); } $available = $this->product_m->getQuantity(); $promotions = new Promotions($id[0]); $pro = $promotions->getPromotion(); if (!empty($pro)) { $old_price = $this->product_m->getOldPrice($pro->getPercent()); $discount = $pro->getPercent() * 100; } $additionals = $this->product_m->getAdditionals(); $a_images = $this->product_m->getAdditionalImages(); $comments_m = new Comments($id[0]); $pagination = new Pagination(2, $comments_m->getNumberOfComments()); $avg_rating = $comments_m->getAverageRating(); $comments = $comments_m->getComments(2, $pagination->page($id[1])); $next = $pagination->next(); $prev = $pagination->prev(); $num_pages = $pagination->getPages(); $selected = $pagination->getSelected(); $comment = $http->post('comment'); if (!empty($comment) && $is_loged && $http->isActive('send') && !empty($this->product_m)) { $comment = new Comment(); $comment->setComment($http->post('comment')); $comment->setDate(); $comment->setProductId($this->product_m->getId()); $comment->setUserId(Register::get('id')); $comment->setRate($http->post('star')); $comment->writeData(); Location::To(URL . 'product/nr/' . $id[0]); } $comment_tab = array(); if (!empty($comments)) { foreach ($comments as $key => $comment) { if (!empty($comment)) { $comment_tab[$key]['comment'] = $comment->getComment(); $comment_tab[$key]['date'] = $comment->getDate(); $comment_tab[$key]['rate'] = $comment->getRate(); $user = new \models\Users($comment->getUserId()); $login = $user->getLogin(); $comment_tab[$key]['login'] = empty($login) ? 'anonimowy' : $login; } } } $this->render('product', array('categories' => $this->categories, 'd_product' => $this->d_product, 'category' => $this->product_m->getCategory(), 'name' => $this->product_m->getName(), 'description' => $this->product_m->getDescription(), 'image' => $this->product_m->getImage(), 'quantity' => $this->product_m->getQuantity(), 'price' => $this->product_m->getPrice(), 'additionals' => $additionals, 'images' => $a_images, 'comments' => $comment_tab, 'product_nr' => $id[0], 'next' => $next, 'prev' => $prev, 'num_pages' => $num_pages, 'selected' => $selected, 'is_loged' => $is_loged, 'avg_rating' => $avg_rating, 'discount' => $discount, 'old_price' => $old_price, 'available' => $available)); }
private function change($http) { $id = $http->post('id'); //echo print_r($http); //return; if (!empty($id)) { $product_m = new Product($http->post('id')); $product_m->setCategory($http->post("category")); $product_m->setSubCategory($http->post("sub_category")); $product_m->setName($http->post("name")); $product_m->setDescription($http->post("product_description")); $price = $http->post("price"); $tab = explode(",", $price); if (count($tab) == 2) { $price = $tab[0] . "." . $tab[1]; } $product_m->setPrice($price); $product_m->setQuantity($http->post("quantity")); $id_img_to_delete = $http->post("main_img_to_delete"); $main_img_delated = false; if ($product_m->getId() == $id_img_to_delete) { $images_location = 'views/public/'; if (file_exists($images_location . $product_m->getImage())) { unlink($images_location . $product_m->getImage()); $product_m->setImage(''); $main_img_delated = true; } } $additional_img_m = new ProductAdditionalImages(); $lenght = $http->post('length'); if ($lenght) { for ($start = 0; $start < $lenght; $start++) { $id = $http->post('img_to_del_nr_' . $start); $images_location = 'views/public/'; if (file_exists($images_location . $additional_img_m->getAdditionalImage($id))) { unlink($images_location . $additional_img_m->getAdditionalImage($id)); } $additional_img_m->deleteAdditionalImages($id); } } $files = $_FILES['files']['name'][0]; $images_location = 'views/public/img/produkty/'; $product_additional_img = new ProductAdditionalImages(); $test = $_FILES['files']['name']; if (!empty($test)) { foreach ($_FILES['files']['name'] as $key => $value) { $time = time(); $random = rand(1000, 10000); $new_name = $time . $random . $_FILES['files']['name'][$key]; $tmp = $_FILES['files']['tmp_name'][$key]; $to_save = $images_location . $new_name; move_uploaded_file($tmp, $to_save); if ($key == 0 && ($main_img_delated || $product_m->getImage() == '')) { $product_m->setImage('img/produkty/' . $new_name); } else { $product_additional_img->setAdditionalImages($product_m->getId(), 'img/produkty/' . $new_name); } } } $product_m->writeData(true); $to_delete = $http->post('to_delete'); if ($to_delete) { $product_additional_fields_m = new ProductAdditional(); for ($start = 0; $start < $to_delete; $start++) { $value = $http->post('field_id_to_delete_' . $start); $product_additional_fields_m->deleteAdditionalFields($value); } } $num = $http->post('num_of_variables'); if ($num) { $product_additional_info = new ProductAdditional(); for ($i = 0; $i < $num; $i++) { $var = $http->post('product_variable_nr_' . $i); $val = $http->post('product_value_nr_' . $i); $product_additional_info->setAdditionalFields($http->post('id'), $var, $val); } } $to_change = $http->post('num_of_variables_to_change'); if ($to_change) { $product_additional_info = new ProductAdditional(); for ($i = 0; $i < $to_change; $i++) { $var = $http->post('ch_product_variable_nr_' . $i); $val = $http->post('ch_product_value_nr_' . $i); $product_additional_info->changeAdditionalFields($http->post('id_ch_product_variable_nr_' . $i), $var, $val); } } $promo = $http->post("promo"); if ($promo == 'false') { $promotions = new Promotion(); $promotions->deletePromotionByProductId($http->post('id')); } if ($promo == 'true') { $promotions = new Promotions(); if ($promotions->isPromo($http->post('id'))) { $percent = $http->post("percent"); if ($percent != 0 && ($percent > 0 && $percent < 100)) { $promo = new Promotions($http->post('id')); $pro = $promo->getPromotion(); $pro->setPercent($http->post("percent") / 100); $pro->writeData(true); } } else { $percent = $http->post("percent"); if ($percent != 0 && ($percent > 0 && $percent < 100)) { $promotions = new Promotion(); $promotions->setProductId($http->post('id')); $promotions->setPercent($http->post("percent") / 100); $promotions->writeData(); } } } $return = array(); $return['id'] = $product_m->getId(); $return['name'] = $product_m->getName(); $return['img'] = $product_m->getImage(); $return['price'] = $product_m->getPrice(); $return['quantity'] = $product_m->getQuantity(); return $return; } }