public function setThreadTitle($title) { $this->_threadTitle = baidu_strip_invalid_xml(diconv(trim($title), CHARSET, 'utf-8')); }
function toXml() { global $dsql, $cfg_webname, $cfg_basehost, $cfg_soft_lang; $addonQuery = $limitQuery = ""; if (!empty($this->Typeid)) { $addonQuery .= "AND arc.typeid=" . intval($this->Typeid); $typeinfos = $this->getType($this->Typeid); } if ($this->SitemapType == 2) { $setupmaxaid = baidu_get_setting('setupmaxaid'); $addonQuery .= "AND arc.id>" . intval($setupmaxaid); } $this->Start = intval($this->Start); //var_dump($typeinfos);exit(); if (!empty($this->Row)) { $limitQuery = "LIMIT {$this->Start}," . intval($this->Row); } $query = "SELECT arc.*,arc.senddate AS pubdate,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,\n\t\t\ttp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,at.body\n\t\t\tFROM `{$this->MainTable}` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id\n LEFT JOIN `#@__addonarticle` at ON arc.id=at.aid\n\t\t\tWHERE arc.arcrank=0 AND arc.arcrank > -1 AND arc.channel=1 {$addonQuery} ORDER BY arc.senddate DESC {$limitQuery}"; //var_dump($query); $dsql->SetQuery($query); $dsql->Execute('dd'); $xmlstr = '<?xml version="1.0" encoding="UTF-8"?> <urlset>'; $setupmaxaid = 0; while ($row = $dsql->GetArray('dd')) { $row['id'] = isset($row['aid']) ? $row['aid'] : $row['id']; $row['filename'] = $row['arcurl'] = GetFileUrl($row['id'], $row['typeid'], $row['senddate'], $row['title'], 1, 0, $row['namerule'], $row['typedir'], 0, '', $row['moresite'], $row['siteurl'], $row['sitepath']); $row['showdate'] = Mydate('Y-m-d', $row['pubdate']); $row['priority'] = 0; $row['body'] = isset($row['body']) ? Html2Text($row['body']) : ''; $row['body'] = empty($row['body']) ? $row['description'] : $row['body']; //var_dump($row);exit; if (preg_match("#c#", $row['flag'])) { $row['priority'] = '1.0'; } if (!isset($typeinfos)) { $typeinfos = $this->getType($row['typeid']); } //var_dump($typeinfo);exit(); //var_dump($row); $row['source'] = trim(Html2Text($row['source'])); $row['title'] = baidu_strip_invalid_xml($row['title']); $row['body'] = baidu_strip_invalid_xml($row['body']); $addstr = $copyrightstr = $yearstr = ""; $copyrightstr = !empty($row['source']) ? "\r\n\t\t\t\t\t<copyrightHolder><name><![CDATA[{$row['source']}]]></name></copyrightHolder>" : ''; $addstr .= empty($row['litpic']) ? "" : "\r\n\t\t\t\t\t<image><![CDATA[{$row['litpic']}]]></image>"; $yearstr = Mydate('Y', $row['pubdate']); $rowxmlstr = <<<EOT \t \t<url> \t\t\t<loc><![CDATA[{$cfg_basehost}{$row['filename']}]]></loc> \t\t\t<lastmod>{$row['showdate']}</lastmod> \t\t\t<changefreq>always</changefreq> \t\t\t<priority>{$row['priority']}</priority> \t\t\t<data> \t\t\t\t<Webpage> \t\t\t\t\t<name><![CDATA[{$row['title']}]]></name> \t\t\t\t\t<url><![CDATA[{$cfg_basehost}{$row['filename']}]]></url> \t\t\t\t\t<provider> \t\t\t\t\t\t<name><![CDATA[{$cfg_webname}]]></name> \t\t\t\t\t\t<url><![CDATA[{$cfg_basehost}]]></url> \t\t\t\t\t</provider> \t\t\t\t\t<description><![CDATA[{$row['description']}]]></description> <text><![CDATA[{$row['body']}]]></text> <keywords><![CDATA[{$row['keywords']}]]></keywords> \t\t\t\t\t<breadcrumb><![CDATA[{$typeinfos['position']}]]></breadcrumb> \t\t\t\t\t{$addstr} <isPartOf> \t\t\t\t\t\t<name><![CDATA[{$typeinfos['typename']}]]></name> \t\t\t\t\t\t<url><![CDATA[{$cfg_basehost}{$typeinfos['typelink']}]]></url> \t\t\t\t\t</isPartOf> {$copyrightstr} \t\t\t\t\t<copyrightYear>{$yearstr}</copyrightYear> \t\t\t\t</Webpage> \t\t\t</data> \t\t</url> EOT; if ($cfg_soft_lang == 'gb2312') { $rowxmlstr = gb2utf8($rowxmlstr); } //var_dump($rowxmlstr);exit; $xmlstr .= $rowxmlstr; } //exit($xmlstr); $xmlstr .= "\r\n</urlset>"; //$xmldata['content'] = $xmlstr; return $xmlstr; }