60 lines
1.4 KiB
PHP
60 lines
1.4 KiB
PHP
<?php
|
|
|
|
if ( ! class_exists( 'GFForms' ) ) {
|
|
die();
|
|
}
|
|
|
|
class Wiaas_Field_Order_Bundle_Document extends GF_Field_FileUpload {
|
|
|
|
public $type ='wiaas_order_bundle_document';
|
|
|
|
public $wiaasDocTypeFilter = 'config';
|
|
|
|
public function get_form_editor_field_settings() {
|
|
return array(
|
|
'wiaas_doc_type_filter',
|
|
'multiple_files_setting',
|
|
'conditional_logic_field_setting',
|
|
'error_message_setting',
|
|
'label_setting',
|
|
'label_placement_setting',
|
|
'admin_label_setting',
|
|
'rules_setting',
|
|
'file_extensions_setting',
|
|
'file_size_setting',
|
|
'visibility_setting',
|
|
'description_setting',
|
|
'css_class_setting',
|
|
);
|
|
}
|
|
|
|
public function get_input_type() {
|
|
return 'fileupload';
|
|
}
|
|
|
|
public function get_form_editor_field_title() {
|
|
return esc_attr__( 'Bundle Document', 'wiaas' );
|
|
}
|
|
|
|
public function get_download_url( $file, $force_download = false ) {
|
|
|
|
$upload_root = GFFormsModel::get_upload_url( $this->formId );
|
|
$upload_root = trailingslashit( $upload_root );
|
|
|
|
// handle download for order documents not uploaded by gravity forms
|
|
if ( strpos( $file, $upload_root ) === false ) {
|
|
|
|
return admin_url() . '?gf-wiaas-order-doc=' . urlencode($file);
|
|
}
|
|
|
|
return parent::get_download_url( $file, $force_download );
|
|
}
|
|
|
|
public function sanitize_settings() {
|
|
parent::sanitize_settings();
|
|
|
|
$this->wiaasDocTypeFilter = sanitize_key($this->wiaasDocTypeFilter);
|
|
}
|
|
}
|
|
|
|
GF_Fields::register( new Wiaas_Field_Order_Bundle_Document() ); |