/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/cakephp/src/View/Widget
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/cakephp/src/View/Widget/FileWidget.php (2696B)
*/
protected $defaults = [
'name' => '',
'escape' => true,
'templateVars' => [],
];
/**
* Render a file upload form widget.
*
* Data supports the following keys:
*
* - `name` - Set the input name.
* - `escape` - Set to false to disable HTML escaping.
*
* All other keys will be converted into HTML attributes.
* Unlike other input objects the `val` property will be specifically
* ignored.
*
* @param array
$data The data to build a file input with.
* @param \Cake\View\Form\ContextInterface $context The current form context.
* @return string HTML elements.
*/
public function render(array $data, ContextInterface $context): string
{
$data += $this->mergeDefaults($data, $context);
unset($data['val']);
return $this->_templates->format('file', [
'name' => $data['name'],
'templateVars' => $data['templateVars'],
'attrs' => $this->_templates->formatAttributes(
$data,
['name']
),
]);
}
/**
* @inheritDoc
*/
public function secureFields(array $data): array
{
// PSR7 UploadedFileInterface objects are used.
if (Configure::read('App.uploadedFilesAsObjects', true)) {
return [$data['name']];
}
// Backwards compatibility for array files.
$fields = [];
foreach (['name', 'type', 'tmp_name', 'error', 'size'] as $suffix) {
$fields[] = $data['name'] . '[' . $suffix . ']';
}
return $fields;
}
}