| Server IP : 54.36.91.62 / Your IP : 216.73.217.112 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/amisdesseniors-fr/valence/components/com_community/libraries/videos/ |
Upload File : |
<?php
/**
* @copyright (C) 2013 iJoomla, Inc. - All rights reserved.
* @license GNU General Public License, version 2 (http://www.gnu.org/licenses/gpl-2.0.html)
* @author iJoomla.com <webmaster@ijoomla.com>
* @url https://www.jomsocial.com/license-agreement
* The PHP code portions are distributed under the GPL license. If not otherwise stated, all images, manuals, cascading style sheets, and included JavaScript *are NOT GPL, and are released under the IJOOMLA Proprietary Use License v1.0
* More info at https://www.jomsocial.com/license-agreement
*/
defined('_JEXEC') or die('Restricted access');
require_once (COMMUNITY_COM_PATH.'/models/videos.php');
/**
* Class to manipulate data from Metacafe
*
* @access public
*/
class CTableVideoMetacafe extends CVideoProvider
{
var $xmlContent = null;
var $url = '';
var $videoId = '';
/**
* Return feedUrl of the video
*/
public function getFeedUrl()
{
return 'http://www.metacafe.com/watch/' . $this->getId() .'/';
}
/*
* Return true if successfully connect to remote video provider
* and the video is valid
*/
public function isValid()
{
// Connect and get the remote video
if ( !parent::isValid())
{
return false;
}
$pattern = '/json_video_data/';
if ( !preg_match($pattern, $this->xmlContent) ) {
return false;
}
return true;
}
/**
* Extract MetaCafe video id from the video url submitted by the user
*
* @access public
* @param video url
* @return videoid
*/
public function getId()
{
$pattern = '/metacafe\.com\/watch\/([^\/]+)/i';
preg_match( $pattern, $this->url, $matches );
return !empty( $matches[1] ) ? $matches[1] : null;
}
/**
* Return the video provider's name
*
*/
public function getType()
{
return 'metacafe';
}
public function getTitle()
{
$pattern = '/og:title"\s+content="([^"]+)"/i';
preg_match( $pattern, $this->xmlContent, $matches );
return !empty( $matches[1] ) ? $matches[1] : '';
}
/**
* Get video's description from videoid
*
* @access public
* @param videoid
* @return description
*/
public function getDescription()
{
$pattern = '/og:description"\s+content="([^"]+)"/i';
preg_match( $pattern, $this->xmlContent, $matches );
return !empty( $matches[1] ) ? $matches[1] : '';
}
/**
* Get video duration
*
* @return $duration seconds
*/
public function getDuration()
{
$pattern = '/"duration","(\d+)-(\d+)"/i';
preg_match( $pattern, $this->xmlContent, $matches );
if ( isset($matches[1]) && isset($matches[2]) ) {
return ((int) $matches[1]) * 60 + ((int) $matches[2]);
}
return '';
}
/**
* Get video's thumbnail URL from videoid
*
* @access public
* @param videoid
* @return url
*/
public function getThumbnail()
{
$thumbnail = '';
$pattern = '/og:image\W+content="([^"]+)"/i';
preg_match( $pattern, $this->xmlContent, $matches );
if ( $matches ) {
$thumbnail = $matches[1];
}
return CVideosHelper::getIURL($thumbnail);
}
/**
*
*
* @return $embedvideo specific embeded code to play the video
*/
public function getViewHTML( $videoId, $videoWidth, $videoHeight )
{
if (!$videoId) {
$videoId = $this->videoId;
}
return '<iframe src="http://www.metacafe.com/embed/' . $videoId . '/" width="' . $videoWidth . '" height="' . $videoHeight . '" allowFullScreen frameborder=0></iframe>';
}
}