File: /home/slyfwmm/studiomilighetti/wp-content/themes/domik/includes/ajax-callback.php
<?php
add_action('wp_ajax_nopriv_domik_lm_folio', 'domik_lm_folio_callback');
add_action('wp_ajax_domik_lm_folio', 'domik_lm_folio_callback');
function domik_lm_folio_callback(){
$output = array();
$output['status'] = 'fail';
if ( ! isset( $_POST['_lmnonce'] ) || ! wp_verify_nonce( $_POST['_lmnonce'], 'domik_lm_folio' ) ) {
// This nonce is not valid.
$output['content'] = esc_html__('Sorry, your nonce did not verify.','domik' );
$output['is_remaining'] = 'no';
} else {
// The nonce was valid.
// Do stuff here.
$default_args = array(
'post_type' => 'portfolio',
'paged' => 1,
'posts_per_page'=> 3,
'post__in' => array(),
'post__not_in' => array(),
'orderby'=> 'date',
'order'=> 'DESC',
'cat'=> '',
'lmore_items'=> 3,
);
$args = wp_parse_args( $_POST['wp_query'], $default_args );
$lmore_items = $args['lmore_items'];
if(isset($args['additional_vars'])){
$additional_vars = $args['additional_vars'];
unset($args['additional_vars']);
}
// if(isset($args['folio_style'])){
// $folio_style = $args['folio_style'];
// unset($args['folio_style']);
// }else{
// $folio_style = 'style1';
// }
unset($args['action']);
unset($args['lmore_items']);
$args['offset'] = $current_offset = $args['posts_per_page'] + $lmore_items*($_POST['click_num']-1);
$args['posts_per_page'] = $lmore_items;
$folio_posts = new WP_Query($args);
ob_start();
if($folio_posts->have_posts()) :
while($folio_posts->have_posts()) : $folio_posts->the_post();
if(isset($additional_vars)){
domik_get_template_part('template-parts/folio/list', '', $additional_vars);
}else{
get_template_part( 'template-parts/folio/list', '' );
}
endwhile;
endif;
$output['status'] = 'success';
$output['content'] = ob_get_clean();
//check for remaining items
if($folio_posts->found_posts && $folio_posts->found_posts > $current_offset + $lmore_items){
$output['is_remaining'] = 'yes';
}else{
$output['is_remaining'] = 'no';
}
wp_reset_postdata();
}
wp_send_json( $output );
}
add_action('wp_ajax_nopriv_domik_lm_gal', 'domik_lm_gal_callback');
add_action('wp_ajax_domik_lm_gal', 'domik_lm_gal_callback');
function domik_lm_gal_callback(){
$output = array();
$output['status'] = 'fail';
$output['content'] = '';
$output['is_remaining'] = 'no';
if ( ! isset( $_POST['_lmnonce'] ) || ! wp_verify_nonce( $_POST['_lmnonce'], 'domik_lm_gal' ) ) {
// This nonce is not valid.
$output['content'] = esc_html__('Sorry, your nonce did not verify.','domik' );
$output['is_remaining'] = 'no';
} else {
// The nonce was valid.
// Do stuff here.
$default_args = array(
'images' => '',
'lmore_items'=> 3,
);
$args = wp_parse_args( $_POST['wp_query'], $default_args );
$lmore_items = $args['lmore_items'];
$lmore_images = $args['images'];
$loaded = $args['loaded'];
if(isset($args['disable_title'])){
$disable_title = $args['disable_title'];
}else{
$disable_title = 'no';
}
$loaded += $lmore_items*($_POST['click_num']-1);
$new_loaded = $loaded + $lmore_items;
if(!empty($lmore_images)){
$images = explode(",", $lmore_images);
if(!empty($images)) :
$imgatts = array('class'=>'respimg');
ob_start();
foreach ($images as $key => $img) {
if($key >= $loaded && $key < $new_loaded) {
if($disable_title == 'yes'){
$imgtitle = '';
}else{
$imgtitle = get_the_title($img );
}
$image_alt = get_post_meta($img, '_wp_attachment_image_alt', true);
$item_w = '';
$item_image_w = 'folio-size-one';
if(strpos($image_alt, "gallery-item-second") !== false){
$item_w = 'gallery-item-second';
$item_image_w = 'folio-size-second';
}
if(strpos($image_alt, "gallery-item-three") !== false){
$item_w = 'gallery-item-three';
$item_image_w = 'folio-size-three';
}
if(strpos($image_alt, "gallery-item-one-tall") !== false){
$item_image_w = 'folio-size-one-tall';
}
?>
<div class="gallery-item <?php echo esc_attr($item_w );?>">
<div class="grid-item-holder">
<div class="box-item">
<a href="<?php echo esc_url(wp_get_attachment_url( $img ) );?>" title="<?php echo esc_attr($imgtitle );?>">
<span class="overlay"></span>
<?php echo wp_get_attachment_image( $img, $item_image_w , false, $imgatts );?>
</a>
</div>
</div>
</div>
<?php
}
}
if($key >= $new_loaded){
$output['is_remaining'] = 'yes';
}
$output['content'] = ob_get_clean();
endif;
}
$output['status'] = 'success';
}
wp_send_json( $output );
}
add_action('wp_ajax_nopriv_domik_get_vc_attach_images', 'domik_get_vc_attach_images_callback');
add_action('wp_ajax_domik_get_vc_attach_images', 'domik_get_vc_attach_images_callback');
function domik_get_vc_attach_images_callback() {
$images = $_POST['images'];
$html = $images;
if($images != '') {
$images = explode(",", $images);
if(count($images)){
$html = '';
foreach ($images as $key => $img) {
$html .= wp_get_attachment_image( $img, 'thumbnail', '', array('class'=>'domik-ele-attach-thumb') );
}
}
}
wp_send_json($html );
}