function clipsergetvideodetails($vidlink, $existingcode, $categorylist, $reqtype) { global $database, $my; $mosConfig_absolute_path = JPATH_SITE; $mosConfig_live_site = substr(JURI::base(), 0, strlen(JURI::base()) - 1); $vidlink = jalemurldecode($vidlink); //http://clipser.com/watch_video/1048696 $smallvideocode = str_replace("http://www.clipser.com/watch_video/", "", $vidlink); $smallvideocode = str_replace("http://clipser.com/watch_video/", "", $smallvideocode); //improved security not to call another site... $vidlink = "http://clipser.com/watch_video/" . $smallvideocode; $videoservertype = "clipser"; // ########################################################### // ###### SCRAPE CLIPSER.COM FROM SNOOPY CLASS // ########################################################### include "{$mosConfig_absolute_path}/administrator/components/com_jomtube/includes/Snoopy.class.php"; $snoopy = new Snoopy(); $video_ID = $video_detail->remote_id; $snoopy->fetch("http://clipser.com/watch_video/" . $smallvideocode . ""); $strhtml = $snoopy->results; // ################################################## // ########### VIDEO TITLE PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strhtml, "<title>") + 17; $end_position = strpos($strhtml, "</title>", $start_position) - $start_position; $videotitle = substr($strhtml, $start_position, $end_position); $videotitle = htmlentities($videotitle, ENT_NOQUOTES); $videotitle = ucwords(strtolower($videotitle)); // ################################################## // ########### VIDEO DESCRIPTION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strhtml, "<meta name=\"description\" content=\"") + 34; $end_position = strpos($strhtml, "\" />", $start_position) - $start_position; $videodescription = substr($strhtml, $start_position, $end_position); $strlength = strlen($videodescription); if ($strlength == 0) { $videodescription = $videotitle; } $videodescription = strip_tags($videodescription); // video_desc -> FIELD name in Database // ################################################## // ########### VIDEO UPDATED TODAYS DATE // ################################################## $date_updated = date('Y-m-d'); // date_added -> FIELD name in Database // ################################################## // ########### VIDEO PUBLISHED DATE FROM HTML SOURCE // ################################################## $video_published = date('Y-m-d'); // date_added -> FIELD name in Database // ################################################## // ########### VIDEO KEYWORDS PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strhtml, "<meta name=\"keywords\" content=\"") + 31; $end_position = strpos($strhtml, "\" />", $start_position) - $start_position; $videotags = substr($strhtml, $start_position, $end_position); // ################################################## // ########### VIDEO THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strhtml, "[images][0]=") + 12; $end_position = strpos($strhtml, "\" target", $start_position) - $start_position; $thumbnail_link = substr($strhtml, $start_position, $end_position); // ################################################## // ########### VIDEO ID PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strhtml, "<input name=\"url_txt\" type=\"text\" value='") + 42; $end_position = strpos($strhtml, "'", $start_position) - $start_position; $video_url = substr($strhtml, $start_position, $end_position); // ################################################## // ########### VIDEO DURATION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strhtml, "Duration</span>: <strong>") + 25; $end_position = strpos($strhtml, "</strong>", $start_position) - $start_position; $videoduration = substr($strhtml, $start_position, $end_position); if ($reqtype == "new") { $renderinputform = renderinputform($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); return $renderinputform; } else { if ($reqtype == "refresh") { return array($picturelink, $videotitle, $itemcomment); } } }
function googlegetvideodetails($vidlink, $existingcode, $categorylist, $reqtype) { global $my; $mosConfig_absolute_path = JPATH_SITE; $mosConfig_live_site = substr(JURI::base(), 0, strlen(JURI::base()) - 1); if ($reqtype == "new") { $vidlink = jalemurldecode($vidlink); $googledomain = array(); $googledomain[0] = ".google.com/"; $googledomain[1] = ".google.ae/"; $googledomain[2] = ".google.com.af/"; $googledomain[3] = ".google.com.ag/"; $googledomain[4] = ".google.com.ai/"; $googledomain[5] = ".google.am/"; $googledomain[6] = ".google.com.ar/"; $googledomain[7] = ".google.as/"; $googledomain[8] = ".google.at/"; $googledomain[9] = ".google.com.au/"; $googledomain[10] = ".google.az/"; $googledomain[11] = ".google.ba/"; $googledomain[12] = ".google.com.bd/"; $googledomain[13] = ".google.be/"; $googledomain[14] = ".google.bg/"; $googledomain[15] = ".google.com.bh/"; $googledomain[16] = ".google.bi/"; $googledomain[17] = ".google.com.bn/"; $googledomain[18] = ".google.com.bo/"; $googledomain[19] = ".google.com.br/"; $googledomain[20] = ".google.bs/"; $googledomain[21] = ".google.co.bw/"; $googledomain[22] = ".google.com.bz/"; $googledomain[23] = ".google.ca/"; $googledomain[24] = ".google.cd/"; $googledomain[25] = ".google.cg/"; $googledomain[26] = ".google.ch/"; $googledomain[27] = ".google.ci/"; $googledomain[28] = ".google.co.ck/"; $googledomain[29] = ".google.cl/"; $googledomain[30] = ".google.cn/"; $googledomain[31] = ".google.com.co/"; $googledomain[32] = ".google.co.cr/"; $googledomain[33] = ".google.com.cu/"; $googledomain[34] = ".google.cz/"; $googledomain[35] = ".google.de/"; $googledomain[36] = ".google.dj/"; $googledomain[37] = ".google.dk/"; $googledomain[38] = ".google.dm/"; $googledomain[39] = ".google.com.do/"; $googledomain[40] = ".google.com.ec/"; $googledomain[41] = ".google.ee/"; $googledomain[42] = ".google.com.eg/"; $googledomain[43] = ".google.es/"; $googledomain[44] = ".google.com.et/"; $googledomain[45] = ".google.fi/"; $googledomain[46] = ".google.com.fj/"; $googledomain[47] = ".google.fm/"; $googledomain[48] = ".google.fr/"; $googledomain[49] = ".google.ge/"; $googledomain[50] = ".google.gg/"; $googledomain[51] = ".google.com.gi/"; $googledomain[52] = ".google.gl/"; $googledomain[53] = ".google.gm/"; $googledomain[54] = ".google.gp/"; $googledomain[55] = ".google.gr/"; $googledomain[56] = ".google.com.gt/"; $googledomain[57] = ".google.gy/"; $googledomain[58] = ".google.com.hk/"; $googledomain[59] = ".google.hn/"; $googledomain[60] = ".google.hr/"; $googledomain[61] = ".google.ht/"; $googledomain[62] = ".google.hu/"; $googledomain[63] = ".google.co.id/"; $googledomain[64] = ".google.ie/"; $googledomain[65] = ".google.co.il/"; $googledomain[66] = ".google.im/"; $googledomain[67] = ".google.co.in/"; $googledomain[68] = ".google.is/"; $googledomain[69] = ".google.it/"; $googledomain[70] = ".google.je/"; $googledomain[71] = ".google.com.jm/"; $googledomain[72] = ".google.jo/"; $googledomain[73] = ".google.co.jp/"; $googledomain[74] = ".google.co.ke/"; $googledomain[75] = ".google.com.kh/"; $googledomain[76] = ".google.ki/"; $googledomain[77] = ".google.kg/"; $googledomain[78] = ".google.co.kr/"; $googledomain[79] = ".google.kz/"; $googledomain[80] = ".google.la/"; $googledomain[81] = ".google.li/"; $googledomain[82] = ".google.lk/"; $googledomain[83] = ".google.co.ls/"; $googledomain[84] = ".google.lt/"; $googledomain[85] = ".google.lu/"; $googledomain[86] = ".google.lv/"; $googledomain[87] = ".google.com.ly/"; $googledomain[88] = ".google.co.ma/"; $googledomain[89] = ".google.md/"; $googledomain[90] = ".google.mn/"; $googledomain[91] = ".google.ms/"; $googledomain[92] = ".google.com.mt/"; $googledomain[93] = ".google.mu/"; $googledomain[94] = ".google.mv/"; $googledomain[95] = ".google.mw/"; $googledomain[96] = ".google.com.mx/"; $googledomain[97] = ".google.com.my/"; $googledomain[98] = ".google.com.na/"; $googledomain[99] = ".google.com.nf/"; $googledomain[100] = ".google.com.ng/"; $googledomain[101] = ".google.com.ni/"; $googledomain[102] = ".google.nl/"; $googledomain[103] = ".google.no/"; $googledomain[104] = ".google.com.np/"; $googledomain[105] = ".google.nr/"; $googledomain[106] = ".google.nu/"; $googledomain[107] = ".google.co.nz/"; $googledomain[108] = ".google.com.om/"; $googledomain[109] = ".google.com.pa/"; $googledomain[110] = ".google.com.pe/"; $googledomain[111] = ".google.com.ph/"; $googledomain[112] = ".google.com.pk/"; $googledomain[113] = ".google.pl/"; $googledomain[114] = ".google.pn/"; $googledomain[115] = ".google.com.pr/"; $googledomain[116] = ".google.pt/"; $googledomain[117] = ".google.com.py/"; $googledomain[118] = ".google.com.qa/"; $googledomain[119] = ".google.ro/"; $googledomain[120] = ".google.ru/"; $googledomain[121] = ".google.rw/"; $googledomain[122] = ".google.com.sa/"; $googledomain[123] = ".google.com.sb/"; $googledomain[124] = ".google.sc/"; $googledomain[125] = ".google.se/"; $googledomain[126] = ".google.com.sg/"; $googledomain[127] = ".google.sh/"; $googledomain[128] = ".google.si/"; $googledomain[129] = ".google.sk/"; $googledomain[130] = ".google.sn/"; $googledomain[131] = ".google.sm/"; $googledomain[132] = ".google.st/"; $googledomain[133] = ".google.com.sv/"; $googledomain[134] = ".google.co.th/"; $googledomain[135] = ".google.com.tj/"; $googledomain[136] = ".google.tk/"; $googledomain[137] = ".google.tm/"; $googledomain[138] = ".google.to/"; $googledomain[139] = ".google.tp/"; $googledomain[140] = ".google.com.tr/"; $googledomain[141] = ".google.tt/"; $googledomain[142] = ".google.com.tw/"; $googledomain[143] = ".google.com.ua/"; $googledomain[144] = ".google.co.ug/"; $googledomain[145] = ".google.co.uk/"; $googledomain[146] = ".google.com.uy/"; $googledomain[147] = ".google.co.uz/"; $googledomain[148] = ".google.com.vc/"; $googledomain[149] = ".google.co.ve/"; $googledomain[150] = ".google.vg/"; $googledomain[151] = ".google.co.vi/"; $googledomain[152] = ".google.com.vn/"; $googledomain[153] = ".google.vu/"; $googledomain[154] = ".google.ws/"; $googledomain[155] = ".google.co.za/"; $googledomain[156] = ".google.co.zm/"; $googledomain[157] = ".google.co.zw/"; for ($i = 1; $i <= 157; $i++) { $vidlink = str_replace($googledomain[$i], ".google.com/", $vidlink); } $smallvideocode = str_replace("http://video.google.com/videoplay?docid=", "", $vidlink); $smallvideocode = str_replace("/", "", $smallvideocode); $pos = strpos($smallvideocode, "&"); if ($pos > 0) { $smallvideocode = substr($smallvideocode, 0, $pos); } //improved security not to call another site... $vidhtmllink = "http://video.google.com/videoplay?docid=" . $smallvideocode; } else { if ($reqtype == "refresh") { if ($vidlink == "") { $vidhtmllink = "http://video.google.com/videoplay?docid=" . $existingcode; } } } $videoservertype = "google"; // ########################################################### // ###### SCRAPE PAGE FROM SNOOPY CLASS // ########################################################### include "{$mosConfig_absolute_path}/administrator/components/com_jomtube/includes/Snoopy.class.php"; $snoopy = new Snoopy(); $geturl = "http://video.google.com/videoplay?docid=" . $smallvideocode . ""; $snoopy->fetch($geturl); $strAPI = $snoopy->results; // ################################################## // ########### VIDEO ID PARSE FROM HTML SOURCE // ################################################## $remote_id = $smallvideocode; // remote_id -> FIELD name in Database // echo $remote_id; // TEST OUT THE remote_id // ################################################## // ########### VIDEO ID PARSE FROM HTML SOURCE // ################################################## $video_url = "http://video.google.com/videoplay?docid=" . $remote_id . ""; // video_url -> FIELD name in Database // echo $video_url; // TEST OUT THE Video URL // ################################################## // ########### VIDEO TITLE PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<title>") + 7; $end_position = strpos($strAPI, "</title>", $start_position) - $start_position; $videotitle = substr($strAPI, $start_position, $end_position); $videotitle = ucwords(strtolower($videotitle)); // ################################################## // ########### VIDEO DESCRIPTION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<span id=\"long-desc\">"); $end_position = strpos($strAPI, "</span>", $start_position) - $start_position; $videodescription = substr($strAPI, $start_position, $end_position); $videodescription = trim(strip_tags($videodescription)); // video_desc -> FIELD name in Databaseabase $strlength = strlen($videodescription); if ($strlength == 0) { $videodescription = $videotitle; } // echo $videodescription; // TEST OUT DESCRIPTION DISPLAY // ################################################## // ########### VIDEO UPDATED TODAYS DATE // ################################################## $date_updated = date('Y-m-d'); // date_added -> FIELD name in Database // ################################################## // ########### VIDEO PUBLISHED DATE // ################################################## $start_position = strpos($strAPI, "<span id=\"duration-and-date\">"); $end_position = strpos($strAPI, "</span><br>", $start_position) - $start_position; $video_published = substr($strAPI, $start_position, $end_position); $video_published = strip_tags($video_published); $durationtime = explode("-", $video_published); $video_published = date("Y-m-d", strtotime($durationtime[2])); // date_added -> FIELD name in Database // print_r (explode ("-", $video_published)); // TEST CREATES AND DISPLAYS AN ARRAY $video_published = date('Y-m-d'); // ################################################## // ########### VIDEO DURATION PARSE FROM HTML SOURCE // ################################################## $videoduration = trim($durationtime[1]); // duration -> FIELD name in Database Convert to 00:00:00 i.e. hrs:min:sec // ################################################## // ########### VIDEO THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position1 = strpos($strAPI, "thumbnailUrl") + 12; $start_position = strpos($strAPI, "http://", $start_position1); $end_position = strpos($strAPI, "'", $start_position) - $start_position; $thumbnail_link = substr($strAPI, $start_position, $end_position); $thumbnail_link = urldecode($thumbnail_link); // ################################################## // ########### VIDEO KEYWORDS PARSE FROM HTML SOURCE // ################################################## // $start_position = strpos($str,"</div><a class=\"tag\"")+22; // $end_position = strpos($str, "</div>", $start_position)-$start_position; // $videotags = substr($str, $start_position, $end_position); // $videotags = strip_tags($videotags); // $videotags = eregi_replace("(.*)>", '', $videotags); // tags -> FIELD name in Database if ($reqtype == "new") { $renderinputform = renderinputform($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); return $renderinputform; } else { if ($reqtype == "refresh") { return array($picturelink, $videotitle, $itemcomment); } } }
function blipgetvideodetails($vidlink, $existingcode, $categorylist, $reqtype) { global $database, $my; $mosConfig_absolute_path = JPATH_SITE; $mosConfig_live_site = substr(JURI::base(), 0, strlen(JURI::base()) - 1); if ($reqtype == "new") { $vidlink = jalemurldecode($vidlink); $smallvideocode = str_replace("http://www.blip.tv/file/", "", $vidlink); $smallvideocode = str_replace("http://blip.tv/file/", "", $smallvideocode); //improved security not to call another site... $vidlink = "http://blip.tv/file/" . $smallvideocode; } else { if ($reqtype == "refresh") { if ($vidlink == "") { $vidlink = "http://blip.tv/file/" . $existingcode; //trytoguess } } } // ################################################## // STRING CREATED FROM HTML SOURCE CODE $videoservertype = "blip"; $strhtml = jalem_file_get_contents($vidlink); // CONVERT HTML SOURCE TO STRING $feedlink = "http://blip.tv/file/" . $smallvideocode . "?skin=rss"; $feedlink = str_replace("/?", "?", $feedlink); $strXML = jalem_file_get_contents($feedlink); // CONVERT API FEED SOURCE TO STRING // ################################################## // ########### VIDEO TITLE PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<media:title>") + 13; $end_position = strpos($strXML, "</media:title>", $start_position) - $start_position; $videotitle = substr($strXML, $start_position, $end_position); $videotitle = htmlentities($videotitle, ENT_NOQUOTES); $videotitle = ucwords(strtolower($videotitle)); // ################################################## // ########### VIDEO DESCRIPTION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strhtml, "player.setDescription(\"") + 23; $end_position = strpos($strhtml, "\");", $start_position) - $start_position; $videodescription = substr($strhtml, $start_position, $end_position); $strlength = strlen($videodescription); if ($strlength == 0) { $videodescription = $videotitle; } // $videodescription = str_replace("\"","",$videodescription); // $videodescription = htmlentities($videodescription, ENT_QUOTES); // ################################################## // ########### VIDEO UPDATED TODAYS DATE // ################################################## $date_updated = date('Y-m-d'); // date_added -> FIELD name in Database // ################################################## // ########### VIDEO PUBLISHED DATE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<pubDate>") + 9; $end_position = strpos($strXML, "</pubDate>", $start_position) - $start_position; $video_published = substr($strXML, $start_position, $end_position); $video_published = date("Y-m-d", strtotime($video_published)); // date_added -> FIELD name in Database $video_published = date('Y-m-d'); // ################################################## // ########### VIDEO KEYWORDS PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<media:keywords>") + 16; $end_position = strpos($strXML, "</media:keywords>", $start_position) - $start_position; $videotags = substr($strXML, $start_position, $end_position); $videotag_exisits = strlen($videotags); if ($videotag_exisits == 0) { $videotags = $videotitle; } $videotags = str_replace(",", ", ", $videotags); // ################################################## // ########### VIDEO THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<blip:smallThumbnail>") + 21; $end_position = strpos($strXML, "</blip:smallThumbnail>", $start_position) - $start_position; $thumbnail_link = substr($strXML, $start_position, $end_position); // ################################################## // ########### DISLAY THUMBNAIL LARGE PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<media:thumbnail url=\"") + 22; $end_position = strpos($strXML, ".jpg", $start_position) - $start_position; $display_thumb = substr($strXML, $start_position, $end_position + 4); // ################################################## // ########### PLAYER LINK PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<media:player url=\"") + 19; $end_position = strpos($strXML, "\"", $start_position) - $start_position; $video_url = substr($strXML, $start_position, $end_position); // ################################################## // ########### VIDEO ID PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strhtml, "<option value=\"/file/") + 21; $end_position = strpos($strhtml, "?filename", $start_position) - $start_position; $smallvideocode = substr($strhtml, $start_position, $end_position); // remote_id -> FIELD name in Database // ################################################## // ########### VIDEO DURATION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<blip:runtime>") + 14; $end_position = strpos($strXML, "</blip:runtime>", $start_position) - $start_position; $sec = substr($strXML, $start_position, $end_position); $videoduration = sec2hms($sec); // Convert to 00:00:00 i.e. hrs:min:sec if ($reqtype == "new") { $renderinputform = renderinputform($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); return $renderinputform; } else { if ($reqtype == "refresh") { return array($picturelink, $videotitle, $itemcomment); } } }
function revvergetvideodetails($vidlink, $existingcode, $categorylist, $reqtype) { global $database, $my; $mosConfig_absolute_path = JPATH_SITE; $mosConfig_live_site = substr(JURI::base(), 0, strlen(JURI::base()) - 1); $vidlink = jalemurldecode($vidlink); $smallvideocode = str_replace("http://www.revver.com/video/", "", $vidlink); $smallvideocode = str_replace("http://revver.com/video/", "", $smallvideocode); //http://www.revver.com/video/531282/glacier-race //improved security not to call another site... $vidlink = "http://www.revver.com/video/" . $smallvideocode; $smallvideocode = eregi_replace("/(.*)", "", $smallvideocode); $videoservertype = "revver"; // $vidlink = jalemurldecode($vidlink); //http://clipser.com/watch_video/1048696 // $smallvideocode = str_replace("http://www.clipser.com/watch_video/", "", $vidlink); // $smallvideocode = str_replace("http://clipser.com/watch_video/", "", $smallvideocode); //improved security not to call another site... // $vidlink = "http://clipser.com/watch_video/".$smallvideocode; // $videoservertype = "clipser"; // ########################################################### // ###### SCRAPE PAGE FROM SNOOPY CLASS // ########################################################### include "{$mosConfig_absolute_path}/administrator/components/com_jomtube/includes/Snoopy.class.php"; $snoopy = new Snoopy(); $snoopy->fetch("http://www.revver.com/video/" . $smallvideocode . ""); $strAPI = $snoopy->results; // ################################################## // ########### VIDEO ID PARSE FROM HTML SOURCE // ################################################## $remote_id = $smallvideocode; // remote_id -> FIELD name in Database // echo $remote_id; // TEST OUT THE remote_id // ################################################## // ########### VIDEO ID PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "http://www.facebook.com/share.php?u=") + 36; $end_position = strpos($strAPI, "\"", $start_position) - $start_position; $video_url = substr($strAPI, $start_position, $end_position); $video_url = urldecode($video_url); // echo $video_url; // TEST OUT THE Video URL // ################################################## // ########### VIDEO TITLE PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<meta name=\"title\" content=\"") + 28; $end_position = strpos($strAPI, "\" />", $start_position) - $start_position; $videotitle = substr($strAPI, $start_position, $end_position); $videotitle = ucwords(strtolower($videotitle)); // ################################################## // ########### VIDEO DESCRIPTION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<span id=\"video_description_text\">") + 34; $end_position = strpos($strAPI, "</span>", $start_position) - $start_position; $videodescription = substr($strAPI, $start_position, $end_position); $videodescription = strip_tags($videodescription); // video_desc -> FIELD name in Database // echo $videodescription; // TEST OUT THE Video Description // ################################################## // ########### VIDEO UPDATED TODAYS DATE // ################################################## $date_updated = date('Y-m-d'); // date_added -> FIELD name in Database // ################################################## // ########### VIDEO PUBLISHED DATE FROM HTML SOURCE // ################################################## $start_position1 = strpos($strAPI, "</strong> since") + 16; $start_position = strpos($strAPI, "<strong>", $start_position1) + 8; $end_position = strpos($strAPI, "</strong>", $start_position) - $start_position; $video_published = substr($strAPI, $start_position, $end_position); $video_published = date("Y-m-d", strtotime($video_published)); // date_added -> FIELD name in Database $video_published = date('Y-m-d'); // ################################################## // ########### VIDEO KEYWORDS PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<meta name=\"keywords\" content=\"") + 31; $end_position = strpos($strAPI, "\" />", $start_position) - $start_position; $videotags = substr($strAPI, $start_position, $end_position); // ################################################## // ########### VIDEO THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<link rel=\"image_src\" href=\"") + 28; $end_position = strpos($strAPI, "\" />", $start_position) - $start_position; $thumbnail_link = substr($strAPI, $start_position, $end_position); // ################################################## // ########### VIDEO THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<link rel=\"image_src\" href=\"") + 28; $end_position = strpos($strAPI, "\" />", $start_position) - $start_position; $display_thumb = substr($strAPI, $start_position, $end_position); // ################################################## // ########### VIDEO DURATION PARSE FROM HTML SOURCE // ################################################## if ($reqtype == "new") { $renderinputform = renderinputform($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); return $renderinputform; } else { if ($reqtype == "refresh") { return array($picturelink, $videotitle, $itemcomment); } } }
function metacafegetvideodetails($vidlink, $existingcode, $categorylist, $reqtype) { global $database, $my; $mosConfig_absolute_path = JPATH_SITE; $mosConfig_live_site = substr(JURI::base(), 0, strlen(JURI::base()) - 1); if ($reqtype == "new") { $vidlink = jalemurldecode($vidlink); $smallvideocode = str_replace("http://www.metacafe.com/watch/", "", $vidlink); //improved security not to call another site... $vidlink = "http://www.metacafe.com/watch/" . $smallvideocode; } else { if ($reqtype == "refresh") { if ($vidlink == "") { $vidlink = "http://www.metacafe.com/watch/" . $existingcode; //trytoguess } } } $checkvideocode = substr($smallvideocode, -1); if ($checkvideocode == "/") { $smallvideocode = substr($smallvideocode, 0, -1) . ".swf"; } $videoservertype = "metacafe"; // ################################################## // ########### REMOTE ID PARSE FROM HTML SOURCE // ################################################## $end_position = strpos($smallvideocode, "/"); $remote_id = substr($smallvideocode, 0, $end_position); // remote_id -> FIELD name in Database // echo $remote_id; //TO TEST AND GET ONLY THE REMOTE ID NOTHING ELSE // ########################################################### // ###### SCRAPE PAGE VARIABLES USING SNOOPY CLASS // ########################################################### include "{$mosConfig_absolute_path}/administrator/components/com_jomtube/includes/Snoopy.class.php"; $snoopy = new Snoopy(); $video_ID = $video_detail->remote_id; $snoopy->fetch("http://www.metacafe.com/api/item/" . $remote_id . ""); $strAPI = $snoopy->results; // echo $strAPI; //TO TEST AND RETURN API PAGE TO SCRAPE // ################################################## // ########### video_url -> PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<media:player url=\"") + 19; $end_position = strpos($strAPI, "\"", $start_position) - $start_position; $video_url = substr($strAPI, $start_position, $end_position); // ################################################## // ########### VIDEO TITLE PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<media:title>") + 13; $end_position = strpos($strAPI, "</media:title>") - $start_position; $videotitle = substr($strAPI, $start_position, $end_position); $videotitle = htmlentities($videotitle, ENT_NOQUOTES); $videotitle = ucwords(strtolower($videotitle)); // ################################################## // ########### VIDEO DESCRIPTION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<media:description>") + 19; $end_position = strpos($strAPI, "</media:description>", $start_position) - $start_position; $videodescription = substr($strAPI, $start_position, $end_position); $strlength = strlen($videodescription); if ($strlength == 0) { $videodescription = $videotitle; } $videodescription = html_entity_decode($videodescription); // video_desc -> FIELD name in Database // ################################################## // ########### VIDEO UPDATED TODAYS DATE // ################################################## $date_updated = date('Y-m-d'); // date_added -> FIELD name in Database // ################################################## // ########### VIDEO PUBLISHED DATE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<pubDate>") + 9; $end_position = strpos($strAPI, "</pubDate>", $start_position) - $start_position; $video_published = substr($strAPI, $start_position, $end_position); $video_published = date("Y-m-d", strtotime($video_published)); // date_added -> FIELD name in Database $video_published = date('Y-m-d'); // THIS BYPASS ORGINAL PUBLISH DATE TO CURRENT DATE ADDED // ################################################## // ########### VIDEO KEYWORDS PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<media:keywords>") + 16; $end_position = strpos($strAPI, "</media:keywords>", $start_position) - $start_position; $videotags = substr($strAPI, $start_position, $end_position); $videotags = html_entity_decode($videotags); $videotags = str_replace(",", ", ", $videotags); // ################################################## // ########### video_thumb -> THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<img src=\"") + 10; $end_position = strpos($strAPI, "\"", $start_position) - $start_position; $thumbnail_link = substr($strAPI, $start_position, $end_position); // ################################################## // ########### thumb_display -> DISPLAY PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<img src=\"") + 10; $end_position = strpos($strAPI, "\"", $start_position) - $start_position; $display_thumb = substr($strAPI, $start_position, $end_position); // ################################################## // ########### VIDEO DURATION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "duration=\"") + 10; $end_position = strpos($strAPI, "\"", $start_position) - $start_position; $sec = substr($strAPI, $start_position, $end_position); $videoduration = sec2hms($sec); // duration -> FIELD name in Database if ($reqtype == "new") { $renderinputform = renderinputform($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); return $renderinputform; } else { if ($reqtype == "refresh") { return array($picturelink, $videotitle, $itemcomment); } } }
function vimeogetvideodetails($vidlink, $existingcode, $categorylist, $reqtype) { global $database, $my; $mosConfig_absolute_path = JPATH_SITE; $mosConfig_live_site = substr(JURI::base(), 0, strlen(JURI::base()) - 1); if ($reqtype == "new") { $vidlink = jalemurldecode($vidlink); $smallvideocode = str_replace("http://www.vimeo.com/", "", $vidlink); $smallvideocode = str_replace("http://vimeo.com/", "", $smallvideocode); //improved security not to call another site... $vidlink = "http://www.vimeo.com/" . $smallvideocode; } else { if ($reqtype == "refresh") { } } $videoservertype = "vimeo"; // ########################################################### // ###### SCRAPE VIMEO.COM FROM SNOOPY CLASS // ########################################################### include "{$mosConfig_absolute_path}/administrator/components/com_jomtube/includes/Snoopy.class.php"; $snoopy = new Snoopy(); $video_ID = $video_detail->remote_id; $snoopy->fetch("http://vimeo.com/api/clip/" . $smallvideocode . ".xml"); $strXML = $snoopy->results; // ################################################## // ########### video_url -> PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<url>") + 5; $end_position = strpos($strXML, "</url>", $start_position) - $start_position; $video_url = substr($strXML, $start_position, $end_position); // echo $video_url; // TEST SHOW DEFAULT VIDEO ABSOLUTE PLAYER LINK // ################################################## // ########### remote_id -> PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<clip_id>") + 9; $end_position = strpos($strXML, "</clip_id>", $start_position) - $start_position; $remote_id = substr($strXML, $start_position, $end_position); // echo $remote_id; // TEST SHOW DEFAULT VIDEO ABSOLUTE PLAYER LINK // ################################################## // ########### VIDEO TITLE PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<title>") + 7; $end_position = strpos($strXML, "</title>") - $start_position; $videotitle = substr($strXML, $start_position, $end_position); $videotitle = htmlentities($videotitle, ENT_NOQUOTES); $videotitle = ucwords(strtolower($videotitle)); // ################################################## // ########### VIDEO DESCRIPTION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<caption>") + 9; $end_position = strpos($strXML, "</caption>", $start_position) - $start_position; $videodescription = substr($strXML, $start_position, $end_position); $videodescription = str_replace("<![CDATA[", "", $videodescription); $videodescription = str_replace("]]>", "", $videodescription); $strlength = strlen($videodescription); if ($strlength == 0) { $videodescription = $videotitle; } $videodescription = strip_tags($videodescription); // video_desc -> FIELD name in Database // ################################################## // ########### VIDEO THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<thumbnail_large>") + 17; $end_position = strpos($strXML, "</thumbnail_large>") - $start_position; $thumbnail_link = substr($strXML, $start_position, $end_position); // ################################################## // ########### VIDEO BIG THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<thumbnail_large>") + 17; $end_position = strpos($strXML, "</thumbnail_large>") - $start_position; $display_thumb = substr($strXML, $start_position, $end_position); // ################################################## // ########### VIDEO UPDATED TODAYS DATE // ################################################## $date_updated = date('Y-m-d'); // date_added -> FIELD name in Database // ################################################## // ########### VIDEO PUBLISHED DATE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<upload_date>") + 13; $end_position = strpos($strXML, "</upload_date>", $start_position) - $start_position; $video_published = substr($strXML, $start_position, $end_position); $video_published = date("Y-m-d", strtotime($video_published)); // date_added -> FIELD name in Database $video_published = date('Y-m-d'); // ################################################## // ########### VIDEO DURATION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<duration>") + 10; $end_position = strpos($strXML, "</duration>") - $start_position; $sec = substr($strXML, $start_position, $end_position); $videoduration = sec2hms($sec); // duration -> FIELD name in Database // ################################################## // ########### VIDEO KEYWORDS PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strXML, "<tags>") + 6; $end_position = strpos($strXML, "</tags>") - $start_position; $videotags = substr($strXML, $start_position, $end_position); if ($reqtype == "new") { $renderinputform = renderinputform($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); return $renderinputform; } else { if ($reqtype == "refresh") { return array($vidlink, $picturelink, $videotitle, $itemcomment, $categorylist, $videoservertype, $smallvideocode, $videotags, $videodescription, $videoduration, $video_published, $thumbnail_link, $remote_id, $date_updated, $display_thumb); } } }
function youtubegetvideodetails($vidlink, $existingcode, $categorylist, $reqtype) { global $my, $downloadcachingtimeout; $mosConfig_absolute_path = JPATH_SITE; $mosConfig_live_site = substr(JURI::base(), 0, strlen(JURI::base()) - 1); if ($reqtype == "new") { $vidlink = jalemurldecode($vidlink); $videoservertype = "youtube"; $youtubeurlmatch = "(.*)v="; //youtube urlmatch (v= must be in it) $smallvideocode = eregi_replace($youtubeurlmatch, '', $vidlink); //eregi replace vidlink $smallvideocode = substr($smallvideocode, 0, 11); } else { if ($reqtype == "refresh") { $smallvideocode = $existingcode; } } // set video data feed URL $feedURL = "http://gdata.youtube.com/feeds/api/videos/" . $smallvideocode . ""; // read feed into SimpleXML object $entry = simplexml_load_file($feedURL); // Call Function To Parse Video $video = parseVideoEntry($entry); $videotitle = $video->title; // video_title -> FIELD name in Database $videotitle = htmlentities($videotitle, ENT_NOQUOTES); $videotitle = ucwords(strtolower($videotitle)); $videodescription = $video->description; // video_desc -> FIELD name in Database $strlength = strlen($videodescription); if ($strlength == 0) { $videodescription = $videotitle; } $videodescription = strip_tags($videodescription); $videotags = $video->keywords; // tags -> FIELD name in Database $sec = $video->length; // Convert to 00:00:00 i.e. hrs:min:sec $videoduration = sec2hms($sec); // duration -> FIELD name in Database $viddate = array(); $viddate = date_parse($video->published); // Convert Date 0000-00-00 $video_published = $viddate[year] . "-" . $viddate[month] . "-" . $viddate[day]; // date_added -> FIELD name in Database $vidupdate = date_parse($video->updated); // Convert Date 0000-00-00 $date_updated = $vidupdate[year] . "-" . $vidupdate[month] . "-" . $vidupdate[day]; // date_updated -> FIELD name in Database $video_url = $video->videourl; // video_url -> FIELD name in Database $remote_id = $smallvideocode; // remote_id -> FIELD name in Database $thumbnail_link = $video->thumbnailURL; // video_thumb -> FIELD name in Database $display_thumb = $video->displayURL; // display_thumb-> FIELD name in Database $video_published = date('Y-m-d'); if ($reqtype == "new") { $renderinputform = renderinputform($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); return $renderinputform; } else { if ($reqtype == "refresh") { return array($picturelink, $videotitle, $itemcomment, $videotags, $videodescription, $videoduration, $video_published, $thumbnail_link); } } }
function dailymotiongetvideodetails($vidlink, $existingcode, $categorylist, $reqtype) { global $my; $mosConfig_absolute_path = JPATH_SITE; $mosConfig_live_site = substr(JURI::base(), 0, strlen(JURI::base()) - 1); if ($reqtype == "new") { $vidlink = jalemurldecode($vidlink); $smallvideocode = str_replace("http://www.dailymotion.com/", "", $vidlink); //improved security not to call another site... $vidlink = "http://www.dailymotion.com/" . $smallvideocode; } else { if ($reqtype == "refresh") { if ($vidlink == "") { $vidlink = "http://www.dailymotion.com/" . $existingcode; } } } $videoservertype = "dailymotion"; // ################################################## // ########### VIDEO LINK ID PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($smallvideocode, "/video/") + 6; // $end_position = strpos($smallvideocode, "/video/"); $vidlink = substr($smallvideocode, $start_position); // remote_id -> FIELD name in Database // echo $remote_id; //TO TEST AND GET ONLY THE REMOTE ID NOTHING ELSE // ########################################################### // ###### SCRAPE API VIDEO PAGE FROM SNOOPY CLASS // ########################################################### include "{$mosConfig_absolute_path}/administrator/components/com_jomtube/includes/Snoopy.class.php"; $snoopy = new Snoopy(); $snoopy->fetch("http://www.dailymotion.com/rss/video/" . $vidlink . ""); $strAPI = $snoopy->results; // echo $strAPI; // ################################################## // ########### remote_id PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<dm:id>") + 7; $end_position = strpos($strAPI, "</dm:id>") - $start_position; $remote_id = substr($strAPI, $start_position, $end_position); // remote_id -> FIELD name in Database echo $remote_id; //TO TEST AND GET ONLY THE REMOTE ID NOTHING ELSE // ################################################## // ########### VIDEO TITLE PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<media:title>") + 13; $end_position = strpos($strAPI, "</media:title>") - $start_position; $videotitle = substr($strAPI, $start_position, $end_position); $videotitle = htmlentities($videotitle, ENT_NOQUOTES); $videotitle = ucwords(strtolower($videotitle)); // ################################################## // ########### VIDEO DESCRIPTION PARSE FROM HTML SOURCE // ################################################## $start_position1 = strpos($strAPI, "<description><![CDATA[") + 22; $start_position = strpos($strAPI, "</a><p>", $start_position1) + 7; $end_position = strpos($strAPI, "</p><p>Author:", $start_position) - $start_position; $videodescription = substr($strAPI, $start_position, $end_position); $strlength = strlen($videodescription); echo $strlength; // TEST THE LENGTH OF DESCRIPTION if ($strlength == 0) { $videodescription = $videotitle; } $videodescription = strip_tags($videodescription); // video_desc -> FIELD name in Database // echo $videodescription; // TO TEST OUTPUT ONLY // ################################################## // ########### VIDEO KEYWORDS PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<itunes:keywords>") + 17; $end_position = strpos($strAPI, "</itunes:keywords>", $start_position) - $start_position; $videotags = substr($strAPI, $start_position, $end_position); // $videotags = html_entity_decode($videotags); // $videotags = str_replace("," , ", " , $videotags); // ################################################## // ########### VIDEO UPDATED TODAYS DATE // ################################################## $date_updated = date('Y-m-d'); // date_updated -> FIELD name in Database // ################################################## // ########### VIDEO PUBLISHED DATE FROM DAILYMOTION // ################################################## $start_position = strpos($strAPI, "<pubDate>") + 9; $end_position = strpos($strAPI, "</pubDate>", $start_position) - $start_position; $video_published = substr($strAPI, $start_position, $end_position); $video_published = date("Y-m-d", strtotime($video_published)); // date_added -> FIELD name in Database $video_published = date('Y-m-d'); // ################################################## // ########### VIDEO DURATION PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "duration=\"") + 10; $end_position = strpos($strAPI, "\"", $start_position) - $start_position; $sec = substr($strAPI, $start_position, $end_position); $videoduration = sec2hms($sec); // duration -> FIELD name in Database // ################################################## // ########### video_thumb -> THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "src=\"") + 5; $end_position = strpos($strAPI, ".jpg", $start_position) - $start_position; $thumbnail_link = substr($strAPI, $start_position, $end_position + 4); // echo $thumbnail_link; // TEST PATH FOR IMAGE THUMBNAIL // ################################################## // ########### $display_thumb -> THUMBNAIL PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "src=\"") + 5; $end_position = strpos($strAPI, ".jpg", $start_position) - $start_position; $display_thumb = substr($strAPI, $start_position, $end_position + 4); // echo $display_thumb; // TEST PATH FOR IMAGE THUMBNAIL // ################################################## // ########### video_url -> PARSE FROM HTML SOURCE // ################################################## $start_position = strpos($strAPI, "<media:player url=\"") + 19; $end_position = strpos($strAPI, "\"", $start_position) - $start_position; $video_url = substr($strAPI, $start_position, $end_position); // echo $video_url; // TEST SHOW DEFAULT VIDEO ABSOLUTE PLAYER LINK if ($reqtype == "new") { $renderinputform = renderinputform($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); return $renderinputform; } else { if ($reqtype == "refresh") { return array($video_url, $thumbnail_link, $display_thumb, $videotitle, $videodescription, $videotags, $video_published, $date_updated, $videoduration, $remote_id, $videoservertype, $smallvideocode, $categorylist); } } }