Mercurial > hg > extraction-interface
comparison develop/models/extractapp.php @ 11:3d6fba07bfbd
implemented for topic tag. tagging with topic tag (main tag) indicating each row when export to html.
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 11 Feb 2015 12:33:59 +0100 |
parents | 54a235d43694 |
children | e82ca7375e93 |
comparison
equal
deleted
inserted
replaced
10:54a235d43694 | 11:3d6fba07bfbd |
---|---|
11 protected $section_id, $data_path; | 11 protected $section_id, $data_path; |
12 | 12 |
13 | 13 |
14 private function Initialize($_urlvalues) { | 14 private function Initialize($_urlvalues) { |
15 $this->SetSectionId($_urlvalues); | 15 $this->SetSectionId($_urlvalues); |
16 | |
16 } | 17 } |
17 | 18 |
18 // === for tagging === | 19 // === for tagging === |
19 public function StartTagging($urlvalues) { | 20 public function StartTagging($urlvalues) { |
20 | 21 |
40 $data['taglistArray'] = $taglistArray; | 41 $data['taglistArray'] = $taglistArray; |
41 $data['wordlistArray'] = $wordlistArray; | 42 $data['wordlistArray'] = $wordlistArray; |
42 $data['section_id'] = $section_id; | 43 $data['section_id'] = $section_id; |
43 $data['topiclistArray'] = $topiclistArray; | 44 $data['topiclistArray'] = $topiclistArray; |
44 $data['default_topic_id'] = $this->GetTopic(); | 45 $data['default_topic_id'] = $this->GetTopic(); |
46 $data['topic_tag'] = $this->GetTopicTag($this->GetTopic()); | |
45 | 47 |
46 return $data; | 48 return $data; |
47 | 49 |
48 } | 50 } |
49 | 51 |
74 | 76 |
75 // === for export table === | 77 // === for export table === |
76 public function ExportTable($urlvalues, $postdata) { | 78 public function ExportTable($urlvalues, $postdata) { |
77 $this->Initialize($urlvalues); | 79 $this->Initialize($urlvalues); |
78 $content = $postdata['content']; | 80 $content = $postdata['content']; |
79 | 81 $topic = $postdata['topic']; |
80 | 82 |
81 // outputTableArray: | 83 // outputTableArray: |
82 $section_id = $this->GetSectionId(); | 84 $section_id = $this->GetSectionId(); |
83 | 85 |
84 $section_info = $this->GetSectionInfo(); | 86 $section_info = $this->GetSectionInfo(); |
85 | 87 |
89 $books_info = $this->GetBooksInfo($bookId); | 91 $books_info = $this->GetBooksInfo($bookId); |
90 $bookName = $books_info['bookName']; | 92 $bookName = $books_info['bookName']; |
91 | 93 |
92 $outputTableArray = array(); | 94 $outputTableArray = array(); |
93 | 95 |
94 $taglistArray = $this->GetTaglistArray(); | 96 //$taglistArray = $this->GetTaglistArray(); |
95 | 97 |
98 $taglistArray = $this->GetTaglistByTopicID($topic); | |
99 | |
96 $outputTableArray[0]=array(); | 100 $outputTableArray[0]=array(); |
97 $outputTableArray[0][0]=array(); | 101 $outputTableArray[0][0]=array(); |
98 $outputTableArray[0][1]=array(); | 102 $outputTableArray[0][1]=array(); |
99 foreach ( $taglistArray as $value ) { | 103 foreach ( $taglistArray as $value ) { |
100 $outputTableArray[0][0][$value[2]] = $value[1]; | 104 $outputTableArray[0][0][$value[2]] = $value[1]; |
149 $outputTableArray[$count]["page"] = $pageNow; | 153 $outputTableArray[$count]["page"] = $pageNow; |
150 $value = preg_replace("/>/u", ">", $value); | 154 $value = preg_replace("/>/u", ">", $value); |
151 $value = preg_replace("/</u", "<", $value); | 155 $value = preg_replace("/</u", "<", $value); |
152 $outputTableArray[$count]["full"] = $value; | 156 $outputTableArray[$count]["full"] = $value; |
153 } | 157 } |
158 /* | |
159 echo "<br>"."DEBUG: outputTableArray:"."<br>"; | |
160 var_dump($outputTableArray); | |
161 */ | |
154 | 162 |
155 foreach ( $outputTableArray as $arrayIndex => $arrayValue ) { | 163 foreach ( $outputTableArray as $arrayIndex => $arrayValue ) { |
156 if ( !isset($arrayValue[0]["person"]) ) { | 164 // output each row which the topic tag |
157 unset($outputTableArray[$arrayIndex]); | 165 // e.g. the original version is for 'person' |
158 } | 166 |
167 // TODO: choose topic tag based on the topic | |
168 // for person topic | |
169 if ($topic == 1) { | |
170 if ( !isset($arrayValue[0]["person"]) ) { | |
171 unset($outputTableArray[$arrayIndex]); | |
172 } | |
173 } else if ($topic == 2) { | |
174 | |
175 // for object topic | |
176 if ( !isset($arrayValue[0]["object"]) ) { // only the record with the tag of 'object' will become a row | |
177 unset($outputTableArray[$arrayIndex]); | |
178 } | |
179 } | |
180 | |
159 } | 181 } |
160 | 182 |
161 | 183 |
162 $data = array(); | 184 $data = array(); |
163 | 185 |
238 } | 260 } |
239 | 261 |
240 } | 262 } |
241 | 263 |
242 // === for config topic === | 264 // === for config topic === |
243 | 265 public function ConfigTagsInTopic($urlvalues, $postdata) { |
266 | |
267 } | |
244 | 268 |
245 private function GetTaglistByTopicID($topic_id) { | 269 private function GetTaglistByTopicID($topic_id) { |
246 $taglistArray = array(); | 270 $taglistArray = array(); |
247 // select taglist ids from topic_tag_relation table | 271 // select taglist ids from topic_tag_relation table |
248 $query = sprintf("SELECT * FROM `topic_tag_relation` WHERE `topic_id`='%s'", $topic_id); | 272 $query = sprintf("SELECT * FROM `topic_tag_relation` WHERE `topic_id`='%s'", $topic_id); |
282 | 306 |
283 private function GetTopiclistArray() { | 307 private function GetTopiclistArray() { |
284 $topiclistArray = array(); | 308 $topiclistArray = array(); |
285 $result = $this->GetTopiclist(); | 309 $result = $this->GetTopiclist(); |
286 while ($row = mysql_fetch_assoc($result)) { | 310 while ($row = mysql_fetch_assoc($result)) { |
287 array_push($topiclistArray, array('id'=>$row['id'],'name'=>$row['name'])); | 311 array_push($topiclistArray, array('id'=>$row['id'],'name'=>$row['name'],'tag'=>$row['tag'])); |
288 } | 312 } |
289 return $topiclistArray; | 313 return $topiclistArray; |
314 } | |
315 | |
316 | |
317 private function GetTopicTag($topic_id) { | |
318 $result = $this->GetTopicByID($topic_id); | |
319 $row = mysql_fetch_assoc($result); | |
320 $tag = $row['tag']; | |
321 return $tag; | |
322 | |
290 } | 323 } |
291 | 324 |
292 // =========================== | 325 // =========================== |
293 | 326 |
294 // === for manage wordlist === | 327 // === for manage wordlist === |
467 while ($row = mysql_fetch_assoc($result)) { | 500 while ($row = mysql_fetch_assoc($result)) { |
468 array_push($taglistArray, array( $row['id'], $row['name'], $row['tag'], $row['color'] )); | 501 array_push($taglistArray, array( $row['id'], $row['name'], $row['tag'], $row['color'] )); |
469 } | 502 } |
470 | 503 |
471 return $taglistArray; | 504 return $taglistArray; |
472 | |
473 } | 505 } |
474 | 506 |
475 private function GetWordlistArray() { | 507 private function GetWordlistArray() { |
476 $wordlistArray=""; | 508 $wordlistArray=""; |
477 $result = $this->GetWordlist(); | 509 $result = $this->GetWordlist(); |