")
. __(" You can use the Edit Parameters button to rename it to your choosing. We recommend to keep the Program name ")
. __("as it is defaulted to in order to be well indexed in the SearchTube and Other AVideo Platform search and network indexing tools.");
}
public function getName() {
return __("Programs");
}
public function getUUID() {
return "plist12345-370-4b1f-977a-fd0e5cabtube";
}
public function getPluginVersion() {
return "1.0";
}
public function getEmptyDataObject() {
global $global;
$obj = new stdClass();
$obj->name = __("Program");
$obj->playOnSelect = true;
$obj->autoadvance = true;
$obj->usersCanOnlyCreatePlayListsFromTheirContent = false;
$obj->useOldPlayList = false;
$obj->expandPlayListOnChannels = false;
$obj->usePlaylistPlayerForSeries = true;
$obj->showWatchLaterOnLeftMenu = true;
$obj->showFavoriteOnLeftMenu = true;
$obj->showWatchLaterOnProfileMenu = true;
$obj->showFavoriteOnProfileMenu = true;
$obj->showPlayLiveButton = true;
$obj->showTrailerInThePlayList = true;
$obj->showTVFeatures = false;
return $obj;
}
public function getWatchActionButton($videos_id) {
global $global, $livet;
if (isLive() && empty($videos_id) && !empty($livet)) {
include $global['systemRootPath'] . 'plugin/PlayLists/actionButtonLive.php';
} else {
if (!self::canAddVideoOnPlaylist($videos_id)) {
return "";
}
$obj = $this->getDataObject();
//echo "getNetflixActionButton: ".$videos_id;
$btnClass = "btn btn-default no-outline";
include $global['systemRootPath'] . 'plugin/PlayLists/actionButton.php';
}
}
public function getNetflixActionButton($videos_id) {
global $global;
if (!self::canAddVideoOnPlaylist($videos_id)) {
return "";
}
$obj = $this->getDataObject();
//echo "getNetflixActionButton: ".$videos_id;
$btnClass = "btn btn-primary";
include $global['systemRootPath'] . 'plugin/PlayLists/actionButton.php';
}
public function getGalleryActionButton($videos_id) {
global $global;
if (!self::canAddVideoOnPlaylist($videos_id)) {
return "";
}
$obj = $this->getDataObject();
//echo "getNetflixActionButton: ".$videos_id;
$btnClass = "";
echo '
';
include $global['systemRootPath'] . 'plugin/PlayLists/actionButton.php';
echo '
';
}
public function getHeadCode() {
global $global;
$obj = $this->getDataObject();
$css = '';
$css .= '';
if (!empty(getPlaylists_id()) && isEmbed()) {
$css .= "";
}
return $css;
}
public function getFooterCode() {
global $global;
$obj = $this->getDataObject();
include $global['systemRootPath'] . 'plugin/PlayLists/footer.php';
$js = '';
if (isEmbed()) {
if (self::showTVFeatures()) {
$js .= '';
}
}
if (isLive() && self::showTVFeatures()) {
if (!empty($_REQUEST['playlists_id_live']) &&
!self::isPlaylistLive($_REQUEST['playlists_id_live']) &&
self::canManagePlaylist($_REQUEST['playlists_id_live'])) {
$liveLink = PlayLists::getLiveLink($_REQUEST['playlists_id_live']);
$js .= '';
}
}
if (!empty(getPlaylists_id()) && isEmbed()) {
PlayerSkins::getStartPlayerJS(file_get_contents("{$global['systemRootPath']}plugin/PlayLists/playerButton.js"));
}
return $js;
}
static function canAddVideoOnPlaylist($videos_id) {
if (empty($videos_id)) {
return false;
}
$obj = AVideoPlugin::getObjectData("PlayLists");
if (!User::isAdmin() && $obj->usersCanOnlyCreatePlayListsFromTheirContent) {
if (User::isLogged()) {
$users_id = Video::getOwner($videos_id);
if (User::getId() == $users_id) {
return true;
}
}
return false;
}
return true;
}
static function isVideoOnFavorite($videos_id, $users_id) {
return PlayList::isVideoOnFavorite($videos_id, $users_id);
}
static function isVideoOnWatchLater($videos_id, $users_id) {
return PlayList::isVideoOnWatchLater($videos_id, $users_id);
}
static function getFavoriteIdFromUser($users_id) {
return PlayList::getFavoriteIdFromUser($users_id);
}
static function getWatchLaterIdFromUser($users_id) {
return PlayList::getWatchLaterIdFromUser($users_id);
}
static function getWatchLaterLink() {
if (!User::isLogged()) {
return "";
}
global $global;
return "{$global['webSiteRootURL']}watch-later";
}
static function getFavoriteLink() {
if (!User::isLogged()) {
return "";
}
global $global;
return "{$global['webSiteRootURL']}favorite";
}
public function thumbsOverlay($videos_id) {
global $global;
include $global['systemRootPath'] . 'plugin/PlayLists/buttons.php';
}
static function isPlayListASerie($serie_playlists_id) {
global $global, $config;
$serie_playlists_id = intval($serie_playlists_id);
$sql = "SELECT * FROM videos WHERE serie_playlists_id = ? LIMIT 1";
$res = sqlDAL::readSql($sql, "i", array($serie_playlists_id));
$video = sqlDAL::fetchAssoc($res);
sqlDAL::close($res);
return $video;
}
static function removeSerie($serie_playlists_id) {
$video = self::isPlayListASerie($serie_playlists_id);
if (!empty($video)) {
$video = new Video("", "", $video['id']);
return $video->delete();
}
return false;
}
static function saveSerie($serie_playlists_id) {
$playlist = new PlayList($serie_playlists_id);
if (empty($playlist)) {
return false;
}
$video = self::isPlayListASerie($serie_playlists_id);
if (!empty($video)) {
$filename = $video['filename'];
$v = new Video("", "", $video['id']);
} else {
$filename = 'serie_playlists_' . uniqid();
$v = new Video("", $filename);
}
$v->setTitle($playlist->getName());
$v->setSerie_playlists_id($serie_playlists_id);
$v->setUsers_id($playlist->getUsers_id());
$v->setStatus('u');
$v->setFilename($filename);
$v->setType("serie");
return $v->save();
}
public function getStart() {
global $global;
$whitelistedFiles = array('VMAP.php');
$baseName = basename($_SERVER["SCRIPT_FILENAME"]);
if (!in_array($baseName, $whitelistedFiles)) {
if (!empty($_GET['videoName'])) {
$obj = $this->getDataObject();
if ($obj->usePlaylistPlayerForSeries) {
$video = Video::getVideoFromCleanTitle($_GET['videoName']);
if ($video['type'] == 'serie' && !empty($video['serie_playlists_id'])) {
if (basename($_SERVER["SCRIPT_FILENAME"]) == "videoEmbeded.php") {
$link = PlayLists::getLink($video['serie_playlists_id'], true);
} else {
$link = PlayLists::getLink($video['serie_playlists_id']);
}
header("Location: {$link}");
exit;
}
}
}
}
}
static function getLink($playlists_id, $embed = false, $playlist_index = null) {
global $global;
$obj = AVideoPlugin::getObjectData("PlayLists");
if ($embed) {
$url = $global['webSiteRootURL'] . "plugin/PlayLists/embed.php?playlists_id=" . $playlists_id;
} else {
if (empty($obj->useOldPlayList)) {
$url = $global['webSiteRootURL'] . "plugin/PlayLists/player.php?playlists_id=" . $playlists_id;
} else {
$url = $global['webSiteRootURL'] . "program/" . $playlists_id;
}
}
if (isset($playlist_index)) {
$url = addQueryStringParameter($url, 'playlist_index', $playlist_index);
}
return $url;
}
static function getTagLink($tags_id, $embed = false, $playlist_index = null) {
global $global;
$obj = AVideoPlugin::getObjectData("PlayLists");
if ($embed) {
$url = $global['webSiteRootURL'] . "plugin/PlayLists/embed.php?tags_id=" . $tags_id;
} else {
$url = $global['webSiteRootURL'] . "plugin/PlayLists/player.php?tags_id=" . $tags_id;
}
if (isset($playlist_index)) {
$url = addQueryStringParameter($url, 'playlist_index', $playlist_index);
}
return $url;
}
public function navBarButtons() {
global $global;
$obj = AVideoPlugin::getObjectData("PlayLists");
$str = "";
if ($obj->showWatchLaterOnLeftMenu) {
$str .= '