本文整理汇总了PHP中Video::setRatingKey方法的典型用法代码示例。如果您正苦于以下问题:PHP Video::setRatingKey方法的具体用法?PHP Video::setRatingKey怎么用?PHP Video::setRatingKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Video
的用法示例。
在下文中一共展示了Video::setRatingKey方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: foreach
foreach ($xmlsub as $xmlrowsub) {
$AddVideo = true;
$xmlsub2 = FetchXML($xmlrowsub['key'] . '/tree');
if ($xmlrowsub['type'] == "show") {
/**
* If it is a show, we don't need to search for subtitles.
*/
if (strlen($Searchstring) > 3) {
/**
* If it is a show, we don't need to search for subtitles.
*/
$CurrentVideo = new Video($xmlrowsub['key'], $xmlrowsub['title']);
USMLog("debug", "[" . __FILE__ . " Line:" . __LINE__ . "] Found Show: '" . $xmlrowsub['title'] . "'");
$CurrentVideo->setLibraryID($CurrentLibraryID);
$CurrentVideo->setType($xmlrowsub['type']);
$CurrentVideo->setRatingKey($xmlrowsub['ratingKey']);
$CurrentVideo->setSeasonIndex('0');
$CurrentVideo->setEpisodeIndex('0');
$CurrentVideo->setActiveSubtitle(0);
$MatchingEpisodes = false;
$SeasonXML = FetchXML($CurrentVideo->getID() . '/all');
foreach ($SeasonXML as $Season) {
if (isset($Season->attributes()->index) !== false) {
$MatchingEpisodes_Temp = get_show_episodes($Season->attributes()->key, $Season->attributes(), $CurrentVideo, $Searchstring);
if ($MatchingEpisodes === false and $MatchingEpisodes_Temp) {
$MatchingEpisodes = true;
}
}
}
if ($MatchingEpisodes or stripos($CurrentVideo->getTitle(), $Searchstring) !== false) {
$ArrayVideos[] = $CurrentVideo;
示例2: get_show_episodes
/**
* This functions lists all episodes for the provided show and season.
*/
function get_show_episodes($ShowKey, $SeasonIndex = false, $ShowRatingKey = "", $SearchString = false)
{
global $Server, $ArrayVideos, $PathToPlexMediaFolder, $SearchSubtitleProviderFiles;
$MatchedEpisodes = false;
$xmlsub = FetchXML($ShowKey);
foreach ($xmlsub as $xmlrowsub) {
$AddVideo = true;
$Episode = $xmlrowsub->attributes();
USMLog("debug", "[" . __FILE__ . " Line:" . __LINE__ . "] Found episode: '" . $Episode->title . "'");
$CurrentVideo = new Video($Episode->ratingKey, $Episode->title);
$CurrentVideo->setType("movie");
$CurrentVideo->setEpisodeIndex($Episode->index);
if ($SearchString !== false) {
if (stripos($CurrentVideo->getTitle(), $SearchString) === false) {
continue;
}
$MatchedEpisodes = true;
}
/**
* Get some information about the season. Title, index(number) and RatingKey.
* A object can be provided if we are searching, but otherwise it's not provided.
*/
if ($SeasonIndex !== false) {
$CurrentVideo->setSeasonIndex($SeasonIndex->index);
$CurrentVideo->setTitleShow($ShowRatingKey->getTitle());
$CurrentVideo->setTitleSeason($SeasonIndex->title);
$CurrentVideo->setRatingKey($ShowRatingKey->getRatingKey());
} else {
$Season_XML = FetchXML($Episode->parentKey);
foreach ($Season_XML as $Season) {
if ((int) $Season->attributes()->ratingKey == (int) $Episode->parentRatingKey) {
$CurrentVideo->setSeasonIndex($Season->attributes()->index);
$CurrentVideo->setTitleSeason($Season->attributes()->title);
$CurrentVideo->setSeasonKey($Season->attributes()->key);
$CurrentVideo->setRatingKey($Season->attributes()->ratingKey);
$CurrentVideo->setTitleShow($Season->attributes()->parentTitle);
$CurrentVideo->setShowKey($Season->attributes()->parentKey);
}
}
}
/**
* Figure out what subtitle is selected in plex.
*/
$ActiveSubtitleXML = FetchXML($Episode->key);
foreach ($ActiveSubtitleXML as $ActiveSubtitle) {
$Streams = $ActiveSubtitle->Media->Part->Stream;
foreach ($Streams as $ActiveSubtitle) {
if ($ActiveSubtitle->attributes()->streamType == 3 and isset($ActiveSubtitle->attributes()->selected)) {
$CurrentVideo->setActiveSubtitle($ActiveSubtitle->attributes()->id);
}
}
}
/**
* Fetch subtitles for the current episode
*/
$xmlsub3 = FetchXML($Episode->key . '/tree');
foreach ($xmlsub3 as $xmlrowsub3) {
$CurrentMediaPart = $xmlrowsub3->MetadataItem->MetadataItem->MediaItem->MediaPart;
$CurrentVideo->setPath($CurrentMediaPart->attributes()->file);
$CurrentVideo->setHash($CurrentMediaPart->attributes()->hash);
foreach ($CurrentMediaPart->MediaStream as $Subtitle) {
if ($Subtitle->attributes()->type == 3) {
// Filter out VOBSUB by checking that there is a url connected to the subtitle.
$Language = "-";
if (strlen($Subtitle->attributes()->language) > 0) {
$Language = $Subtitle->attributes()->language;
}
/**
* If url is set, it's a external subtitle. (agent or local).
* Else it's a integrated one.
*/
if (isset($Subtitle->attributes()->url)) {
$LocalSubtitle = false;
$Folder = SepFilename(preg_replace("/\\\\/i", "/", $Subtitle->attributes()->url));
if (strpos($Folder[0], "media://") !== false) {
$Folder[0] = $PathToPlexMediaFolder . substr($Folder[0], 8);
} else {
$LocalSubtitle = true;
}
if ($_SESSION['Option_HideLocal']['set'] === false) {
$CurrentVideo->setNewSubtitle(new Subtitle($Subtitle->attributes()->id, $Folder[1], $Language, $Folder[0] . $Folder[1], $Subtitle->attributes()->codec, $LocalSubtitle));
USMLog("debug", "[" . __FILE__ . " Line:" . __LINE__ . "] Found subtitle: '" . $Folder[0] . $Folder[1] . "'");
} else {
if ($LocalSubtitle === false) {
$CurrentVideo->setNewSubtitle(new Subtitle($Subtitle->attributes()->id, $Folder[1], $Language, $Folder[0] . $Folder[1], $Subtitle->attributes()->codec, $LocalSubtitle));
USMLog("debug", "[" . __FILE__ . " Line:" . __LINE__ . "] Found subtitle: '" . $Folder[0] . $Folder[1] . "'");
}
}
} else {
if ($_SESSION['Option_HideIntegrated']['set'] === false) {
$CurrentVideo->setNewSubtitle(new Subtitle($Subtitle->attributes()->id, "Integrated subtitle", $Language, false, $Subtitle->attributes()->codec, $LocalSubtitle));
}
}
}
}
}
CheckForDuplicates($CurrentVideo);
//.........这里部分代码省略.........