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"]; $oReqeust = new HTTP_Request($args->rss_url); $oReqeust->addHeader('Content-Type', 'application/xml'); $oReqeust->setMethod('GET'); $user = $URL_parsed["user"]; $pass = $URL_parsed["pass"]; if($user) $oReqeust->setBasicAuth($user, $pass); $oResponse = $oReqeust->sendRequest(); if (PEAR::isError($oResponse)) { return new Object(-1, 'msg_fail_to_request_open'); } $buff = $oReqeust->getResponseBody(); $encoding = preg_match("/<\?xml.*encoding=\"(.+)\".*\?>/i", $buff, $matches); if($encoding && !preg_match("/UTF-8/i", $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; } } ?>