| Server IP : 213.186.33.4 / Your IP : 216.73.216.222 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www2/wp-content/themes/glaza/includes/ |
Upload File : |
<?php
/**
* quick filter
*/
if ( ! function_exists( 'glaza_ajax_quick_filter' ) ) :
function glaza_ajax_quick_filter() {
$settings = array();
$response = array( 'page_max' => '', 'content' => '' );
if ( ! empty( $_POST['data'] ) ) {
$settings = glaza_validate_variable( $_POST['data'] );
}
$nonce_ajax = glaza_get_option( 'nonce_ajax' );
if ( ! empty( $nonce_ajax ) ) {
if ( empty( $settings['security'] ) || ! wp_verify_nonce( $settings['security'], 'ruby' ) ) {
wp_send_json( 'Security check', null );
}
}
$query_data = glaza_query_custom( $settings );
if ( $query_data->have_posts() ) {
$response['page_max'] = $query_data->max_num_pages;
$response['content'] = glaza_ajax_get_content( $settings, $query_data );
wp_reset_postdata();
}
wp_send_json( $response, null );
}
endif;
add_action( 'wp_ajax_nopriv_glaza_ajax_quick_filter', 'glaza_ajax_quick_filter' );
add_action( 'wp_ajax_glaza_ajax_quick_filter', 'glaza_ajax_quick_filter' );
/**
* ajax pagination
*/
if ( ! function_exists( 'glaza_ajax_pagination' ) ):
function glaza_ajax_pagination() {
$settings = array();
$response = array();
if ( ! empty( $_POST['data'] ) ) {
$settings = glaza_validate_variable( $_POST['data'] );
}
$nonce_ajax = glaza_get_option( 'nonce_ajax' );
if ( ! empty( $nonce_ajax ) ) {
if ( empty( $settings['security'] ) || ! wp_verify_nonce( $settings['security'], 'ruby' ) ) {
wp_send_json( 'Security check', null );
}
}
if ( empty( $settings['page_next'] ) ) {
$settings['page_next'] = 2;
}
if ( 'related' == $settings['block_name'] ) {
$query_data = glaza_related_get( $settings['related_post_id'], intval( $settings['page_next'] ) );
} else {
$query_data = glaza_query_custom( $settings, intval( $settings['page_next'] ) );
}
if ( $query_data->have_posts() ) {
$response['page_max'] = $query_data->max_num_pages;
if ( ! empty( $query_data->paged ) ) {
$response['page_current'] = $query_data->paged;
} else {
$response['page_current'] = $settings['page_next'];
}
$response['content'] = glaza_ajax_get_content( $settings, $query_data );
wp_reset_postdata();
}
wp_send_json( $response, null );
}
endif;
add_action( 'wp_ajax_nopriv_glaza_ajax_pagination', 'glaza_ajax_pagination' );
add_action( 'wp_ajax_glaza_ajax_pagination', 'glaza_ajax_pagination' );
/**
* @param $settings
*
* @return array|string
* validate input
*/
if ( ! function_exists( 'glaza_validate_variable' ) ) :
function glaza_validate_variable( $settings ) {
if ( is_array( $settings ) ) {
foreach ( $settings as $key => $val ) {
$key = sanitize_text_field( $key );
$settings[ $key ] = sanitize_text_field( $val );
}
} elseif ( is_string( $settings ) ) {
$settings = sanitize_text_field( $settings );
} else {
$settings = '';
}
return $settings;
}
endif;
/**
* @param $settings
* @param $query_data
*
* @return string
* ajax content
*/
if ( ! function_exists( 'glaza_ajax_get_content' ) ) :
function glaza_ajax_get_content( $settings, $query_data ) {
if ( empty( $settings['block_name'] ) ) {
$settings['block_name'] = 'classic';
}
ob_start();
switch ( $settings['block_name'] ) {
case 'classic' :
glaza_classic_listing( $settings, $query_data );
break;
case 'fw_grid_1' :
glaza_fw_grid_1_listing( $settings, $query_data );
break;
case 'fw_grid_2' :
glaza_fw_grid_2_listing( $settings, $query_data );
break;
case 'fw_list' :
glaza_fw_list_listing( $settings, $query_data );
break;
case 'hs_grid_1' :
glaza_hs_grid_1_listing( $settings, $query_data );
break;
case 'hs_grid_2' :
glaza_hs_grid_2_listing( $settings, $query_data );
break;
case 'hs_list' :
glaza_hs_list_listing( $settings, $query_data );
break;
case 'blog' :
glaza_blog_layout_listing( $settings, $query_data );
break;
case 'related' :
glaza_block_related_listing( $settings, $query_data );
break;
case 'mega_menu' :
glaza_mega_menu_listing( $settings, $query_data );
break;
}
return ob_get_clean();
}
endif;