public function filters_popup()
{
$filters = $this->filters;
?>
<div id="pods-ui-posts-filter-popup" class="hidden">
<form action="" method="get" class="pods-ui-posts-filter-popup">
<h2><?php
_e('Advanced Filters', 'pods');
?>
</h2>
<div class="pods-ui-posts-filters">
<?php
$excluded_filters = array('search' . $this->num, 'pg' . $this->num, 'action' . $this->num, 'action_bulk' . $this->num, 'action_bulk_ids' . $this->num, '_wpnonce' . $this->num);
foreach ($filters as $filter) {
$excluded_filters[] = 'filters_relation';
$excluded_filters[] = 'filters_compare_' . $filter;
$excluded_filters[] = 'filter_' . $filter . '_start';
$excluded_filters[] = 'filter_' . $filter . '_end';
$excluded_filters[] = 'filter_' . $filter;
}
$get = $_GET;
foreach ($get as $k => $v) {
if (in_array($k, $excluded_filters) || strlen($v) < 1) {
continue;
}
?>
<input type="hidden" name="<?php
echo esc_attr($k);
?>
" value="<?php
echo esc_attr($v);
?>
" />
<?php
}
$zebra = true;
foreach ($filters as $filter) {
if (empty($filter)) {
continue;
}
if (isset($this->pod->fields[$filter])) {
$filter_field = $this->pod->fields[$filter];
} elseif (isset($this->fields['manage'][$filter])) {
$filter_field = $this->fields['manage'][$filter];
} else {
continue;
}
?>
<p class="pods-ui-posts-filter-toggled pods-ui-posts-filter-<?php
echo esc_attr($filter . ($zebra ? ' clear' : ''));
?>
">
<?php
if (in_array($filter_field['type'], array('date', 'datetime', 'time'))) {
$start = pods_var_raw('filter_' . $filter . '_start', 'get', pods_var_raw('filter_default', $filter_field, '', null, true), null, true);
$end = pods_var_raw('filter_' . $filter . '_end', 'get', pods_var_raw('filter_ongoing_default', $filter_field, '', null, true), null, true);
// override default value
$filter_field['options']['default_value'] = '';
$filter_field['options'][$filter_field['type'] . '_allow_empty'] = 1;
if (!empty($start) && !in_array($start, array('0000-00-00', '0000-00-00 00:00:00', '00:00:00'))) {
$start = PodsForm::field_method($filter_field['type'], 'convert_date', $start, 'n/j/Y');
}
if (!empty($end) && !in_array($end, array('0000-00-00', '0000-00-00 00:00:00', '00:00:00'))) {
$end = PodsForm::field_method($filter_field['type'], 'convert_date', $end, 'n/j/Y');
}
?>
<span class="pods-ui-posts-filter-toggle toggle-on<?php
echo esc_attr(empty($start) && empty($end) ? '' : ' hidden');
?>
">+</span>
<span class="pods-ui-posts-filter-toggle toggle-off<?php
echo esc_attr(empty($start) && empty($end) ? ' hidden' : '');
?>
"><?php
_e('Clear', 'pods');
?>
</span>
<label for="pods-form-ui-filter-<?php
echo esc_attr($filter);
?>
_start">
<?php
echo $filter_field['label'];
?>
</label>
<span class="pods-ui-posts-filter<?php
echo esc_attr(empty($start) && empty($end) ? ' hidden' : '');
?>
">
<?php
echo PodsForm::field('filter_' . $filter . '_start', $start, $filter_field['type'], $filter_field);
?>
<label for="pods-form-ui-filter-<?php
echo esc_attr($filter);
?>
_end">to</label>
<?php
echo PodsForm::field('filter_' . $filter . '_end', $end, $filter_field['type'], $filter_field);
?>
</span>
<?php
} elseif ('pick' == $filter_field['type']) {
$value = pods_var_raw('filter_' . $filter, 'get', '');
if (strlen($value) < 1) {
$value = pods_var_raw('filter_default', $filter_field);
}
// override default value
$filter_field['options']['default_value'] = '';
$filter_field['options']['pick_format_type'] = 'single';
$filter_field['options']['pick_format_single'] = 'dropdown';
$filter_field['options']['input_helper'] = pods_var_raw('ui_input_helper', pods_var_raw('options', pods_var_raw($filter, $this->fields['search'], array(), null, true), array(), null, true), '', null, true);
$filter_field['options']['input_helper'] = pods_var_raw('ui_input_helper', $filter_field['options'], $filter_field['options']['input_helper'], null, true);
$options = array_merge($filter_field, $filter_field['options']);
?>
<span class="pods-ui-posts-filter-toggle toggle-on<?php
echo esc_attr(empty($value) ? '' : ' hidden');
?>
">+</span>
<span class="pods-ui-posts-filter-toggle toggle-off<?php
echo esc_attr(empty($value) ? ' hidden' : '');
?>
"><?php
_e('Clear', 'pods');
?>
</span>
<label for="pods-form-ui-filter-<?php
echo esc_attr($filter);
?>
">
<?php
echo $filter_field['label'];
?>
</label>
<span class="pods-ui-posts-filter<?php
echo esc_attr(strlen($value) < 1 ? ' hidden' : '');
?>
">
<?php
echo PodsForm::field('filter_' . $filter, $value, 'pick', $options);
?>
</span>
<?php
} elseif ('boolean' == $filter_field['type']) {
$value = pods_var_raw('filter_' . $filter, 'get', '');
if (strlen($value) < 1) {
$value = pods_var_raw('filter_default', $filter_field);
}
// override default value
$filter_field['options']['default_value'] = '';
$filter_field['options']['pick_format_type'] = 'single';
$filter_field['options']['pick_format_single'] = 'dropdown';
$filter_field['options']['pick_object'] = 'custom-simple';
$filter_field['options']['pick_custom'] = array('1' => pods_var_raw('boolean_yes_label', $filter_field['options'], __('Yes', 'pods'), null, true), '0' => pods_var_raw('boolean_no_label', $filter_field['options'], __('No', 'pods'), null, true));
$filter_field['options']['input_helper'] = pods_var_raw('ui_input_helper', pods_var_raw('options', pods_var_raw($filter, $this->fields['search'], array(), null, true), array(), null, true), '', null, true);
$filter_field['options']['input_helper'] = pods_var_raw('ui_input_helper', $filter_field['options'], $filter_field['options']['input_helper'], null, true);
$options = array_merge($filter_field, $filter_field['options']);
?>
<span class="pods-ui-posts-filter-toggle toggle-on<?php
echo esc_attr(empty($value) ? '' : ' hidden');
?>
">+</span>
<span class="pods-ui-posts-filter-toggle toggle-off<?php
echo esc_attr(empty($value) ? ' hidden' : '');
?>
"><?php
_e('Clear', 'pods');
?>
</span>
<label for="pods-form-ui-filter-<?php
echo esc_attr($filter);
?>
">
<?php
echo $filter_field['label'];
?>
</label>
<span class="pods-ui-posts-filter<?php
echo esc_attr(strlen($value) < 1 ? ' hidden' : '');
?>
">
<?php
echo PodsForm::field('filter_' . $filter, $value, 'pick', $options);
?>
</span>
<?php
} else {
$value = pods_var_raw('filter_' . $filter, 'get');
if (strlen($value) < 1) {
$value = pods_var_raw('filter_default', $filter_field);
}
$options = array('input_helper' => pods_var_raw('ui_input_helper', pods_var_raw('options', pods_var_raw($filter, $this->fields['search'], array(), null, true), array(), null, true), '', null, true));
if (empty($options['input_helper']) && isset($filter_field['options']) && isset($filter_field['options']['input_helper'])) {
$options['input_helper'] = $filter_field['options']['input_helper'];
}
?>
<span class="pods-ui-posts-filter-toggle toggle-on<?php
echo esc_attr(empty($value) ? '' : ' hidden');
?>
">+</span>
<span class="pods-ui-posts-filter-toggle toggle-off<?php
echo esc_attr(empty($value) ? ' hidden' : '');
?>
"><?php
_e('Clear', 'pods');
?>
</span>
<label for="pods-form-ui-filter-<?php
echo esc_attr($filter);
?>
">
<?php
echo $filter_field['label'];
?>
</label>
<span class="pods-ui-posts-filter<?php
echo esc_attr(empty($value) ? ' hidden' : '');
?>
">
<?php
echo PodsForm::field('filter_' . $filter, $value, 'text', $options);
?>
</span>
<?php
}
?>
</p>
<?php
$zebra = empty($zebra);
}
?>
<p class="pods-ui-posts-filter-toggled pods-ui-posts-filter-search<?php
echo esc_attr($zebra ? ' clear' : '');
?>
">
<label for="pods-form-ui-search<?php
echo esc_attr($this->num);
?>
"><?php
_e('Search Text', 'pods');
?>
</label>
<?php
echo PodsForm::field('search' . $this->num, pods_var_raw('search' . $this->num, 'get'), 'text');
?>
</p>
<?php
$zebra = empty($zebra);
?>
</div>
<p class="submit<?php
echo esc_attr($zebra ? ' clear' : '');
?>
"><input type="submit" value="<?php
echo esc_attr($this->header['search']);
?>
" class="button button-primary" /></p>
</form>
</div>
<script type="text/javascript">
jQuery( function () {
jQuery( document ).on( 'click', '.pods-ui-posts-filter-toggle.toggle-on', function ( e ) {
jQuery( this ).parent().find( '.pods-ui-posts-filter' ).removeClass( 'hidden' );
jQuery( this ).hide();
jQuery( this ).parent().find( '.toggle-off' ).show();
} );
jQuery( document ).on( 'click', '.pods-ui-posts-filter-toggle.toggle-off', function ( e ) {
jQuery( this ).parent().find( '.pods-ui-posts-filter' ).addClass( 'hidden' );
jQuery( this ).parent().find( 'select, input' ).val( '' );
jQuery( this ).hide();
jQuery( this ).parent().find( '.toggle-on' ).show();
} );
jQuery( document ).on( 'click', '.pods-ui-posts-filter-toggled label', function ( e ) {
if ( jQuery( this ).parent().find( '.pods-ui-posts-filter' ).hasClass( 'hidden' ) ) {
jQuery( this ).parent().find( '.pods-ui-posts-filter' ).removeClass( 'hidden' );
jQuery( this ).parent().find( '.toggle-on' ).hide();
jQuery( this ).parent().find( '.toggle-off' ).show();
}
else {
jQuery( this ).parent().find( '.pods-ui-posts-filter' ).addClass( 'hidden' );
jQuery( this ).parent().find( 'select, input' ).val( '' );
jQuery( this ).parent().find( '.toggle-on' ).show();
jQuery( this ).parent().find( '.toggle-off' ).hide();
}
} );
} );
</script>
<?php
}