Example #1
0
 public function postUploadAction(Table $table, Record $record, Field $field)
 {
     $file = $_FILES['file'];
     if ($file['error']) {
         return ['success' => false, 'message' => 'Error uploading file ...'];
     }
     if (!$file['size']) {
         return ['success' => false, 'message' => 'Empty file size ...'];
     }
     $entity = $table->createEntity();
     $record->setEntity($entity);
     $dir = $field->getAbsoluteDir($field->getSetting('pckg.dynamic.field.dir'));
     $name = Convention::url(substr($file['name'], 0, strrpos($file['name'], '.')));
     $extension = substr($file['name'], strrpos($file['name'], '.'));
     $i = 0;
     do {
         $filename = $name . ($i ? '_' . $i : '') . $extension;
         $i++;
     } while (is_file($dir . $filename));
     if (!is_dir($dir)) {
         mkdir($dir, 0777, true);
     }
     move_uploaded_file($file['tmp_name'], $dir . $filename);
     $record->{$field->field} = $filename;
     $record->save($entity);
     return ['success' => 'true', 'url' => img($record->{$field->field}, null, true, $dir)];
 }