Example #1
0
 public function removeProductFromUserWishLists(User $user, $productId)
 {
     if (!$user->loaded()) {
         return;
     }
     $this->pixie->db->query('delete')->table($this->pixie->orm->get('wishListItem')->table, 'wli')->join(array('tbl_products', 'p'), array('wli.product_id', 'p.productID'))->join(array('tbl_wish_list', 'wl'), array('wl.id', 'wli.wish_list_id'))->where('wl.user_id', '=', $user->id())->where('p.productID', '=', $productId)->execute();
 }
Example #2
0
 public function isInUserWishList(User $user = null)
 {
     if ($user === null || !$user->loaded() || !$this->loaded()) {
         return false;
     }
     $num = $this->pixie->db->query('count')->table('tbl_products', 'p')->join(array('tbl_wish_list_item', 'wli'), array('wli.product_id', 'p.productID'))->join(array('tbl_wish_list', 'wl'), array('wl.id', 'wli.wish_list_id'))->where('wl.user_id', '=', $user->id())->where('p.productID', '=', $this->id())->execute();
     return $num > 0;
 }
 public function execute()
 {
     if ($this->processed) {
         return;
     }
     $this->pixie->session->get();
     if ($this->pixie->getParameter('parameters.use_external_dir')) {
         if ($this->removeOld) {
             if ($this->modifyUser) {
                 $this->user->photo = '';
             }
         }
         if ($this->picture->isLoaded()) {
             $uploadDir = $this->pixie->getParameter('parameters.user_pictures_external_dir');
             $uploadPath = $uploadDir . "/sess_" . session_id() . "_uploadto";
             if (!file_exists($uploadPath) || !is_dir($uploadPath)) {
                 mkdir($uploadPath, 0777, true);
             }
             $photoName = $this->generatePhotoName($this->picture);
             if ($this->pixie->getParameter('parameters.use_perl_upload')) {
                 $scriptName = $this->pixie->isWindows() ? 'uploadwin.pl' : 'uploadux.pl';
                 $headers = $this->picture->upload('http' . ($_SERVER['HTTPS'] == 'on' ? 's' : '') . '://' . $_SERVER['HTTP_HOST'] . '/upload/' . $scriptName, $photoName);
                 if ($headers['X-Created-Filename']) {
                     /** @var File $newFile */
                     $newFile = $this->pixie->orm->get('file');
                     $newFile->path = $headers['X-Created-Filename'];
                     $newFile->user_id = $this->user->id();
                     $newFile->save();
                     $this->result = $newFile->id();
                     if ($this->modifyUser) {
                         $this->user->photo = $newFile->id();
                     }
                 }
             } else {
                 $uniqueUploadPath = $uploadPath . '/' . substr(sha1(time() . $this->picture->getName()), 0, 2);
                 if (!file_exists($uniqueUploadPath) || !is_dir($uniqueUploadPath)) {
                     mkdir($uniqueUploadPath, 0777, true);
                 }
                 $newPhotoPath = $uniqueUploadPath . '/' . $photoName;
                 $this->picture->move($newPhotoPath);
                 /** @var File $newFile */
                 $newFile = $this->pixie->orm->get('file');
                 $newFile->path = $newPhotoPath;
                 $newFile->user_id = $this->user->id();
                 $newFile->save();
                 $this->result = $newFile->id();
                 if ($this->modifyUser) {
                     $this->user->photo = $newFile->id();
                 }
             }
         }
     } else {
         $relativePath = $this->pixie->getParameter('parameters.user_pictures_path');
         $pathDelimiter = preg_match('|^[/\\\\]|', $relativePath) ? '' : DIRECTORY_SEPARATOR;
         $photoPath = preg_replace('#/+$#i', '', $this->pixie->root_dir) . $pathDelimiter . $relativePath;
         if ($this->removeOld && $this->user->photo && file_exists($photoPath . $this->user->photo)) {
             unlink($photoPath . $this->user->photo);
             if ($this->modifyUser) {
                 $this->user->photo = '';
             }
         }
         if ($this->picture->isLoaded()) {
             if ($this->user->photo && file_exists($photoPath . $this->user->photo)) {
                 unlink($photoPath . $this->user->photo);
             }
             $photoName = $this->generatePhotoName($this->picture);
             $uniquePhotoDirName = substr(sha1(time() . $this->picture->getName()), 0, 2);
             $uniquePhotoDir = $photoPath . $uniquePhotoDirName;
             if (!file_exists($uniquePhotoDir) || !is_dir($uniquePhotoDir)) {
                 mkdir($uniquePhotoDir, 0777, true);
             }
             $this->picture->move($uniquePhotoDir . '/' . $photoName);
             $uniquePhotoName = $uniquePhotoDirName . '/' . $photoName;
             $this->result = $uniquePhotoName;
             if ($this->modifyUser) {
                 $this->user->photo = $uniquePhotoName;
             }
         }
     }
     $this->processed = true;
 }