예제 #1
0
 public function saveEditedGallery($id)
 {
     $gal = GalleryQuery::create()->findPk($id);
     $dir = "includes/images/fullsize/";
     foreach ($_POST["image"] as $post) {
         $d = explode(',', $post);
         $img = imagecreatefromstring(base64_decode($d[1]));
         do {
             $name = token(20) . ".png";
             $path = $dir . $name;
         } while (file_exists($path));
         $i = new Image();
         $i->setPath($name)->setDescription("Fotografie z galerie " . $gal->getName())->setThumbnailPath($name)->setType("fullsize")->save();
         imagepng(resizeImg($img, 1280, 720), $path);
         $dir = "includes/images/960x540/";
         $path = $dir . $name;
         imagepng(resizeImg($img, 960, 540), $path);
         $dir = "includes/images/50x50/";
         $path = $dir . $name;
         imagepng(resizeImg($img, 50, 50), $path);
         $names[] = $name;
     }
     $imgs = ImageQuery::create()->filterByPath($names)->find();
     foreach ($imgs as $i) {
         $map = new ImageGalleryMap();
         $map->setIdImage($i->getId());
         $map->setIdGallery($id);
         $map->save();
     }
     $this->addPopup('success', 'Fotografie byly úspěšné přidány do galerie.');
     redirectTo('/administrace/galerie');
 }