Advertisement
jegtheme

ajax-response.php

Aug 14th, 2015
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 18.51 KB | None | 0 0
  1. <?php
  2.  
  3. /** rebuild review rating */
  4. function jeg_rebuild_review_point()
  5. {
  6.     $verify = check_ajax_referer('vafpress', 'nonce', false);
  7.     if($verify) {
  8.  
  9.         $query = new WP_Query(array(
  10.             'post_type' => 'review',
  11.             'nopaging' => true
  12.         ));
  13.  
  14.         $results = $query->posts;
  15.         foreach($results as $result) {
  16.             $postid = $result->ID;
  17.  
  18.             $ratingtotal = $ratingnumber= 0;
  19.             $ratingarr = vp_metabox('jmagz_review_rating.rating', null, $postid);
  20.             foreach($ratingarr as $rating) {
  21.                 if(!empty($rating['rating_text'])) {
  22.                     $ratingtotal += $rating['rating_number'];
  23.                     $ratingnumber++;
  24.                 }
  25.             }
  26.  
  27.             update_post_meta($postid, 'rating_mean', round($ratingtotal / $ratingnumber, 1));
  28.         }
  29.  
  30.         echo "Finish rebuilding review point";
  31.  
  32.     } else {
  33.         echo "unable to verify referrer";
  34.     }
  35.  
  36.     exit;
  37. }
  38.  
  39.  
  40. add_action('wp_ajax_jeg_rebuild_review_point'               , 'jeg_rebuild_review_point');
  41. add_action('wp_ajax_nopriv_jeg_rebuild_review_point'        , 'jeg_rebuild_review_point');
  42.  
  43.  
  44. /** get video single **/
  45. function jeg_get_video_single()
  46. {
  47.     $postid = $_REQUEST['postid'];
  48.     $singlevideo = '';
  49.  
  50.     $videotype = vp_metabox('jmagz_blog_video.video_type', null, $postid);
  51.  
  52.     if($videotype === 'youtube') { ?>
  53.         <div data-src="<?php echo vp_metabox('jmagz_blog_video.video_url', null, $postid) ?>" data-type="youtube" data-repeat="false" data-autoplay="false" class="youtube-class clearfix">
  54.             <div class="video-container"></div>
  55.         </div>
  56.  
  57.     <?php } else if($videotype === 'vimeo') { ?>
  58.         <div data-src="<?php echo vp_metabox('jmagz_blog_video.video_url', null, $postid) ?>" data-type="vimeo" data-repeat="false" data-autoplay="false" class="vimeo-class clearfix">
  59.             <div class="video-container"></div>
  60.         </div>";
  61.  
  62.     <?php } else if($videotype === 'html5video') {
  63.  
  64.         $featuredimage = apply_filters('jeg_get_image_attachment', null, vp_metabox('jmagz_blog_video.video.0.bgfallback', null, $postid), 'full'); ?>
  65.  
  66.         <video width="640" height="360" style="width: 100%; height: 100%;" poster="<?php echo esc_attr( $featuredimage ); ?>" preload="none">
  67.             <?php if(vp_metabox('jmagz_blog_video.video.0.videomp4', null, $postid) !== '') { ?>
  68.                 <source type="video/mp4" src="<?php echo esc_url( vp_metabox('jmagz_blog_video.video.0.videomp4', null, $postid) ); ?>">
  69.             <?php }
  70.  
  71.             if(vp_metabox('jmagz_blog_video.video.0.videowebm', null, $postid) !== '') { ?>
  72.                 <source type="video/webm" src="<?php echo esc_url( vp_metabox('jmagz_blog_video.video.0.videowebm', null, $postid) ); ?>">
  73.             <?php }
  74.  
  75.             if(vp_metabox('jmagz_blog_video.video.0.videoogg', null, $postid) !== '') { ?>
  76.                 <source type='video/ogg' src="<?php echo esc_attr( vp_metabox('jmagz_blog_video.video.0.videoogg', null, $postid) ); ?>">
  77.             <?php } ?>
  78.         </video>
  79.         <?php
  80.     }
  81.  
  82.     exit;
  83. }
  84.  
  85. add_action('wp_ajax_get_video_single'               , 'jeg_get_video_single');
  86. add_action('wp_ajax_nopriv_get_video_single'        , 'jeg_get_video_single');
  87.  
  88.  
  89.  
  90. /** get mega category **/
  91. function jeg_get_mega_category_item()
  92. {
  93.     $categoryid = $_REQUEST['categoryid'];
  94.  
  95.     // get category id
  96.     $statement = array(
  97.         'post_type'             => "post",
  98.         'orderby'               => "date",
  99.         'order'                 => "DESC",
  100.         'posts_per_page'        => vp_option('joption.mega_menu_number', 10),
  101.         'category__in'          => $categoryid,
  102.         'post_status'           => 'publish'
  103.     );
  104.  
  105.     $query = new WP_Query($statement);
  106.     if ( $query->have_posts() ) { ?>
  107.  
  108.         <div data-content-category-id="<?php echo esc_attr( $categoryid ); ?>" data-load-status="loaded" class="newsfeed-container clearfix">
  109.  
  110.             <?php while ( $query->have_posts() )
  111.             {
  112.                 $query->the_post();
  113.                 $formatclass = jeg_format_post(); ?>
  114.  
  115.                 <div class="newsfeed-item <?php echo esc_attr( $formatclass ); ?>">
  116.                     <?php echo apply_filters('jeg_featured_figure_lazy', null, 'half-post-featured') ?>
  117.                     <h3 class="post-title"><a href="<?php echo esc_url( get_permalink(get_the_ID()) ); ?>"><?php the_title(); ?></a></h3>
  118.                 </div>
  119.             <?php } ?>
  120.  
  121.         </div>
  122.         <?php
  123.     }
  124.     wp_reset_postdata();
  125.  
  126.     exit;
  127. }
  128.  
  129. add_action('wp_ajax_get_mega_category_item'             , 'jeg_get_mega_category_item');
  130. add_action('wp_ajax_nopriv_get_mega_category_item'      , 'jeg_get_mega_category_item');
  131.  
  132.  
  133.  
  134. /** get mega review **/
  135. function jeg_get_mega_review_item()
  136. {
  137.     $categoryid = $_REQUEST['categoryid'];
  138.  
  139.     // get category id
  140.     $statement = array(
  141.         'post_type'             => "review",
  142.         'orderby'               => "date",
  143.         'order'                 => "DESC",
  144.         'posts_per_page'        => vp_option('joption.mega_menu_number', 10),
  145.         'tax_query'             => array(
  146.             array(
  147.                 'taxonomy' => 'review-category',
  148.                 'terms' => $categoryid,
  149.                 'field' => 'id',
  150.             )
  151.         )
  152.     );
  153.  
  154.     $query = new WP_Query($statement);
  155.     if ( $query->have_posts() ) { ?>
  156.  
  157.         <div data-content-category-id="<?php echo esc_attr( $categoryid ); ?>" data-load-status="loaded" class="newsfeed-container clearfix">
  158.  
  159.         <?php while ( $query->have_posts() )
  160.         {
  161.             $query->the_post();
  162.             $formatclass = jeg_format_post();
  163.  
  164.             $mean = get_post_meta(get_the_ID(),'rating_mean'); ?>
  165.  
  166.             <div class='newsfeed-item newsfeed-review {$formatclass}'>
  167.                 <?php echo apply_filters('jeg_featured_figure_lazy', null, 'half-post-featured'); ?>
  168.                 <h3 class="post-title"><a href="<?php echo esc_url( get_permalink(get_the_ID()) ); ?>"><?php the_title(); ?></a></h3>
  169.                 <?php echo apply_filters('jeg_build_rating', null, $mean); ?>
  170.             </div>
  171.  
  172.             <?php
  173.         } ?>
  174.  
  175.         </div>
  176.  
  177.         <?php
  178.     }
  179.     wp_reset_postdata();
  180.  
  181.     exit;
  182. }
  183.  
  184. add_action('wp_ajax_get_mega_review_item'               , 'jeg_get_mega_review_item');
  185. add_action('wp_ajax_nopriv_get_mega_review_item'        , 'jeg_get_mega_review_item');
  186.  
  187.  
  188.  
  189. /** get sidebar feed **/
  190. function jeg_feed_do_query($query, $active = '') {
  191.     $recentfeed = '';
  192.     $index = 0;
  193.     $enablesidefeedads = vp_option('joption.enable_sidefeed_ads', 0);
  194.     $sidefeedorder = vp_option('joption.sidefeed_ads_order', 3);
  195.  
  196.     if ( $query->have_posts() ) {
  197.         while ( $query->have_posts() )
  198.         {
  199.  
  200.             if($enablesidefeedads && $index == $sidefeedorder) {
  201.                 $recentfeed .= "<div class='sidebar-post-item sidebar-promotion clearfix'>" . jeg_render_ads('sidefeed_ads') . "</div>" ;
  202.             }
  203.  
  204.             $query->the_post();
  205.             $categoryarray = get_the_category();
  206.             $categorytext = $timeformat = '';
  207.  
  208.             if(!empty($categoryarray)) {
  209.                 $categorytext = "<span class='post-category'><a href='" . get_category_link($categoryarray[0]->term_id) . "' rel='category'>" . $categoryarray[0]->name . "</a></span>";
  210.             }
  211.  
  212.             if(vp_option('joption.sidebar_date') === 'dateago') {
  213.                 $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . human_time_diff( get_the_time('U'), current_time('timestamp') ) . __(' ago', 'jeg_textdomain') . "</time>";
  214.             } else {
  215.                 $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . get_the_time("F j, Y ")  . "</time>";
  216.             }
  217.  
  218.             $formatclass = jeg_format_post();
  219.             $recentfeed .=
  220.                 "<div class='" . $active . " sidebar-post-item clearfix " . $formatclass . "' data-id='" . get_the_ID() . "'>
  221.                    " . apply_filters('jeg_featured_figure_lazy', null, 'square-thumbnail', null, 'ajax') . "
  222.                    <div class='content'>
  223.                        <h3 class='post-title'><a class='ajax' href='" . get_permalink(get_the_ID()) . "'>" . get_the_title() . "</a></h3>
  224.                        <footer class='post-meta'>
  225.                            " . $categorytext . $timeformat . "
  226.                        </footer>
  227.                    </div>
  228.                </div>";
  229.             $index++;
  230.         }
  231.     }
  232.     return $recentfeed;
  233. }
  234.  
  235. function jeg_get_sidebar_feed()
  236. {
  237.     $page = 1;
  238.     $perload = vp_option('joption.side_feed_number', 10);
  239.     $recentfeed = '';
  240.     $postid = $ajaxisblog = 0;
  241.  
  242.     if (defined('DOING_AJAX') && DOING_AJAX) {
  243.         $page = $_REQUEST['page'];
  244.         $postid = $_REQUEST['postid'];
  245.         $ajaxisblog = $_REQUEST['isblog'];
  246.     } else {
  247.         $postid = get_the_ID();
  248.     }
  249.  
  250.     // check if currently on post
  251.     if( ( !is_page() && is_single() && $page === 1 ) || ( $ajaxisblog && $page === 1 )) {
  252.         $query = new WP_Query( 'p=' . $postid );
  253.         $recentfeed .= jeg_feed_do_query($query, 'active');
  254.         wp_reset_postdata();
  255.     }
  256.  
  257.     // and build other list
  258.     $statement = array(
  259.         'post_type'             => 'post',
  260.         'post_status'           => array('publish'),
  261.         'orderby'               => 'date',
  262.         'order'                 => 'DESC',
  263.         'posts_per_page'        => $perload,
  264.         'paged'                  => $page
  265.     );
  266.  
  267.     if( ( !is_page() && is_single() ) || $ajaxisblog ) {
  268.         $statement['post__not_in'] = array($postid);
  269.     }
  270.  
  271.     $query = new WP_Query($statement);
  272.     $recentfeed .= jeg_feed_do_query($query);
  273.     wp_reset_postdata();
  274.  
  275.  
  276.     if (defined('DOING_AJAX') && DOING_AJAX) {
  277.         print($recentfeed);
  278.         exit;
  279.     } else {
  280.         return $recentfeed;
  281.     }
  282. }
  283.  
  284. add_action('wp_ajax_get_sidebar_feed'               , 'jeg_get_sidebar_feed');
  285. add_action('wp_ajax_nopriv_get_sidebar_feed'        , 'jeg_get_sidebar_feed');
  286.  
  287.  
  288.  
  289. /** review feed */
  290.  
  291. function jeg_review_feed_do_query($query, $active = '') {
  292.     $recentfeed = '';
  293.     if ( $query->have_posts() ) {
  294.         while ( $query->have_posts() )
  295.         {
  296.             $query->the_post();
  297.             $categoryarray = get_the_terms(get_the_ID(), 'review-category');
  298.             $categorytext = $timeformat = '';
  299.  
  300.             if(!empty($categoryarray)) {
  301.                 foreach($categoryarray as $cat) {
  302.                     $categorytext = "<span class='post-category'><a href='" . get_term_link($cat->term_id, 'review-category') . "' rel='category'>" . $cat->name . "</a></span>";
  303.                 }
  304.             }
  305.  
  306.             if(vp_option('joption.sidebar_date') === 'dateago') {
  307.                 $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . human_time_diff( get_the_time('U'), current_time('timestamp') ) . __(' ago', 'jeg_textdomain') . "</time>";
  308.             } else {
  309.                 $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . get_the_time("F j, Y ")  . "</time>";
  310.             }
  311.  
  312.             $mean = get_post_meta(get_the_ID(),'rating_mean');
  313.             $starrating = apply_filters('jeg_build_rating', null, $mean);;
  314.  
  315.             $formatclass = jeg_format_post();
  316.             $recentfeed .=
  317.                 "<div class='" . $active . " sidebar-post-item clearfix " . $formatclass . "' data-id='" . get_the_ID() . "'>
  318.                    " . apply_filters('jeg_featured_figure_lazy', null, 'square-thumbnail', null, 'ajax') . "
  319.                    <div class='content'>
  320.                        <h3 class='post-title'><a class='ajax' href='" . get_permalink(get_the_ID()) . "'>" . get_the_title() . "</a></h3>
  321.                        $starrating
  322.                        <footer class='post-meta'>
  323.                            " . $categorytext . $timeformat . "
  324.                        </footer>
  325.                    </div>
  326.                </div>";
  327.         }
  328.     }
  329.     return $recentfeed;
  330. }
  331.  
  332. function jeg_get_sidebar_review()
  333. {
  334.     $page = 1;
  335.     $perload = vp_option('joption.side_feed_number', 10);
  336.     $recentfeed = '';
  337.     $postid = $ajaxisreview = 0;
  338.  
  339.     if (defined('DOING_AJAX') && DOING_AJAX) {
  340.         $page = $_REQUEST['page'];
  341.         $postid = $_REQUEST['postid'];
  342.         $ajaxisreview = $_REQUEST['isblog'];
  343.     } else {
  344.         $postid = get_the_ID();
  345.     }
  346.  
  347.     // check if currently on post
  348.     if( ( !is_page() && is_single() && $page === 1 ) || ( $ajaxisreview && $page === 1 )) {
  349.         $query = new WP_Query( array(
  350.             'p' => $postid,
  351.             'post_type' => 'review',
  352.         ));
  353.         $recentfeed .= jeg_review_feed_do_query($query, 'active');
  354.         wp_reset_postdata();
  355.     }
  356.  
  357.     // and build other list
  358.     $statement = array(
  359.         'post_type'             => 'review',
  360.         'post_status'           => array('publish'),
  361.         'orderby'               => 'date',
  362.         'order'                 => 'DESC',
  363.         'posts_per_page'        => $perload,
  364.         'paged'                  => $page
  365.     );
  366.  
  367.     if( ( !is_page() && is_single() ) || $ajaxisreview ) {
  368.         $statement['post__not_in'] = array($postid);
  369.     }
  370.  
  371.     $query = new WP_Query($statement);
  372.     $recentfeed .= jeg_review_feed_do_query($query);
  373.     wp_reset_postdata();
  374.  
  375.  
  376.     if (defined('DOING_AJAX') && DOING_AJAX) {
  377.         print($recentfeed);
  378.         exit;
  379.     } else {
  380.         return $recentfeed;
  381.     }
  382. }
  383.  
  384. add_action('wp_ajax_get_sidebar_review'             , 'jeg_get_sidebar_review');
  385. add_action('wp_ajax_nopriv_get_sidebar_review'      , 'jeg_get_sidebar_review');
  386.  
  387.  
  388. /** ajax live search */
  389.  
  390. function jeg_search_feed_do_query($query) {
  391.     $recentfeed = '';
  392.     if ( $query->have_posts() ) {
  393.         while ( $query->have_posts() )
  394.         {
  395.             $query->the_post();
  396.  
  397.             if(get_post_type() == 'post') {
  398.                 $categoryarray = get_the_category();
  399.                 $categorytext = $timeformat = '';
  400.  
  401.                 if(!empty($categoryarray)) {
  402.                     $categorytext = "<span class='post-category'><a href='" . get_category_link($categoryarray[0]->term_id) . "' rel='category'>" . $categoryarray[0]->name . "</a></span>";
  403.                 }
  404.  
  405.                 if(vp_option('joption.sidebar_date') === 'dateago') {
  406.                     $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . human_time_diff( get_the_time('U'), current_time('timestamp') ) . __(' ago', 'jeg_textdomain') . "</time>";
  407.                 } else {
  408.                     $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . get_the_time("F j, Y ")  . "</time>";
  409.                 }
  410.  
  411.                 $formatclass = jeg_format_post();
  412.                 $recentfeed .=
  413.                     "<div class='search-item clearfix " . $formatclass . "'>
  414.                        " . apply_filters('jeg_featured_figure', null, 'square-thumbnail') . "
  415.                        <div class='content'>
  416.                            <h3 class='post-title'><a class='ajax' href='" . get_permalink(get_the_ID()) . "'>" . get_the_title() . "</a></h3>
  417.                            <footer class='post-meta'>
  418.                                " . $categorytext . $timeformat . "
  419.                            </footer>
  420.                        </div>
  421.                    </div>";
  422.             } else if(get_post_type() == 'review') {
  423.                 $categoryarray = get_the_terms(get_the_ID(), 'review-category');
  424.                 $categorytext = $timeformat = '';
  425.  
  426.                 if(!empty($categoryarray)) {
  427.                     foreach($categoryarray as $cat) {
  428.                         $categorytext = "<span class='post-category'><a href='" . get_term_link($cat->term_id, 'review-category') . "' rel='category'>" . $cat->name . "</a></span>";
  429.                     }
  430.                 }
  431.  
  432.                 if(vp_option('joption.sidebar_date') === 'dateago') {
  433.                     $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . human_time_diff( get_the_time('U'), current_time('timestamp') ) . __(' ago', 'jeg_textdomain') . "</time>";
  434.                 } else {
  435.                     $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . get_the_time("F j, Y ")  . "</time>";
  436.                 }
  437.  
  438.                 $mean = get_post_meta(get_the_ID(),'rating_mean');
  439.                 $starrating = apply_filters('jeg_build_rating', null, $mean);
  440.  
  441.                 $formatclass = jeg_format_post();
  442.                 $recentfeed .=
  443.                     "<div class='search-item clearfix" . $formatclass . "' data-id='" . get_the_ID() . "'>
  444.                        " . apply_filters('jeg_featured_figure', null, 'square-thumbnail') . "
  445.                        <div class='content'>
  446.                            <h3 class='post-title'><a class='ajax' href='" . get_permalink(get_the_ID()) . "'>" . get_the_title() . "</a></h3>
  447.                            $starrating
  448.                            <footer class='post-meta'>
  449.                                " . $categorytext . $timeformat . "
  450.                            </footer>
  451.                        </div>
  452.                    </div>";
  453.             }
  454.  
  455.         }
  456.     }
  457.     return $recentfeed;
  458. }
  459.  
  460. function jeg_ajax_live_search() {
  461.     $recentfeed = '';
  462.  
  463.     $posttypeoption = vp_option('joption.search_type', 'onlypost');
  464.     $postnumber = vp_option('joption.live_search_number');
  465.  
  466.     $statement = array(
  467.         's'                     => $_REQUEST['s'],
  468.         'post_type'             => array('post','review'),
  469.         'post_status'           => array('publish'),
  470.         'orderby'               => 'date',
  471.         'order'                 => 'DESC',
  472.         'posts_per_page'        => $postnumber,
  473.         'paged'                 => 1
  474.     );
  475.  
  476.     if($posttypeoption === 'onlypost') {
  477.         $statement['post_type'] = 'post';
  478.     }
  479.  
  480.     $query = new WP_Query($statement);
  481.     $recentfeed .= jeg_search_feed_do_query($query);
  482.     wp_reset_postdata();
  483.     print($recentfeed);
  484.     exit;
  485. }
  486.  
  487.  
  488. add_action('wp_ajax_get_ajax_live_search'               , 'jeg_ajax_live_search');
  489. add_action('wp_ajax_nopriv_get_ajax_live_search'        , 'jeg_ajax_live_search');
  490.  
  491.  
  492. function jeg_extract_value($value) {
  493.     $arr = array();
  494.     if(!empty($value)) {
  495.         foreach($value as $val) {
  496.             $arr[] = $val['value'];
  497.         }
  498.     }
  499.  
  500.     return $arr;
  501. }
  502.  
  503. function jeg_ajax_add_cart() {
  504.     get_template_part('fragment/top-cart');
  505.     exit;
  506. }
  507.  
  508.  
  509. add_action('wp_ajax_get_ajax_add_cart'              , 'jeg_ajax_add_cart');
  510. add_action('wp_ajax_nopriv_get_ajax_add_cart'       , 'jeg_ajax_add_cart');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement