Beispiel #1
0
 /**
  * Initiate stream socket to IRC server.
  *
  * @access protected
  */
 protected function _initiateStream()
 {
     $this->_closeStream();
     $socket = stream_socket_client($this->_remote_socket_string, $error_number, $error_string, $this->_remote_connection_timeout, STREAM_CLIENT_CONNECT, stream_context_create(Misc::streamSslContextOptions(true)));
     if ($socket === false) {
         echo 'ERROR: ' . $error_string . ' (' . $error_number . ')' . PHP_EOL;
     } else {
         $this->_socket = $socket;
     }
 }
Beispiel #2
0
 public function fetchShowQuickInfo($show, array $options = [])
 {
     $defaults = ['exact' => '', 'episode' => ''];
     $options += $defaults;
     $ret = [];
     if (!$show) {
         return false;
     }
     $url = $this->showQuickInfoURL . urlencode($show);
     $url .= !empty($options['episode']) ? '&ep=' . urlencode($options['episode']) : '';
     $url .= !empty($options['exact']) ? '&exact=' . urlencode($options['exact']) : '';
     $fp = fopen($url, "r", false, stream_context_create(Misc::streamSslContextOptions()));
     if ($fp) {
         while (!feof($fp)) {
             $line = fgets($fp, 1024);
             list($sec, $val) = explode('@', $line, 2);
             $val = trim($val);
             switch ($sec) {
                 case 'Show ID':
                     $ret['rageid'] = $val;
                     break;
                 case 'Show Name':
                     $ret['name'] = $val;
                     break;
                 case 'Show URL':
                     $ret['url'] = $val;
                     break;
                 case 'Premiered':
                     $ret['premier'] = $val;
                     break;
                 case 'Country':
                     $ret['country'] = $val;
                     break;
                 case 'Status':
                     $ret['status'] = $val;
                     break;
                 case 'Classification':
                     $ret['classification'] = $val;
                     break;
                 case 'Genres':
                     $ret['genres'] = $val;
                     break;
                 case 'Network':
                     $ret['network'] = $val;
                     break;
                 case 'Airtime':
                     $ret['airtime'] = $val;
                     break;
                 case 'Latest Episode':
                     list($ep, $title, $airdate) = explode('^', $val);
                     $ret['episode']['latest'] = $ep . ", \"" . $title . "\" aired on " . $airdate;
                     break;
                 case 'Next Episode':
                     list($ep, $title, $airdate) = explode('^', $val);
                     $ret['episode']['next'] = $ep . ", \"" . $title . "\" airs on " . $airdate;
                     break;
                 case 'Episode Info':
                     list($ep, $title, $airdate) = explode('^', $val);
                     $ret['episode']['info'] = $ep . ", \"" . $title . "\" aired on " . $airdate;
                     break;
                 case 'Episode URL':
                     $ret['episode']['url'] = $val;
                     break;
                 case '':
                     break;
                 default:
                     break;
             }
         }
         fclose($fp);
         return $ret;
     }
     return false;
 }