Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace MyNews\Controller;
- use Zend\Mvc\Controller\AbstractActionController;
- use MyNews\Entity\Image;
- use Zend\View\Model\JsonModel;
- use MyNews\Repository\Images as ImageRepository;
- use Albums\Repository\Albums as AlbumsRepository;
- use MyNews\Repository\Feeds as FeedsRepository;
- use MyNews\Entity\Feed;
- class ImageLibrary {
- private $fileName;
- private $fileExtension;
- private $imageInstance;
- function __construct($postImage){
- include (__DIR__.'/../lib/class.upload.php');
- $this->imageInstance = new \upload($postImage);
- if ($this->imageInstace->uploaded && $this->imageInstace->file_is_image){
- } else {
- throw new \Exception('Upload error');
- }
- }
- function processImage($postImage) {
- $fileNameBody = sha1($newImg->getId().' ksdkmldsfmkdlfd '.$user->getId());
- $this->imageInstace->file_new_name_body = $fileNameBody;
- $this->imageInstace->Process("public/users/images/");
- if (!$this->imageInstace->processed){
- die('{"error"}');
- }
- $this->imageInstace->file_new_name_body = 'mid_'.$fileNameBody;
- $this->imageInstace->image_resize = true;
- $this->imageInstace->image_x = 500;
- $this->imageInstace->image_y = 500;
- $this->imageInstace->image_precrop = true;
- $this->imageInstace->image_ratio_crop = true;
- $this->imageInstace->Process("public/users/images/");
- //$this->imageInstace->clean();
- if (!$this->imageInstace->processed){
- die('error');
- }
- $this->imageInstace->file_new_name_body = 'ava_'.$fileNameBody;
- $this->imageInstace->image_resize = true;
- $this->imageInstace->image_x = 142;
- $this->imageInstace->image_y = 142;
- $this->imageInstace->image_precrop = true;
- $this->imageInstace->image_ratio_crop = true;
- $this->imageInstace->Process("public/users/images/");
- //$this->imageInstace->clean();
- if (!$this->imageInstace->processed){
- die('error');
- }
- $this->imageInstace->file_new_name_body = 'cov_'.$fileNameBody;
- $this->imageInstace->image_resize = true;
- $this->imageInstace->image_x = 646;
- $this->imageInstace->image_y = 352;
- $this->imageInstace->image_precrop = true;
- $this->imageInstace->image_ratio_crop = true;
- $this->imageInstace->Process("public/users/images/");
- //$this->imageInstace->clean();
- if (!$this->imageInstace->processed){
- die('error');
- }
- // return array()
- //echo $this->imageInstace->log;
- }
- /**
- * @return mixed
- */
- public function getFileExtension()
- {
- return $this->fileExtension;
- }
- /**
- * @param mixed $fileExtension
- */
- public function setFileExtension($fileExtension)
- {
- $this->fileExtension = $fileExtension;
- }
- /**
- * @return mixed
- */
- public function getFileName()
- {
- return $this->fileName;
- }
- /**
- * @param mixed $fileName
- */
- public function setFileName($fileName)
- {
- $this->fileName = $fileName;
- }
- }
- class ImageController extends AbstractActionController {
- public function uploadImageAction()
- {
- $user = $this->zfcUserAuthentication()->getIdentity();
- include (__DIR__.'/../lib/class.upload.php');
- $foo = new \upload($_FILES['image']);
- if ($user && $foo->uploaded && $foo->file_is_image){
- $em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
- $newImg = new Image();
- $newImg->setUser($user);
- $newImg->setPubDate(new \DateTime());
- $newImg->setFileName('_empty');
- $em->persist($newImg);
- $em->flush();
- $fileNameBody = sha1($newImg->getId().' ksdkmldsfmkdlfd '.$user->getId());
- $foo->file_new_name_body = $fileNameBody;
- $foo->Process("public/users/images/");
- if (!$foo->processed){
- die('{"error"}');
- }
- $foo->file_new_name_body = 'mid_'.$fileNameBody;
- $foo->image_resize = true;
- $foo->image_x = 500;
- $foo->image_y = 500;
- $foo->image_precrop = true;
- $foo->image_ratio_crop = true;
- $foo->Process("public/users/images/");
- //$foo->clean();
- if (!$foo->processed){
- die('error');
- }
- $foo->file_new_name_body = 'ava_'.$fileNameBody;
- $foo->image_resize = true;
- $foo->image_x = 142;
- $foo->image_y = 142;
- $foo->image_precrop = true;
- $foo->image_ratio_crop = true;
- $foo->Process("public/users/images/");
- //$foo->clean();
- if (!$foo->processed){
- die('error');
- }
- $foo->file_new_name_body = 'cov_'.$fileNameBody;
- $foo->image_resize = true;
- $foo->image_x = 646;
- $foo->image_y = 352;
- $foo->image_precrop = true;
- $foo->image_ratio_crop = true;
- $foo->Process("public/users/images/");
- //$foo->clean();
- if (!$foo->processed){
- die('error');
- }
- //echo $foo->log;
- $newImg->setFileName($fileNameBody.'.'.$foo->file_src_name_ext);
- $em->persist($newImg);
- $em->flush();
- $model = new JsonModel(Image::createDump($newImg));
- $model->setTerminal(true);
- return $model;
- } else {
- echo '{"upload error"}';
- //var_dump($_FILES['image']);
- }
- die();
- }
- public function getImageAction()
- {
- $id = $this->params()->fromPost('imageId');
- $imageRepository = new ImageRepository($this->getServiceLocator()->get('Doctrine\ORM\EntityManager'));
- $image = $imageRepository->getById($id);
- $model = new JsonModel(Image::createDump($image));
- $model->setTerminal(true);
- return $model;
- }
- public function editImageAction()
- {
- $id = $this->params()->fromPost('id');
- $title = $this->params()->fromPost('title');
- $albumName = $this->params()->fromPost('albumName');
- $description = $this->params()->fromPost('description');
- //TODO костыль
- $user = $this->zfcUserAuthentication()->getIdentity();
- $imageRepository = new ImageRepository($this->getServiceLocator()->get('Doctrine\ORM\EntityManager'));
- $image = $imageRepository->getByIdAndUser($id, $user);
- //TODO To Repository or service
- if ($image){
- $image->setTitle($title);
- $image->setDescription($description);
- if ($albumName){
- $albumRepository = new AlbumsRepository($this->getServiceLocator()->get('Doctrine\ORM\EntityManager'));
- $feedsRepository = new FeedsRepository($this->getServiceLocator()->get('Doctrine\ORM\EntityManager'));
- $album = $albumRepository->getOrCreateAlbumWithTitle($albumName, $user);
- $image->setAlbum($album);
- //var_dump($image);
- if (!$feedsRepository->getFeedOfImage($image)){
- $feed = new Feed();
- $feed->setFeedType(FEED::FEED_TYPE_ALBUM);
- $feed->setImage($image);
- $feed->setPubDate(new \DateTime());
- $feed->setUser($user);
- $feedsRepository->save($feed);
- }
- }
- $imageRepository->save($image);
- if ($album){
- $albumRepository->updateAlbumsImageData($album);
- $albumRepository->save($album);
- }
- $model = new JsonModel(Image::createDump($image));
- } else {
- $model = new JsonModel(array('result'=>false));
- }
- $model->setTerminal(true);
- return $model;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement