get_para.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. require_once "../public/_pdo.php";
  3. require_once "../path.php";
  4. define("_MAX_CHAPTER_LEN_", 20000);
  5. if (isset($_GET["book"])) {
  6. $_book = $_GET["book"];
  7. } else {
  8. exit;
  9. }
  10. if (isset($_GET["para"])) {
  11. $_para = $_GET["para"];
  12. } else {
  13. exit;
  14. }
  15. if (isset($_GET["begin"])) {
  16. $_begin = $_GET["begin"];
  17. }
  18. if (isset($_GET["end"])) {
  19. $_end = $_GET["end"];
  20. }
  21. $_view = $_GET["view"];
  22. $output["toc"] = array();
  23. $output["sentences"] = array();
  24. $output["head"] = 0;
  25. if ($_view == "sent") {
  26. $output["sentences"] = array(array("book" => $_book, "paragraph" => $_para, "begin" => $_begin, "end" => $_end));
  27. echo json_encode($output, JSON_UNESCAPED_UNICODE);
  28. exit;
  29. }
  30. PDO_Connect("" . _FILE_DB_PALITEXT_);
  31. $query = "SELECT * FROM 'pali_text' WHERE book= ? AND paragraph= ?";
  32. $FetchParInfo = PDO_FetchRow($query, array($_book, $_para));
  33. if ($FetchParInfo) {
  34. switch ($_view) {
  35. case 'chapter':
  36. # code...
  37. $paraBegin = $_para;
  38. $paraEnd = $_para + $FetchParInfo["chapter_len"] - 1;
  39. break;
  40. case 'para':
  41. $paraBegin = $_para;
  42. $paraEnd = $_para;
  43. # code...
  44. break;
  45. default:
  46. # code...
  47. $paraBegin = $_para;
  48. $paraEnd = $_para;
  49. break;
  50. }
  51. //获取下级目录
  52. $query = "SELECT * FROM 'pali_text' WHERE book= ? AND (paragraph BETWEEN ?AND ? ) AND level < 8 ";
  53. $output["toc"] = PDO_FetchAll($query, array($_book, $paraBegin, $paraEnd));
  54. if ($FetchParInfo["chapter_strlen"] > _MAX_CHAPTER_LEN_ && $_view === "chapter" && count($output["toc"]) > 1) {
  55. if ($output["toc"][1]["paragraph"] - $_para > 1) {
  56. # 中间有间隔
  57. $paraBegin = $_para;
  58. $paraEnd = $output["toc"][1]["paragraph"] - 1;
  59. $output["head"] = 1;
  60. } else {
  61. #中间无间隔
  62. echo json_encode($output, JSON_UNESCAPED_UNICODE);
  63. exit;
  64. }
  65. }
  66. PDO_Connect("" . _FILE_DB_PALI_SENTENCE_);
  67. $query = "SELECT book,paragraph,begin, end FROM 'pali_sent' WHERE book= ? AND (paragraph BETWEEN ?AND ? ) ";
  68. $sent_list = PDO_FetchAll($query, array($_book, $paraBegin, $paraEnd));
  69. $output["sentences"] = $sent_list;
  70. echo json_encode($output, JSON_UNESCAPED_UNICODE);
  71. } else {
  72. echo json_encode($output, JSON_UNESCAPED_UNICODE);
  73. }