/** * 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; } }
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; }