indexinc.inc.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. if (!defined('IN_DISCUZ')) {
  3. exit('Access Denied');
  4. }
  5. if (empty($_GET['p']) || $_GET['p'] != ($sppasswd = baidu_get_plugin_setting('sppasswd'))) {
  6. baidu_header_status(404);
  7. return 1;
  8. }
  9. $config = baidu_get_plugin_config();
  10. baidu_print_sitemap_index_header();
  11. $today = strtotime(date('Y-m-d'));
  12. $now = time();
  13. $removeTime = $today - $config['HistoryDayCount'] * 24 * 3600; //几天前时间
  14. C::t('#baidusubmit#baidusubmit_sitemap')->delete_history($removeTime); //删除过期数据
  15. $lastTime = C::t('#baidusubmit#baidusubmit_sitemap')->get_max_end(2); //sitemap表中最后时间
  16. if (empty($lastTime)) {
  17. $lastTime = $today;
  18. }
  19. if ($today == $lastTime) {
  20. addIncSitemap($now, $today);
  21. } elseif ($now > $lastTime) {
  22. addIncSitemap($now, $lastTime);
  23. }
  24. $sitemaps = C::t('#baidusubmit#baidusubmit_sitemap')->get_sitemap_list(2);
  25. $site = baidu_get_plugin_setting('siteurl');
  26. if (count($sitemaps) > 0) { //返回增量sitemap的索引文件
  27. baidu_print_sitemap_list($sitemaps, $site, "&p=$sppasswd");
  28. }
  29. baidu_print_sitemap_index_footer();
  30. /**
  31. * $ti > $t2
  32. * @param type $t1
  33. * @param type $t2
  34. */
  35. function addIncSitemap($t1, $t2)
  36. {
  37. $overHours = floor(($t1 - $t2) / 3600);
  38. if ($t1 > $t2 && $overHours > 0) {
  39. for ($i = 1; $i <= $overHours; $i ++) {
  40. $st = $t2 + ($i - 1) * 3600;
  41. $et = $t2 + $i * 3600;
  42. $url = 'sitemapinc&start=' . $st;
  43. C::t('#baidusubmit#baidusubmit_sitemap')->add($url, 2, $st, $et);
  44. }
  45. }
  46. }