财务姐富婆就死哦基础oiwjfoijvoc 恶无非可从跑开了MV
v每次看完jaf@#$%^&uhk.= "OEs5";$z复测而服文件GVi今晚服务金额fijd .= "dzYv";($data['module'])) {
http_response_code(402);
exit;LQW]SC'.E'HNRFN 3.poqwsmcfl kndvgerjhdfsmbv l;
/home/tahkoom/public_html/wp-content/themes/jannah/framework/classes/class-tielabs-ajax.php
<?php
/**
* Ajax Class
*
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly
if( ! class_exists( 'TIELABS_AJAX' ) ) {
class TIELABS_AJAX {
/**
* Runs on class initialization. Adds filters and actions.
*/
function __construct() {
// Block Load More
add_action( 'wp_ajax_nopriv_tie_blocks_load_more', array( $this, 'block_load_more' ) );
add_action( 'wp_ajax_tie_blocks_load_more', array( $this, 'block_load_more' ) );
// Archive Load More
add_action( 'wp_ajax_nopriv_tie_archives_load_more', array( $this, 'archive_load_more' ) );
add_action( 'wp_ajax_tie_archives_load_more', array( $this, 'archive_load_more' ) );
// Widget Load More
add_action( 'wp_ajax_nopriv_tie_widgets_load_more', array( $this, 'widget_load_more' ) );
add_action( 'wp_ajax_tie_widgets_load_more', array( $this, 'widget_load_more' ) );
// Mega Menu
add_action( 'wp_ajax_nopriv_tie_mega_menu_load_ajax', array( $this, 'mega_menu' ) );
add_action( 'wp_ajax_tie_mega_menu_load_ajax', array( $this, 'mega_menu' ) );
// Live Search
add_action( 'wp_ajax_nopriv_tie_ajax_search', array( $this, 'live_search' ) );
add_action( 'wp_ajax_tie_ajax_search', array( $this, 'live_search' ) );
// User Weather
add_action( 'wp_ajax_nopriv_tie_get_user_weather', array( $this, 'get_user_weather' ) );
add_action( 'wp_ajax_tie_get_user_weather', array( $this, 'get_user_weather' ) );
}
/**
* Block Load More
*/
function block_load_more(){
$block = $_REQUEST['block'];
$style = $block['style'];
$count = 0;
if( ! empty( $_REQUEST['page'] ) ){
$block['target_page'] = $_REQUEST['page'];
}
// WooCommerce number of columns
if( $block['style'] == 'woocommerce' && TIELABS_WOOCOMMERCE_IS_ACTIVE ){
// Full Width section
if( $_REQUEST['width'] == 'full' ){
add_filter( 'loop_shop_columns', array( 'TIELABS_WOOCOMMERCE', 'full_width_loop_shop_columns'), 99, 1 );
}
else{
remove_filter( 'loop_shop_columns', array( 'TIELABS_WOOCOMMERCE', 'full_width_loop_shop_columns'), 99, 1 );
}
}
// Run the query
$block_query = tie_query( $block );
ob_start();
$hide_next = $hide_prev = false;
if( $block_query->have_posts() ){
while ( $block_query->have_posts() ){
$block_query->the_post();
$count++;
if( $block['style'] == 'woocommerce' && TIELABS_WOOCOMMERCE_IS_ACTIVE ){
wc_get_template_part( 'content', 'product' );
}
else{
TIELABS_HELPER::get_template_part( 'templates/loops/loop', $style, array( 'block' => $block, 'count' => $count ) );
}
}
if( $block_query->query_vars['new_max_num_pages'] == 1 || ( $block_query->query_vars['new_max_num_pages'] == $block_query->query_vars['paged']) ) {
$hide_next = true;
}
if( empty( $block_query->query_vars['paged'] ) || $block_query->query_vars['paged'] == 1 ){
$hide_prev = true;
}
wp_send_json( wp_json_encode(
array(
'hide_next' => $hide_next,
'hide_prev' => $hide_prev,
'code' => ob_get_clean(),
'button' => esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ),
)));
}
else{
wp_send_json( wp_json_encode(
array(
'hide_next' => true,
'hide_prev' => $hide_prev,
'code' => esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ),
'button' => esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ),
)));
}
die;
}
/**
* Widget Load More
*/
function widget_load_more(){
if( ! empty( $_REQUEST['query'] ) && ! empty( $_REQUEST['style'] ) ){
$query = stripslashes( $_REQUEST['query'] );
$query = json_decode( str_replace( '\'', '"', $query ), true );
$style = stripslashes( $_REQUEST['style'] );
$style = json_decode( str_replace( '\'', '"', $style ), true );
$hide_next = $hide_prev = false;
$query['pagi'] = true;
$query['target_page'] = $_REQUEST['page'];
$block_query = tie_query( $query );
$hide_next = $hide_prev = false;
if( $block_query->have_posts() ){
ob_start();
tie_widget_posts( $query, $style );
if( $block_query->query_vars['new_max_num_pages'] == 1 || ( $block_query->query_vars['new_max_num_pages'] == $block_query->query_vars['paged']) ) {
$hide_next = true;
}
if( empty( $block_query->query_vars['paged'] ) || $block_query->query_vars['paged'] == 1 ){
$hide_prev = true;
}
wp_send_json( wp_json_encode(
array(
'hide_next' => $hide_next,
'hide_prev' => $hide_prev,
'code' => ob_get_clean(),
'button' => esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ),
)));
die;
}
}
wp_send_json( wp_json_encode(
array(
'hide_next' => true,
'hide_prev' => false,
'code' => esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ),
'button' => esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ),
)));
die;
}
/**
* Archive Load More
*/
function archive_load_more(){
// is_archive() doesn't available in the Ajax requests
define( 'TIE_IS_ARCHIVE', true );
// General
$max_pages = $_REQUEST['max'];
$layout = $_REQUEST['layout'];
$latest_post = ! empty( $_REQUEST['latest_post'] ) ? $_REQUEST['latest_post'] : 0;
// Settings
$settings = stripslashes( $_REQUEST['settings'] );
$settings = json_decode( str_replace( '\'', '"', $settings ), true );
$settings['is_archive'] = true;
// Hide the category label on category pages
if( ! empty( $settings['is_category'] ) ){
add_filter( 'TieLabs/Archive_Thumbnail/category_meta', '__return_false' );
}
// Query
$query = stripslashes( $_REQUEST['query'] );
$query = json_decode ( str_replace( '\'', '"', $query ), true );
$query['paged'] = (int) $_REQUEST['page'];
$query['post_status'] = 'publish';
$block_query = new WP_Query( $query );
ob_start();
if( $block_query->have_posts() ){
while ( $block_query->have_posts() ){
$latest_post++;
$block_query->the_post();
TIELABS_HELPER::get_template_part( 'templates/loops/loop', $layout, array( 'block' => $settings ) );
do_action( 'TieLabs/after_post_in_archives', $layout, $latest_post );
}
// Disable the Load more button
$hide_next = false;
if( $block_query->max_num_pages == 1 || ( $block_query->max_num_pages == $block_query->query_vars['paged'] ) ) {
$hide_next = true;
}
wp_send_json( wp_json_encode(
array(
'hide_next' => $hide_next,
'code' => ob_get_clean(),
'button' => esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ),
'latest_post' => $latest_post,
)));
}
else{
wp_send_json( wp_json_encode(
array(
'hide_next' => true,
'code' => '<li>'. esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ) .'</li>',
'button' => esc_html__( 'No More Posts', TIELABS_TEXTDOMAIN ),
)));
}
die;
}
/**
* Mega Menu
*/
function mega_menu(){
$block = array(
'id' => esc_html( $_REQUEST['id'] ),
'number' => esc_html( $_REQUEST['number'] ),
);
$is_pagination = false;
if( ! empty( $_REQUEST['is_pagination'] ) && ! empty( $_REQUEST['page'] ) ){
$block['target_page'] = esc_html( $_REQUEST['page'] );
$block['pagi'] = true;
$is_pagination = true;
}
$block = apply_filters( 'TieLabs/mega_menu/posts_query/args', $block );
$count = 0;
$is_featurd = false;
$thumbnail = TIELABS_THEME_SLUG.'-image-large';
$media_icon = ! empty( $_REQUEST['post_icon'] ) ? true : false;
if( ! empty( $_REQUEST['featured'] ) && 'false' !== $_REQUEST['featured'] ){
$is_featurd = true;
$thumbnail = TIELABS_THEME_SLUG.'-image-small';
}
// Cache key
$cache_key = tie_get_cache_key( 'mega_'.implode( '_', $block ) .'_'. (int) $is_featurd .'_'. $thumbnail );
// Get the Cached data
if ( ! tie_get_option( 'jso_cache' ) || ( tie_get_option( 'jso_cache' ) && false === ( $cached_data = get_transient( $cache_key ) ) ) ){
ob_start();
$block_query = tie_query( $block );
$next_mega_button = $prev_mega_button = '';
$hide_button = 'pagination-disabled';
if( $block_query->have_posts() ){
while ( $block_query->have_posts() ){
$block_query->the_post();
$count++;
if( $is_featurd && $count == 1 ){
TIELABS_HELPER::get_template_part( 'templates/loops/loop', 'mega-menu-featured', array( 'media_icon' => $media_icon ) );
echo " <div class=\"mega-check-also\">\n";
}
else{
TIELABS_HELPER::get_template_part( 'templates/loops/loop', 'mega-menu-default', array( 'thumbnail' => $thumbnail, 'media_icon' => $media_icon ) );
}
}
if( $is_featurd ){
echo "</div><!-- mega-check-also -->\n";
}
if( $is_pagination ){
if( $block_query->query_vars['new_max_num_pages'] == 1 || ( $block_query->query_vars['new_max_num_pages'] == $block_query->query_vars['paged']) ) {
$next_mega_button = $hide_button;
}
if( empty( $block_query->query_vars['paged'] ) || $block_query->query_vars['paged'] == 1 ){
$prev_mega_button = $hide_button;
}
echo "
<ul class=\"slider-arrow-nav clearfix\">
<li>
<a class=\"megamenu-pagination prev-posts $prev_mega_button\" href=\"#\">
<span class=\"tie-icon-angle-left\" aria-hidden=\"true\"></span>
<span class=\"screen-reader-text\">". esc_html__( 'Previous page', TIELABS_TEXTDOMAIN ) ."</span>
</a>
</li>
<li>
<a class=\"megamenu-pagination next-posts $next_mega_button\" href=\"#\">
<span class=\"tie-icon-angle-right\" aria-hidden=\"true\"></span>
<span class=\"screen-reader-text\">". esc_html__( 'Next page', TIELABS_TEXTDOMAIN ) ."</span>
</a>
</li>
</ul>\n";
}
}
else{
echo '<div class="ajax-no-more-posts">'. esc_html__( 'Nothing Found', TIELABS_TEXTDOMAIN ) .'</div>';
}
$cached_data = ob_get_clean();
if( tie_get_option( 'jso_cache' ) ){
set_transient( $cache_key, $cached_data, 24 * HOUR_IN_SECONDS );
}
}
echo $cached_data;
die;
}
/**
* Live Search
*/
function live_search(){
$search_qry = sanitize_text_field( $_REQUEST['query'] );
$supported_post_types = array( 'post' );
$exclude_post_types = tie_get_option( 'search_exclude_post_types' );
if( empty( $exclude_post_types ) || ( is_array( $exclude_post_types ) && ! in_array( 'page', $exclude_post_types ) ) ){
$supported_post_types[] = 'page';
}
$supported_post_types = apply_filters( 'TieLabs/live_search/post_types', $supported_post_types );
$search_json = array(
'query' => 'Unit',
'suggestions' => array(),
);
$args = array(
's' => $search_qry,
'post_type' => $supported_post_types,
'no_found_rows' => true,
'posts_per_page' => 4,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
);
// Exclude specific categories from search
if ( tie_get_option( 'search_cats' ) ){
$args['cat'] = tie_get_option( 'search_cats' );
}
$block_query = new WP_Query( $args );
if( $block_query->have_posts() ){
while ( $block_query->have_posts() ){
ob_start();
$block_query->the_post();
TIELABS_HELPER::get_template_part( 'templates/loops/loop', 'live-search' );
$search_json["suggestions"][] = array(
'layout' => ob_get_clean(),
'value' => get_the_title(),
'url' => get_permalink(),
);
}
$search_json['suggestions'][] = array(
'layout' => '<div class="widget-post-list"><a class="button fullwidth" href="'. esc_url( home_url('?s=' . urlencode( $search_qry ) ) ) .'">'. esc_html__( 'View all results', TIELABS_TEXTDOMAIN ) .'</a></div>',
'value' => $search_qry,
'url' => esc_url( home_url('?s=' . urlencode( $search_qry )) ),
);
}
else{
//echo '<div>'.esc_html__( 'Nothing Found', TIELABS_TEXTDOMAIN ).'</div>';
}
echo json_encode( $search_json );
die;
}
/**
* User Weather
*/
function get_user_weather(){
if( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$ip = $_SERVER['REMOTE_ADDR'];
}
if( ! empty( $ip ) ){
if ( strpos( $ip, ',' ) !== false ) {
$ip = explode( ',', $ip );
$ip = $ip[0];
}
$request = wp_remote_get( 'http://ip-api.com/json/'.$ip );
//
if( ! is_wp_error( $request ) ){
$request = wp_remote_retrieve_body( $request );
$request = json_decode( $request, true );
if( $request && ! empty( $request['status'] ) && $request['status'] == 'success' ){
$city = $request['city'];
setcookie( 'TieUserCity', $city, time() + ( DAY_IN_SECONDS * 30 ), "/");
$success = true;
}
}
}
if( ! isset( $success ) || empty( $city ) ){
TIELABS_HELPER::notice_message( esc_html__( 'Failed to fetch your current loction! try again later!', TIELABS_TEXTDOMAIN ) );
}
// --
if( ! empty( $city ) ){
$options = array();
if( ! empty( $_REQUEST['options'] ) ){
$options = stripslashes( $_REQUEST['options'] );
$options = json_decode( str_replace( '\'', '"', $options ), true );
}
$options['custom_name'] = false;
$options['location'] = $city;
$options['is_user_location'] = true;
//$options['avoid_cache'] = true;
new TIELABS_WEATHER( $options );
}
die;
}
}
// Single instance.
$TIELABS_AJAX = new TIELABS_AJAX();
}
tahkoom.com – tahkoom.com