Mercurial > hg > extraction-interface
comparison develop/models/extractapp.php @ 21:c805470cefee
Remove bootstrap.TaggingText UI layout modification
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 24 Feb 2015 16:09:59 +0100 |
parents | 04db1dd9d10d |
children | a8ae5cbc3364 |
comparison
equal
deleted
inserted
replaced
20:04db1dd9d10d | 21:c805470cefee |
---|---|
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 = "", $topic = 0; |
12 public $messages = ""; | 12 public $messages = ""; |
13 | 13 |
14 private function Initialize($_urlvalues) { | 14 private function Initialize($_urlvalues) { |
15 $this->SetSectionId($_urlvalues); | 15 $this->SetSectionId($_urlvalues); |
16 | 16 |
82 $this->branch_id = $_postdata['branchId']; | 82 $this->branch_id = $_postdata['branchId']; |
83 } | 83 } |
84 if ($_postdata['userId']) { | 84 if ($_postdata['userId']) { |
85 $this->user_id = $_postdata['userId']; | 85 $this->user_id = $_postdata['userId']; |
86 } | 86 } |
87 | 87 if ($_postdata['topic_id']) { |
88 $this->topic = $_postdata['topic_id']; | |
89 } | |
90 | |
91 $this->messages .= "Info: "; | |
92 $this->messages .= "file_id=".$this->file_id.", section_id=".$this->section_id; | |
93 $this->messages .= ", user_id=".$this->user_id.", branch_id=".$this->branch_id.", topic_id=".$this->topic."<br>"; | |
88 | 94 |
89 } | 95 } |
90 public function InitData($_postdata) { | 96 public function InitData($_postdata) { |
91 $file_id = $_postdata['fileId']; | 97 $file_id = $_postdata['fileId']; |
92 $branch_id = $_postdata['branchId']; | 98 $branch_id = $_postdata['branchId']; |
363 public function ExportTable($postdata) { | 369 public function ExportTable($postdata) { |
364 // $this->Initialize($urlvalues); | 370 // $this->Initialize($urlvalues); |
365 | 371 |
366 $content = $postdata['content']; | 372 $content = $postdata['content']; |
367 $topic = $postdata['topic']; | 373 $topic = $postdata['topic']; |
368 $section_id = $this->section_id; | 374 $section_id = $postdata['sectionId']; |
375 | |
376 //$section_id = $this->section_id; | |
369 | 377 |
370 | 378 |
371 // TODO: this should be get from LGServic: sectionName, bookId, bookName | 379 // TODO: this should be get from LGServic: sectionName, bookId, bookName |
372 $section_info = $this->GetSectionInfo(); | 380 $section_info = $this->GetSectionInfo(); |
373 | 381 |
485 } | 493 } |
486 | 494 |
487 // === for manage tag list === | 495 // === for manage tag list === |
488 public function EditTaglist($_postdata) { | 496 public function EditTaglist($_postdata) { |
489 | 497 |
498 $query = "SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'taglist'"; | |
499 $largest_id = mysql_query($query); | |
500 | |
490 $topic_id = $_postdata['topic_id']; | 501 $topic_id = $_postdata['topic_id']; |
491 $result = $this->GetTaglistByTopicID($topic_id); | 502 $result = $this->GetTaglistByTopicID($topic_id); |
492 | 503 |
493 $taglistArray = array(); | 504 $taglistArray = array(); |
494 foreach ($result as $row) { | 505 foreach ($result as $row) { |
506 */ | 517 */ |
507 | 518 |
508 $data = array(); | 519 $data = array(); |
509 $data['taglistArray'] = $taglistArray; | 520 $data['taglistArray'] = $taglistArray; |
510 $data['topic_id'] = $topic_id; | 521 $data['topic_id'] = $topic_id; |
522 $data['largest_id'] = $largest_id; | |
523 | |
524 | |
511 return $data; | 525 return $data; |
512 | 526 |
513 } | 527 } |
514 | 528 |
515 private function _GetTag($_postdata) { | 529 private function _GetTag($_postdata) { |
597 $data = array(); | 611 $data = array(); |
598 $data['taglistArray'] = $taglistArray; | 612 $data['taglistArray'] = $taglistArray; |
599 $data['topic'] = $topic; | 613 $data['topic'] = $topic; |
600 $data['topic_name'] = $topic_name; | 614 $data['topic_name'] = $topic_name; |
601 | 615 |
616 | |
617 | |
618 | |
619 // ------ | |
620 $query = "SELECT taglist.*, topic_tag_relation.topic_id FROM taglist LEFT JOIN topic_tag_relation ON taglist.id = topic_tag_relation.tag_id ORDER BY `topic_id`"; | |
621 $result = mysql_query($query); | |
622 if (!$result) { | |
623 return json_encode("Failed during selecting/joining taglist and topic_tag_relation table."); | |
624 } | |
625 | |
626 $tag_intopic = array(); | |
627 $tag_others = array(); | |
628 $tag_tmp_others = array(); | |
629 while ($row = mysql_fetch_assoc($result)) { | |
630 if ($row['topic_id'] == $topic) { | |
631 array_push($tag_intopic, array('id=>'=>$row['id'],'name'=>$row['name'], 'tag'=>$row['tag'], 'color'=>$row['color'], 'topic_id'=>$row['topic_id'])); | |
632 } else { | |
633 array_push($tag_tmp_others, array('id=>'=>$row['id'],'name'=>$row['name'], 'tag'=>$row['tag'], 'color'=>$row['color'], 'topic_id'=>$row['topic_id'])); | |
634 } | |
635 } | |
636 | |
637 | |
638 foreach ($tag_tmp_others as $tmp) { | |
639 $cnt = 0; | |
640 foreach ($tag_intopic as $intopic) { | |
641 if ($tmp['tag'] == $intopic['tag']) { | |
642 break; | |
643 } else { | |
644 $cnt ++; | |
645 } | |
646 } | |
647 if ($cnt == count($tag_intopic)) { | |
648 array_push($tag_others, $tmp); | |
649 } | |
650 } | |
651 | |
652 | |
653 $data['tag_intopic'] = $tag_intopic; | |
654 $data['tag_others'] = $tag_others; | |
655 | |
602 return $data; | 656 return $data; |
603 } | 657 } |
658 | |
659 | |
604 public function UpdateTagsInTopic($_postdata) { | 660 public function UpdateTagsInTopic($_postdata) { |
605 $topic_id = $_postdata['topic_id']; | 661 $topic_id = $_postdata['topic_id']; |
606 $tag_ids = json_decode(str_replace('\\', '', $_postdata['ids'])); | 662 $tag_ids = json_decode(str_replace('\\', '', $_postdata['ids'])); |
607 | 663 |
608 // update topic_tag_relation by tags_ids array as `tag_id` and topic_id as `topic_id` | 664 // update topic_tag_relation by tags_ids array as `tag_id` and topic_id as `topic_id` |
609 $query = "SELECT * FROM topic_tag_relation"; | 665 // --- add new topic_tag_relation --- |
666 foreach ($tag_ids as $tag_id) { | |
667 $query = "SELECT * FROM topic_tag_relation WHERE tag_id=".$tag_id; | |
668 $result = mysql_query($query); | |
669 if (!$result) { | |
670 echo json_encode("error when select from topic_tag_relation"); | |
671 } | |
672 $topic_tag = array(); | |
673 $flag = false; | |
674 while ($row = mysql_fetch_assoc($result)) { | |
675 if ($row['topic_id'] == $topic_id) { | |
676 $flag = true; | |
677 break; | |
678 } | |
679 } | |
680 if (!$flag) { | |
681 // insert a row into topic_tag_relation table | |
682 $queryUpdate = "INSERT INTO topic_tag_relation (topic_id, tag_id) VALUES (".$topic_id.",".$tag_id.")"; | |
683 $resultUpdate = mysql_query($queryUpdate); | |
684 if (!$resultUpdate) { | |
685 return json_encode("error when insert topic_tag_relation table"); | |
686 } | |
687 } | |
688 | |
689 } | |
690 | |
691 // --- remove tags from this topic --- | |
692 $query = "SELECT * FROM topic_tag_relation WHERE topic_id=".$topic_id; | |
610 $result = mysql_query($query); | 693 $result = mysql_query($query); |
611 if (!$result) { | 694 if (!$result) { |
612 echo json_encode("error when select from topic_tag_relation"); | 695 echo json_encode("error when select from topic_tag_relation"); |
613 } | 696 } |
697 | |
698 while ($row = mysql_fetch_assoc($result)) { | |
699 $cnt = 0; | |
700 foreach ($tag_ids as $tag_id) { | |
701 if ($row['tag_id'] == $tag_id) { | |
702 break; | |
703 } else { | |
704 $cnt ++; | |
705 } | |
706 } | |
707 $_id = $row['id']; | |
708 if ($cnt == count($tag_ids)) { | |
709 // delete row with (topic_id, tag_ids) | |
710 $queryDelete = "DELETE FROM topic_tag_relation WHERE id=".$_id; | |
711 $resultDelete = mysql_query($queryDelete); | |
712 if (!$resultDelete) { | |
713 echo json_encode("error when delete from topic_tag_relation"); | |
714 } | |
715 } | |
716 } | |
717 | |
718 | |
719 | |
720 /* | |
721 ยง $query = "SELECT * FROM topic_tag_relation"; | |
722 $result = mysql_query($query); | |
723 if (!$result) { | |
724 echo json_encode("error when select from topic_tag_relation"); | |
725 } | |
614 $topic_tag = array(); | 726 $topic_tag = array(); |
615 while ($row = mysql_fetch_assoc($result)) { | 727 while ($row = mysql_fetch_assoc($result)) { |
616 array_push($topic_tag, array('tag_id'=>$row['tag_id'], 'topic_id'=>$row['topic_id'])); | 728 array_push($topic_tag, array('tag_id'=>$row['tag_id'], 'topic_id'=>$row['topic_id'])); |
617 } | 729 } |
730 | |
618 | 731 |
619 foreach ($topic_tag as $value) { | 732 foreach ($topic_tag as $value) { |
620 $flag = false; | 733 $flag = false; |
621 foreach ($tag_ids as $tag_id) { | 734 foreach ($tag_ids as $tag_id) { |
622 if ($value['tag_id'] == $tag_id) { | 735 if ($value['tag_id'] == $tag_id) { |
637 if (!$resultUpdate) { | 750 if (!$resultUpdate) { |
638 return json_encode("error when update topic_tag_relation table"); | 751 return json_encode("error when update topic_tag_relation table"); |
639 } | 752 } |
640 } | 753 } |
641 } | 754 } |
755 */ | |
642 | 756 |
643 } | 757 } |
644 | 758 |
645 | 759 |
646 private function GetTaglistByTopicID($topic_id) { | 760 private function GetTaglistByTopicID($topic_id) { |