/**
  * 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 .= ' &nbsp; <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;
 }