Просмотр исходного кода

Merge branch 'master' of https://github.com/visuddhinanda/mint

Bhikkhu-Kosalla 5 лет назад
Родитель
Сommit
05bc010a8a

+ 96 - 0
app/channal/my_channal_list.php

@@ -0,0 +1,96 @@
+<?php
+require_once '../studio/index_head.php';
+?>
+<body id="file_list_body" onLoad="course_list()">
+
+	<script language="javascript" src="../course/my_couse.js"></script>
+	<script language="javascript" src="../ucenter/name_selector.js"></script>
+	<script >
+	var gCurrPage="channal";
+	</script>
+
+	<style>
+	#channal {
+		background-color: var(--btn-border-color);
+		
+	}
+	#channal:hover{
+		background-color: var(--btn-border-color);
+		color: var(--btn-color);
+		cursor:auto;
+	}
+	</style>
+
+	<?php
+	require_once '../studio/index_tool_bar.php';
+	?>
+		
+	<div class="index_inner" style="    margin-left: 18em;margin-top: 5em;">
+		<div id="channal_list"  class="file_list_block">
+
+		<div class="tool_bar">
+	<div>
+	频道
+	</div>
+
+	<div>
+		<span class="icon_btn_div">
+			<span class="icon_btn_tip"><?php echo $_local->gui->add;?></span>
+			<button id="file_add" type="button" class="icon_btn" title=" ">
+				<a href="../course/my_channal_new.php">
+				<svg class="icon">
+					<use xlink:href="../studio/svg/icon.svg#ic_add_circle"></use>
+				</svg>
+				</a>
+			</button>
+		</span>
+		
+		<span class="icon_btn_div">				
+			<span class="icon_btn_tip"><?php echo $_local->gui->recycle_bin;?></span>
+			<button id="to_recycle" type="button" class="icon_btn" onclick="file_del()" title=" ">
+				<svg class="icon">
+					<use xlink:href="../studio/svg/icon.svg#ic_delete"></use>
+				</svg>
+			</button>
+		</span>	
+	</div>
+				
+</div>
+
+<div id="userfilelist">
+<?php
+//
+
+require_once "../path.php";
+require_once "../public/_pdo.php";
+require_once '../public/load_lang.php';
+require_once '../ucenter/function.php';
+
+global $PDO;
+PDO_Connect("sqlite:"._FILE_DB_CHANNAL_);
+$query = "select * from channal where owner = '{$_COOKIE["userid"]}'   limit 0,100";
+$Fetch = PDO_FetchAll($query);
+
+foreach($Fetch as $row){
+    echo '<div class="file_list_row" style="padding:5px;">';
+
+    echo '<div class="pd-10"  style="width:2em;"><input  type="checkbox" /></div>';
+    echo '<div class="title" style="flex:3;padding-bottom:5px;"><a href="../course/my_course_index.php?course='.$row["id"].'">'.$row["name"].'</a></div>';
+    echo '<div class="summary"  style="flex:4;padding-bottom:5px;">'.$row["summary"].'</div>';
+    echo '<div class="summary"  style="flex:1;padding-bottom:5px;">'.$row["status"].'</div>';
+    echo '<div class="author"  style="flex:1;padding-bottom:5px;">'.$row["create_time"].'</div>';
+    
+    echo '</div>';
+}
+
+?>				
+</div>
+			
+		</div>
+		
+	</div>
+	
+<?php
+require_once '../studio/index_foot.php';
+?>
+

+ 6 - 5
app/course/my_course_edit.php

@@ -60,11 +60,6 @@ echo '<input type="hidden" name="course" value="'.$course_info["id"].'" />';
 echo '<input type="hidden" name="op" value="update" />';
 echo '<div id="userfilelist">';
 
-    echo '<div style="display:flex;">';
-    echo '<div style="flex:2;">'.'封面'.'</div>';
-    echo '<div style="flex:8;">'.$cover_html.'</div>';
-    echo '<input type="hidden" name="cover" value="'.$course_info["cover"].'" />';
-    echo '</div>';
 
     echo '<div style="display:flex;">';
     echo '<div style="flex:2;">'.'老师'.'</div>';
@@ -102,6 +97,12 @@ echo '<div id="userfilelist">';
     echo '<div style="flex:2;">'.'标签'.'</div>';
     echo '<div style="flex:8;"><input type="input" name = "tag" value="'.$course_info["tag"].'" /></div>';
     echo '</div>';
+
+    echo '<div style="display:flex;">';
+    echo '<div style="flex:2;">'.'附件链接'.'</div>';
+    echo '<div style="flex:8;"><input type="input" name = "attachment" value="'.$course_info["attachment"].'" /></div>';
+    echo '</div>';
+
 echo '</div>';
 ?>
 

+ 8 - 0
app/course/my_course_index.php

@@ -36,8 +36,15 @@ require_once '../studio/index_head.php';
 		else{
 			require_once("../course/my_lesson_edit.php");
 		}
+		
     }
     else if(isset($_GET["course"]) || isset($_POST["course"]) ){
+		if(isset($_GET["course"])){
+			$_course_id = $_GET["course"];
+		}
+		else if(isset($_POST["course"])){
+			$_course_id = $_POST["course"];
+		}
 		if(isset($_GET["op"]) && $_GET["op"]=="newlesson"){
 			require_once("../course/my_lesson_new.php");
 		}
@@ -53,6 +60,7 @@ require_once '../studio/index_head.php';
 		else{
 			require_once("../course/my_lesson_list.php");
 		}
+		
     }
     else{
 		if(isset($_GET["op"]) && $_GET["op"]=="new"){

+ 3 - 3
app/course/my_course_insert.php

@@ -6,11 +6,11 @@ require_once '../public/function.php';
 global $PDO;
 PDO_Connect("sqlite:"._FILE_DB_COURSE_);
 
-$query = "INSERT INTO course (id,  title,  subtitle, creator, tag, summary, status, cover, teacher,  lang , speech_lang , lesson_num , create_time , modify_time , receive_time ) 
-                      VALUES (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?  )";
+$query = "INSERT INTO course (id,  title,  subtitle, creator, tag, summary, status, cover, teacher,  lang , speech_lang ,attachment, lesson_num , create_time , modify_time , receive_time ) 
+                      VALUES (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?  )";
 $sth = $PDO->prepare($query);
 
-$sth->execute(array(UUID::v4() ,$_POST["title"] , $_POST["subtitle"]  , $_COOKIE["userid"] , $_POST["tag"] ,$_POST["summary"] , 1, $_POST["cover"] ,$_POST["teacher"] ,  $_POST["lang"] , "" , 0 ,mTime() , mTime() ,  mTime() ));
+$sth->execute(array(UUID::v4() ,$_POST["title"] , $_POST["subtitle"]  , $_COOKIE["userid"] , $_POST["tag"] ,$_POST["summary"] , 1, $_POST["cover"] ,$_POST["teacher"] ,  $_POST["lang"] , "" ,$_POST["attachment"] , 0 ,mTime() , mTime() ,  mTime() ));
 $respond=array("status"=>0,"message"=>"");
 if (!$sth || ($sth && $sth->errorCode() != 0)) {
 	$error = PDO_ErrorInfo();

+ 2 - 10
app/course/my_course_list.php

@@ -34,21 +34,13 @@
 require_once "../path.php";
 require_once "../public/_pdo.php";
 require_once '../public/load_lang.php';
-require_once '../media/function.php';
+require_once '../ucenter/function.php';
 
 global $PDO;
 PDO_Connect("sqlite:"._FILE_DB_COURSE_);
 $query = "select * from course where creator = '{$_COOKIE["userid"]}'  order by modify_time DESC limit 0,100";
 $Fetch = PDO_FetchAll($query);
 
-$coverList = array();
-foreach($Fetch as $row){
-    $coverList[] = $row["cover"];
-}
-$covers = media_get($coverList);
-foreach ($covers as $value) {
-    $cover["{$value["id"]}"] = $value["link"];
-}
 foreach($Fetch as $row){
     echo '<div class="file_list_row">';
 
@@ -56,7 +48,7 @@ foreach($Fetch as $row){
     echo '<div class="title" style="padding-bottom:5px;"><a href="../course/my_course_index.php?course='.$row["id"].'">'.$row["title"].'</a></div>';
     echo '<div class="summary"  style="padding-bottom:5px;">'.$row["subtitle"].'</div>';
     echo '<div class="summary"  style="padding-bottom:5px;">'.$row["summary"].'</div>';
-    echo '<div class="author"  style="padding-bottom:5px;">主讲:'.$row["teacher"].'</div>';
+    echo '<div class="author"  style="padding-bottom:5px;">主讲:'.ucenter_getA($row["teacher"]).'</div>';
     echo '</div>';
     
     echo '</div>';

+ 5 - 0
app/course/my_course_new.php

@@ -60,6 +60,11 @@ echo '</div>';
         <input type="input" name="tag" value="" />
     </div>
     </div> 
+
+    <div style="display:flex;">
+    <div style="flex:2;">附件链接</div>
+    <div style="flex:8;"><input type="input" name = "attachment" value="" /></div>
+    </div>
 </div>
 
 

+ 2 - 2
app/course/my_course_update.php

@@ -6,10 +6,10 @@ require_once '../public/function.php';
 global $PDO;
 PDO_Connect("sqlite:"._FILE_DB_COURSE_);
 
-$query="UPDATE course SET cover = ? , title = ? , subtitle = ? ,  summary = ? , teacher = ?  , tag = ?  , lang = ?  ,  receive_time = ?  , modify_time = ?   where  id = ?  ";
+$query="UPDATE course SET  title = ? , subtitle = ? ,  summary = ? , teacher = ?  , tag = ?  , lang = ?  , attachment = ? , receive_time = ?  , modify_time = ?   where  id = ?  ";
 $sth = $PDO->prepare($query);
 
-$sth->execute(array($_POST["cover"] , $_POST["title"] , $_POST["subtitle"] ,  $_POST["summary"] ,   $_POST["teacher"]  ,  $_POST["tag"] ,  $_POST["lang"] ,  mTime() , mTime() , $_POST["course"]));
+$sth->execute(array( $_POST["title"] , $_POST["subtitle"] ,  $_POST["summary"] ,   $_POST["teacher"]  ,  $_POST["tag"] ,  $_POST["lang"] , $_POST["attachment"] , mTime() , mTime() , $_POST["course"]));
 $respond=array("status"=>0,"message"=>"");
 if (!$sth || ($sth && $sth->errorCode() != 0)) {
 	$error = PDO_ErrorInfo();

+ 4 - 22
app/course/my_lesson_list.php

@@ -8,7 +8,7 @@
 <?php
 require_once "../path.php";
 require_once "../public/_pdo.php";
-require_once '../media/function.php';
+require_once '../ucenter/function.php';
 
 global $PDO;
 PDO_Connect("sqlite:"._FILE_DB_COURSE_);
@@ -57,7 +57,7 @@ echo '</div>';
     echo '简介:'.$course_info["summary"];
     echo '</div>';
     echo '<div>';
-    echo '教师:'.$course_info["teacher"];
+    echo '教师:'.ucenter_getA($course_info["teacher"]);
     echo '</div>';
 ?>
 </div>
@@ -70,14 +70,6 @@ echo '</div>';
 $query = "select * from lesson where course_id = '{$_GET["course"]}'   limit 0,100";
 $fAllLesson = PDO_FetchAll($query);
 
-$coverList = array();
-foreach($fAllLesson as $row){
-    $coverList[] = $row["cover"];
-}
-$covers = media_get($coverList);
-foreach ($covers as $value) {
-    $cover["{$value["id"]}"] = $value["link"];
-}
 
 echo '<div id="userfilelist">';
 
@@ -85,17 +77,7 @@ foreach($fAllLesson as $row){
 
     echo '<div class="file_list_row" style="display:flex;">';
 
-    echo '<div style="width:10em;">';
-    $coverlink = $cover["{$row["cover"]}"];
-
-    echo '<div class="v-cover">';
-    if(substr($coverlink,0,6)=="media:"){
-        echo '<img src="'._DIR_USER_IMG_LINK_.'/'.substr($coverlink,6).'" width="100%" height="auto">';
-    }
-    else{
-        echo '<img src="'.$coverlink.'" width="50" height="50">';
-    }
-    echo '</div>';    
+    echo '<div style="width:2em;">';
 
     echo '</div>';
 
@@ -105,7 +87,7 @@ foreach($fAllLesson as $row){
     echo '<div  style="padding-bottom:5px;font-size: 120%;"><a href="../course/my_course_index.php?lesson='.$row["id"].'">'.$row["title"].'</a></div>';
     echo '<div class="summary"  style="padding-bottom:5px;">'.$row["subtitle"].'</div>';
     echo '<div class="summary"  style="padding-bottom:5px;">'.$row["summary"].'</div>';
-    echo '<div class="author"  style="padding-bottom:5px;">主讲:'.$row["teacher"].'</div>';
+    echo '<div class="author"  style="padding-bottom:5px;">主讲:'.ucenter_getA($row["teacher"]).'</div>';
     echo '</div>';    
 
     echo '</div>';

+ 39 - 11
app/dict/split.php

@@ -19,13 +19,28 @@ else{
 <!--debug only-->
 <form action="split.php" method="post">
 Words: <textarea type="text" name="word"></textarea>
-<input name="debug" />
+<input name="debug" type="hidden" />批量查询,单词之间用英文逗号分隔。
+<div>
+<input type="checkbox" name = "express" checked /> 快速搜索(遇到第一个连音规则成功就返回)
+</div>
 <input type="submit">
 </form>
 
 <?php
 	return;
 }
+
+if(isset($_POST["express"])){
+	if($_POST["express"]==="on"){
+		$_express = true;
+	}
+	else{
+		$_express = false;
+	}
+}
+else{
+	$_express = false;
+}
 global $dbh;
 $dns = "sqlite:"._FILE_DB_PART_;
 $dbh = new PDO($dns, "", "",array(PDO::ATTR_PERSISTENT=>true));
@@ -166,20 +181,26 @@ foreach($arrWords as $oneword){
 		$result = array();//全局变量,递归程序的输出容器
 
 		if(mb_strlen($oneword,"UTF-8")<30){
-			mySplit2($oneword,0,true);
+			mySplit2($oneword,0,$_express);
 		}
 		else{
-			mySplit2($oneword,0,true);
+			mySplit2($oneword,0,$_express);
 		}
 		
-		
 		arsort($result);//按信心指数排序
 		$wordlist = array();
+		$iMax = 5;
+		$iCount = 0;
 		foreach($result as $row=>$value){
+			$iCount++;
 			$word_part  = array();
 			$word_part["word"] = $row;
 			$word_part["confidence"] = $value;
 			$wordlist[] = $word_part;
+			if($iCount>=$iMax){
+			break;
+			}
+
 		}
 		$output[] = $wordlist;
 
@@ -197,9 +218,6 @@ foreach($arrWords as $oneword){
 			if(isset($_POST["debug"])){
 				echo $row."-[".$value."]<br>";
 			}
-			else{	
-				//echo $row."-[".round($level)."] ";
-			}
 		}
 		
 		/*
@@ -266,7 +284,9 @@ function isExsit($word,$adj_len=0){
 	global $confidence;
 	$auto_split_times++;
 	
-	//echo "<div>正在查询:{$word}</div>";
+	if(isset($_POST["debug"])){
+		echo "<div>正在查询:{$word}</div>";
+	}
 	$isFound=false;
 	if(isset($part["{$word}"]))
 	{
@@ -283,6 +303,9 @@ function isExsit($word,$adj_len=0){
 			$isFound=true;
 			$count=$db+1;
 		}
+		else{
+			
+		}
 	} 
 
 	if($isFound)
@@ -312,8 +335,9 @@ function isExsit($word,$adj_len=0){
 
 $strWord, 要查询的词
 $deep, 当前递归深度
-$turbo=false, 简洁查询
+$express=true, 快速查询
 $adj_len=0 长度校正系数
+$c_threshhold 信心指数阈值
 */
 
 function mySplit2($strWord,$deep,$express=false,$adj_len=0,$c_threshhold=0.8){
@@ -405,7 +429,9 @@ function mySplit2($strWord,$deep,$express=false,$adj_len=0,$c_threshhold=0.8){
 					$word .= "({$part[2]})";
 				}
 				$cf=$cf+$part[2]*0.1;
-				$result[$word]=$cf;
+				if($cf >= $c_threshhold){
+					$result[$word]=$cf;
+				}
 			}
 		}
 	}
@@ -428,7 +454,9 @@ function mySplit2($strWord,$deep,$express=false,$adj_len=0,$c_threshhold=0.8){
 			$word .= $strWord;
 		}
 		
-		$result[$word]=$cf;
+		if($cf >= $c_threshhold){
+			$result[$word]=$cf;
+		}
 	}
 }
 

+ 62 - 62
app/guide/guide.css

@@ -1,50 +1,50 @@
-guide{
-    position: relative;
-    display:inline-block;
-    width: auto;
-    min-width: 14px;
-    height: auto;
-    min-height: 14px;
-    cursor: pointer;
-    background: url(guide_icon.svg);
-    background-repeat: no-repeat;
-    background-size: contain;
-    margin: 0 6px;
-    color: var(--tool-color);
+guide {
+  position: relative;
+  display: inline-block;
+  width: auto;
+  min-width: 14px;
+  height: auto;
+  min-height: 14px;
+  cursor: pointer;
+  background: url(guide_icon.svg);
+  background-repeat: no-repeat;
+  background-size: contain;
+  margin: 0 6px;
+  color: var(--tool-color);
 }
-guide:hover  .guide_contence{
-    display:inline-block;
+guide:hover .guide_contence {
+  display: inline-block;
 }
-guide ul{
-    list-style-type:disc;
-    padding-left:20px;
+guide ul {
+  list-style-type: disc;
+  padding-left: 20px;
 }
-guide ol{
-    list-style-type:decimal;
-    padding-left:20px;
+guide ol {
+  list-style-type: decimal;
+  padding-left: 20px;
 }
 .guide_contence {
-    border-top: 7px;
-    position: absolute;
-    border: 2px solid var(--btn-border-color);
-    border-radius: 10px;
-    top:100%;
-    width: max-content;
-    min-width:18em;
-    max-width: max(25vw, 100%);
-    min-height:15em;
-    padding:10px;
-    background-color: var(--drop-bg-color);
-    box-shadow: 0 0 10px rgba(0,0,0,0.15);
-    font-size:10pt;
-    text-align:left;
-    display:none;
+  border-top: 7px;
+  position: absolute;
+  border: 1px solid var(--border-line-color);
+  border-radius: 5px;
+  top: 100%;
+  width: max-content;
+  min-width: 18em;
+  max-width: max(25vw, 100%);
+  min-height: 15em;
+  padding: 10px;
+  background-color: var(--drop-bg-color);
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
+  font-size: 10pt;
+  text-align: left;
+  display: none;
 
-    margin: 0.3em;
-    margin: -1px 0px;
-    box-shadow: 0px 3px 13px 0px var(--shadow-color);
-    color: var(--main-color);
-    z-index: 200;
+  margin: 0.3em;
+  margin: -1px 0px;
+  box-shadow: 0px 3px 13px 0px var(--shadow-color);
+  color: var(--main-color);
+  z-index: 200;
 }
 /*
 .guide_contence:after {
@@ -60,31 +60,31 @@ guide ol{
 }
 
 */
-.guide_contence  h1{
-    font-size:1.5em;
-    font-weight:700;
+.guide_contence h1 {
+  font-size: 1.5em;
+  font-weight: 700;
 }
-.guide_contence  h2{
-    font-size:1.3em;
-    font-weight:700;
+.guide_contence h2 {
+  font-size: 1.3em;
+  font-weight: 700;
 }
-.guide_contence  h3{
-    font-size:1.1em;
-    font-weight:700;
+.guide_contence h3 {
+  font-size: 1.1em;
+  font-weight: 700;
 }
-.guide_contence  h4{
-    font-size:1em;
-    font-weight:700;
+.guide_contence h4 {
+  font-size: 1em;
+  font-weight: 700;
 }
-.guide_contence  li{
-    white-space: normal;
-    word-break: normal;
+.guide_contence li {
+  white-space: normal;
+  word-break: normal;
 }
-.guide_contence  pre{
-    background-color: rgba(0, 0, 0, 0.1);
+.guide_contence pre {
+  background-color: rgba(0, 0, 0, 0.1);
 }
-.guide_contence  code{
-    white-space: normal;
-    word-break: normal;
-    font-family: arial;
+.guide_contence code {
+  white-space: normal;
+  word-break: normal;
+  font-family: arial;
 }

+ 1 - 0
app/path.php

@@ -67,5 +67,6 @@ define("_FILE_DB_COURSE_"  , __DIR__."/../tmp/user/course.db3");
 define("_FILE_DB_MEDIA_"  , __DIR__."/../tmp/user/media.db3");
 define("_FILE_DB_MESSAGE_"  , __DIR__."/../tmp/user/message.db");
 define("_FILE_DB_USER_STATISTICS_"  , __DIR__."/../tmp/user/statistics.db3");
+define("_FILE_DB_CHANNAL_"  , __DIR__."/../tmp/user/channal.db3");
 
 ?>

+ 2 - 2
app/pcdl/js/reader.js

@@ -52,8 +52,8 @@ function pali_canon_edit_now(thisform) {
 
   let strParList = "";
   //查找被选择的段落
-  let firstIndex = thisform.para.value;
-  let endIndex = thisform.para_end.value;
+  let firstIndex = parseInt(thisform.para.value);
+  let endIndex = parseInt(thisform.para_end.value);
   for (let iPar = firstIndex; iPar <= endIndex; iPar++) {
     strParList += iPar;
     if (iPar < endIndex) {

+ 24 - 0
app/studio/index_tool_bar.php

@@ -71,6 +71,30 @@
 					
 					</span>
 				</li>
+
+				<li id="channal"  onclick="goto_url(this,'../channal/my_channal_list.php')">
+					<span  class="navi_icon">
+						<svg class="icon">
+							<use xlink:href="../studio/svg/icon.svg#class_video"></use>
+						</svg>	
+					</span>	
+					<span class="navi_text">
+					<?php echo "Channal";?>
+					
+					</span>
+				</li>
+
+				<li id="udict"  onclick="goto_url(this,'../udict/my_dict_list.php')">
+					<span  class="navi_icon">
+						<svg class="icon">
+							<use xlink:href="../studio/svg/icon.svg#class_video"></use>
+						</svg>	
+					</span>	
+					<span class="navi_text">
+					<?php echo "单词本";?>
+					
+					</span>
+				</li>
 			</ul>
 		</div>
 		

+ 0 - 0
app/term/my_term_list.php


+ 170 - 0
app/udict/my_dict_list.php

@@ -0,0 +1,170 @@
+<?php
+require_once '../studio/index_head.php';
+?>
+<body id="file_list_body" onLoad="course_list()">
+
+	<script >
+	var gCurrPage="udict";
+	</script>
+
+	<style>
+	#udict {
+		background-color: var(--btn-border-color);
+		
+	}
+	#udict:hover{
+		background-color: var(--btn-border-color);
+		color: var(--btn-color);
+		cursor:auto;
+    }
+    #word_list{
+        width:unset;
+    }
+	</style>
+
+	<?php
+	require_once '../studio/index_tool_bar.php';
+	?>
+		
+	<div class="index_inner" style="    margin-left: 18em;margin-top: 5em;">
+		<div id="word_list"  class="file_list_block">
+
+		<div class="tool_bar">
+	<div>
+	单词本
+	</div>
+
+	<div>
+		<span class="icon_btn_div">
+			<span class="icon_btn_tip"><?php echo $_local->gui->add;?></span>
+			<button id="file_add" type="button" class="icon_btn" title=" ">
+				<a href="../course/my_channal_new.php">
+				<svg class="icon">
+					<use xlink:href="../studio/svg/icon.svg#ic_add_circle"></use>
+				</svg>
+				</a>
+			</button>
+		</span>
+		
+		<span class="icon_btn_div">				
+			<span class="icon_btn_tip"><?php echo $_local->gui->recycle_bin;?></span>
+			<button id="to_recycle" type="button" class="icon_btn" onclick="file_del()" title=" ">
+				<svg class="icon">
+					<use xlink:href="../studio/svg/icon.svg#ic_delete"></use>
+				</svg>
+			</button>
+		</span>	
+	</div>
+				
+</div>
+
+<div id="userfilelist">
+<?php
+//
+
+require_once "../path.php";
+require_once "../public/_pdo.php";
+require_once '../public/load_lang.php';
+require_once '../ucenter/function.php';
+
+if(isset($_GET["page"])){
+    $iCurrPage=$_GET["page"];
+}
+else{
+    $iCurrPage=0;
+}
+$iOnePage=300;
+
+$db_file = _FILE_DB_WBW_;
+PDO_Connect("sqlite:$db_file");
+$query = "select count(word_index) as co  from user_index where user_id={$UID}";
+$allWord = PDO_FetchOne($query);
+$iCountWords=$allWord;
+
+if($iCountWords==0){
+    echo "<div id='setting_user_dict_count'>您的用户字典中没有单词。</div>";
+}
+else{
+    echo "<div>search:<span style='display:inline-block;width:20em;'><input type='input'  /></span></div>";
+    $iPages=ceil($iCountWords/$iOnePage);
+    if($iCurrPage>$iPages){
+        $iCurrPage=$iPages;
+    }
+    $begin=$iCurrPage*$iOnePage;
+    $query = "select word_index  from user_index where user_id={$UID} order by id DESC limit {$begin},{$iOnePage} ";
+    
+    $allWord = PDO_FetchAll($query);
+    $strQuery="('";
+    foreach($allWord as $one){
+        $strQuery .= $one["word_index"]."','";
+    }
+    $strQuery = substr($strQuery,0,strlen($strQuery)-2);
+    $strQuery .= ")";
+    $query = "select *  from dict where id in {$strQuery} order by time DESC";
+    $allWords = PDO_FetchAll($query);
+    ?>
+    <div id="setting_user_dict_nav" style="backgroud-color:gray">
+    <?php 
+    if($iCurrPage==0){
+        echo "第一页 | ";
+        echo "上一页";
+    }
+    else{
+        echo "<a href=\"../udict/my_dict_list.phpphp?page=0\">第一页</a>";
+        $prevPage=$iCurrPage-1;
+        echo "<a href=\"../udict/my_dict_list.php?page={$prevPage}\">上一页</a>";
+    }
+    
+    echo "第<span style='display:inline-block;width:4em;'><input type=\"input\" value=\"".($iCurrPage+1)."\" size=\"4\" /></span>页";
+    echo "共{$iPages}页";
+    
+    if($iCurrPage<$iPages-1){
+        echo "<a href=\"../udict/my_dict_list.php?page=".($iCurrPage+1)."\">下一页</a>";
+        echo "<a href=\"../udict/my_dict_list.php?page=".($iPages-1)."\">最后一页</a>";
+        
+    }
+    else{
+        echo "下一页 | 最后一页";
+    }
+    echo "<span id='setting_user_dict_count'>总计{$iCountWords}</span>";				
+    ?>
+    </div>
+    <div>
+        <div style="display:flex;">
+            <div><input type="checkbox" /></div>
+            <div>拼写</div>
+            <div>类型</div>
+            <div>语法</div>
+            <div>意思</div>
+            <div>语基</div>
+            <div>状态</div>
+            <div>引用</div>
+            <div></div>
+        </div>
+    <?php
+    foreach($allWords as $word){
+        echo '<div class="file_list_row" style="padding:5px;">';
+        echo "<div style='flex:1;'><input type=\"checkbox\" /></div>";
+        echo "<div style='flex:3;'>{$word["pali"]}</div>";
+        echo "<div style='flex:1;'>{$word["type"]}</div>";
+        echo "<div style='flex:1;'>{$word["gramma"]}</div>";
+        echo "<div style='flex:3;'>{$word["mean"]}</div>";
+        echo "<div style='flex:3;'>{$word["parent"]}</div>";
+        if($word["creator"]==$UID){
+            echo "<div style='flex:1;'>原创</div>";
+        }
+        else{
+            echo "<div style='flex:1;'>引用</div>";
+        }
+        echo "<div style='flex:1;'>{$word["ref_counter"]}</div>";
+        echo "<div style='width:1em;;'>...</div>";
+        echo "</div>";
+    }
+}
+    ?>
+    </div>
+			
+	
+<?php
+require_once '../studio/index_foot.php';
+?>

+ 3 - 2
documents/users_guide/zh-cn/dict_search_input.md

@@ -1,7 +1,8 @@
 ## 智能词典
 
 输入框中支持用**加号**分隔单词中各个组成部分。
-- 如:输入citta+kamma
+
+- 如:输入 citta+kamma
 
 其组分将在输入框下方显示,点击搜索框下方的**组分**查询每个组分的意思。
 
@@ -86,4 +87,4 @@
 |             | pron.interr. | 疑代     | interrogative pronoun       |
 |             | pron.indef.  | 不定代   | indefinite pronoun          |
 | attano      | med.         | 返照     |                             |
-| attano      | refl.        | 返照     | reflexive                   |
+| attano      | refl.        | 返照     | reflexive                   |

Разница между файлами не показана из-за своего большого размера
+ 53 - 53
pali_title/99_title.csv


Некоторые файлы не были показаны из-за большого количества измененных файлов