File indexing completed on 2025-01-26 05:29:14

0001 <?php
0002 
0003 namespace Intervention\Image\Gd\Commands;
0004 
0005 class ResetCommand extends \Intervention\Image\Commands\AbstractCommand
0006 {
0007     /**
0008      * Resets given image to its backup state
0009      *
0010      * @param  \Intervention\Image\Image $image
0011      * @return boolean
0012      */
0013     public function execute($image)
0014     {
0015         $backupName = $this->argument(0)->value();
0016 
0017         if (is_resource($backup = $image->getBackup($backupName))) {
0018 
0019             // destroy current resource
0020             imagedestroy($image->getCore());
0021 
0022             // clone backup
0023             $backup = $image->getDriver()->cloneCore($backup);
0024 
0025             // reset to new resource
0026             $image->setCore($backup);
0027 
0028             return true;
0029         }
0030 
0031         throw new \Intervention\Image\Exception\RuntimeException(
0032             "Backup not available. Call backup() before reset()."
0033         );
0034     }
0035 }