__(‘No’, ‘wp-job-board-pro’), ‘yes’ => __(‘Yes’, ‘wp-job-board-pro’), ); } public static function candidate_form_opts(){ return array( ‘profile’ => __(‘Profile Form’, ‘wp-job-board-pro’), ‘resume’ => __(‘Resume Form’, ‘wp-job-board-pro’), ); } public static function get_packages() { if ( empty(self::$packages) ) { $query_args = array( ‘post_type’ => ‘product’, ‘post_status’ => ‘publish’, ‘posts_per_page’ => -1, ‘order’ => ‘asc’, ‘orderby’ => ‘menu_order’, ‘tax_query’ => array( array( ‘taxonomy’ => ‘product_type’, ‘field’ => ‘slug’, ‘terms’ => apply_filters( ‘wp-job-board-pro-packages-type’, array(‘job_package’) ), ), ), ); $packages = get_posts( $query_args ); $return = array(); foreach ($packages as $package) { $return[$package->ID] = $package->post_title; } self::$packages = $return; } return self::$packages; } public static function field_text_html_callback($type, $field_counter, $field_data, $p_prefix) { ob_start(); $rand = $field_counter; $name_val = stripslashes(isset($field_data[‘name’]) ? $field_data[‘name’] : ‘Custom Field’); $id_val = isset($field_data[‘id’]) ? $field_data[‘id’] : ‘custom-‘.$type.’-‘.$field_counter; $placeholder_val = stripslashes(isset($field_data[‘placeholder’]) ? $field_data[‘placeholder’] : ”); $description_val = stripslashes(isset($field_data[‘description’]) ? $field_data[‘description’] : ”); $required_val = isset($field_data[‘required’]) ? $field_data[‘required’] : ”; $show_in_submit_form_val = isset($field_data[‘show_in_submit_form’]) ? $field_data[‘show_in_submit_form’] : ‘yes’; $show_in_admin_edit_val = isset($field_data[‘show_in_admin_edit’]) ? $field_data[‘show_in_admin_edit’] : ‘yes’; $disable_check_val = isset($field_data[‘disable_check’]) ? $field_data[‘disable_check’] : false; $prefix = ‘wp-job-board-pro-custom-fields-‘.$type; ?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[id][]', esc_html__('Key', 'wp-job-board-pro'), $id_val, '', 'wp-job-board-pro-custom-field-key');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
$text_field_icon = isset($field_data['icon']) ? $field_data['icon'] : '';
?>
<div class="form-group">
<label>
<?php echo esc_html__('Icon', 'wp-job-board-pro'); ?>:
</label>
<div class="input-field">
<?php
$icon_id = rand(1000000, 99999999);
echo self::icon_picker($text_field_icon, $icon_id, $prefix.'[icon][]');
?>
</div>
</div>
<?php
// self::checkbox( $prefix.'[show_in_submit_form][]', esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val);
// self::checkbox( $prefix.'[show_in_admin_edit][]', esc_html__('Show in admin edit page', 'wp-job-board-pro'), $show_in_admin_edit_val);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form');
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
// self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
// self::checkbox( $prefix.'[required][]', esc_html__('Required', 'wp-job-board-pro'), $required_val);
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
// self::checkbox( $prefix.'[show_in_package][]', esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, false, true, 'show_in_package');
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
// hook
$hook_display = isset($field_data['hook_display']) ? $field_data['hook_display'] : '';
$opts = WP_Job_Board_Pro_Fields_Manager::get_display_hooks($p_prefix);
self::select( $prefix.'[hook_display][]', $opts, esc_html__('Position Display', 'wp-job-board-pro'), $hook_display, '', false, true);
do_action('wp_job_board_pro_custom_field_text_html_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_opts_html_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Custom Field');
$id_val = isset($field_data['id']) ? $field_data['id'] : 'custom-'.$type.'-'.$field_counter;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$text_field_options = stripslashes(isset($field_data['options']) ? $field_data['options'] : '');
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[id][]', esc_html__('Key', 'wp-job-board-pro'), $id_val, '', 'wp-job-board-pro-custom-field-key');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
self::textarea( $prefix.'[options][]', esc_html__('Options', 'wp-job-board-pro'), $text_field_options, esc_html__('Add each option in a new line.', 'wp-job-board-pro'));
$text_field_icon = isset($field_data['icon']) ? $field_data['icon'] : '';
?>
<div class="form-group">
<label>
<?php echo esc_html__('Icon', 'wp-job-board-pro'); ?>:
</label>
<div class="input-field">
<?php
$icon_id = rand(1000000, 99999999);
echo self::icon_picker($text_field_icon, $icon_id, $prefix.'[icon][]');
?>
</div>
</div>
<?php
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val);
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// self::checkbox( $prefix.'[show_in_submit_form][]', esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val);
// self::checkbox( $prefix.'[show_in_admin_edit][]', esc_html__('Show in admin edit page', 'wp-job-board-pro'), $show_in_admin_edit_val);
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
// hook
$hook_display = isset($field_data['hook_display']) ? $field_data['hook_display'] : '';
$opts = WP_Job_Board_Pro_Fields_Manager::get_display_hooks($p_prefix);
self::select( $prefix.'[hook_display][]', $opts, esc_html__('Position Display', 'wp-job-board-pro'), $hook_display, '', false, true);
do_action('wp_job_board_pro_custom_field_opts_html_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_heading_html_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$label_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Custom Field');
$key_val = isset($field_data['id']) ? $field_data['id'] : 'custom-'.$type.'-'.$field_counter;
$text_field_icon = isset($field_data['icon']) ? $field_data['icon'] : '';
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-heading-container">
<?php self::header_html($type, $rand, $label_val); ?>
<div class="field-data form-group-wrapper" id="heading-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="heading" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $label_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[id][]', esc_html__('Key', 'wp-job-board-pro'), $key_val, '', 'wp-job-board-pro-custom-field-key');
?>
<div class="form-group">
<label>
<?php echo esc_html__('Icon', 'wp-job-board-pro'); ?>:
</label>
<div class="input-field">
<?php
$icon_id = rand(1000000, 99999999);
echo self::icon_picker($text_field_icon, $icon_id, $prefix.'[icon][]');
?>
</div>
</div>
<?php
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val );
}
$number_column_val = isset($field_data['number_columns']) ? $field_data['number_columns'] : '1';
$columns = array(
'1' => __('1 Column', 'wp-job-board-pro'),
'2' => __('2 Column', 'wp-job-board-pro'),
'3' => __('3 Column', 'wp-job-board-pro'),
'4' => __('4 Column', 'wp-job-board-pro'),
);
self::select( $prefix.'[number_columns][]', $columns, esc_html__('Columns Inner', 'wp-job-board-pro'), $number_column_val, '', false);
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_heading_html_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_file_html_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Custom Field');
$id_val = isset($field_data['id']) ? $field_data['id'] : 'custom-'.$type.'-'.$field_counter;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$file_limit = isset($field_data['file_limit']) ? $field_data['file_limit'] : 5;
$file_size = isset($field_data['file_size']) ? $field_data['file_size'] : 5;
$text_field_multiple_files = isset($field_data['multiple_files']) ? $field_data['multiple_files'] : '';
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$text_field_allow_types = isset($field_data['allow_types']) ? $field_data['allow_types'] : (isset($field_data['mime_types']) ? $field_data['mime_types'] : '');
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[id][]', esc_html__('Key', 'wp-job-board-pro'), $id_val, '', 'wp-job-board-pro-custom-field-key');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
self::number( $prefix.'[file_limit][]', esc_html__('File limit', 'wp-job-board-pro'), $file_limit);
self::number( $prefix.'[file_size][]', esc_html__('Limit Size', 'wp-job-board-pro'), $file_size, esc_html__('Enter limit size by megabyte', 'wp-job-board-pro'));
$mime_types = get_allowed_mime_types();
self::select( $prefix.'[allow_types]['.$field_counter.'][]', $mime_types, esc_html__('Allowed file types', 'wp-job-board-pro'), $text_field_allow_types, '', true);
$text_field_icon = isset($field_data['icon']) ? $field_data['icon'] : '';
?>
<div class="form-group">
<label>
<?php echo esc_html__('Icon', 'wp-job-board-pro'); ?>:
</label>
<div class="input-field">
<?php
$icon_id = rand(1000000, 99999999);
echo self::icon_picker($text_field_icon, $icon_id, $prefix.'[icon][]');
?>
</div>
</div>
<?php
// self::checkbox( $prefix.'[multiple_files][]', esc_html__('Multiple files', 'wp-job-board-pro'), $text_field_multiple_files);
self::select( $prefix.'[multiple_files][]', self::yes_no_opts(), esc_html__('Multiple files', 'wp-job-board-pro'), $text_field_multiple_files, '', false, false );
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
// hook
$hook_display = isset($field_data['hook_display']) ? $field_data['hook_display'] : '';
$opts = WP_Job_Board_Pro_Fields_Manager::get_display_hooks($p_prefix);
self::select( $prefix.'[hook_display][]', $opts, esc_html__('Position Display', 'wp-job-board-pro'), $hook_display, '', false, true);
do_action('wp_job_board_pro_custom_field_file_html_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_simple_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Available Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_simple_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_simple_without_placeholder_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Available Field');
$id_val = $type;
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
// self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_simple_without_placeholder_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_tax_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Custom Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$text_field_select_type = isset($field_data['select_type']) ? $field_data['select_type'] : 'pw_taxonomy_select';
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
$opts = array(
'pw_taxonomy_select' => esc_html__('Term Select', 'wp-job-board-pro'),
'pw_taxonomy_select_search' => esc_html__('Term Select Search', 'wp-job-board-pro'),
'pw_taxonomy_multiselect' => esc_html__('Term Multiselect', 'wp-job-board-pro'),
'pw_taxonomy_multiselect_search' => esc_html__('Term Multiselect Search', 'wp-job-board-pro'),
'taxonomy_multicheck' => esc_html__('Term Checklist', 'wp-job-board-pro'),
'taxonomy_radio' => esc_html__('Term Radio Button', 'wp-job-board-pro'),
);
self::select( $prefix.'[select_type][]', $opts, esc_html__('Template', 'wp-job-board-pro'), $text_field_select_type);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_tax_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_file_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Available Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$file_limit = isset($field_data['file_limit']) ? $field_data['file_limit'] : 5;
$file_size = isset($field_data['file_size']) ? $field_data['file_size'] : 5;
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$text_field_allow_types = isset($field_data['allow_types']) ? $field_data['allow_types'] : (isset($field_data['mime_types']) ? $field_data['mime_types'] : '');
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
self::number( $prefix.'[limit_file][]', esc_html__('Limit Files', 'wp-job-board-pro'), $file_limit);
self::number( $prefix.'[file_size][]', esc_html__('Limit Size', 'wp-job-board-pro'), $file_size, esc_html__('Enter limit size by megabyte', 'wp-job-board-pro'));
$mime_types = get_allowed_mime_types();
self::select( $prefix.'[allow_types]['.$field_counter.'][]', $mime_types, esc_html__('Allowed file types', 'wp-job-board-pro'), $text_field_allow_types, '', true);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_file_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_files_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Available Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$file_limit = isset($field_data['file_limit']) ? $field_data['file_limit'] : 5;
$file_size = isset($field_data['file_size']) ? $field_data['file_size'] : 5;
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$text_field_allow_types = isset($field_data['allow_types']) ? $field_data['allow_types'] : (isset($field_data['mime_types']) ? $field_data['mime_types'] : '');
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
self::number( $prefix.'[file_limit][]', esc_html__('File limit', 'wp-job-board-pro'), $file_limit);
self::number( $prefix.'[file_size][]', esc_html__('Limit Size', 'wp-job-board-pro'), $file_size, esc_html__('Enter limit size by megabyte', 'wp-job-board-pro'));
$mime_types = get_allowed_mime_types();
self::select( $prefix.'[allow_types]['.$field_counter.'][]', $mime_types, esc_html__('Allowed file types', 'wp-job-board-pro'), $text_field_allow_types, '', true);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_files_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_description_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Custom Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$text_field_select_type = isset($field_data['select_type']) ? $field_data['select_type'] : 'textarea';
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
$opts = array(
'textarea' => esc_html__('Textarea', 'wp-job-board-pro'),
'wysiwyg' => esc_html__('WP Editor', 'wp-job-board-pro'),
);
self::select( $prefix.'[select_type][]', $opts, esc_html__('Template', 'wp-job-board-pro'), $text_field_select_type);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_description_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_select_option_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Available Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$text_field_select_type = isset($field_data['select_type']) ? $field_data['select_type'] : '';
$text_field_options = stripslashes(isset($field_data['options']) ? $field_data['options'] : '');
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
$opts = array(
'pw_select' => esc_html__('Select', 'wp-job-board-pro'),
'pw_multiselect' => esc_html__('Multi Select', 'wp-job-board-pro'),
'multicheck' => esc_html__('Multi Check', 'wp-job-board-pro'),
'radio' => esc_html__('Radio Button', 'wp-job-board-pro'),
);
self::select( $prefix.'[select_type][]', $opts, esc_html__('Template', 'wp-job-board-pro'), $text_field_select_type);
self::textarea( $prefix.'[options][]', esc_html__('Options', 'wp-job-board-pro'), $text_field_options, esc_html__('Add each option in a new line.', 'wp-job-board-pro'), true);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_select_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_location_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Available Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
$location_type = wp_job_board_pro_get_option('location_multiple_fields', 'yes');
if ( $location_type === 'no' ) {
$text_field_select_type = isset($field_data['select_type']) ? $field_data['select_type'] : '';
$opts = array(
'pw_taxonomy_select' => esc_html__('Term Select', 'wp-job-board-pro'),
'pw_taxonomy_select_search' => esc_html__('Term Select Search', 'wp-job-board-pro'),
'pw_taxonomy_multiselect' => esc_html__('Term Multiselect', 'wp-job-board-pro'),
'pw_taxonomy_multiselect_search' => esc_html__('Term Multiselect Search', 'wp-job-board-pro'),
'taxonomy_multicheck' => esc_html__('Term Checklist', 'wp-job-board-pro'),
'taxonomy_radio' => esc_html__('Term Radio Button', 'wp-job-board-pro'),
);
self::select( $prefix.'[select_type][]', $opts, esc_html__('Template', 'wp-job-board-pro'), $text_field_select_type);
} else {
$text_field_select_type = isset($field_data['select_type_search']) ? $field_data['select_type_search'] : '';
$opts = array(
'wpjb_taxonomy_location' => esc_html__('Term Select', 'wp-job-board-pro'),
'wpjb_taxonomy_location_search' => esc_html__('Term Select Search', 'wp-job-board-pro'),
);
self::select( $prefix.'[select_type_search][]', $opts, esc_html__('Template', 'wp-job-board-pro'), $text_field_select_type);
}
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_location_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_salary_type_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Available Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
$salary_types = WP_Job_Board_Pro_Mixes::get_default_salary_types();
$d_types = array();
if ( $salary_types ) {
foreach ($salary_types as $key => $value) {
$d_types[] = $key;
}
}
$text_field_allow_types = isset($field_data['allow_salary_types']) ? $field_data['allow_salary_types'] : $d_types;
self::select( $prefix.'[allow_salary_types]['.$field_counter.'][]', $salary_types, esc_html__('Allowed salary types', 'wp-job-board-pro'), $text_field_allow_types, '', true, true);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_salary_type_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_available_apply_type_callback($type, $field_counter, $field_data, $p_prefix) {
ob_start();
$rand = $field_counter;
$name_val = stripslashes(isset($field_data['name']) ? $field_data['name'] : 'Available Field');
$id_val = $type;
$placeholder_val = stripslashes(isset($field_data['placeholder']) ? $field_data['placeholder'] : '');
$description_val = stripslashes(isset($field_data['description']) ? $field_data['description'] : '');
$required_val = isset($field_data['required']) ? $field_data['required'] : '';
$show_in_submit_form_val = isset($field_data['show_in_submit_form']) ? $field_data['show_in_submit_form'] : 'yes';
$show_in_admin_edit_val = isset($field_data['show_in_admin_edit']) ? $field_data['show_in_admin_edit'] : 'yes';
$disable_check_val = isset($field_data['disable_check']) ? $field_data['disable_check'] : false;
$prefix = 'wp-job-board-pro-custom-fields-'.$type;
?>
<div class="wp-job-board-pro-custom-field-container wp-job-board-pro-custom-field-<?php echo esc_attr($type); ?>-container">
<?php self::header_html($type, $rand, $name_val); ?>
<?php self::hidden( $prefix.'[id][]', $id_val, 'wp-job-board-pro-custom-field-key'); ?>
<div class="field-data form-group-wrapper" id="<?php echo esc_attr($type); ?>-field-wraper<?php echo esc_html($rand); ?>" style="display:none;">
<input type="hidden" name="wp-job-board-pro-custom-fields-type[]" value="<?php echo esc_attr($type); ?>" />
<input type="hidden" name="wp-job-board-pro-custom-fields-id[]" value="<?php echo esc_html($field_counter); ?>" />
<?php
self::text( $prefix.'[name][]', esc_html__('Label', 'wp-job-board-pro'), $name_val, '', 'wp-job-board-pro-custom-field-label');
self::text( $prefix.'[placeholder][]', esc_html__('Placeholder', 'wp-job-board-pro'), $placeholder_val);
self::text( $prefix.'[description][]', esc_html__('Description', 'wp-job-board-pro'), $description_val);
$apply_types = WP_Job_Board_Pro_Mixes::get_default_apply_types();
$d_types = array();
if ( $apply_types ) {
foreach ($apply_types as $key => $value) {
$d_types[] = $key;
}
}
$text_field_allow_types = isset($field_data['allow_apply_types']) ? $field_data['allow_apply_types'] : $d_types;
self::select( $prefix.'[allow_apply_types]['.$field_counter.'][]', $apply_types, esc_html__('Allowed apply types', 'wp-job-board-pro'), $text_field_allow_types, '', true, true);
self::select( $prefix.'[show_in_submit_form][]', self::yes_no_opts(), esc_html__('Show in frontend form', 'wp-job-board-pro'), $show_in_submit_form_val, '', false, false, 'show_in_submit_form', $disable_check_val );
self::select( $prefix.'[show_in_admin_edit][]', self::yes_no_opts(), esc_html__('Show in admin form', 'wp-job-board-pro'), $show_in_admin_edit_val, '', false, false, 'show_in_admin_edit', $disable_check_val );
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX ) {
$show_in_submit_form_candidate_val = isset($field_data['show_in_submit_form_candidate']) ? $field_data['show_in_submit_form_candidate'] : 'yes';
self::select( $prefix.'[show_in_submit_form_candidate][]', self::candidate_form_opts(), esc_html__('Show in Candidate Form', 'wp-job-board-pro'), $show_in_submit_form_candidate_val, '', false, false, 'show_if_show_in_submit_form' );
}
if ( $p_prefix == WP_JOB_BOARD_PRO_CANDIDATE_PREFIX || $p_prefix == WP_JOB_BOARD_PRO_EMPLOYER_PREFIX ) {
$show_in_register_form_val = isset($field_data['show_in_register_form']) ? $field_data['show_in_register_form'] : '';
$disable_check_register_val = isset($field_data['disable_check_register']) ? $field_data['disable_check_register'] : false;
self::select( $prefix.'[show_in_register_form][]', self::yes_no_opts(), esc_html__('Show in register form', 'wp-job-board-pro'), $show_in_register_form_val, '', false, false, '', $disable_check_register_val );
}
self::select( $prefix.'[required][]', self::yes_no_opts(), esc_html__('Required', 'wp-job-board-pro'), $required_val, '', false, false );
// packages
if ( $p_prefix == WP_JOB_BOARD_PRO_JOB_LISTING_PREFIX ) {
$packages = self::get_packages();
if ( $packages ) {
$show_in_package = isset($field_data['show_in_package']) ? $field_data['show_in_package'] : '';
$package_display = isset($field_data['package_display']) ? $field_data['package_display'] : '';
self::select( $prefix.'[show_in_package][]', self::yes_no_opts(), esc_html__('Enable package visibility', 'wp-job-board-pro'), $show_in_package, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), false, true, 'show_in_package');
self::select( $prefix.'[package_display]['.$field_counter.'][]', $packages, esc_html__('Packages', 'wp-job-board-pro'), $package_display, esc_html__('Choose Packages to show this field insubmit form.', 'wp-job-board-pro'), true, true, 'show_if_show_in_package');
}
}
do_action('wp_job_board_pro_custom_field_available_apply_type_callback', $type, $field_counter, $field_data, $p_prefix);
?>
</div>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function field_actions_html_callback($li_rand, $rand, $field_type, $delete = true) {
ob_start();
?>
<div class="actions">
<a href="javascript:void(0);" class="custom-fields-edit <?php echo esc_attr($field_type); ?>-field<?php echo esc_attr($rand); ?>" ><i class="dashicons dashicons-edit" aria-hidden="true"></i></a>
<?php if ($delete) { ?>
<a href="javascript:void(0);" class="custom-fields-remove" data-randid="<?php echo esc_attr($li_rand) ?>" data-fieldtype="<?php echo esc_attr($field_type); ?>"><i class="dashicons dashicons-trash" aria-hidden="true"></i></a>
<?php } ?>
</div>
<?php
$html = ob_get_clean();
return $html;
}
public static function header_html($type, $rand, $label_val) {
?>
<div class="field-intro">
<?php $field_dyn_name = $label_val != '' ? '<b>(' . $label_val . ')</b>' : '' ?>
<a href="javascript:void(0);" class="<?php echo esc_attr($type); ?>-field<?php echo esc_attr($rand); ?>" >
<?php echo wp_kses(sprintf(__('%s Field %s', 'wp-job-board-pro'), $type, $field_dyn_name), array('b' => array())); ?>
</a>
</div>
<?php
}
public static function text($name, $title = '', $value = '', $desc = '', $inputclass = '', $fullwidth = false) {
?>
<div class="form-group <?php echo esc_attr($fullwidth ? 'fullwidth' : ''); ?>">
<label><?php echo $title; ?></label>
<div class="input-field">
<input type="text" name="<?php echo $name ;?>" value="<?php echo esc_attr($value); ?>" <?php echo trim($inputclass ? 'class="'.$inputclass.'"' : ''); ?>/>
<?php if ( !empty($desc) ) { ?>
<span class="desc"><?php echo $desc; ?></span>
<?php } ?>
</div>
</div>
<?php
}
public static function number($name, $title = '', $value = '', $desc = '', $inputclass = '', $fullwidth = false) {
?>
<div class="form-group <?php echo esc_attr($fullwidth ? 'fullwidth' : ''); ?>">
<label><?php echo $title; ?></label>
<div class="input-field">
<input type="number" name="<?php echo $name ;?>" value="<?php echo esc_attr($value); ?>" <?php echo trim($inputclass ? 'class="'.$inputclass.'"' : ''); ?>/>
<?php if ( !empty($desc) ) { ?>
<span class="desc"><?php echo $desc; ?></span>
<?php } ?>
</div>
</div>
<?php
}
public static function hidden($name, $value = '', $inputclass = '') {
?>
<input type="hidden" name="<?php echo $name ;?>" value="<?php echo esc_attr($value); ?>" <?php echo trim($inputclass ? 'class="'.$inputclass.'"' : ''); ?>/>
<?php
}
public static function textarea($name, $title = '', $value = '', $desc = '', $fullwidth = false) {
?>
<div class="form-group <?php echo esc_attr($fullwidth ? 'fullwidth' : ''); ?>">
<label><?php echo $title; ?></label>
<div class="input-field">
<textarea name="<?php echo $name ;?>"><?php echo esc_html($value); ?></textarea>
<?php if ( !empty($desc) ) { ?>
<span class="desc"><?php echo $desc; ?></span>
<?php } ?>
</div>
</div>
<?php
}
public static function checkbox($name, $title = '', $value = '', $disabled = false, $fullwidth = true, $inputclass = '') {
?>
<div class="form-group <?php echo esc_attr($fullwidth ? 'fullwidth' : ''); ?>">
<label>
<input <?php echo trim($inputclass ? 'class="'.$inputclass.'"' : ''); ?> type="checkbox" name="<?php echo $name ;?>" value="yes" <?php echo ($value == 'yes' ? 'checked="checked"' : ''); ?> <?php echo ($disabled ? 'readonly="readonly" onclick="return false;"' : ''); ?>/>
<?php echo $title; ?>
</label>
</div>
<?php
}
public static function select($name, $opts, $title = '', $values = '', $desc = '', $multiple = false, $fullwidth = false, $wrapperclass = '', $disabled = false) {
if ( !is_array($values) ) {
$values = array($values);
}
?>
<div class="form-group <?php echo esc_attr($fullwidth ? 'fullwidth' : ''); ?> <?php echo trim($wrapperclass ? $wrapperclass : ''); ?>">
<label><?php echo $title; ?></label>
<div class="input-field">
<select name="<?php echo $name ;?>" <?php echo ($multiple ? 'multiple="multiple"' : ''); ?>>
<?php
if ( !empty($opts) && is_array($opts) ) {
$opts = self::sort_array_by_array( $opts, $values );
foreach ($opts as $key => $text) { ?>
<option value="<?php echo esc_attr($key); ?>" <?php self::selected($key, $values, $disabled); ?>><?php echo $text; ?></option>
<?php }
} ?>
</select>
<?php if ( !empty($desc) ) { ?>
<span class="desc"><?php echo $desc; ?></span>
<?php } ?>
</div>
</div>
<?php
}
public static function selected($val, $defaults, $disabled = false) {
if ( is_array($defaults) ) {
if ( in_array($val, $defaults) ) {
echo 'selected="selected"';
} else {
if ( $disabled ) {
echo 'disabled';
}
}
} else {
if ( $val == $defaults ) {
echo 'selected="selected"';
} else {
if ( $disabled ) {
echo 'disabled';
}
}
}
}
public static function icon_picker($value = '', $id = '', $name = '', $class = 'wp-job-board-pro-icon-pickerr') {
$html = "
<script>
jQuery(document).ready(function ($) {
setTimeout(function(){
var e9_element = $('#icon_picker_".$id."').fontIconPicker({
theme: 'fip-bootstrap',
source: wp_job_board_pro_all_loaded_icons
});
}, 1000);
});
</script>";
$html .= '<input type="text" id="icon_picker_' . $id . '" class="' . $class . '" name="' . $name . '" value="' . $value . '">';
return $html;
}
public static function sort_array_by_array( array $array, array $orderArray ) {
$ordered = array();
foreach ( $orderArray as $key ) {
if ( array_key_exists( $key, $array ) ) {
$ordered[ $key ] = $array[ $key ];
unset( $array[ $key ] );
}
}
return $ordered + $array;
}
}
WP_Job_Board_Pro_CustomFieldHTML::init();