Ejemplo n.º 1
0
 protected function successCallback()
 {
     if ($this->delete && $this->defaultValue) {
         $this->storage->delete($this->defaultValue);
         $this->defaultValue = NULL;
     }
     if ($this->value instanceof FileUpload && $this->value->isOk()) {
         // Upload
         $image = $this->value->toImage();
         foreach (array_merge($this->onBeforeSave, $this->onUpload) as $callback) {
             Callback::check($callback);
             $image = $callback($image);
             if (!$image instanceof Image) {
                 throw new ImageStorageException('Callback must return value instance of Nette\\Utils\\Image');
             }
         }
         $this->uploadedImage = $this->value = $this->storage->saveImage($image, $this->value->getSanitizedName(), $this->namespace, function ($image) {
             foreach ($this->onSave as $callback) {
                 Callback::check($callback);
                 $callback($image);
             }
         });
     } else {
         $this->value = $this->defaultValue;
     }
     $this->checkbox->setImageName($this->value);
 }
Ejemplo n.º 2
0
 public function successCallback()
 {
     $values = $this->defaultValues;
     foreach ($this->toDelete as $index => $value) {
         $this->storage->delete($value);
         unset($values[array_search($value, $this->defaultValues)]);
     }
     foreach ($this->wrongImages as $value) {
         if (($index = array_search($value, $values)) !== FALSE) {
             unset($values[$index]);
         }
     }
     foreach ($this->toUpload as $upload) {
         $this->uploadedImages[] = $values[] = $this->storage->saveUpload($upload, $this->namespace);
     }
     $this->value = array_values($values);
     // Reset keys
 }