baiducse.inc.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. if (!defined('IN_DISCUZ')) {
  3. exit('Access Denied');
  4. }
  5. header("Content-type: application/json");
  6. $token = baidu_get_plugin_setting('pingtoken');
  7. $site = baidu_get_plugin_setting('siteurl');
  8. $sign = $_GET['sign'];
  9. if ($sign != md5($site . $token)) {
  10. echo json_encode(array('status' => 0));
  11. exit;
  12. }
  13. switch ($_GET['type']) {
  14. case "mobile":
  15. C::t('#baidusubmit#baidusubmit_setting')->update('mobile', 1);
  16. echo json_encode(array('status' => 1));
  17. break;
  18. case "update":
  19. C::t('#baidusubmit#baidusubmit_setting')->update('auto', 1);
  20. C::t('#baidusubmit#baidusubmit_setting')->update('auto_time', time() + 48 * 3600);
  21. C::t('#baidusubmit#baidusubmit_setting')->update('baiducse', 1);
  22. C::t('#baidusubmit#baidusubmit_setting')->update('engine', $_GET['sid']);
  23. $resultJson = userSitemap();
  24. $result = json_decode($resultJson, true);
  25. if ($result['status'] == 1) {
  26. echo json_encode(array('status' => 1));
  27. } else {
  28. echo json_encode(array('status' => 0));
  29. }
  30. break;
  31. case "close":
  32. C::t('#baidusubmit#baidusubmit_setting')->update('baiducse', 0);
  33. echo json_encode(array('status' => 1));
  34. break;
  35. case "open":
  36. if (isset($_GET['cse_type']) && $_GET['cse_type'] == 2) {
  37. C::t('#baidusubmit#baidusubmit_setting')->update('baiducse', 2);
  38. } else if (isset($_GET['cse_type']) && $_GET['cse_type'] == 1) {
  39. C::t('#baidusubmit#baidusubmit_setting')->update('baiducse', 1);
  40. } else {
  41. C::t('#baidusubmit#baidusubmit_setting')->update('auto', 1);
  42. C::t('#baidusubmit#baidusubmit_setting')->update('baiducse', 1);
  43. }
  44. echo json_encode(array('status' => 1));
  45. break;
  46. case "openUserSitemap":
  47. $siteurl = baidu_get_plugin_setting('siteurl');
  48. baidu_search_user($siteurl, $sign,'open');
  49. echo userSitemap();
  50. break;
  51. case "closeUserSitemap":
  52. $sppasswd = baidu_get_plugin_setting('sppasswd');
  53. $siteurl = baidu_get_plugin_setting('siteurl');
  54. baidu_submit_sitemap_index('del', 4, $siteurl, $sppasswd, $sign);
  55. baidu_submit_sitemap_index('del', 5, $siteurl, $sppasswd, $sign);
  56. baidu_search_user($siteurl, $sign,'close');
  57. C::t('#baidusubmit#baidusubmit_setting')->update('user_sitemap', 0);
  58. C::t('#baidusubmit#baidusubmit_sitemap')->deleteByType(4);
  59. C::t('#baidusubmit#baidusubmit_sitemap')->deleteByType(5);
  60. echo json_encode(array('status' => 1));
  61. break;
  62. case "closeAuto":
  63. C::t('#baidusubmit#baidusubmit_setting')->update('auto', 0);
  64. echo json_encode(array('status' => 1));
  65. break;
  66. case "manual":
  67. C::t('#baidusubmit#baidusubmit_setting')->update('auto', 2);
  68. echo json_encode(array('status' => 1));
  69. break;
  70. default :
  71. $status = baidu_get_plugin_setting('baiducse');
  72. echo json_encode(array('status' => $status));
  73. break;
  74. }
  75. function userSitemap()
  76. {
  77. global $sign;
  78. //提交用户索引 全量
  79. $sppasswd = baidu_get_plugin_setting('sppasswd');
  80. $siteurl = baidu_get_plugin_setting('siteurl', false, true);
  81. $allUserReturnJson = baidu_submit_sitemap_index('add', 4, $siteurl, $sppasswd, $sign);
  82. $allUserResult = json_decode($allUserReturnJson['json'], true);
  83. if (!isset($allUserResult['status']) || (isset($allUserResult['status']) && $allUserResult['status'])) {
  84. return json_encode(array('status' => 4));
  85. }
  86. //提交用户索引 增量
  87. $incUserReturnJson = baidu_submit_sitemap_index('add', 5, $siteurl, $sppasswd, $sign);
  88. $incUserResult = json_decode($incUserReturnJson['json'], true);
  89. if (!isset($incUserResult['status']) || (isset($incUserResult['status']) && $incUserResult['status'])) {
  90. return json_encode(array('status' => 5));
  91. }
  92. C::t('#baidusubmit#baidusubmit_setting')->update('user_sitemap', 1);
  93. return json_encode(array('status' => 1));
  94. }
  95. exit;