comparison models/extractapp.php @ 95:9a29e9d28ece extractapp

new: create new topic
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Wed, 11 Nov 2015 14:12:55 +0100
parents b0cecc104639
children c1bb174a22f3
comparison
equal deleted inserted replaced
94:b0cecc104639 95:9a29e9d28ece
186 $this->branch_id = $_postdata['branchId']; 186 $this->branch_id = $_postdata['branchId'];
187 } 187 }
188 if (isset($_postdata['userId'])) { 188 if (isset($_postdata['userId'])) {
189 $this->user_id = $_postdata['userId']; 189 $this->user_id = $_postdata['userId'];
190 } 190 }
191 if (isset($_postdata['topic_id'])) { 191 if (isset($_postdata['topic'])) {
192 $this->topic = $_postdata['topic_id']; 192 $this->topic = $_postdata['topic'];
193 } 193 }
194
194 if (isset($_postdata['sectionName'])) { 195 if (isset($_postdata['sectionName'])) {
195 $this->section_name = $_postdata['sectionName']; 196 $this->section_name = $_postdata['sectionName'];
196 } 197 }
197 if (isset($_postdata['bookName'])) { 198 if (isset($_postdata['bookName'])) {
198 $this->book_name = $_postdata['bookName']; 199 $this->book_name = $_postdata['bookName'];
952 } 953 }
953 954
954 } 955 }
955 956
956 // === for config topic === 957 // === for config topic ===
957 public function ConfigTagsInTopic($postdata) { 958 public function CreateNewTopic($_postdata) {
959 $new_topic_id = "2"; // default topic_id=1 for 'person' topic
960
961 // get user input data from postdata
962 $new_topic_name_en = $_postdata['new_topic_name_en'];
963 $new_topic_name_ch = $_postdata['new_topic_name_ch'];
964 $new_topic_name_pi = $_postdata['new_topic_name_pi'];
965 $new_topic_tag = $_postdata['new_topic_tag'];
966 $new_topic_tag_name = $_postdata['new_topic_tag_name'];
967
968 // -- Start Transaction --
969 mysql_query("BEGIN");
970
971 // create records for the new topic in database
972 /* In table:
973 taglist: name, tag, color (default, user can change later in the editing page)
974 topics: tag, name_en, name_ch, name_pinyin
975 topic_tag_relation: topic_id (new), tag_id (new)
976
977 - need transaction for the following actions:
978 taglist.name: topic_tag name in chinese
979 taglist.tag: topic_tag name in eng
980 topics.tag: (the same a taglist.tag)
981 topics.name_en:
982 topics.name_ch:
983 topics.name_pinyin:
984
985
986 topic_tag_relation.topic_id = new_topic_id
987 topic_tag_relation.tag_id = new_tag_id
988 which are the new record that just been created in the 'taglist' and 'topics' table
989 */
990
991 // new record in topics table
992 $query="INSERT INTO topics (tag, name_en, name_ch, name_pinyin) VALUES ('".$new_topic_tag."','".$new_topic_name_en."','".$new_topic_name_ch."','".$new_topic_name_pi."')";
993 $result_topics=mysql_query($query);
994 if($result_topics){
995 $new_topic_id = mysql_insert_id();
996 } else {
997 //echo mysql_error();
998 }
999
1000 // new record in taglist table
1001 $query="INSERT INTO taglist (name, tag, color, systemName) VALUES ('".$new_topic_tag_name."','".$new_topic_tag."','rgb(255, 0, 174)','interface')";
1002 $result_taglist=mysql_query($query);
1003 if($result_taglist){
1004 $new_tag_id = mysql_insert_id();
1005 } else {
1006 //echo mysql_error();
1007 }
1008
1009 // new record in topic_tag_relation
1010 $query="INSERT INTO topic_tag_relation (topic_id, tag_id) VALUES ('".$new_topic_id."','".$new_tag_id."')";
1011 $result_topic_tag_relation=mysql_query($query);
1012 if($result_topic_tag_relation){
1013
1014 } else {
1015 //echo mysql_error();
1016 }
1017
1018
1019 // --- End Transaction ---
1020 if ($result_taglist && $result_topics && $result_topic_tag_relation) {
1021 mysql_query("COMMIT");
1022
1023 } else {
1024 mysql_query("ROLLBACK");
1025 return "error";
1026 }
1027
1028
1029 $_postdata['topic'] = $new_topic_id;
1030 return $_postdata;
1031 }
1032
1033 public function ConfigTagsInTopic($_postdata) {
958 /** 1034 /**
959 * 1035 *
960 */ 1036 */
961 1037
962 $topic = $postdata['topic']; 1038 $topic = $_postdata['topic'];
963 $result = $this->GetTopicById($topic); 1039 $result = $this->GetTopicById($topic);
964 $row = mysql_fetch_assoc($result); 1040 $row = mysql_fetch_assoc($result);
965 $topic_name_en = $row['name_en']; 1041 $topic_name_en = $row['name_en'];
966 $topic_name_ch = $row['name_ch']; 1042 $topic_name_ch = $row['name_ch'];
967 $topic_name_pinyin = $row['name_pinyin']; 1043 $topic_name_pinyin = $row['name_pinyin'];
1044 $data['tag_others'] = $tag_others; 1120 $data['tag_others'] = $tag_others;
1045 1121
1046 return $data; 1122 return $data;
1047 } 1123 }
1048 1124
1049 public function CreateNewTopic($_postdata) { 1125
1050
1051
1052 }
1053 1126
1054 public function UpdateTagsInTopic($_postdata) { 1127 public function UpdateTagsInTopic($_postdata) {
1055 $topic_id = $_postdata['topic_id']; 1128 $topic_id = $_postdata['topic_id'];
1056 $tag_ids = json_decode(str_replace('\\', '', $_postdata['ids'])); 1129 $tag_ids = json_decode(str_replace('\\', '', $_postdata['ids']));
1057 1130