Source of file SubmittedFileField.php
Size: 1,850 Bytes - Last Modified: 2021-12-23T10:19:14+00:00
/var/www/docs.ssmods.com/process/src/code/Model/Submission/SubmittedFileField.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | <?php namespace SilverStripe\UserForms\Model\Submission; use SilverStripe\Assets\File; use SilverStripe\ORM\FieldType\DBField; /** * A file uploaded on a {@link UserDefinedForm} and attached to a single * {@link SubmittedForm}. * * @package userforms */ class SubmittedFileField extends SubmittedFormField { private static $has_one = [ 'UploadedFile' => File::class ]; private static $table_name = 'SubmittedFileField'; /** * Return the value of this field for inclusion into things such as * reports. * * @return string */ public function getFormattedValue() { $name = $this->getFileName(); $link = $this->getLink(); $title = _t(__CLASS__.'.DOWNLOADFILE', 'Download File'); if ($link) { return DBField::create_field('HTMLText', sprintf( '%s - <a href="%s" target="_blank">%s</a>', $name, $link, $title )); } return false; } /** * Return the value for this field in the CSV export. * * @return string */ public function getExportValue() { return ($link = $this->getLink()) ? $link : ''; } /** * Return the link for the file attached to this submitted form field. * * @return string */ public function getLink() { if ($file = $this->UploadedFile()) { if (trim($file->getFilename(), '/') != trim(ASSETS_DIR, '/')) { return $this->UploadedFile()->AbsoluteLink(); } } } /** * Return the name of the file, if present * * @return string */ public function getFileName() { if ($this->UploadedFile()) { return $this->UploadedFile()->Name; } } } |