/** * Creates the file input for the form * * @access public * @param array fields parameters * @return string */ public function create_file($params) { $defaults = array('overwrite' => NULL, 'display_overwrite' => TRUE, 'accept' => 'gif|jpg|jpeg|png|pdf', 'upload_path' => NULL, 'folder' => NULL, 'file_name' => NULL, 'encrypt_name' => NULL); $params = $this->normalize_params($params, $defaults); $attrs = array('id' => $params['id'], 'class' => $params['class'], 'readonly' => $params['readonly'], 'disabled' => $params['disabled'], 'required' => !empty($params['required']) ? TRUE : NULL, 'accept' => str_replace('|', ',', $params['accept']), 'tabindex' => $params['tabindex'], 'attributes' => $params['attributes']); if (is_array($this->form_attrs)) { $this->form_attrs['enctype'] = 'multipart/form-data'; } else { if (is_string($this->form_attrs) and strpos($this->form_attrs, 'enctype') === FALSE) { $this->form_attrs .= ' enctype="multipart/form-data"'; } } $file = $this->form->file($params['name'], $attrs); if (isset($params['overwrite'])) { $overwrite = ($params['overwrite'] == 1 or $params['overwrite'] === TRUE or $params['overwrite'] === 'yes' or $params['overwrite'] === 'y') ? '1' : '0'; if (!empty($params['display_overwrite'])) { $file .= ' <span class="overwrite_field">' . $this->form->checkbox($params['name'] . '_overwrite', 1, Form::do_checked($overwrite)); $file .= ' ' . $this->create_label($this->label_lang('overwrite')) . '</span>'; } else { $file .= $this->form->hidden($params['name'] . '_overwrite', $overwrite); } } if (isset($params['upload_path']) or isset($params['folder'])) { if (isset($params['folder'])) { $upload_path = $this->CI->encrypt->encode(assets_server_path($params['folder'])); } else { $upload_path = $this->CI->encrypt->encode($params['upload_path']); } $file .= $this->form->hidden($params['name'] . '_upload_path', $upload_path); } if (isset($params['file_name']) or isset($params['filename'])) { $file_name = isset($params['file_name']) ? $params['file_name'] : $params['filename']; $file .= $this->form->hidden($params['name'] . '_file_name', $file_name); } if (isset($params['encrypt']) or isset($params['encrypt_name'])) { $encrypt_name = isset($params['encrypt_name']) ? $params['encrypt_name'] : $params['encrypt']; $file .= $this->form->hidden($params['name'] . '_encrypt_name', $encrypt_name); } return $file; }