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

Merge pull request #142 from visuddhinanda/master

在文章中添加“在studio中编辑”按钮
visuddhinanda 5 лет назад
Родитель
Сommit
f9cf934b57

+ 7 - 5
app/article/index.php

@@ -312,14 +312,16 @@ term_word_link_fun("wiki_goto_word");
 	<div>
 		<span>
 		<?php
-		echo "<a href='../article/?id=".$_GET["id"];
-		echo "&display=para";
-		echo "'>[逐段]</a>";
+		echo "<a href='../article/my_article_edit.php?id={$_GET["id"]}'>";
+		echo "[Edit in Studio]";
+		echo "</a>";
+		echo "<a href='../article/?id={$_GET["id"]}&display=para'>";
+		echo "[Paragraph]</a>";
 		echo "<a href='../article/?id=".$_GET["id"];
 		echo "&display=sent";
-		echo "'>[逐句]</a>";
+		echo "'>[Sentence]</a>";
 		?>
-			<a href="#">[帮助]</a>
+			<a href="#">[Help]</a>
 		</span>
 	</div>
 </div>

+ 1 - 0
app/article/my_article_edit.php

@@ -61,6 +61,7 @@ require_once '../studio/index_head.php';
 				<div id="article_collect" vui='collect-dlg' ></div>
 			</div>
 			<div style="display:flex;">
+				<div><a href="../article/index.php?id=<?php echo $_GET["id"];?>" target="_blank">Open in Library</a></div>
 				<div id="aritcle_status"></div>
 				<span class="icon_btn_div">
 					<span class="icon_btn_tip"></span>

+ 12 - 0
app/article/my_article_post.php

@@ -4,6 +4,18 @@ require_once "../public/_pdo.php";
 require_once '../public/function.php';
 require_once '../hostsetting/function.php';
 $respond=array("status"=>0,"message"=>"");
+
+# 检查是否由修改权限
+PDO_Connect("sqlite:"._FILE_DB_USER_ARTICLE_);
+$query = "SELECT owner FROM  article WHERE id= ?";
+$owner = PDO_FetchOne($query,array($_POST["id"]));
+if($owner!=$_COOKIE["userid"]){
+    $respond["status"]=1;
+    $respond["message"]="No Power For Edit";
+    echo json_encode($respond, JSON_UNESCAPED_UNICODE);
+    exit;
+}
+
 $_content = $_POST["content"];
 
 if($_POST["import"]=='on'){

+ 8 - 3
app/studio/js/message.js

@@ -22,17 +22,22 @@ function msg_stop() {
   clearTimeout(msg_timer);
 }
 
-function msg_push(type, data, docid, time, book = 0, paragraph = 0) {
+function msg_push(type, data, docid, time = 0, book = 0, paragraph = 0) {
   /*
 	data.type
 	data.data
 	data.doc
-	*/
+  */
+  let send_time = time;
+  if (time == 0) {
+    let d = new Date();
+    send_time = d.getTime();
+  }
   var newMessage = {
     type: type,
     data: data,
     docid: docid,
-    time: time,
+    time: send_time,
     book: book,
     para: paragraph,
   };

+ 25 - 11
app/term/note.php

@@ -81,23 +81,37 @@ foreach ($_data as $key => $value) {
 	$tran="";
 	$translation = array();
 	try{
-		if(!empty($_setting["channal"])){
-			$queryChannal = " AND channal = ? ";
-			$query="SELECT * FROM sentence WHERE book= ? AND paragraph= ? AND begin= ? AND end= ?  AND strlen >0  AND channal = ?  limit 0 ,1 ";
-			$channal = $_setting["channal"];
+		if(empty($_setting["channal"])){
+			if($sentChannal==""){
+				$query="SELECT * FROM sentence WHERE book= ? AND paragraph= ? AND begin= ? AND end= ?  AND strlen >0   order by modify_time DESC limit 0 ,1 ";
+				$channal = "";				
+			}
+			else{
+				$query="SELECT * FROM sentence WHERE book= ? AND paragraph= ? AND begin= ? AND end= ?  AND strlen >0  AND channal = ?  limit 0 ,1 ";
+			}
 		}
 		else{
-			$query="SELECT * FROM sentence WHERE book= ? AND paragraph= ? AND begin= ? AND end= ?  AND strlen >0   order by modify_time DESC limit 0 ,1 ";
-			$channal = "";
+			$query="SELECT * FROM sentence WHERE book= ? AND paragraph= ? AND begin= ? AND end= ?  AND strlen >0  AND channal = ?  limit 0 ,1 ";
+			$channal = $_setting["channal"];
 		}
 		
 		$stmt = $db_trans_sent->prepare($query);
 		if(empty($_setting["channal"])){
-			$stmt->execute(array($bookId,$para,$begin,$end));
-			$Fetch = $stmt->fetch(PDO::FETCH_ASSOC);
-			if($Fetch){
-				$tran = $Fetch["text"];
-				$translation[]=array("id"=>$Fetch["id"],"text"=>$Fetch["text"],"channal"=>$Fetch["channal"]);
+			if($sentChannal==""){
+				$stmt->execute(array($bookId,$para,$begin,$end));
+				$Fetch = $stmt->fetch(PDO::FETCH_ASSOC);
+				if($Fetch){
+					$tran = $Fetch["text"];
+					$translation[]=array("id"=>$Fetch["id"],"text"=>$Fetch["text"],"channal"=>$Fetch["channal"]);
+				}
+			}
+			else{
+				$stmt->execute(array($bookId,$para,$begin,$end,$sentChannal));
+				$Fetch = $stmt->fetch(PDO::FETCH_ASSOC);
+				if($Fetch){
+					$tran = $Fetch["text"];
+					$translation[]=array("id"=>$Fetch["id"],"text"=>$Fetch["text"],"channal"=>$Fetch["channal"]);
+				}
 			}
 		}
 		else{

+ 61 - 0
documents/development/author_format.md

@@ -0,0 +1,61 @@
+# 句子 author 字段数据格式
+
+json 数据
+
+```
+[
+    {
+        people:"people",
+        action:"create",
+        date:time,
+        sentence_id:"uuid",
+    },
+    {
+        people:"people",
+        action:"create",
+        date:time,
+        sentence_id:"uuid",
+    }
+]
+```
+
+## 创建
+
+```mermaid
+graph TD
+vn -- 创建<br>2020-oct-23  --> 这个句子
+vn -- 编辑<br>2020-oct-24  --> 这个句子
+kosalla -- 创建<br>2020-oct-24 --> 句子1
+句子1 -- vn参考<br>2020-oct-24 --> 这个句子
+viranyani -- 编辑<br>2020-oct-24 --> 这个句子
+kaluna -- 校对<br>2020-oct-24 --> 这个句子
+```
+
+## 采纳 pr
+
+点击采纳,复制被采纳句子到本句。 清空原来的 author, 替换成被采纳者的 author 信息,再加入一行采纳者信息。
+
+```mermaid
+graph TD
+kosalla -- 创建 --> 句子1
+句子1 -- vn采纳 --> 这个句子
+vn -- 编辑 --> 这个句子
+```
+
+## 参考
+
+点击某句子的参考按钮,并不复制任何字符。复制被参考句子的 author 资料,并添加‘参考’信息。
+
+```mermaid
+graph TD
+vn -- 创建 --> 这个句子
+Nyanamolithera -- 创建 --> 句子1
+句子1 -- vn参考 --> 这个句子
+```
+
+## 添加已有的参考译文
+
+```mermaid
+graph TD
+Nyanamolithera -- 创建 --> 这个句子
+```