Mercurial > hg > extraction-interface
comparison develop/models/extractapp.php @ 14:ac77748bb813
- Load regex files based on current topic. Only show the regex in this topic.
To do that, it needs to lookup a table called 'topic_regex_relation' which has the relation of topic and regex filename in filesystem.
- Extractapp UI with some layout modification: button, popup window, responsive (by bootstrap now). It was just for quick prototyping.
| author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
|---|---|
| date | Thu, 19 Feb 2015 11:07:27 +0100 |
| parents | cc36a20a68ab |
| children | 1f98c92ebbfb |
comparison
equal
deleted
inserted
replaced
| 13:cc36a20a68ab | 14:ac77748bb813 |
|---|---|
| 6 | 6 |
| 7 public function Index() { | 7 public function Index() { |
| 8 return array("Index Value 1", "Value 2", "Value 3"); | 8 return array("Index Value 1", "Value 2", "Value 3"); |
| 9 } | 9 } |
| 10 | 10 |
| 11 protected $section_id=0, $data_path, $file_id=0, $branch_id=0, $user_id=0, $lg_text=""; | 11 protected $section_id = 0, $data_path, $file_id = 0, $branch_id = 0, $user_id = 0, $lg_text = ""; |
| 12 public $messages = ""; | |
| 12 | 13 |
| 13 private function Initialize($_urlvalues) { | 14 private function Initialize($_urlvalues) { |
| 14 $this->SetSectionId($_urlvalues); | 15 $this->SetSectionId($_urlvalues); |
| 15 | 16 |
| 16 } | 17 } |
| 59 $this->lg_text = $lg_text; | 60 $this->lg_text = $lg_text; |
| 60 } | 61 } |
| 61 | 62 |
| 62 public function GetTextFromLocal($_id){ | 63 public function GetTextFromLocal($_id){ |
| 63 $this->section_id = $_id; | 64 $this->section_id = $_id; |
| 64 echo "DEBUG: from my local"."<br>"; | 65 $this->messages .= "DEBUG: from my local"."<br>"; |
| 65 $this->lg_text = $this->GetSectionContent(); | 66 $this->lg_text = $this->GetSectionContent(); |
| 66 | 67 |
| 67 } | 68 } |
| 68 | 69 |
| 69 public function GetInfoFromPreviousPage($_postdata) { | 70 public function GetInfoFromPreviousPage($_postdata) { |
| 155 $data['topiclistArray'] = $topiclistArray; | 156 $data['topiclistArray'] = $topiclistArray; |
| 156 $data['default_topic_id'] = $this->GetTopic(); | 157 $data['default_topic_id'] = $this->GetTopic(); |
| 157 $data['topic_tag'] = $this->GetTopicTag($this->GetTopic()); | 158 $data['topic_tag'] = $this->GetTopicTag($this->GetTopic()); |
| 158 | 159 |
| 159 $data['info'] = array('file_id'=>$this->file_id, 'user_id'=>$this->user_id, 'branch_id'=>$this->branch_id, 'section_id'=>$this->section_id); | 160 $data['info'] = array('file_id'=>$this->file_id, 'user_id'=>$this->user_id, 'branch_id'=>$this->branch_id, 'section_id'=>$this->section_id); |
| 160 | 161 $data['messages'] = $this->messages; |
| 162 | |
| 161 return $data; | 163 return $data; |
| 162 | 164 |
| 163 } | 165 } |
| 164 | 166 |
| 165 public function SaveFullText($postdata) { | 167 public function SaveFullText($postdata) { |
| 189 public function UpdateInfoByResponseFromLGService($response) { | 191 public function UpdateInfoByResponseFromLGService($response) { |
| 190 | 192 |
| 191 $response_file = $response["file"]; | 193 $response_file = $response["file"]; |
| 192 $response_branch = $response["branch"]; | 194 $response_branch = $response["branch"]; |
| 193 | 195 |
| 194 $this->file_id = (string)$response_file["id"]; // should updated | 196 $this->file_id = (string)$response_file["id"]; |
| 195 echo "file_id: ".$this->file_id; | |
| 196 echo "<br>"; | |
| 197 $this->branch_id = (string)$response_branch["id"]; | 197 $this->branch_id = (string)$response_branch["id"]; |
| 198 echo "branch_id: ".$this->branch_id; | 198 |
| 199 echo "<br>"; | 199 $this->messages .= "file_id: ".$this->file_id."<br>"; |
| 200 $this->messages .= "branch_id: ".$this->branch_id."<br>"; | |
| 200 | 201 |
| 201 } | 202 } |
| 202 public function SaveFullTextToLGService($_postdata) { | 203 public function SaveFullTextToLGService($_postdata) { |
| 203 // save tagged text (full text) by Jorge's API to lg service | 204 // save tagged text (full text) by Jorge's API to lg service |
| 204 | 205 |
| 223 $require = preg_replace("/<br>/u", "\n", $require); | 224 $require = preg_replace("/<br>/u", "\n", $require); |
| 224 $require = preg_replace("/<br>/u", "\n", $require); | 225 $require = preg_replace("/<br>/u", "\n", $require); |
| 225 file_put_contents("data/parsing_files/".$_postdata['sectionId'].".txt", $require); | 226 file_put_contents("data/parsing_files/".$_postdata['sectionId'].".txt", $require); |
| 226 } | 227 } |
| 227 | 228 |
| 228 echo getcwd()."<br>"; | |
| 229 // ------ | 229 // ------ |
| 230 | 230 |
| 231 | 231 |
| 232 if ($_postdata['branchId'] != 0) { | 232 if ($_postdata['branchId'] != 0) { |
| 233 // exiting branch case | 233 // exiting branch case |
| 248 "text" => $require, | 248 "text" => $require, |
| 249 "sectionId" => $_postdata['sectionId'], | 249 "sectionId" => $_postdata['sectionId'], |
| 250 //"userId" => $_postdata['userId'], | 250 //"userId" => $_postdata['userId'], |
| 251 // TODO: change userId when we can query by sectionId from LGService using search | 251 // TODO: change userId when we can query by sectionId from LGService using search |
| 252 "userId" => "12", | 252 "userId" => "12", |
| 253 // "label" => $_postdata['label'], | 253 "label" => $_postdata['label'], |
| 254 // TODO: ask user for lable | 254 // TODO: ask user for lable |
| 255 "label" => "label for section ".$_postdata['sectionId'], | 255 //"label" => "label for section ".$_postdata['sectionId'], |
| 256 ); | 256 ); |
| 257 $save_url = $this->save_new_to_LGService_url; | 257 $save_url = $this->save_new_to_LGService_url; |
| 258 } | 258 } |
| 259 | 259 |
| 260 | 260 |
| 284 | 284 |
| 285 $response = json_decode($output, true); | 285 $response = json_decode($output, true); |
| 286 return $response; | 286 return $response; |
| 287 | 287 |
| 288 } | 288 } |
| 289 | 289 |
| 290 // --- for regex ---- | |
| 291 public function GetRegexFilenameById($topic_id) { | |
| 292 $query = sprintf("SELECT regex_filename FROM `topic_regex_relation` WHERE topic_id=\"%s\"", $topic_id); | |
| 293 $result = mysql_query($query); | |
| 294 if (!$result) { | |
| 295 return json_encode("Failed during selecting topic_regex_relation table."); | |
| 296 } | |
| 297 | |
| 298 $filenames = array(); | |
| 299 while ($row = mysql_fetch_assoc($result)) { | |
| 300 array_push($filenames, $row['regex_filename']); | |
| 301 } | |
| 302 | |
| 303 return $filenames; | |
| 304 } | |
| 305 public function SmartRegexLoad($topic_id) { | |
| 306 | |
| 307 // Load regex file based on current topic. Only shows the regex in this topic -- | |
| 308 $filenames = $this->GetRegexFilenameById($topic_id); | |
| 309 | |
| 310 // Get regex file from filesystem ---- | |
| 311 $data_path = "./data/"; // get the current file path, which is getcwd(), and concatenate with "/data/" | |
| 312 $returnArray = array(); | |
| 313 $files1 = scandir($data_path."regex_files"); | |
| 314 foreach ( $files1 as $file ) { | |
| 315 if ( $file != "." && $file != ".." && $file != ".DS_Store") { | |
| 316 foreach ($filenames as $filename) { | |
| 317 if ($file == $filename) { | |
| 318 $returnArray[preg_replace("/\.txt/", "", $file)] = file_get_contents( $data_path."regex_files/".$file ); | |
| 319 break; | |
| 320 } | |
| 321 } | |
| 322 } | |
| 323 } | |
| 324 echo json_encode($returnArray); | |
| 325 return; | |
| 326 } | |
| 327 | |
| 328 | |
| 329 public function SmartRegexSave($_postdata) { | |
| 330 if ($_postdata['text']){ | |
| 331 /* | |
| 332 $date = date('Y_m_d_H_i_s', time()); | |
| 333 if ( file_exists("regex_files/".$_POST['filename'].".txt") ) { | |
| 334 $oldFile = file_get_contents("regex_files/".$_POST['filename'].".txt"); | |
| 335 file_put_contents("regex_files/".$_POST['filename']."_".$date.".txt", $oldFile); | |
| 336 } | |
| 337 */ | |
| 338 $data_path = "./data/"; // get the current file path, which is getcwd(), and concatenate with "/data/" | |
| 339 | |
| 340 if (get_magic_quotes_gpc()) { | |
| 341 $require = stripslashes($_postdata['text']); | |
| 342 } else { | |
| 343 $require = $_postdata['text']; | |
| 344 } | |
| 345 | |
| 346 file_put_contents( $data_path."regex_files/".$_postdata['filename'].".txt", $require); | |
| 347 } | |
| 348 } | |
| 349 | |
| 350 | |
| 290 // === for export table === | 351 // === for export table === |
| 291 public function ExportTable($postdata) { | 352 public function ExportTable($postdata) { |
| 292 // $this->Initialize($urlvalues); | 353 // $this->Initialize($urlvalues); |
| 293 | 354 |
| 294 $content = $postdata['content']; | 355 $content = $postdata['content']; |
| 411 return $data; | 472 return $data; |
| 412 | 473 |
| 413 } | 474 } |
| 414 | 475 |
| 415 // === for manage tag list === | 476 // === for manage tag list === |
| 416 public function EditTaglist($urlvalues) { | 477 public function EditTaglist() { |
| 417 // $this->Initialize($urlvalues); | 478 // $this->Initialize($urlvalues); |
| 418 $result = $this->GetTaglist(); | 479 $result = $this->GetTaglist(); |
| 419 $taglistArray = array(); | 480 $taglistArray = array(); |
| 420 while ($row = mysql_fetch_assoc($result)) { | 481 while ($row = mysql_fetch_assoc($result)) { |
| 421 $taglistArray[$row['id']] = array($row['name'], $row['tag'], $row['color']); | 482 $taglistArray[$row['id']] = array($row['name'], $row['tag'], $row['color']); |
| 563 } | 624 } |
| 564 | 625 |
| 565 // =========================== | 626 // =========================== |
| 566 | 627 |
| 567 // === for manage wordlist === | 628 // === for manage wordlist === |
| 568 public function EditWordlist($urlvalues) { | 629 public function EditWordlist() { |
| 569 $result = $this->GetWordlist(); | 630 $result = $this->GetWordlist(); |
| 570 $wordlistArray = array(); | 631 $wordlistArray = array(); |
| 571 while ($row = mysql_fetch_assoc($result)) { | 632 while ($row = mysql_fetch_assoc($result)) { |
| 572 $wordlistArray[$row['id']] = $row['name']; | 633 $wordlistArray[$row['id']] = $row['name']; |
| 573 } | 634 } |
| 700 | 761 |
| 701 private function GetSectionContent() { | 762 private function GetSectionContent() { |
| 702 $section_id = $this->GetSectionId(); | 763 $section_id = $this->GetSectionId(); |
| 703 $section_info = $this->GetSectionInfo(); | 764 $section_info = $this->GetSectionInfo(); |
| 704 | 765 |
| 705 var_dump($section_id); | |
| 706 var_dump($section_info); | |
| 707 | |
| 708 $bookId = $section_info['bookId']; | 766 $bookId = $section_info['bookId']; |
| 709 $startPage = $section_info['startPage']; | 767 $startPage = $section_info['startPage']; |
| 710 $endPage = $section_info['endPage']; | 768 $endPage = $section_info['endPage']; |
| 711 | 769 |
| 712 $contentString=""; | 770 $contentString=""; |
