src/Transformation/TransformationListenerBundle/EventListener/TifftoJpegListener.php line 38

Open in your IDE?
  1. <?php
  2. namespace Transformation\TransformationListenerBundle\EventListener;
  3. use Symfony\Component\EventDispatcher\GenericEvent;
  4. use Pimcore\Event\Model\ElementEventInterface;
  5. use Pimcore\Event\Model\AssetEvent;
  6. use Pimcore\Event\Model\VersionEvent;
  7. use Pimcore\Event\Model\DataObjectEvent;
  8. use Pimcore\Event\Model\RedirectEvent;
  9. use Pimcore\Model\DataObject\Product;
  10. use Pimcore\Model\User;
  11. use Pimcore\Model\DataObject;
  12. use Pimcore\Model\Asset;
  13. use Pimcore\Model\DataObject\ImageTifToJpeg;
  14. use Pimcore\Tool;
  15. use Pimcore\Db;
  16. use Pimcore\Event\BundleManager\PathsEvent;
  17. use Pimcore\Model\DataObject\Service;
  18. class TifftoJpegListener {
  19.     public const PATH '/Test/';
  20.     public function addJSFiles(PathsEvent $event)
  21.     {
  22.         $event->setPaths(
  23.             array_merge(
  24.                 $event->getPaths(),
  25.                 [
  26.                     '/static/js/startup.js'
  27.                 ]
  28.             )
  29.         );
  30.     }
  31.     public function onPostUpdate (AssetEvent $e)
  32.     {
  33.         $Pid $e->getasset()->getid();
  34.         // foreach ($Pid as $assetid) {
  35.             // $i = implode("", $Pid);
  36.             // dd($i);
  37. //            $i = 6082;
  38.             $asset Asset::getById($Pid1);
  39.             $hostUrl Tool::getHostUrl();
  40.             // dd($hostUrl);
  41.             if ($asset instanceof Asset\Image) {
  42.               $path $asset->getFileSystemPath();
  43.               $filename $asset->getFilename();
  44.               $filePath pathinfo($filenamePATHINFO_FILENAME);
  45.             //   dd($filePath);
  46.               $fileExtension pathinfo($filenamePATHINFO_EXTENSION);
  47.             //   dd($fileExtension);
  48.               if( $fileExtension == 'tiff' || $fileExtension == 'tif'){
  49.                   try {
  50.                       $img = new \Imagick($path);
  51.                       $img->setFormat('jpeg');
  52.                       $img->scaleImage(2000,0);
  53.                       file_put_contents('/var/www/html/pimcoreman/web/var/assets/TransformedImages/' $filePath '.jpeg'$img);
  54.                       $transformedPath =  $hostUrl'/TransformedImages/'$filePath.'.jpeg';
  55.                       $targetPath "/MasterData/ImagePath";
  56.                       $keyname $this->getSafeFilename($targetPath$filename);
  57.                       $newThumbnailPath ImageTifToJpeg::create();
  58.                       $newThumbnailPath->setParentId('5978');
  59.                       $newThumbnailPath->setAssetID($Pid);
  60.                       $newThumbnailPath->setPublished(true);
  61.                       $newThumbnailPath->setAssetPathTransformed($transformedPath);
  62.                       $newThumbnailPath->setKey(\Pimcore\Model\Element\Service::getValidKey($keyname'object'));
  63.                       $newThumbnailPath->save();
  64.                       echo $i."\n";
  65.                   } catch (Throwable $e){
  66.                       echo 'error on ' $i;
  67.                   }
  68. //              die();
  69.               }
  70.             }
  71.         // }
  72.         // $Pid = $e->getversion();
  73.         // dd($Pid);
  74.         // $object = Asset::getById($Pid,1);
  75.         // dd($object);
  76.     //     if(is_null($object) == false){
  77.     //     $user = \Pimcore\Tool\Admin::getCurrentuser();
  78.     //     // dd($user);
  79.     //     if(is_null($user) == false){
  80.     //     if(!empty($user->getRoles()) == True){
  81.     //         if($user->getRoles()[0] == "19"){
  82.     //             if ($object->getstatus() == 'Ready_for_Magento' || $object->getstatus() == 'Published') {
  83.     //                 $object->setStatus('InProgress');
  84.     //                 $object->save();
  85.     //             }
  86.     //             else{
  87.     //                 $object;
  88.     //             }
  89.     //         }
  90.     //         elseif($user->getRoles()[0] == "17"){
  91.     //             if ($object->getstatus() == 'Ready_for_Magento' && $object->getfeedStatus()=='sent') {
  92.     //                 $object->setfeedStatus('');
  93.     //                 $object->save();
  94.     //             }
  95.     //             elseif($object->getstatus()=='Published'){
  96.     //                 $object->setStatus('InProgress');
  97.     //                 $object->save();
  98.     //             }
  99.     //             else{
  100.     //                 $object;
  101.     //             }
  102.     //         }
  103.     //         else{
  104.     //             if ($object->getstatus() == 'Ready_for_Magento' && $object->getfeedStatus()=='sent') {
  105.     //                 $object->setfeedStatus('');
  106.     //                 $object->save();
  107.     //                         }
  108.     //             elseif($object->getstatus()=='Published') {
  109.     //                 $object->setStatus('InProgress');
  110.     //                 $object->save();
  111.     //             } else {
  112.     //                 $object;
  113.     //             }
  114.     //         }
  115.     // }
  116.     //                 else{
  117.     //                     if ($object->getstatus() == 'Ready_for_Magento' && $object->getfeedStatus()=='sent') {
  118.     //                         $object->setfeedStatus('');
  119.     //                         $object->save();
  120.     //                     }
  121.     //                     elseif($object->getstatus()=='Published') {
  122.     //                         $object->setStatus('InProgress');
  123.     //                         $object->save();
  124.     //                     } else {
  125.     //                         $object;
  126.     //                     }
  127.     //                 }
  128.                 
  129.     //         }
  130.     //         else{
  131.     //             $object;
  132.     //         }
  133.     //     }
  134.     }
  135.     protected function getSafeFilename ($targetPath$filename)
  136.     {
  137.         $originalFilename $filename;
  138.         $count 1;
  139.         while (true) {
  140.             if (Service::pathExists($targetPath '/' $filename)) {
  141.                 $filename $originalFilename "_" $count;
  142.                 $count++;
  143.             } else {
  144.                 return $filename;
  145.             }
  146.         }
  147.     }
  148.         
  149.             }