AnonSec Shell
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/plats-individuels/lyon/plugins/system/nrframework/NRFramework/Helpers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/plats-individuels/lyon/plugins/system/nrframework/NRFramework/Helpers/Video.php
<?php

/**
 * @author          Tassos Marinos <info@tassos.gr>
 * @link            https://www.tassos.gr
 * @copyright       Copyright © 2024 Tassos All Rights Reserved
 * @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 */

namespace NRFramework\Helpers;

defined('_JEXEC') or die;

class Video
{
	/**
	 * Returns the Video URL details.
	 * 
	 * Supported platforms:
	 * - YouTube
	 * - Vimeo
	 * 
	 * @param   string  $url
	 * 
	 * @return  array
	 */
	public static function getDetails($url)
	{
		$id = '';
		$provider = '';

		if (preg_match(self::getYouTubePattern(), $url, $matches))
		{
			$id = !empty($matches[1]) ? $matches[1] : $matches[2];
			$provider = 'youtube';
		}
		else if (preg_match(self::getVimeoPattern(), $url, $matches))
		{
			$id = !empty($matches[1]) ? $matches[1] : null;
			$provider = 'vimeo';
		}
		else if (preg_match(self::getFacebookVideoPattern(), $url))
		{
			$id = $url;
			$provider = 'facebookvideo';
		}
		else if (preg_match(self::getDailymotionPattern(), $url, $matches))
		{
			$id = end($matches);
			$provider = 'dailymotion';
		}
		
		return [
			'id' => $id,
			'provider' => $provider
		];
	}

	/**
	 * Get YouTube Pattern.
	 * 
	 * @return  string
	 */
	public static function getYouTubePattern()
	{
		return '/^https?:\/\/(?:m\.|www\.)?youtube\.com\/(?:watch\?v=|embed\/|shorts\/)?([a-zA-Z0-9_-]{11})|^https?:\/\/youtu\.be\/([a-zA-Z0-9_-]{11})/';
	}

	/**
	 * Get Vimeo Pattern.
	 * 
	 * @return  string
	 */
	public static function getVimeoPattern()
	{
		return '/^https?:\/\/(?:www\.)?(?:player\.)?vimeo\.com\/(\d+)/';
	}

	/**
	 * Get Facebook Video Pattern.
	 * 
	 * @return  string
	 */
	public static function getFacebookVideoPattern()
	{
		return '/^(?:(?:https?:)?\/\/)?(?:www\.)?facebook\.com\/(?:watch\/\?v=|[\w\.]+\/videos\/(?:[\w\.]+\/)?)?(\d+)/';
	}

	/**
	 * Get Dailymotion Pattern.
	 * 
	 * @return  string
	 */
	public static function getDailymotionPattern()
	{
		return '/(?:dailymotion\.com\/(?:video|hub)\/|dai\.ly\/)([a-zA-Z0-9]+)/';
	}
}

Anon7 - 2022
AnonSec Team