예제 #1
0
    /**
     * Generates the NFO for the movie located in $this->folder ids $this->AllocineId and $this->TBDbId
     *
     * @param $this->folder The movie folder in the movies storage directory
     * @param $this->AllocineId
     * @param $this->TBDbId
     *
     * @return ezcMvcResult
     */
    public function doNfoGenerate()
    {
        $result = new \ezcMvcResult();
        $result->variables['page_title'] = "Generate NFO :: MKV Manager";
        $result->variables['saveUrl'] = "/nfo/movie/save/" . urlencode( $this->folder );
        $result->variables['updateUrl'] = '/nfo/movie/update-info';

        $allocineId = $this->AllocineId;
        $TMDbId = $this->TMDbId;

        $allocineScraper = new \MkvManagerScraperAllocine();
        // $allocineScraper->isCacheEnabled = false;
        $infos = $allocineScraper->getMovieDetails( $allocineId );

        $TMDbScraper = new \MkvManagerScraperTMDB();
        // $TMDbScraper->isCacheEnabled = false;
        $TMDbImages = $TMDbScraper->getImages( $TMDbId );

        foreach( $TMDbImages as $image )
        {
            if ( $image->type == 'poster' )
            {
                $variable = 'posters';
            }
            elseif ( $image->type == 'fanart' )
            {
                $variable = 'fanarts';
            }
            else
            {
                continue;
            }
            array_push( $infos->$variable, $image );
        }
        $result->variables['infos'] = $infos;

        // nfo
        $writer = new \mm\Xbmc\Nfo\Writers\Movie( $infos );
        $result->variables['nfo'] = $writer->get();

        return $result;
    }
예제 #2
0
    /**
     * Update the provided information $info using action $action with value $value
     *
     * The result is viewed using AJAX
     *
     * @param mm\Info\Movie\Details $info
     * @param string $actionType
     * @param string $actionValue
     *
     * @return ezcMvcResults
     */
    public function doNfoUpdateInfo()
    {
        $result = new \ezcMvcResult();

        $actionValue = (int)$this->actionValue;
        $info = $this->info;

        switch( $this->actionType )
        {
            // select trailer
            case 'SelectTrailer':
                $info->swap( 'trailers', 0, $actionValue );
                break;

            // select main poster
            case 'SelectMainPoster':
                $info->swap( 'posters', 0, $actionValue );
                break;

                // select main poster
            case 'DisablePoster':
                $info->remove( 'posters', $actionValue );
                break;

                // select main poster
            case 'SelectMainFanart':
                $info->swap( 'fanarts', 0, $actionValue );
                break;

                // select main poster
            case 'DisableFanart':
                $info->remove( 'fanarts', $actionValue );
                break;

            default:
                break;
        }
        $result->variables['status'] = 'ok';
        $result->variables['info'] = var_export( $info, true );

        $nfoWriter = new NfoWriter( $info );
        $result->variables['nfo'] = $nfoWriter->get();
        return $result;
    }