| 1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- namespace Intervention\Image\Gd\Commands;
- use Intervention\Image\Commands\AbstractCommand;
- use Intervention\Image\Exception\RuntimeException;
- class ResetCommand extends AbstractCommand
- {
- /**
- * Resets given image to its backup state
- *
- * @param \Intervention\Image\Image $image
- * @return boolean
- */
- public function execute($image)
- {
- $backupName = $this->argument(0)->value();
- if (is_resource($backup = $image->getBackup($backupName))) {
- // destroy current resource
- imagedestroy($image->getCore());
- // clone backup
- $backup = $image->getDriver()->cloneCore($backup);
- // reset to new resource
- $image->setCore($backup);
- return true;
- }
- throw new RuntimeException(
- "Backup not available. Call backup() before reset()."
- );
- }
- }
|