Mercurial > hg > extraction-interface
comparison models/extractapp.php @ 81:f1f849d31272 extractapp
book_id as string
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Thu, 23 Apr 2015 14:58:27 +0200 |
parents | e6e213b26454 |
children | 23b6bd897777 |
comparison
equal
deleted
inserted
replaced
80:c15f53afd7a5 | 81:f1f849d31272 |
---|---|
1 <?php | 1 <?php |
2 /* | |
3 * extractapp.php | |
4 * This file is part of Extraction-interface. | |
5 * | |
6 * Extraction-interface is free software: you can redistribute it and/or modify | |
7 * it under the terms of the GNU General Public License as published by | |
8 * the Free Software Foundation, either version 3 of the License, or | |
9 * (at your option) any later version. | |
10 * | |
11 * Extraction-interface is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with Extraction-interface. If not, see <http://www.gnu.org/licenses/>. | |
18 */ | |
2 /** | 19 /** |
3 * ExtractappModel is extended from the BaseModel. | 20 * ExtractappModel class is extended from the BaseModel class. |
4 * This is where we implement the functions/models that related to extraction-interface. | 21 * This is where we implement the functions/models to prepare data that been sent to views. |
22 * ExtractappModel is notified by Extractapp controller when there has been a change in its state, | |
23 * and produces the output/data to the corresponding view in "views/Extractapp/". | |
24 * | |
5 */ | 25 */ |
6 | 26 |
7 class ExtractappModel extends BaseModel{ | 27 class ExtractappModel extends BaseModel{ |
8 | 28 |
9 protected $section_id = 0, $data_path, $file_id = 0, $current_fileId=0, | 29 protected $section_id = 0, $data_path, $file_id = 0, $current_fileId=0, |
10 $branch_id = 0, $user_id = 0, $lg_text = "", $topic, $taglist_infile = "", $book_meta = "",$book_dynasty=""; | 30 $branch_id = 0, $user_id = 0, $lg_text = "", $topic, $taglist_infile = "", $book_meta = "",$book_dynasty=""; |
11 public $messages = array('info'=>"",'error'=>"",'warning'=>"",'debug'=>""); | 31 public $messages = array('info'=>"",'error'=>"",'warning'=>"",'debug'=>""); |
12 | 32 |
13 | 33 |
14 public function GetTextFromFileId() { // remove $_postdata as input | 34 public function SetTextFromFileId() { // remove $_postdata as input |
35 /** | |
36 * Get text content from LGService by $this->file_id. | |
37 * After preprocessing the text string (replace space to circle symbol, link for page number, etc), | |
38 * set $this->lg_text to the processed text gotten from LGService. | |
39 */ | |
40 | |
15 /* | 41 /* |
16 $this->file_id = $_postdata['fileId']; | 42 $this->file_id = $_postdata['fileId']; |
17 $branch_id = $_postdata['branchId']; | 43 $branch_id = $_postdata['branchId']; |
18 $section_id = $_postdata['sectionId']; | 44 $section_id = $_postdata['sectionId']; |
19 | 45 |
57 $b['volume'],$b['author'], $b['edition'],$b['in_jibengujiku'], $b['admin_type'])); // missing author,year,pagenumber | 83 $b['volume'],$b['author'], $b['edition'],$b['in_jibengujiku'], $b['admin_type'])); // missing author,year,pagenumber |
58 $this->book_meta = $book_meta; | 84 $this->book_meta = $book_meta; |
59 | 85 |
60 } | 86 } |
61 | 87 |
62 public function GetTextFromSectionId() { // remove $_postdata as input | 88 public function SetTextFromSectionId() { // remove $_postdata as input |
89 /** | |
90 * Get text content from LGService by $this->section_id. | |
91 * After preprocessing the text string (replace space to circle symbol, link for page number, etc), | |
92 * set $this->lg_text to the processed text gotten from LGService. | |
93 */ | |
94 | |
63 /* | 95 /* |
64 $section_id = $_postdata['sectionId']; | 96 $section_id = $_postdata['sectionId']; |
65 $this->section_id = $section_id; | 97 $this->section_id = $section_id; |
66 $this->user_id = $_postdata['userId']; | 98 $this->user_id = $_postdata['userId']; |
67 | 99 |
85 | 117 |
86 $this->lg_text = $lg_text; | 118 $this->lg_text = $lg_text; |
87 } | 119 } |
88 | 120 |
89 // This is only used on localhost | 121 // This is only used on localhost |
90 public function GetTextFromLocal($_id){ | 122 public function SetTextFromLocal($_id){ |
91 $this->section_id = $_id; | 123 $this->section_id = $_id; |
92 //$this->branch_id = 1; // local test sets branch_id to 1 | 124 //$this->branch_id = 1; // local test sets branch_id to 1 |
93 $this->messages['debug'] .= "[Debug] from my local"."<br>"; | 125 $this->messages['debug'] .= "[Debug] from my local"."<br>"; |
94 $this->lg_text = $this->GetSectionContent(); | 126 $this->lg_text = $this->GetSectionContent(); |
95 } | 127 } |
96 | 128 |
97 | 129 |
98 public function GetInfoFromPreviousPage($_postdata) { | 130 public function SetInfoFromPreviousPage($_postdata) { |
131 /** | |
132 * Get information from post data passsed by the previous page, and set variables in $this. | |
133 * The previous page could be: | |
134 * | |
135 * (1) LGService: the first time user enters Extraction-interface, which should linked from LGService. | |
136 * | |
137 * (2) Extraction-interface itself: changing topic then continue to tag, saving text to LGService, reload the text from LGService. | |
138 * | |
139 */ | |
99 | 140 |
100 if (isset($_postdata['fileId'])) { | 141 if (isset($_postdata['fileId'])) { |
101 $this->file_id = $_postdata['fileId']; | 142 $this->file_id = $_postdata['fileId']; |
102 } | 143 } |
103 if (isset($_postdata['sectionId'])) { | 144 if (isset($_postdata['sectionId'])) { |
120 } | 161 } |
121 if (isset($_postdata['bookName'])) { | 162 if (isset($_postdata['bookName'])) { |
122 $this->book_name = $_postdata['bookName']; | 163 $this->book_name = $_postdata['bookName']; |
123 } | 164 } |
124 if (isset($_postdata['bookId'])) { | 165 if (isset($_postdata['bookId'])) { |
125 $this->book_id = $_postdata['bookId']; | 166 $book_id = $_postdata['bookId']; |
167 if ($book_id < 10000) { | |
168 $book_id = '0'.(string)$book_id; | |
169 } else if ($book_id < 1000) { | |
170 $book_id = '00'.(string)$book_id; | |
171 } | |
172 | |
173 $this->book_id = (string)$book_id; | |
174 | |
126 } | 175 } |
127 if (isset($_postdata['currentFileId'])) { | 176 if (isset($_postdata['currentFileId'])) { |
128 $this->current_fileId = $_postdata['currentFileId']; | 177 $this->current_fileId = $_postdata['currentFileId']; |
129 } | 178 } |
130 if (isset($_postdata['taglistArray'])) { | 179 if (isset($_postdata['taglistArray'])) { |
173 | 222 |
174 } | 223 } |
175 | 224 |
176 // === for tagging === | 225 // === for tagging === |
177 public function StartTagging() { | 226 public function StartTagging() { |
227 /** | |
228 * This is the main method for tagging text. It passes all the information to "views/Extractapp/TaggingText.php" view. | |
229 * The information contain the text string, taglist array, wordlis array, topic, etc. | |
230 */ | |
178 | 231 |
179 $section_id = $this->section_id; | 232 $section_id = $this->section_id; |
180 $stringInput = $this->lg_text; | 233 $stringInput = $this->lg_text; |
181 | 234 |
182 $data = array(); // data array to be passed to view | 235 $data = array(); // data array to be passed to view |
235 return $data; | 288 return $data; |
236 | 289 |
237 } | 290 } |
238 | 291 |
239 public function SaveFullText($postdata) { | 292 public function SaveFullText($postdata) { |
293 // locally | |
240 if ($postdata['text']){ | 294 if ($postdata['text']){ |
241 $date = date('Y_m_d_H_i_s', time()); | 295 $date = date('Y_m_d_H_i_s', time()); |
242 if ( file_exists("data/parsing_files/".$postdata['filename'].".txt") ) { | 296 if ( file_exists("data/parsing_files/".$postdata['filename'].".txt") ) { |
243 $oldFile = file_get_contents("data/parsing_files/".$postdata['filename'].".txt"); | 297 $oldFile = file_get_contents("data/parsing_files/".$postdata['filename'].".txt"); |
244 file_put_contents("data/parsing_files/".$postdata['filename']."_".$date.".txt", $oldFile); | 298 file_put_contents("data/parsing_files/".$postdata['filename']."_".$date.".txt", $oldFile); |
259 } | 313 } |
260 | 314 |
261 } | 315 } |
262 | 316 |
263 public function UpdateInfoResponsedFromLGService($response) { | 317 public function UpdateInfoResponsedFromLGService($response) { |
264 | 318 /** |
319 * | |
320 */ | |
321 | |
322 | |
265 if (isset($response["file"])) { | 323 if (isset($response["file"])) { |
266 $response_file = $response["file"]; | 324 $response_file = $response["file"]; |
267 } | 325 } |
268 if (isset($response["branch"])) { | 326 if (isset($response["branch"])) { |
269 $response_branch = $response["branch"]; | 327 $response_branch = $response["branch"]; |
349 | 407 |
350 return $text; | 408 return $text; |
351 } | 409 } |
352 | 410 |
353 public function SaveFullTextToLGService($_postdata) { | 411 public function SaveFullTextToLGService($_postdata) { |
354 // save tagged text (full text) by Jorge's API to lg service | 412 /** |
413 * It saves the full tagged text string in postdata to LGService. | |
414 * The responses returned by LGService will later be handled in | |
415 */ | |
416 | |
355 // -------- | 417 // -------- |
356 global $AT_LOCAL; | 418 global $AT_LOCAL; |
357 | 419 |
358 if ($_postdata['text']){ | 420 if ($_postdata['text']){ |
359 $date = date('Y_m_d_H_i_s', time()); | 421 $date = date('Y_m_d_H_i_s', time()); |
1225 return $new_contentString; | 1287 return $new_contentString; |
1226 } | 1288 } |
1227 | 1289 |
1228 | 1290 |
1229 private function GetSectionContent() { | 1291 private function GetSectionContent() { |
1230 /** This is only been called by GetTextFromLocal(). | 1292 /** This is only been called by SetTextFromLocal(). |
1231 */ | 1293 */ |
1232 | 1294 |
1233 $section_id = $this->GetSectionId(); | 1295 $section_id = $this->GetSectionId(); |
1234 $section_info = $this->GetSectionInfo(); | 1296 $section_info = $this->GetSectionInfo(); |
1235 | 1297 |