title; $PAGE_LIMIT = $args->page_limit ? $args->page_limit : 10; // 날짜 형태 $DATE_FORMAT = $args->date_format ? $args->date_format : "Y-m-d H:i:s"; $URL_parsed = parse_url($args->rss_url); $host = $URL_parsed["host"]; $port = $URL_parsed["port"]; if ($port == 0) $port = 80; $path = $URL_parsed["path"]; if ($URL_parsed["query"] != "") $path .= "?".$URL_parsed["query"]; $out = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n"; $fp = @fsockopen($host, $port, $errno, $errstr, 30); if(!$fp) return new Object(-1, 'msg_fail_to_socket_open'); fputs($fp, $out); $buff = ''; while (!feof($fp)) { $str = fgets($fp, 1024); if ( $start ) $buff .= $str; if ( $str == "\r\n" ) $start = true; } fclose($fp); $encoding = preg_match("/<\?xml.*encoding=\"(.+)\".*\?>/i", $buff, $matches); if($encoding && !eregi("UTF-8", $matches[1])) $buff = trim(iconv($matches[1]=="ks_c_5601-1987"?"EUC-KR":$matches[1], "UTF-8", $buff)); $buff = preg_replace("/<\?xml.*\?>/i", "", $buff); $oXmlParser = new XmlParser(); $xml_doc = $oXmlParser->parse($buff); $rss->title = $xml_doc->rss->channel->title->body; $rss->link = $xml_doc->rss->channel->link->body; if(!is_array($xml_doc->rss->channel->item)) return; $rss_list = array(); foreach ($xml_doc->rss->channel->item as $key => $value) { if($key >= $PAGE_LIMIT) break; unset($item); foreach($value as $key2 => $value2) { $item->{$key2} = $value2->body; } $date = $item->pubdate; $item->date = date($DATE_FORMAT, strtotime($date)); $array_date[$key] = strtotime($date); $item->description = preg_replace('!widget_path, $args->skin); Context::set('colorset', $args->colorset); // 템플릿 컴파일 $oTemplate = &TemplateHandler::getInstance(); $output = $oTemplate->compile($tpl_path, 'list'); return $output; } } ?>