Advertisement
jegtheme

ajax-response.php

Nov 4th, 2015
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 18.60 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.         'post_status'           => 'publish',
  101.         'posts_per_page'        => vp_option('joption.mega_menu_number', 10),
  102.         'category__in'          => $categoryid,
  103.         'post_status'           => 'publish'
  104.     );
  105.  
  106.     $query = new WP_Query($statement);
  107.     if ( $query->have_posts() ) { ?>
  108.  
  109.         <div data-content-category-id="<?php echo esc_attr( $categoryid ); ?>" data-load-status="loaded" class="newsfeed-container clearfix">
  110.  
  111.             <?php while ( $query->have_posts() )
  112.             {
  113.                 $query->the_post();
  114.                 $formatclass = jeg_format_post(); ?>
  115.  
  116.                 <div class="newsfeed-item <?php echo esc_attr( $formatclass ); ?>">
  117.                     <?php echo apply_filters('jeg_featured_figure_lazy', null, 'half-post-featured') ?>
  118.                     <h3 class="post-title"><a href="<?php echo esc_url( get_permalink(get_the_ID()) ); ?>"><?php the_title(); ?></a></h3>
  119.                 </div>
  120.             <?php } ?>
  121.  
  122.         </div>
  123.         <?php
  124.     }
  125.     wp_reset_postdata();
  126.  
  127.     exit;
  128. }
  129.  
  130. add_action('wp_ajax_get_mega_category_item'             , 'jeg_get_mega_category_item');
  131. add_action('wp_ajax_nopriv_get_mega_category_item'      , 'jeg_get_mega_category_item');
  132.  
  133.  
  134.  
  135. /** get mega review **/
  136. function jeg_get_mega_review_item()
  137. {
  138.     $categoryid = $_REQUEST['categoryid'];
  139.  
  140.     // get category id
  141.     $statement = array(
  142.         'post_type'             => "review",
  143.         'orderby'               => "date",
  144.         'order'                 => "DESC",
  145.         'post_status'           => 'publish',
  146.         'posts_per_page'        => vp_option('joption.mega_menu_number', 10),
  147.         'tax_query'             => array(
  148.             array(
  149.                 'taxonomy' => 'review-category',
  150.                 'terms' => $categoryid,
  151.                 'field' => 'id',
  152.             )
  153.         )
  154.     );
  155.  
  156.     $query = new WP_Query($statement);
  157.     if ( $query->have_posts() ) { ?>
  158.  
  159.         <div data-content-category-id="<?php echo esc_attr( $categoryid ); ?>" data-load-status="loaded" class="newsfeed-container clearfix">
  160.  
  161.         <?php while ( $query->have_posts() )
  162.         {
  163.             $query->the_post();
  164.             $formatclass = jeg_format_post();
  165.  
  166.             $mean = get_post_meta(get_the_ID(),'rating_mean'); ?>
  167.  
  168.             <div class='newsfeed-item newsfeed-review {$formatclass}'>
  169.                 <?php echo apply_filters('jeg_featured_figure_lazy', null, 'half-post-featured'); ?>
  170.                 <h3 class="post-title"><a href="<?php echo esc_url( get_permalink(get_the_ID()) ); ?>"><?php the_title(); ?></a></h3>
  171.                 <?php echo apply_filters('jeg_build_rating', null, $mean); ?>
  172.             </div>
  173.  
  174.             <?php
  175.         } ?>
  176.  
  177.         </div>
  178.  
  179.         <?php
  180.     }
  181.     wp_reset_postdata();
  182.  
  183.     exit;
  184. }
  185.  
  186. add_action('wp_ajax_get_mega_review_item'               , 'jeg_get_mega_review_item');
  187. add_action('wp_ajax_nopriv_get_mega_review_item'        , 'jeg_get_mega_review_item');
  188.  
  189.  
  190.  
  191. /** get sidebar feed **/
  192. function jeg_feed_do_query($query, $active = '') {
  193.     $recentfeed = '';
  194.     $index = 0;
  195.     $enablesidefeedads = vp_option('joption.enable_sidefeed_ads', 0);
  196.     $sidefeedorder = vp_option('joption.sidefeed_ads_order', 3);
  197.  
  198.     if ( $query->have_posts() ) {
  199.         while ( $query->have_posts() )
  200.         {
  201.  
  202.             if($enablesidefeedads && $index == $sidefeedorder) {
  203.                 $recentfeed .= "<div class='sidebar-post-item sidebar-promotion clearfix'>" . jeg_render_ads('sidefeed_ads') . "</div>" ;
  204.             }
  205.  
  206.             $query->the_post();
  207.             $categoryarray = get_the_category();
  208.             $categorytext = $timeformat = '';
  209.  
  210.             if(!empty($categoryarray)) {
  211.                 $categorytext = "<span class='post-category'><a href='" . get_category_link($categoryarray[0]->term_id) . "' rel='category'>" . $categoryarray[0]->name . "</a></span>";
  212.             }
  213.  
  214.             if(vp_option('joption.sidebar_date') === 'dateago') {
  215.                 $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>";
  216.             } else {
  217.                 $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . get_the_time("F j, Y ")  . "</time>";
  218.             }
  219.  
  220.             $formatclass = jeg_format_post();
  221.             $recentfeed .=
  222.                 "<div class='" . $active . " sidebar-post-item clearfix " . $formatclass . "' data-id='" . get_the_ID() . "'>
  223.                    " . apply_filters('jeg_featured_figure_lazy', null, 'square-thumbnail', null, 'ajax') . "
  224.                    <div class='content'>
  225.                        <h3 class='post-title'><a class='ajax' href='" . get_permalink(get_the_ID()) . "'>" . get_the_title() . "</a></h3>
  226.                        <footer class='post-meta'>
  227.                            " . $categorytext . $timeformat . "
  228.                        </footer>
  229.                    </div>
  230.                </div>";
  231.             $index++;
  232.         }
  233.     }
  234.     return $recentfeed;
  235. }
  236.  
  237. function jeg_get_sidebar_feed()
  238. {
  239.     $page = 1;
  240.     $perload = vp_option('joption.side_feed_number', 10);
  241.     $recentfeed = '';
  242.     $postid = $ajaxisblog = 0;
  243.  
  244.     if (defined('DOING_AJAX') && DOING_AJAX) {
  245.         $page = $_REQUEST['page'];
  246.         $postid = $_REQUEST['postid'];
  247.         $ajaxisblog = $_REQUEST['isblog'];
  248.     } else {
  249.         $postid = get_the_ID();
  250.     }
  251.  
  252.     // check if currently on post
  253.     if( ( !is_page() && is_single() && $page === 1 ) || ( $ajaxisblog && $page === 1 )) {
  254.         $query = new WP_Query( 'p=' . $postid );
  255.         $recentfeed .= jeg_feed_do_query($query, 'active');
  256.         wp_reset_postdata();
  257.     }
  258.  
  259.     // and build other list
  260.     $statement = array(
  261.         'post_type'             => 'post',
  262.         'post_status'           => array('publish'),
  263.         'orderby'               => 'date',
  264.         'order'                 => 'DESC',
  265.         'posts_per_page'        => $perload,
  266.         'paged'                  => $page
  267.     );
  268.  
  269.     if( ( !is_page() && is_single() ) || $ajaxisblog ) {
  270.         $statement['post__not_in'] = array($postid);
  271.     }
  272.  
  273.     $query = new WP_Query($statement);
  274.     $recentfeed .= jeg_feed_do_query($query);
  275.     wp_reset_postdata();
  276.  
  277.  
  278.     if (defined('DOING_AJAX') && DOING_AJAX) {
  279.         print($recentfeed);
  280.         exit;
  281.     } else {
  282.         return $recentfeed;
  283.     }
  284. }
  285.  
  286. add_action('wp_ajax_get_sidebar_feed'               , 'jeg_get_sidebar_feed');
  287. add_action('wp_ajax_nopriv_get_sidebar_feed'        , 'jeg_get_sidebar_feed');
  288.  
  289.  
  290.  
  291. /** review feed */
  292.  
  293. function jeg_review_feed_do_query($query, $active = '') {
  294.     $recentfeed = '';
  295.     if ( $query->have_posts() ) {
  296.         while ( $query->have_posts() )
  297.         {
  298.             $query->the_post();
  299.             $categoryarray = get_the_terms(get_the_ID(), 'review-category');
  300.             $categorytext = $timeformat = '';
  301.  
  302.             if(!empty($categoryarray)) {
  303.                 foreach($categoryarray as $cat) {
  304.                     $categorytext = "<span class='post-category'><a href='" . get_term_link($cat->term_id, 'review-category') . "' rel='category'>" . $cat->name . "</a></span>";
  305.                 }
  306.             }
  307.  
  308.             if(vp_option('joption.sidebar_date') === 'dateago') {
  309.                 $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>";
  310.             } else {
  311.                 $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . get_the_time("F j, Y ")  . "</time>";
  312.             }
  313.  
  314.             $mean = get_post_meta(get_the_ID(),'rating_mean');
  315.             $starrating = apply_filters('jeg_build_rating', null, $mean);;
  316.  
  317.             $formatclass = jeg_format_post();
  318.             $recentfeed .=
  319.                 "<div class='" . $active . " sidebar-post-item clearfix " . $formatclass . "' data-id='" . get_the_ID() . "'>
  320.                    " . apply_filters('jeg_featured_figure_lazy', null, 'square-thumbnail', null, 'ajax') . "
  321.                    <div class='content'>
  322.                        <h3 class='post-title'><a class='ajax' href='" . get_permalink(get_the_ID()) . "'>" . get_the_title() . "</a></h3>
  323.                        $starrating
  324.                        <footer class='post-meta'>
  325.                            " . $categorytext . $timeformat . "
  326.                        </footer>
  327.                    </div>
  328.                </div>";
  329.         }
  330.     }
  331.     return $recentfeed;
  332. }
  333.  
  334. function jeg_get_sidebar_review()
  335. {
  336.     $page = 1;
  337.     $perload = vp_option('joption.side_feed_number', 10);
  338.     $recentfeed = '';
  339.     $postid = $ajaxisreview = 0;
  340.  
  341.     if (defined('DOING_AJAX') && DOING_AJAX) {
  342.         $page = $_REQUEST['page'];
  343.         $postid = $_REQUEST['postid'];
  344.         $ajaxisreview = $_REQUEST['isblog'];
  345.     } else {
  346.         $postid = get_the_ID();
  347.     }
  348.  
  349.     // check if currently on post
  350.     if( ( !is_page() && is_single() && $page === 1 ) || ( $ajaxisreview && $page === 1 )) {
  351.         $query = new WP_Query( array(
  352.             'p' => $postid,
  353.             'post_type' => 'review',
  354.         ));
  355.         $recentfeed .= jeg_review_feed_do_query($query, 'active');
  356.         wp_reset_postdata();
  357.     }
  358.  
  359.     // and build other list
  360.     $statement = array(
  361.         'post_type'             => 'review',
  362.         'post_status'           => array('publish'),
  363.         'orderby'               => 'date',
  364.         'order'                 => 'DESC',
  365.         'posts_per_page'        => $perload,
  366.         'paged'                  => $page
  367.     );
  368.  
  369.     if( ( !is_page() && is_single() ) || $ajaxisreview ) {
  370.         $statement['post__not_in'] = array($postid);
  371.     }
  372.  
  373.     $query = new WP_Query($statement);
  374.     $recentfeed .= jeg_review_feed_do_query($query);
  375.     wp_reset_postdata();
  376.  
  377.  
  378.     if (defined('DOING_AJAX') && DOING_AJAX) {
  379.         print($recentfeed);
  380.         exit;
  381.     } else {
  382.         return $recentfeed;
  383.     }
  384. }
  385.  
  386. add_action('wp_ajax_get_sidebar_review'             , 'jeg_get_sidebar_review');
  387. add_action('wp_ajax_nopriv_get_sidebar_review'      , 'jeg_get_sidebar_review');
  388.  
  389.  
  390. /** ajax live search */
  391.  
  392. function jeg_search_feed_do_query($query) {
  393.     $recentfeed = '';
  394.     if ( $query->have_posts() ) {
  395.         while ( $query->have_posts() )
  396.         {
  397.             $query->the_post();
  398.  
  399.             if(get_post_type() == 'post') {
  400.                 $categoryarray = get_the_category();
  401.                 $categorytext = $timeformat = '';
  402.  
  403.                 if(!empty($categoryarray)) {
  404.                     $categorytext = "<span class='post-category'><a href='" . get_category_link($categoryarray[0]->term_id) . "' rel='category'>" . $categoryarray[0]->name . "</a></span>";
  405.                 }
  406.  
  407.                 if(vp_option('joption.sidebar_date') === 'dateago') {
  408.                     $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>";
  409.                 } else {
  410.                     $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . get_the_time("F j, Y ")  . "</time>";
  411.                 }
  412.  
  413.                 $formatclass = jeg_format_post();
  414.                 $recentfeed .=
  415.                     "<div class='search-item clearfix " . $formatclass . "'>
  416.                        " . apply_filters('jeg_featured_figure', null, 'square-thumbnail') . "
  417.                        <div class='content'>
  418.                            <h3 class='post-title'><a class='ajax' href='" . get_permalink(get_the_ID()) . "'>" . get_the_title() . "</a></h3>
  419.                            <footer class='post-meta'>
  420.                                " . $categorytext . $timeformat . "
  421.                            </footer>
  422.                        </div>
  423.                    </div>";
  424.             } else if(get_post_type() == 'review') {
  425.                 $categoryarray = get_the_terms(get_the_ID(), 'review-category');
  426.                 $categorytext = $timeformat = '';
  427.  
  428.                 if(!empty($categoryarray)) {
  429.                     foreach($categoryarray as $cat) {
  430.                         $categorytext = "<span class='post-category'><a href='" . get_term_link($cat->term_id, 'review-category') . "' rel='category'>" . $cat->name . "</a></span>";
  431.                     }
  432.                 }
  433.  
  434.                 if(vp_option('joption.sidebar_date') === 'dateago') {
  435.                     $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>";
  436.                 } else {
  437.                     $timeformat = "<time class='post-date' datetime='" . get_the_time("Y-m-d H:i:s") . "'>" . get_the_time("F j, Y ")  . "</time>";
  438.                 }
  439.  
  440.                 $mean = get_post_meta(get_the_ID(),'rating_mean');
  441.                 $starrating = apply_filters('jeg_build_rating', null, $mean);
  442.  
  443.                 $formatclass = jeg_format_post();
  444.                 $recentfeed .=
  445.                     "<div class='search-item clearfix" . $formatclass . "' data-id='" . get_the_ID() . "'>
  446.                        " . apply_filters('jeg_featured_figure', null, 'square-thumbnail') . "
  447.                        <div class='content'>
  448.                            <h3 class='post-title'><a class='ajax' href='" . get_permalink(get_the_ID()) . "'>" . get_the_title() . "</a></h3>
  449.                            $starrating
  450.                            <footer class='post-meta'>
  451.                                " . $categorytext . $timeformat . "
  452.                            </footer>
  453.                        </div>
  454.                    </div>";
  455.             }
  456.  
  457.         }
  458.     }
  459.     return $recentfeed;
  460. }
  461.  
  462. function jeg_ajax_live_search() {
  463.     $recentfeed = '';
  464.  
  465.     $posttypeoption = vp_option('joption.search_type', 'onlypost');
  466.     $postnumber = vp_option('joption.live_search_number');
  467.  
  468.     $statement = array(
  469.         's'                     => $_REQUEST['s'],
  470.         'post_type'             => array('post','review'),
  471.         'post_status'           => array('publish'),
  472.         'orderby'               => 'date',
  473.         'order'                 => 'DESC',
  474.         'posts_per_page'        => $postnumber,
  475.         'paged'                 => 1
  476.     );
  477.  
  478.     if($posttypeoption === 'onlypost') {
  479.         $statement['post_type'] = 'post';
  480.     }
  481.  
  482.     $query = new WP_Query($statement);
  483.     $recentfeed .= jeg_search_feed_do_query($query);
  484.     wp_reset_postdata();
  485.     print($recentfeed);
  486.     exit;
  487. }
  488.  
  489.  
  490. add_action('wp_ajax_get_ajax_live_search'               , 'jeg_ajax_live_search');
  491. add_action('wp_ajax_nopriv_get_ajax_live_search'        , 'jeg_ajax_live_search');
  492.  
  493.  
  494. function jeg_extract_value($value) {
  495.     $arr = array();
  496.     if(!empty($value)) {
  497.         foreach($value as $val) {
  498.             $arr[] = $val['value'];
  499.         }
  500.     }
  501.  
  502.     return $arr;
  503. }
  504.  
  505. function jeg_ajax_add_cart() {
  506.     get_template_part('fragment/top-cart');
  507.     exit;
  508. }
  509.  
  510.  
  511. add_action('wp_ajax_get_ajax_add_cart'              , 'jeg_ajax_add_cart');
  512. add_action('wp_ajax_nopriv_get_ajax_add_cart'       , 'jeg_ajax_add_cart');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement