当前位置: 首页>>代码示例>>PHP>>正文


PHP Video::setSeasonIndex方法代码示例

本文整理汇总了PHP中Video::setSeasonIndex方法的典型用法代码示例。如果您正苦于以下问题:PHP Video::setSeasonIndex方法的具体用法?PHP Video::setSeasonIndex怎么用?PHP Video::setSeasonIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Video的用法示例。


在下文中一共展示了Video::setSeasonIndex方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: FetchXML

 $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;
         }
开发者ID:PlexHaxx,项目名称:PlexUSM,代码行数:31,代码来源:index.php

示例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);
//.........这里部分代码省略.........
开发者ID:PlexHaxx,项目名称:PlexUSM,代码行数:101,代码来源:functions.php


注:本文中的Video::setSeasonIndex方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。