/** * Constructor * * @param array $config */ public function __construct(array $config) { if (array_key_exists('name', $config)) { $name = $config['name']; if (array_key_exists('allow_multiple_uploads', $config) && $config['allow_multiple_uploads']) { $this->setAllowMultipleUploads($config['allow_multiple_uploads']); $name .= '[]'; unset($config['allow_multiple_uploads']); } $this->setName($name); unset($config['name']); } $this->_fileUploadValidator = new iPhorm_Validator_FileUpload(array('name' => $this->getName())); $this->addValidator($this->_fileUploadValidator); parent::__construct($config); if (array_key_exists('enable_swf_upload', $config)) { $this->setEnableSwfUpload($config['enable_swf_upload']); } if (array_key_exists('add_as_attachment', $config)) { $this->setAddAsAttachment($config['add_as_attachment']); } if (array_key_exists('save_to_server', $config)) { $this->setSaveToServer($config['save_to_server']); } if (array_key_exists('save_path', $config)) { $this->setSavePath($config['save_path']); } if (array_key_exists('browse_text', $config)) { $this->setBrowseText($config['browse_text']); } if (array_key_exists('default_text', $config)) { $this->setDefaultText($config['default_text']); } if (array_key_exists('upload_num_fields', $config)) { $this->setUploadNumFields($config['upload_num_fields']); } if (array_key_exists('upload_user_add_more', $config)) { $this->setUploadUserAddMore($config['upload_user_add_more']); } if (array_key_exists('upload_add_another_text', $config)) { $this->setUploadAddAnotherText($config['upload_add_another_text']); } if (array_key_exists('upload_allowed_extensions', $config)) { $allowedExtensions = array(); if (strlen($config['upload_allowed_extensions'])) { $allowedExtensions = explode(',', $config['upload_allowed_extensions']); } $this->_fileUploadValidator->setAllowedExtensions($allowedExtensions); } if (array_key_exists('upload_maximum_size', $config)) { $this->_fileUploadValidator->setMaximumFileSize($config['upload_maximum_size'] * 1048576); } if (array_key_exists('messages', $config) && is_array($config['messages'])) { $this->_fileUploadValidator->setMessageTemplates($config['messages']); } }
/** * Set the allowed extensions * * @param array $allowedExtensions */ public function setAllowedExtensions(array $allowedExtensions) { $this->_fileUploadValidator->setAllowedExtensions($allowedExtensions); }