
04-23-2011, 03:23 AM
|
|
|
Join Date: Aug 2008
Posts: 58
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
|
I see. I tried to make a facebook hoster, but its not working. Can you check please?
Quote:
<?xml version="1.0" encoding="ISO-8859-1"?>
<videohoster varname="Facebook" classname="facebook" active="1">
<title>Facebook</title>
<regex />
<author>Test by Me</author>
<version>1.2.4</version>
<class_file><![CDATA[<?php
/**
* Class to fetch and handle Facebook
*
*/
class vB_VideoSharingService_Facebook extends vB_VideoSharingService
{
var $hostername = 'Facebook';
function vB_VideoSharingService_Facebook(&$registry)
{
parent::vB_VideoSharingService($registry);
$this->settings =& $this->registry->videohosters[$this->hostername]['settings'];
}
function verify_service(&$url)
{
$matches = array();
$this->url = $url;
if (preg_match('/http://www\.facebook\.com\/\?v([\w]+)&*[\w;=]*]/i', $url, $matches))
{
$this->video_id = $matches[1];
return true;
}
return false;
}
function prepare_data()
{
if (!$this->verify_videoid())
{
return false;
}
//Request Video Data
$vurl = new vB_vURL($this->registry);
$vurl->set_option(VURL_URL, 'idontknowwhattoputhere' . $this->video_id);
$vurl->set_option(VURL_USERAGENT, 'vBulletin/' . FILE_VERSION . ' | Video Directory');
$vurl->set_option(VURL_RETURNTRANSFER, 1);
$vurl->set_option(VURL_TIMEOUT, 30);
$result = $vurl->exec();
if ($vurl->fetch_error())
{
$this->set_error(VSS_ERROR_CONNECTION);
return false;
}
require_once(DIR . '/includes/class_xml.php');
$xmlobj = new vB_XML_Parser($result);
if(!$arr = $xmlobj->parse())
{
$this->set_error(VSS_ERROR_RESPONSE);
return false;
}
preg_match('/[\w+%.-]*'.$this->video_id.'([\w]*)[\w+%.-]*/i', $arr['ROW']['embed'], $image);
$this->thumbnailpath = 'idontknowwhattoputhere';
$this->videodescription = urldecode($arr['ROW']['description']);
$this->videotitle = urldecode($arr['ROW']['title']);
$this->taglist = urldecode($arr['ROW']['title']);
$this->timelength = $arr['ROW']['runtime'];
return true;
}
function file_save_thumbnail()
{
if (!$this->fetch_thumbnailpath() OR !$this->fetch_videoid())
{
return false;
}
require_once(DIR . '/includes/class_vurl.php');
$vurl = new vB_vURL($this->registry);
$vurl->set_option(VURL_URL, $this->fetch_thumbnailpath());
$vurl->set_option(VURL_RETURNTRANSFER, true);
$result = $vurl->exec();
$fp = fopen(DIR . '/' . $this->registry->options['videodirectory_thumbnaildir'] . '/' . $this->hostername . '/' . $this->fetch_videoid() . '.jpg', 'wb');
fwrite($fp, $result);
fclose($fp);
}
function fetch_embedcode($videoid = '', $autoplay = 1, $fullscreen = 1, $related = 0, $stats = 0)
{
$videoid = $videoid ? $videoid : $this->video_id;
if ($fullscreen == 1) { $fullscreen = 'true'; } else { $fullscreen = 'false'; }
if ($autoplay == 1) { $autoplay = 'true'; } else { $autoplay = 'false'; }
return '<embed src="http://www.facebook.com/v/' . $videoid . '" autoplay="' . $autoplay . '" type="application/x-shockwave-flash" allowfullscreen="' . $fullscreen . '" width="640" height="480"></embed>';
}
function fetch_videobbcode($vid, $videoid = '', $videotitle = '')
{
$videoid = $videoid ? $videoid : $this->video_id;
$videotitle = $videotitle ? $videotitle : $this->video_title;
if ($this->registry->options['videodirectory_bbcode'])
{
return '[video=' . $videotitle . ']' . $vid . '[/video]';
}
else
{
return '[' . $this->hostername . '=' . $videotitle . ']' . $videoid . '[/' . $this->hostername . ']';
}
}
function fetch_videourl($videoid = '')
{
$videoid = $videoid ? $videoid : $this->video_id;
return 'http://www.facebook.com/v/' . $videoid;
}
}
?>]]></class_file>
</videohoster>
|
|