Exemple #1
0
        ?>
      <img alt="" src="<?php 
        print $poster;
        ?>
" />
      <div id="info_<?php 
        print $showID;
        ?>
">
        <h1<?php 
        print strtolower($show->status) == $config['index']['status_ended'] ? ' class="ended"' : '';
        ?>
>
          <div class="icons">
            <a href="<?php 
        print build_newzbin_search_string($show->name, $show->language, $show->format, $show->source, false);
        ?>
" target="_blank" title="newzbin"><img alt="" src="images/newzbin.png" /></a>
            <a href="<?php 
        print $show->url;
        ?>
" target="_blank" title="tvrage"><img alt="" src="images/info.png" /></a>
            <?php 
        if (!empty($show->attributes()->id)) {
            ?>
            <a href="#" title="edit" id="edit_<?php 
            print $showID;
            ?>
_link" class="editShow"><img alt="" src="images/edit.png" /></a>
            <a href="#" title="delete?" id="<?php 
            print $showID;
Exemple #2
0
function search_nzb($params)
{
    global $config;
    $q_debug = $params['show'] . ' - ' . $params['season'] . 'x' . sprintf('%02d', $params['episode']);
    print date($config['logging']['date_format']) . '	searching ' . $config['nzb_site'] . ' for ' . $q_debug . $config['debug_separator'];
    switch ($config['nzb_site']) {
        case 'tvnzb':
            //cache rss feed
            //--
            //search feed
            //--
            break;
        case 'nzbmatrix':
            //split out airdate for nzbmatrix format
            if ($params['airdate']) {
                //$airdate = explode('-',$params['airdate']);
                //$nzbmatrixdate= $airdate[0]."-".$airdate[1]." ".$airdate[2];
                //should look like '"House S02E16" or "House 2006-12-13"'
                $q = '"' . $params['show'] . ' S' . sprintf('%02d', $params['season']) . 'E' . sprintf('%02d', $params['episode']) . '" or ';
                $q .= '"' . $params['show'] . ' ' . $params['airdate'] . '"';
                //$q = '+"'.$params['show'] . '" and ("' . 'S' . sprintf('%02d', $params['season']) . 'E' . sprintf('%02d', $params['episode']).'" or "'.$nzbmatrixdate.'")';
            } else {
                //clean query
                $showClean = str_replace($config['nzbmatrix']['strip_chars'], '', $params['show']);
                //main query
                $q = $showClean . ' ' . 'S' . sprintf('%02d', $params['season']) . 'E' . sprintf('%02d', $params['episode']);
            }
            //formatted query
            $query = build_nzbmatrix_search_string(array('term' => $q, 'format' => $params['format']));
            //wait for next call if too son
            if (!empty($GLOBALS['nzbmatrix_timestamp'])) {
                $elapsed = time() - $GLOBALS['nzbmatrix_timestamp'];
                if ($elapsed < $config['nzbmatrix']['wait_time']) {
                    $wait = $config['nzbmatrix']['wait_time'] - $elapsed;
                    print 'waiting ' . $wait . 's for the API' . $config['debug_separator'];
                    sleep($wait);
                }
            }
            //print "\n $query \n";
            //send to nzbmatrix
            if ($result = @file_get_contents($query, 'r')) {
                $GLOBALS['nzbmatrix_timestamp'] = time();
                //api rate limited exceeded, so wait the required time and try again
                if (preg_match('/please_wait_(\\d+)/', $result, $matches)) {
                    $sec = intval($matches[1]);
                    print 'FAIL (too many requests, retrying in ' . $sec . "s)\n";
                    sleep($sec);
                    return search_nzb($params);
                }
                $result = str_replace("\n", '', $result);
                $results = explode('|', $result);
                /*
                NZBID:444027; = NZB ID On Site
                NZBNAME:mandriva linux 2009; = NZB Name On Site
                LINK:nzbmatrix.com/nzb-details.php?id=444027&hit=1; = Link To NZB Details PAge
                SIZE:1469988208.64; = Size in bytes
                INDEX_DATE:2009-02-14 09:08:55; = Indexed By Site (Date/Time GMT)
                USENET_DATE:2009-02-12 2:48:47; = Posted To Usenet (Date/Time GMT)
                CATEGORY:TV > Divx/Xvid; = NZB Post Category
                GROUP:alt.binaries.linux; = Usenet Newsgroup
                COMMENTS:0; = Number Of Comments Posted
                HITS:174; = Number Of Hits (Views)
                NFO:yes; = NFO Present
                REGION:0; = Region Coding (See notes)
                */
                foreach ($results as $result) {
                    $lines = explode(';', $result);
                    $parts = array();
                    foreach ($lines as $line) {
                        @(list($key, $value) = @explode(':', $line));
                        $parts[$key] = $value;
                    }
                    $name_ok = true;
                    if (isset($parts['NZBNAME'])) {
                        //check name has these terms
                        if (!empty($config['nzbmatrix_hasterms'])) {
                            foreach ($config['nzbmatrix_hasterms'] as $term) {
                                if (stripos($parts['NZBNAME'], $term) === false) {
                                    $name_ok = false;
                                }
                            }
                        }
                        //check it doesn't have these ones
                        if ($name_ok && !empty($config['nbzmatrix_noterms'])) {
                            foreach ($config['nbzmatrix_noterms'] as $term) {
                                if (stripos($parts['NZBNAME'], $term) !== false) {
                                    $name_ok = false;
                                }
                            }
                        }
                    } else {
                        $name_ok = false;
                    }
                    //found
                    if ($name_ok) {
                        print 'found nzb ID ' . $parts['NZBID'] . $config['debug_separator'];
                        return array('id' => $parts['NZBID'], 'title' => $parts['NZBNAME'], 'url' => $config['nzbmatrix']['protocol'] . $parts['LINK']);
                    }
                }
                print 'nzb ID not found' . $config['debug_separator'];
                return false;
            }
            break;
        case 'newzbin':
            //main query
            $q = '"' . str_replace('"', '\\"', $params['show']) . ' - ' . $params['season'] . 'x' . sprintf('%02d', $params['episode']);
            $q .= '" OR "' . str_replace('"', '\\"', $params['show']) . ' (' . $params['year'] . ') - ' . $params['season'] . 'x' . sprintf('%02d', $params['episode']);
            $q .= '" OR "' . str_replace('"', '\\"', $show) . ' - ' . $params['airdate'] . '"';
            $q_debug = $show . ' - ' . $season . 'x' . sprintf('%02d', $episode);
            //formatted query
            $query = build_newzbin_search_string($q, $params['language'], $params['format'], $params['source'], true, true);
            //send to newzbin
            if ($fp = @fopen($query, 'r')) {
                $line = @fgetcsv($fp);
                /*
                0: posted date
                1: nzb id
                2: nzb title
                3: newzbin url
                4: tv url
                5: newsgroup names (separated by +)
                */
                //newzbin id found
                if ($line[1] > 0) {
                    print 'found nzb ID ' . $line[1] . $config['debug_separator'];
                    return array('id' => $line[1], 'title' => $line[2]);
                } else {
                    print 'nzb ID not found' . $config['debug_separator'];
                    return false;
                }
            }
            break;
    }
}
Exemple #3
0
function search_newzbin($show, $year, $season, $episode, $language, $format, $source)
{
    global $config;
    //main query
    $q = '"' . str_replace('"', '\\"', $show) . ' - ' . $season . 'x' . sprintf('%02d', $episode) . '" OR "' . str_replace('"', '\\"', $show) . ' (' . $year . ') - ' . $season . 'x' . sprintf('%02d', $episode) . '"';
    $q_debug = $show . ' - ' . $season . 'x' . sprintf('%02d', $episode);
    print date($config['logging']['date_format']) . '  searching newzbin for ' . $q_debug . $config['debug_separator'];
    //formatted query
    $query = build_newzbin_search_string($q, $language, $format, $source, true, true);
    //send to newzbin
    if ($fp = @fopen($query, 'r')) {
        $line = @fgetcsv($fp);
        /*
        0: posted date
        1: nzb id
        2: nzb title
        3: newzbin url
        4: tv url
        5: newsgroup names (separated by +)
        */
        //newzbin id found
        if ($line[1] > 0) {
            print 'found nzb ID ' . $line[1] . $config['debug_separator'];
            return array('id' => $line[1], 'title' => $line[2]);
        } else {
            print 'nzb ID not found' . $config['debug_separator'];
            return false;
        }
    }
}