Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

executable file 30 lines (25 sloc) 0.769 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<?php
/**
* Represents a file type which can be added to a form.
*/
class FileField extends FormField {
public function Field() {
return
$this->createTag("input", array("type" => "file", "name" => $this->name, "id" => $this->id())) .
$this->createTag("input", array("type" => "hidden", "name" => "MAX_FILE_SIZE", "value" => 30*1024*1024));
}

public function saveInto(DataObject $record) {
$fieldName = $this->name . 'ID';
$hasOnes = $record->has_one(/*$fieldName*/$this->name);

// assume that the file is connected via a has-one
if( !$hasOnes )
return;

$file = new File();
$file->loadUploaded($_FILES[$this->name]);

$record->$fieldName = $file->ID;
}

public function Value() {
return $_FILES[$this->Name()];
}
}
?>
Something went wrong with that request. Please try again.