fetchAll($db->select()->from('table.contents') ->where('table.contents.status = ?', 'publish') ->where('table.contents.created < ?', $options->gmtTime) ->where('table.contents.type = ?', 'page') ->order('table.contents.created', Typecho_Db::SORT_DESC)); $articles = $db->fetchAll($db->select()->from('table.contents') ->where('table.contents.status = ?', 'publish') ->where('table.contents.created < ?', $options->gmtTime) ->where('table.contents.type = ?', 'post') ->order('table.contents.created', Typecho_Db::SORT_DESC)); Typecho_Widget::widget('Widget_Metas_Category_List@cate')->to($cates); $tags = $db->fetchAll($db->select()->from('table.metas') ->where('table.metas.type = ?', 'tag') ->order('table.metas.mid', Typecho_Db::SORT_DESC)); header("Content-Type: application/xml"); echo "\n"; echo "pluginUrl . "/Sitemap/sitemap.xsl'?>\n"; echo ""; echo "\t\n"; echo "\t\t".$options->siteUrl."\n"; echo "\t\tdaily\n"; echo "\t\t1.0\n"; echo "\t\n"; foreach($pages AS $page) { $type = $page['type']; $routeExists = (NULL != Typecho_Router::get($type)); $page['pathinfo'] = $routeExists ? Typecho_Router::url($type, $page) : '#'; $page['permalink'] = Typecho_Common::url($page['pathinfo'], $options->index); echo "\t\n"; echo "\t\t".$page['permalink']."\n"; echo "\t\t".date('Y-m-d',$page['modified'])."\n"; echo "\t\talways\n"; echo "\t\t0.6\n"; echo "\t\n"; } foreach($articles AS $article) { $type = $article['type']; $article['categories'] = $db->fetchAll($db->select()->from('table.metas') ->join('table.relationships', 'table.relationships.mid = table.metas.mid') ->where('table.relationships.cid = ?', $article['cid']) ->where('table.metas.type = ?', 'category') ->order('table.metas.order', Typecho_Db::SORT_ASC)); $article['category'] = urlencode(current(Typecho_Common::arrayFlatten($article['categories'], 'slug'))); $article['slug'] = urlencode($article['slug']); $article['date'] = new Typecho_Date($article['created']); $article['year'] = $article['date']->year; $article['month'] = $article['date']->month; $article['day'] = $article['date']->day; $routeExists = (NULL != Typecho_Router::get($type)); $article['pathinfo'] = $routeExists ? Typecho_Router::url($type, $article) : '#'; $article['permalink'] = Typecho_Common::url($article['pathinfo'], $options->index); echo "\t\n"; echo "\t\t".$article['permalink']."\n"; echo "\t\t".date('Y-m-d',$article['modified'])."\n"; echo "\t\talways\n"; echo "\t\t0.8\n"; echo "\t\n"; } while($cates->next()){ $art_rs = $db->fetchRow($db->select()->from('table.contents') ->join('table.relationships', 'table.contents.cid = table.relationships.cid') ->where('table.contents.status = ?', 'publish') ->where('table.relationships.mid = ?', $cates->mid) ->order('table.relationships.cid', Typecho_Db::SORT_DESC) ->limit(1)); //文章的分类跳过 if (empty($art_rs['modified'])) continue; echo "\t\n"; echo "\t\t".$cates->permalink."\n"; echo "\t\t".date('Y-m-d',$art_rs['modified'])."\n"; echo "\t\tdaily\n"; echo "\t\t0.5\n"; echo "\t\n"; } foreach($tags AS $tag) { $type = $tag['type']; $art_rt = $db->fetchRow($db->select()->from('table.contents') ->join('table.relationships', 'table.contents.cid = table.relationships.cid') ->where('table.contents.status = ?', 'publish') ->where('table.relationships.mid = ?', $tag['mid']) ->order('table.relationships.cid', Typecho_Db::SORT_DESC) ->limit(1)); // 文章的标签跳过 if (empty($art_rt['modified'])) continue; $routeExists = (NULL != Typecho_Router::get($type)); $tag['pathinfo'] = $routeExists ? Typecho_Router::url($type, $tag) : '#'; $tag['permalink'] = Typecho_Common::url($tag['pathinfo'], $options->index); echo "\t\n"; echo "\t\t".$tag['permalink']."\n"; echo "\t\t".date('Y-m-d',$art_rt['modified'])."\n"; echo "\t\tdaily\n"; echo "\t\t0.5\n"; echo "\t\n"; } echo ""; } }