WordPress.org

Forums

WORDPRESS VIDEO GALLERY
RSS not supported? (2 posts)

  1. lalit_20
    Member
    Posted 1 year ago #

    How do I get the video post in the rss feed?

    http://wordpress.org/plugins/contus-video-gallery/

  2. karthikeyani
    Member
    Posted 1 year ago #

    Hi,

    Create a file in the name "rss.php" witht the following content and save it in the following path wp-content\plugins\contus-video-gallery\rss.php.

    <?php
    require_once( dirname(__FILE__) . '/hdflv-config.php');
    $pageOBJ                = new ContusVideoView();                       ## include class from Videohome view
    $contOBJ                = new ContusVideoController();                 ## include class from Videohome controller
    $numberofvideos         = 100;                                         ## Get number of videos from URL
    $getVid                 = filter_input(INPUT_GET, 'vid');              ## Get video ID from video home view
    $getPid                 = filter_input(INPUT_GET, 'playid');           ## Get playlist ID from video home view
    
    $type                   = filter_input(INPUT_GET, 'type');
    if (!empty($type) && $type === 'popular') {                                     ## IF type = popular video
        $thumImageorder     = 'w.hitcount DESC';
        $where              = '';
        $singleVideodata    = $contOBJ->home_playxmldata($thumImageorder, $where, $numberofvideos);
    } else if (!empty($type) && $type === 'recent') {                              ## IF type = recent video
        $thumImageorder     = 'w.vid DESC';
        $where              = '';
        $singleVideodata    = $contOBJ->home_playxmldata($thumImageorder, $where, $numberofvideos);
    } else if (!empty($type) && $type === 'featured') {                              ## IF type = featured video
        $thumImageorder     = 'w.ordering ASC';
        $where              = 'AND w.featured=1';
        $singleVideodata    = $contOBJ->home_playxmldata($thumImageorder, $where, $numberofvideos);
    } else if (!empty($getVid)) {
        $singleVideodata    = $contOBJ->videodetail($getVid);             ## Get detail for particular video
    } else if (!empty($getPid)) {
        $singleVideodata    = $contOBJ->video_Pid_detail($getPid);         ## Get detail for particular playlist
    } else {
        $singleVideodata    = $pageOBJ->_featuredvideodata;                ## Get detail of featured videos
    }
    
    ob_clean();
    header("Cache-Control: no-cache, must-revalidate");
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("content-type: text/xml");
    echo '<?xml version="1.0" encoding="utf-8"?>';
    echo '<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">';
    $siteName = get_bloginfo('name');
    echo '<title>'.$siteName.'</title>';
    echo '<link>'.get_bloginfo('url').'</link>';
    
    $dir                    = dirname(plugin_basename(__FILE__));
    $dirExp                 = explode('/', $dir);
    $dirPage                = $dirExp[0];
    $image_path               = str_replace('plugins/'.$dirPage.'/', 'uploads/videogallery/', APPTHA_VGALLERY_BASEURL);
    
    if (count($singleVideodata) > 0) {
        foreach ($singleVideodata as $media) {
            $file_type          = $media->file_type;
            $videoUrl           = $media->file;
            $opimage            = $media->opimage;
            $image              = $media->image;
            $fbPath             = $media->guid;
            ## Get thumb image detail
            if ($image == '') {
                $image          = $pageOBJ->_imagePath . 'nothumbimage.jpg';
            } else {
                if ($file_type == 2) {
                    $image      = $image_path . $image;
                }
            }
            ## Get preview image detail
            if ($opimage == '') {
                $opimage        = $pageOBJ->_imagePath . 'noimage.jpg';
            } else {
                if ($file_type == 2) {
                    $opimage    = $image_path . $opimage;
                }
            }
            ## Get video url detail
            if ($videoUrl != '') {
    
                if ($file_type == 2) {
                    $videoUrl   = $image_path . $videoUrl;
                }
            }
    
            $title              = htmlspecialchars($media->name);
            $views              = $media->hitcount;
            $date               = date("m-d-Y", strtotime($media->post_date));
    
            echo '<item>';
            echo '<videoId>' . $media->vid . '</videoId>';
            echo '<videoUrl>' . $videoUrl . '</videoUrl>';
            echo '<thumbImage>' . $image . '</thumbImage>';
            echo '<previewImage>' . $opimage . '</previewImage>';
            echo '<views>' . $views . '</views>';
            echo '<createdDate>' . $date . '</createdDate>';
            echo '<title>';
            echo '<![CDATA[' . $title . ']]>';
            echo '</title>';
            echo '<description>';
            echo '<![CDATA[' . $media->description . ']]>';
            echo '</description>';
            echo '<tags>';
            echo '<![CDATA[' . $rows->tags_name . ']]>';
            echo '</tags>';
            echo '<link>' . $fbPath . '</link>';
            echo '<generator>Video_Gallery_Feed</generator>';
            echo '<docs>http://blogs.law.harvard.edu/tech/rss</docs>';
            echo '</item>';
        }
    }
    echo '</rss>';
    exit();
    ?>

    Now open \wp-content\plugins\contus-video-gallery\front\models\videohome.php and add the following function inside the class.

    public function get_videodetail($vid)
            {//function for getting Tag name starts
                global $wpdb;
               $video_count = $this->_wpdb->get_results("SELECT t1.vid,t1.description,t4.tags_name,t1.name,t1.post_date,t1.image,t1.file,t1.hitcount,t1.ratecount,t1.file_type,t1.embedcode,t1.rate,t2.playlist_id,t3.playlist_name"
                    . " FROM " . $this->_videoinfotable . " AS t1"
                    . " LEFT JOIN " . $wpdb->prefix . "hdflvvideoshare_med2play AS t2"
                    . " ON t2.media_id = t1.vid"
                    . " LEFT JOIN " . $wpdb->prefix . "hdflvvideoshare_playlist AS t3"
                    . " ON t3.pid = t2.playlist_id"
                    . " LEFT JOIN " . $wpdb->prefix . "hdflvvideoshare_tags AS t4"
                    . " ON t1.vid = t4.media_id"
                    . " WHERE t1.publish='1' AND t3.is_publish='1' AND t1.vid='" . intval($vid) . "' LIMIT 1");
               return $video_count;
            }//function for getting Tag name ends

    Open wp-content\plugins\contus-video-gallery\front\controllers\videohomeController.php and add the following function.

    function videodetail($vid)
             {// HOME PAGE player VIDEOS STARTS
                return $this->get_videodetail($vid);
             }

    Now find the below function in the same file.

    function home_playxmldata($getVid,$thumImageorder,$where,$dataLimit)
             {// HOME PAGE FEATURED VIDEOS STARTS
                return $this->get_playxmldata($getVid,$thumImageorder,$where,$dataLimit);
             }

    and replace with the following one.

    function home_playxmldata($thumImageorder,$where,$dataLimit)
             {// HOME PAGE FEATURED VIDEOS STARTS
                return $this->get_playxmldata($thumImageorder,$where,$dataLimit);
             }

    2) Find the below code in the following path \wp-content\plugins\contus-video-gallery\front\models\videohome.php

    public function get_playxmldata($getVid,$thumImageorder,$where,$numberofvideos)
            {   ##function for getting settings data starts
                 $videoid   = $getVid;
                 $query     = "SELECT distinct w.*,s.guid,p.playlist_name,p.pid FROM " . $this->_videoinfotable. " w
                               INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_med2play m ON m.media_id = w.vid
                               INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_playlist p ON p.pid=m.playlist_id
                               INNER JOIN " . $this->_wpdb->prefix . "posts s ON s.ID=w.slug
                               WHERE w.publish='1' AND p.is_publish='1' AND w.vid=$videoid GROUP BY w.vid";
                 $rows      = $this->_wpdb->get_results($query);
                if (count($rows) > 0) {
                $query      = "SELECT distinct w.*,s.guid,p.playlist_name,p.pid FROM " . $this->_videoinfotable. " w
                               INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_med2play m ON m.media_id = w.vid
                               INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_playlist p ON p.pid=m.playlist_id
                               INNER JOIN " . $this->_wpdb->prefix . "posts s ON s.ID=w.slug
                               WHERE w.publish='1' AND p.is_publish='1' $where AND w.vid != $videoid
                               ORDER BY $thumImageorder LIMIT ".($numberofvideos-1);
                $playlist  = $this->_wpdb->get_results($query);
    
                   ## Array rotation to autoplay the videos correctly
                $arr1 = array();
                $arr2 = array();
                if(count($playlist) > 0){
                    foreach($playlist as $r):
                        if($r->vid > $rows[0]->vid){         ##Storing greater values in an array
                            $query = "SELECT distinct w.*,s.guid,p.playlist_name,p.pid FROM " . $this->_videoinfotable. " w
                                     INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_med2play m ON m.media_id = w.vid
                                     INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_playlist p ON p.pid=m.playlist_id
                                     INNER JOIN " . $this->_wpdb->prefix . "posts s ON s.ID=w.slug
                                     WHERE w.publish='1' AND p.is_publish='1' AND w.vid=$r->vid ";
                            $arrGreat = $this->_wpdb->get_row($query);
                            $arr1[] = $arrGreat;
                        }else{                             ##Storing lesser values in an array
                          $query = "SELECT distinct w.*,s.guid,p.playlist_name,p.pid FROM " . $this->_videoinfotable. " w
                                    INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_med2play m ON m.media_id = w.vid
                                    INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_playlist p ON p.pid=m.playlist_id
                                    INNER JOIN " . $this->_wpdb->prefix . "posts s ON s.ID=w.slug
                                    WHERE w.publish='1' AND p.is_publish='1' AND w.vid=$r->vid ";
                            $arrLess = $this->_wpdb->get_row($query);
                            $arr2[]  = $arrLess;
                        }
                    endforeach;
                }
    
                $playlist = array_merge($rows,$arr1,$arr2);
    
        }
                 return $playlist;
            }   ##function for getting settings data ends

    and replace with the below code.

    public function get_playxmldata($thumImageorder,$where,$numberofvideos)
            {   ##function for getting settings data starts
                $query      = "SELECT distinct w.*,s.guid,p.playlist_name,p.pid FROM " . $this->_videoinfotable. " w
                               INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_med2play m ON m.media_id = w.vid
                               INNER JOIN " . $this->_wpdb->prefix . "hdflvvideoshare_playlist p ON p.pid=m.playlist_id
                               INNER JOIN " . $this->_wpdb->prefix . "posts s ON s.ID=w.slug
                               WHERE w.publish='1' AND p.is_publish='1' $where
                               ORDER BY $thumImageorder LIMIT ".($numberofvideos-1);
                $playlist  = $this->_wpdb->get_results($query);
    
                 return $playlist;
            }   ##function for getting settings data ends

    3. Now place the following code where ever you want to display rssfeed link in your site.

    <a href="”<?php">”
    id=”rssfeed” target=”_blank” >RSS Feed</a>

    To get particular category details - YOUR_SITE_URL/wp-content/plugins/contus-video-gallery/rss.php?playid=3

    To get particular video detail - YOUR_SITE_URL/wp-content/plugins/contus-video-gallery/rss.php?vid=2

    To get featured videos - YOUR_SITE_URL/wp-content/plugins/contus-video-gallery/rss.php?type=featured

    To get popular videos - YOUR_SITE_URL/wp-content/plugins/contus-video-gallery/rss.php?type=popular

    To get recent videos - YOUR_SITE_URL/wp-content/plugins/contus-video-gallery/rss.php?type=recent

    If you have any other queries feel free to contact us.

Topic Closed

This topic has been closed to new replies.

About this Plugin

  • WORDPRESS VIDEO GALLERY
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic

Tags

No tags yet.