$singleVideodata = array(); /** Create object for Videohome view class */ $pageOBJ = new ContusVideoView(); /** Create object for Videohome controller class */ $contOBJ = new ContusVideoController(); /** Get video ID from video home view */ $getVid = $pageOBJ->_vId; /** Get playlist ID from video home view */ $getPid = $pageOBJ->_pId; /** * Get number of videos from URL * If it is empty then get related videos count from settings */ $numberofvideos = filter_input(INPUT_GET, 'numberofvideos'); if (empty($numberofvideos)) { $numberofvideos = get_related_video_count(); } /** If number of videos are empty then set default value as 4 */ if (empty($numberofvideos)) { $numberofvideos = 4; } /** Get featured from URL */ $featured = filter_input(INPUT_GET, 'featured'); /** Get adminview from URL */ $adminView = filter_input(INPUT_GET, 'adminview'); /** Get type from URL */ $type = filter_input(INPUT_GET, 'type'); /** Check whether banner player is used */ if (!empty($numberofvideos) && !empty($type)) { $banner = 1; }
/** * Function is used to display palyer and video information * * @param array $arguments * @return unknown number string */ function hdflv_sharerender($arguments = array()) { global $wpdb, $current_user; /** Variable initialization for ContusVideoDetailView */ $output = $videourl = $imgurl = $vid = $playlistid = $homeplayerData = $rate = $no_views = $windo = $post_date = ''; $video_playlist_id = $videoId = $hitcount = $show_posted_by = $show_added_on = $show_social_icon = $ratecount = $videodivId = 0; $fetched = array(); /** Get random number to attach */ $videodivId = rand(); /** Check admin logged in */ $isAdmin = absint(filter_input(INPUT_GET, 'admin')); /** Query to get settings data from db */ $configXML = getPluginSettings(); /** Generate flashvars detail * for player starts here */ $flashvars = $pluginflashvars = 'baserefW=' . home_url(); /** Get width from settings */ $width = $configXML->width; if (isset($arguments['width']) && !empty($arguments['width'])) { /** Get width from short code */ $width = $arguments['width']; } /** Get height from settings */ $height = $configXML->height; if (isset($arguments['height']) && !empty($arguments['height'])) { /** Get height from short code */ $height = $arguments['height']; } /** Get playor colors, posted by, social icon, rss icon * and related videos count from settings object */ $player_color = unserialize($configXML->player_colors); $show_posted_by = $player_color['show_posted_by']; $show_social_icon = $player_color['show_social_icon']; $show_rss_icon = $player_color['show_rss_icon']; $number_related_video = get_related_video_count(); /** If related video is not given in settings page, * then assign default value 100 */ if (empty($number_related_video)) { $number_related_video = 100; } /** Get show added on option from settings*/ if (isset($player_color['show_added_on'])) { $show_added_on = $player_color['show_added_on']; } /** Send report for video */ if (isset($arguments['id'])) { /** Get video id from short code */ $videodivId .= $arguments['id']; $vid = $arguments['id']; } if (!empty($vid)) { $wp_user = wp_get_current_user(); $wp_user_id = $wp_user->ID; /** Call function to get video details */ $homeplayerData = $this->short_video_detail($vid, $number_related_video); $fetched[] = $homeplayerData; } /** Store video details in variables */ if (!empty($homeplayerData)) { /** Get video detials from model */ $videoUrl = $homeplayerData->file; $videoId = $homeplayerData->vid; $video_title = $homeplayerData->name; $video_slug = $homeplayerData->slug; $video_file_type = $homeplayerData->file_type; $video_playlist_id = $homeplayerData->playlist_id; $description = $homeplayerData->description; $tag_name = $homeplayerData->tags_name; $hitcount = $homeplayerData->hitcount; $uploadedby = $homeplayerData->display_name; $uploadedby_id = $homeplayerData->ID; $ratecount = $homeplayerData->ratecount; $rate = $homeplayerData->rate; $post_date = $homeplayerData->post_date; $video_thumb = getImagesValue($homeplayerData->image, $video_file_type, $homeplayerData->amazon_buckets, ''); } /** Get playlist id from short code */ if (isset($arguments['playlistid'])) { /** Get video id */ $videodivId .= $arguments['playlistid']; /** Get playlist id */ $playlistid = $arguments['playlistid']; /** Set flash vars */ $flashvars .= '&mtype=playerModule'; } /** Check view is from admin */ if (!empty($isAdmin)) { $flashvars .= '&adminview=true'; } /** Generate flashvars detail for player starts here */ if (!empty($playlistid) && !empty($vid)) { $flashvars .= '&pid=' . $playlistid . '&vid=' . $vid; } elseif (!empty($playlistid)) { $flashvars .= '&pid=' . $playlistid . '&showPlaylist=true'; $playlist_videos = $this->_contOBJ->video_pid_detail($playlistid, 'detailpage', $number_related_video); /** Get video details based on the playlist id */ if (!empty($playlist_videos)) { $videoId = $playlist_videos[0]->vid; $video_playlist_id = $playlist_videos[0]->playlist_id; $hitcount = $playlist_videos[0]->hitcount; $uploadedby = $playlist_videos[0]->display_name; $uploadedby_id = $playlist_videos[0]->ID; $ratecount = $playlist_videos[0]->ratecount; $rate = $playlist_videos[0]->rate; $fetched[] = $playlist_videos[0]; } } else { if ($this->_post_type !== APPTHAVIDEOGALLERY && $this->_page_post_type !== APPTHAVIDEOGALLERY) { $flashvars .= '&vid=' . $vid . '&showPlaylist=false'; } else { $flashvars .= '&vid=' . $vid; } } /** Set flashvars based on the short code arguments */ if (isset($arguments['flashvars'])) { $flashvars .= '&' . $arguments['flashvars']; } if (!isset($arguments['playlistid']) && isset($arguments['id']) && $this->_post_type !== APPTHAVIDEOGALLERY && $this->_page_post_type !== APPTHAVIDEOGALLERY) { $flashvars .= '&playlist_autoplay=false&playlist_auto=false'; } /** Generate flashvars detail for player ends here */ $player_not_support = __('Player doesnot support this video.', APPTHA_VGALLERY); $htmlplayer_not_support = __('Html5 Not support This video Format.', APPTHA_VGALLERY); $output .= ' <script> var videoPage; videoPage = "' . $this->_mPageid . '"; </script>'; if (isset($arguments['title']) && $arguments['title'] == 'on') { $output .= '<h2 id="video_title' . $videodivId . '" class="videoplayer_title" ></h2>'; $pluginflashvars .= $flashvars .= '&videodata=current_video_' . $videodivId; } /** Player starts here */ $output .= '<div id="mediaspace' . $videodivId . '" class="videoplayer">'; $mobile = vgallery_detect_mobile(); /** Embed player code */ if (isset($fetched) && $fetched[0]->file_type == 5 && !empty($fetched[0]->embedcode)) { $playerembedcode = stripslashes($fetched[0]->embedcode); $playeriframewidth = str_replace('width=', 'width="' . $width . '"', $playerembedcode); if ($mobile) { $output .= $playerembedcode; } else { $output .= str_replace('height=', 'height="' . $height . '"', $playeriframewidth); watchedVideoHitCount($fetched[0]->vid, false); } } else { if ($mobile) { /** Check mobile device is detected */ /** Get video detail for HTML5 player * Load video details */ foreach ($fetched as $media) { $videourl = $media->file; $file_type = $media->file_type; $imgurl = getImagesValue($media->image, $file_type, $media->amazon_buckets, ''); } /** Check file type youtube, viddler,dailymotion */ if ($file_type == 3 || $file_type == 1) { if (strpos($videourl, 'youtube') > 0) { $videoid = getYoutubeVideoID($videourl); $output = '<div id="player"></div><script>var tag = document.createElement("script");tag.src = "https://www.youtube.com/iframe_api";var firstScriptTag = document.getElementsByTagName("script")[0];firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);var player;function onYouTubeIframeAPIReady() {player = new YT.Player("player", {width: "100%",videoId: "' . $videoid . '",playerVars: {"rel": 0,"showinfo":0,"modestbranding":0},events: {"onStateChange": onPlayerStateChange}});}var done = false;function onPlayerStateChange(event) {if (event.data == YT.PlayerState.PLAYING && !done) {currentVideoP(' . $videoId . ');done = true;}}</script>'; echo $output; /** Generate youtube embed code for html5 player */ } else { if (strpos($videourl, 'viddler') > 0) { /** For viddler videos in URL method */ $imgstr = explode('/', $videourl); $viddler_id = $imgstr[4]; $output = '<script type="text/javascript" src="//static.cdn-ec.viddler.com/js/arpeggio/v3/build/main-built.js"></script><div id="my-player"></div><script>var embed = new ViddlerEmbed({videoId: "' . $viddler_id . '",width: "100%",target: "#my-player"});var done = false;embed.manager.events.on("videoPlayer:play", function() {if (!done) {currentVideoP(' . $videoId . ');done = true;}});</script>'; } elseif (strpos($videourl, 'dailymotion') > 0) { /** For dailymotion videos in URL method */ $split_id = getDailymotionVideoID($videourl); $video = $videourl = $this->_protocolURL . 'www.dailymotion.com/embed/video/' . $split_id[0]; $output = '<script src="http://api.dmcdn.net/all.js"></script><div id="player"></div><script>var player = DM.player(document.getElementById("player"),{video: "' . $split_id[0] . '",width: "100%",params: {html: 0,wmode: "opaque"},events: {playing: function(){onPlayerStateChange();}}});var done = false;function onPlayerStateChange(){if (!done) {currentVideoP(' . $videoId . ');done = true;}}</script>'; echo $output; } else { $output .= '<video width="100%" height="' . $height . '" id="video" poster="' . $imgurl . '" src="' . $videourl . '" autobuffer controls onerror="failed( event )">' . $htmlplayer_not_support . '</video>'; } } } else { /** For uploaded videos, get video URL */ $video_url = getVideosValue($videoFile, $file_type, $amazonBucket); /** Check for RTMP videos */ if ($file_type == 4) { $streamer = str_replace('rtmp://', 'http://', $media->streamer_path); $video_url = $streamer . '_definst_/mp4:' . $videourl . '/playlist.m3u8'; } /** Generate video code for html5 player */ $output .= '<video width="100%" height="' . $height . '" id="video" poster="' . $imgurl . '" src="' . $video_url . '" autobuffer controls onerror="failed( event )">' . $htmlplayer_not_support . '</video>'; } } else { $output .= '<div id="flashplayer"><embed src="' . $this->_swfPath . '" flashvars="' . $flashvars . '" width="' . $width . '" height="' . $height . '" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" wmode="transparent"></div>'; /** Google adsense code Start */ if ($player_color['googleadsense_visible'] == 1 && !$mobile && ($this->_post_type === APPTHAVIDEOGALLERY || $this->_page_post_type === APPTHAVIDEOGALLERY)) { if ($homeplayerData->google_adsense && $homeplayerData->google_adsense_value) { $output .= '<div>'; /** * Call function to dipaly google adsense on player */ $output .= $this->displayGoogleAdsense($width, $vid, $homeplayerData->vid); } } } } $output .= '</div>'; /** End Google adsense End. */ /** Get current user agent */ $useragent = $_SERVER['HTTP_USER_AGENT']; if (strpos($useragent, 'Windows Phone') > 0) { /** Check for windows phone */ $windo = 'Windows Phone'; } /** Check platform */ /** Call script to display error message within player */ $output .= '<script type="text/javascript"> function current_video_' . $videodivId . '( video_id,d_title ){ if( d_title == undefined ) { document.getElementById( "video_title' . $videodivId . '" ).innerHTML=""; } else { document.getElementById( "video_title' . $videodivId . '" ).innerHTML=""; document.getElementById( "video_title' . $videodivId . '" ).innerHTML=d_title; } } var txt = navigator.platform ; var windo = "' . $windo . '"; function failed( e ) { if( txt =="iPod"|| txt =="iPad" || txt == "iPhone" || windo=="Windows Phone" || txt == "Linux armv7l" || txt == "Linux armv6l" ) { alert( "' . $player_not_support . '" ); } } </script>'; /** Player ends here * Display description, views, tags, playlist names detail under player */ if (isset($arguments['views']) && $arguments['views'] == 'on') { $videogalleryviews = true; } else { if (($this->_post_type === APPTHAVIDEOGALLERY || $this->_page_post_type === APPTHAVIDEOGALLERY) && $configXML->view_visible == 1) { $videogalleryviews = true; } else { $videogalleryviews = false; $no_views = 'noviews'; } } /** Call function to display view count, posted on details in video detail page */ $output .= $this->displayViewsPostedON($show_added_on, $videogalleryviews, $no_views, $post_date, $hitcount); /** Display user name under player */ $output .= '<div class="clearfix"></div>'; if ($this->_post_type === APPTHAVIDEOGALLERY || $this->_page_post_type === APPTHAVIDEOGALLERY) { $user_url = get_user_permalink($this->_mPageid, $uploadedby_id, $uploadedby); if ($show_posted_by) { $output .= '<div class="video-page-username"><strong>' . __('Posted by', APPTHA_VGALLERY) . ' : </strong><a href="' . $user_url . '">' . $uploadedby . '</a></div>'; } /** Display category name under player */ if ($configXML->categorydisplay == 1) { /** Category display function */ $output .= $this->displayCategory($vid); } } /** Rating starts here for video details page */ if ($this->_post_type === APPTHAVIDEOGALLERY || $this->_page_post_type === APPTHAVIDEOGALLERY) { /** Set ratings control if enabled for player */ if ($configXML->ratingscontrol == 1) { $ratingscontrol = true; } else { $ratingscontrol = false; } } else { if (isset($arguments['ratingscontrol']) && $arguments['ratingscontrol'] == 'on') { $ratingscontrol = true; } else { $ratingscontrol = false; } } /** Show ratings star avg */ if ($ratingscontrol) { $ratestar = getRatingValue($rate, $ratecount, 'calc'); /** Display ratings under player */ $output .= $this->displayRatings($ratestar, $ratecount, $videodivId, $vid, $videoId); } /** Rating ends here */ $output .= '</div>'; if ($this->_post_type === APPTHAVIDEOGALLERY || $this->_page_post_type === APPTHAVIDEOGALLERY) { /** Display tag info */ if (!empty($tag_name) && $configXML->tagdisplay == 1) { $output .= '<div class="video-page-tag"><strong>' . __('Tags', APPTHA_VGALLERY) . ' </strong>: ' . $tag_name . ' ' . '</div>'; } /** Check if video url is YouTube */ if (strpos($videoUrl, 'youtube') > 0) { $video_thumb = $this->_protocolURL . 'img.youtube.com/vi/' . getYoutubeVideoID($videoUrl) . '/hqdefault.jpg'; } /** Display description */ if (!empty($description)) { $removequotedescription = str_replace('"', '', $description); $videodescription = str_replace("'", '', $removequotedescription); } else { $videodescription = get_bloginfo('name'); } /** Check amazon s3 bucket is enabled */ if ($fetched[0]->amazon_buckets == 1) { $video_thumb = ''; } /** Load rss url link */ $rs_url = $this->_site_url . '/wp-admin/admin-ajax.php?action=rss&type=video&vid=' . $vid; $rss_image = getImagesDirURL() . '/rss_icon.png'; /** Show social icons below player */ if ($show_social_icon) { /** Function to display social icons * and rss icon */ $output .= $this->displaySocialIcons($configXML->keyApps, $videodescription, $video_thumb, $video_title); /** Show rss url link and image * Build rss icon div */ if ($show_rss_icon) { $output .= '<div class="floatleft rssfeed"> <a href="' . $rs_url . '"><img src="' . $rss_image . '"></a></div>'; } $output .= '</div>'; $output .= '<div class="clearfix">'; } $output .= '<div class="video-cat-thumb">'; /** Show rss icon enable / disable */ if ($show_rss_icon && !$show_social_icon) { $rs_url = $this->_site_url . '/wp-admin/admin-ajax.php?action=rss&type=video&vid=' . $vid; $rss_image = getImagesDirURL() . '/rss_icon.png'; $output .= '<div class="video-socialshare"><div class="floatleft rssfeed"> <a href="' . $rs_url . '"><img src="' . $rss_image . '"></a></div></div>'; } /** Show or hide embed /iframe/report video option code for video detail page.. */ if ($configXML->embed_visible == 1) { $output .= '<a href="javascript:void( 0 )" onclick="enableEmbed();" class="embed" id="allowEmbed"><span class="embed_text">' . __('Embed Code', APPTHA_VGALLERY) . '</span><span class="embed_arrow"></span></a>'; } if (isset($player_color['iframe_visible']) && $player_color['iframe_visible']) { $output .= '<a href="javascript::void(0);" onclick="view_iframe_code();" id="iframe_code" class="embed"><span class="embed_text">' . __('Iframe', APPTHA_VGALLERY) . '</span><span class="embed_arrow"></span></a>'; } if (isset($player_color['report_visible']) && $player_color['report_visible']) { $output .= '<a href="javascript:void(0)" onclick="reportVideo();" class="embed" id="allowReport"><span class="embed_text">' . __('Report Video', APPTHA_VGALLERY) . '</span><span class="embed_arrow"></span></a>'; } /** Condition for embed code */ if ($fetched[0]->file_type == 5 && !empty($fetched[0]->embedcode)) { $embed_code = stripslashes($fetched[0]->embedcode); } else { /** Display embed code */ $embed_code = '<embed src="' . $this->_swfPath . '" flashvars="' . $flashvars . '&shareIcon=false&email=false&showPlaylist=false&zoomIcon=false&copylink=' . get_permalink() . '&embedplayer=true" width="' . $width . '" height="' . $height . '" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" wmode="transparent">'; } /** Call fucntion to display report video option */ $output .= $this->displayReportVideo($embed_code, $video_slug, $current_user->user_email); /** Load embed code */ if ($fetched[0]->file_type == 5 && $fetched[0]->embedcode) { $iframe_code = stripslashes($fetched[0]->embedcode); } else { /** Load iframe code */ $iframe_code = '<iframe src="' . $this->_swfPath . '?' . $flashvars . '&shareIcon=false&email=false&showPlaylist=false&zoomIcon=false&copylink=' . get_permalink() . '&embedplayer=true" frameborder="0" width="' . $width . '" height="' . $height . '" ></iframe>'; } $output .= '<textarea row="7" col="60" id="iframe-content" name="iframe-content" style="display:none;" onclick="this.select();">' . $iframe_code . '</textarea><input type="hidden" value="" id="iframeflag" name="iframeflag" />'; /** Show /hide video description. */ if ($configXML->showTag) { $output .= '<div style="clear: both;"></div><div class="video-page-desc">' . apply_filters('the_content', $description) . '</div>'; } $output .= '</div></div>'; } $output .= '</div></div>'; /** Enable/disable Related videos slider */ $flag = 0; if ($vid && isset($arguments['playlistid']) && isset($arguments['relatedvideos']) && $arguments['relatedvideos'] == 'on') { $flag = 1; } if ($flag == 1 || ($this->_post_type === APPTHAVIDEOGALLERY || $this->_page_post_type === APPTHAVIDEOGALLERY) && $player_color['show_related_video'] == 1) { /** Call function to display related videos slider */ $output .= $this->relatedVideoSlider($vid, $video_playlist_id, $pluginflashvars, $width, $height, $videodivId); } /** To display video comments section */ return $output . $this->videoComments($configXML); }
/** * Function get feature video player details. * If not feature videos then fetch recent videos * * @return type array */ public function get_featuredvideodata() { global $wpdb; /** Get related videos count */ $related_video_count = get_related_video_count(); /** If related video count is empty then set default value as 100 */ if (empty($related_video_count)) { $related_video_count = 10; } /** Query to fetch featured videos */ $query = 'SELECT distinct w.*,s.guid,p.playlist_name,u.display_name FROM ' . $this->_videoinfotable . ' w LEFT JOIN ' . $this->_wpdb->prefix . 'hdflvvideoshare_med2play m ON m.media_id = w.vid LEFT JOIN ' . $this->_wpdb->prefix . 'hdflvvideoshare_playlist p ON p.pid=m.playlist_id LEFT JOIN ' . $wpdb->posts . ' s ON s.ID=w.slug LEFT JOIN ' . $wpdb->users . ' u ON u.ID = w.member_id WHERE featured=1 AND publish=1 AND p.is_publish=1 GROUP BY w.vid ORDER BY ordering ASC LIMIT ' . $related_video_count; $feature = $this->_wpdb->get_results($query); /** If feature videos are not exist then fetch recent videos */ if (!$feature) { $query = 'SELECT distinct w.*,s.guid,p.playlist_name,u.display_name FROM ' . $this->_videoinfotable . ' w LEFT JOIN ' . $this->_wpdb->prefix . 'hdflvvideoshare_med2play m ON m.media_id = w.vid LEFT JOIN ' . $this->_wpdb->prefix . 'hdflvvideoshare_playlist p ON p.pid=m.playlist_id LEFT JOIN ' . $wpdb->posts . ' s ON s.ID=w.slug LEFT JOIN ' . $wpdb->users . ' u ON u.ID = w.member_id WHERE publish=1 AND p.is_publish=1 GROUP BY w.vid ORDER BY ordering ASC LIMIT ' . $related_video_count; $feature = $this->_wpdb->get_results($query); } /** Return featured video details */ return $feature; }