/**
 * Sets the enctype for file upload forms.
 *
 * @since	1.0
 * @return	str
 */
function kbs_maybe_set_enctype()
{
    if (kbs_file_uploads_are_enabled()) {
        $output = ' enctype="multipart/form-data"';
        echo apply_filters('kbs_maybe_set_enctype', $output);
    }
}
Beispiel #2
0
/**
 * Attach files to a ticket.
 *
 * @since	1.0
 * @param	arr	$attachment	$_FILES
 * @param	int	$ticket_id	The ticket ID
 * @return	int	The attachment ID.
 */
function kbs_attach_file_to_ticket($attachment, $ticket_id)
{
    if (!kbs_file_uploads_are_enabled()) {
        return false;
    }
    add_filter('upload_dir', 'kbs_set_upload_dir');
    if ($_FILES[$attachment]['error'] !== UPLOAD_ERR_OK) {
        return false;
    }
    require_once ABSPATH . 'wp-admin/includes/image.php';
    require_once ABSPATH . 'wp-admin/includes/file.php';
    require_once ABSPATH . 'wp-admin/includes/media.php';
    $attach_id = media_handle_upload($attachment, $ticket_id);
    return $attach_id;
}
/**
 * Display a form file upload field.
 *
 * @since	1.0
 * @param	obj			$field		Field post object
 * @param	arr			$settings	Field settings
 * @return	str			$type input field
 */
function kbs_display_form_file_upload_field($field, $settings)
{
    if (!kbs_file_uploads_are_enabled()) {
        return;
    }
    $placeholder = !empty($settings['placeholder']) ? ' placeholder="' . esc_attr($settings['placeholder']) . '"' : '';
    $class = !empty($settings['input_class']) ? esc_attr($settings['input_class']) : '';
    $multiple = kbs_get_option('file_uploads') > 1 ? ' multiple' : '';
    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $class)));
    do_action('kbs_before_form_field', $field, $settings);
    do_action('kbs_before_form_' . $settings['type'] . '_field', $field, $settings);
    $output = sprintf('<input type="file" name="%1$s[]" id="%1$s"%2$s%3$s%4$s />', esc_attr($field->post_name), !empty($class) ? ' class="' . $class . ' kbs-input"' : '', $placeholder, $multiple);
    $output = apply_filters('kbs_display_form_file_upload_field', $output, $field, $settings);
    echo $output;
    do_action('kbs_after_form_field', $field, $settings);
    do_action('kbs_after_form_' . $settings['type'] . '_field', $field, $settings);
}