<?php
ini_set('memory_limit', '-1');
include_once("_common.php");
header("Content-type: text/xml");

if(empty($_GET['bo_table'])) {
	ob_start();
	echo '<'.'?xml version="1.0" encoding="UTF-8"?'.'>';
    echo '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
    $sql = " select bo_table from {$g5['board_table']} where bo_table IN ('actor', 'dvd', 'news','free') ";
		$qry = sql_query($sql);

    while ($board = sql_fetch_array($qry))
    {
			if(strpos($board['bo_table'], 'dvd') !== false) {
				$sql = " SELECT COUNT(*) AS `cnt` FROM g5_rel_board_write";
				$row = sql_fetch($sql);
				$total_count = $row['cnt'];
				$page_rows = 50000;
				$spage = @$_GET['page'] ? $_GET['page'] : 1;
				$total_page  = ceil($total_count / $page_rows);  // 전체 페이지 계산
				$write_table = $g5['write_prefix'].$board['bo_table'];
				$sql = " select {$write_table}.*, g5_rel_board_write.idx from g5_rel_board_write INNER JOIN {$write_table} ON {$write_table}.wr_id = g5_rel_board_write.r_idx  where {$write_table}.wr_is_comment = 0 order by {$write_table}.wr_num LIMIT 1";
			} else {
				$write_table = $g5['write_prefix'].$board['bo_table'];
				$sql = " SELECT COUNT(*) AS `cnt` FROM {$write_table} where wr_is_comment = 0";
				$row = sql_fetch($sql);
				$total_count = $row['cnt'];
				$page_rows = 50000;
				$spage = @$_GET['page'] ? $_GET['page'] : 1;
				$total_page  = ceil($total_count / $page_rows);  // 전체 페이지 계산
				$write_table = $g5['write_prefix'].$board['bo_table'];
				$sql = " select {$write_table}.* from {$write_table} where {$write_table}.wr_is_comment = 0 order by {$write_table}.wr_num LIMIT 1";
			}
			
			$write = sql_fetch($sql);
			$lastmod = strtotime($write['wr_datetime']);
			$lastmod = date("c", $lastmod);

			for($i = 1; $i <= $total_page; $i++) {
				$loc = G5_URL.'/sitemap.xml?bo_table='.$board['bo_table']."&amp;page=".$i;
				echo '<sitemap>';
				echo '<loc>'.$loc.'</loc>';
				echo '<lastmod>'.$lastmod.'</lastmod>';
				echo '</sitemap>';
			}
        }
        $lastmod = strtotime(date('Y-m-d'));
        $lastmod = date("c", $lastmod);        
        $loc = G5_URL.'/sitemap.xml?bo_table=genre';
        echo '<sitemap>';
        echo '<loc>'.$loc.'</loc>';
        echo '<lastmod>'.$lastmod.'</lastmod>';
        echo '</sitemap>';
	echo '</sitemapindex>';
	$xml = ob_get_clean();
    echo $xml;
    exit;
} else {
    $spage = @$_GET['page'] ? @$_GET['page'] : 1;
    $bo_table = $_GET['bo_table'];
    
    if ($bo_table && $spage) { // paging
        ob_start();
        echo '<'.'?xml version="1.0" encoding="UTF-8"?'.'>';
        echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
    
        if(strpos($_GET['bo_table'], 'dvd') !== false) {
            $sql = " SELECT COUNT(*) AS `cnt` FROM g5_rel_board_write";
            $row = sql_fetch($sql);
            $total_count = $row['cnt'];
            $page_rows = 50000;
    
            $total_page  = ceil($total_count / $page_rows);  // 전체 페이지 계산
            $from_record = ($spage - 1) * $page_rows; // 시작 열을 구함
    
    
            $write_table = $g5['write_prefix'].$_GET['bo_table'];
            $sql = " select {$write_table}.*, g5_rel_board_write.idx from g5_rel_board_write INNER JOIN {$write_table} ON {$write_table}.wr_id = g5_rel_board_write.r_idx  where {$write_table}.wr_is_comment = 0 order by {$write_table}.wr_num DESC LIMIT ".$from_record.", ".$page_rows."";
        } else if($_GET['bo_table'] == 'genre') {
    
            $sql = "
                SELECT * FROM g5_tags where tag_type = 'global' AND tag_ca <> 0 order by cnt DESC
            ";		
    
        } else {
            $sql = " SELECT COUNT(*) AS `cnt` FROM g5_write_{$_GET['bo_table']} where wr_is_comment = 0";
            $row = sql_fetch($sql);
            $total_count = $row['cnt'];
            $page_rows = 50000;
    
            $total_page  = ceil($total_count / $page_rows);  // 전체 페이지 계산
            $from_record = ($spage - 1) * $page_rows; // 시작 열을 구함
    
    
            $write_table = $g5['write_prefix'].$_GET['bo_table'];
            $sql = " select {$write_table}.* from {$write_table} where {$write_table}.wr_is_comment = 0 order by {$write_table}.wr_num DESC LIMIT ".$from_record.", ".$page_rows."";
        }
    
        
        $qry = sql_query($sql);
    
        
        while ($write = sql_fetch_array($qry))
        {
            if(strpos($_GET['bo_table'], 'actor') !== false) {
                $turl = '/pages/star.php?star_idx='.$write['wr_id'];
                $changefreq = 'daily';
                $priority = '0.3';
            } else if(strpos($_GET['bo_table'], 'dvd') !== false) {
                $cid = explode('/', $write['wr_9'])[0];	
                $turl = '/pages/dvd.php?dvd_idx='.$write['idx'];
                $changefreq = 'daily';
                $priority = '0.3';			
            } else if($_GET['bo_table'] == 'genre') {
                $turl = '/pages/genre.php?categorys='.$write['tag_idx'];
                $changefreq = 'monthly';
                $priority = '0.8';			
            } else {
                $turl = '/bbs/board.php?bo_table='.$_GET['bo_table'].'&amp;wr_id='.$write['wr_id'];
                $changefreq = 'monthly';
                $priority = '0.8';
            }
    
    
            $loc = G5_URL.$turl;
    
            $lastmod = strtotime($write['wr_datetime']);
            $lastmod = date("c", $lastmod);
        
            echo '<url>';
            echo '<loc>'.$loc.'</loc>';
            echo '<lastmod>'.$lastmod.'</lastmod>';
            echo '<changefreq>'.$changefreq.'</changefreq>';
            echo '<priority>'.$priority.'</priority>';
            echo '</url>';
        }
        echo '</urlset>';
        $xml = ob_get_clean();
    
        echo $xml;
    
        exit;
    }
}
?>