comparison controllers/extractapp.php @ 77:97c1e5102a22 extractapp

New: export table for a file from LGService
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Thu, 16 Apr 2015 14:53:22 +0200
parents 60b5a94163c3
children 960ba96efce1
comparison
equal deleted inserted replaced
76:c49192885290 77:97c1e5102a22
1 <?php 1 <?php
2 /**
3 * Extractapp is extended from the BaseController.
4 * This is where we handle the processes for every action.
5 *
6 * For example, there are five actions in Extractapp, tagging text, exporting a table,
7 * editing the wordlist, and configurating tags in one topic.
8 **/
2 9
3 class Extractapp extends BaseController { 10 class Extractapp extends BaseController {
4 protected function Index() { 11 protected function Index() {
5 $viewmodel = new ExtractappModel(); 12 $viewmodel = new ExtractappModel();
6 $this->ReturnView($viewmodel->Index(), true); 13 $this->ReturnView($viewmodel->Index(), true);
12 parent::__construct($action, $urlvalues, $postdata); 19 parent::__construct($action, $urlvalues, $postdata);
13 $this->viewmodel = new ExtractappModel(); 20 $this->viewmodel = new ExtractappModel();
14 } 21 }
15 22
16 protected function TaggingText() { 23 protected function TaggingText() {
24 /**
25 * TaggingText action in Extractapp handles the taging related actions, for example,
26 * tagging itself, saving tag results, loading and saving regular expression for tagging.
27 * They are handled by 'func' variable in postdata, which could come from LGService or from extraction-interface application itself.
28 *
29 * From LGService, the postdata contains essential information about the file/section of local gazetteers data.
30 * This happens when user entering to extraction-interface the first time, or after s/he saved her/is tagging results to LGService.
31 * (default one, SaveFullTextToLGService, SmartRegexLoad, SmartRegexSave case)
32 *
33 * From extraction-interface itself, it contains the information from previous page.
34 * This happens when user choosing another topic in the extraction-interface,
35 * the page need to retrieve related information from database for the topic.
36 * (ContinueTagging case)
37 */
38
17 $viewmodel = $this->viewmodel; 39 $viewmodel = $this->viewmodel;
18 40
19 if (isset($this->postdata['func'])) { 41 if (isset($this->postdata['func'])) {
20 $func = $this->postdata['func']; 42 $func = $this->postdata['func'];
21 } 43 }
55 $viewmodel->GetInfoFromPreviousPage($this->postdata); 77 $viewmodel->GetInfoFromPreviousPage($this->postdata);
56 $this->ReturnView($viewmodel->StartTagging(), true); 78 $this->ReturnView($viewmodel->StartTagging(), true);
57 break; 79 break;
58 80
59 81
60 default: // first time visit extraction interface from LGService 82 default:
83 // This is where the first time user visit extraction interface from LGService
61 $viewmodel->messages['info'] .= "Welcome to Extraction Interface. "; 84 $viewmodel->messages['info'] .= "Welcome to Extraction Interface. ";
62 85
63 if (isset($this->postdata['fileId'])) { 86 if (isset($this->postdata['fileId'])) {
64 if ($this->postdata['fileId'] != 0) { // ($this->postdata['branchId'] != 0) { 87 if ($this->postdata['fileId'] != 0) { // ($this->postdata['branchId'] != 0) {
65 // --- Existing branch case --- 88 // --- Existing branch case ---
98 121
99 122
100 123
101 } 124 }
102 125
126
103 protected function ExportTable() { 127 protected function ExportTable() {
104 $viewmodel = $this->viewmodel; 128 /**
105 $this->ReturnView($viewmodel->ExportTable($this->postdata), true); 129 * ExportTable action returns "./views/Extractapp/ExportTable.php" view.
130 */
131 $viewmodel = $this->viewmodel;
132
133 if (isset($this->postdata['func'])) {
134 $func = $this->postdata['func'];
135 }
136 switch ($func) {
137 case 'exportFromExtractionInterface':
138 $this->ReturnView($viewmodel->ExportTable($this->postdata, false), true);
139 break;
140
141 default: // from file
142 $viewmodel->GetInfoFromPreviousPage($this->postdata);
143 $viewmodel->GetTextFromFileId();
144 $this->ReturnView($viewmodel->ExportTable($this->postdata, true), true);
145 break;
146
147 }
106 148
107 } 149 }
108 150
109 protected function EditWordlist() { 151 protected function EditWordlist() {
152 /**
153 * EditWordlist action returns "./views/Extractapp/EditWordlist.php" view,
154 * It adds or saves wordlist based on the 'func' variable in postdata.
155 */
156
110 $viewmodel = $this->viewmodel; 157 $viewmodel = $this->viewmodel;
111 if (isset($this->postdata['func'])) { 158 if (isset($this->postdata['func'])) {
112 $func = $this->postdata['func']; 159 $func = $this->postdata['func'];
113 } 160 }
114 switch ($func) { 161 switch ($func) {
124 } 171 }
125 } 172 }
126 173
127 174
128 protected function EditTaglist() { 175 protected function EditTaglist() {
176 /**
177 * EditTaglist action returns "./views/Extractapp/EditTaglist.php" view.
178 * It adds, saves or delete tag in the current topic.
179 */
180
129 $viewmodel = $this->viewmodel; 181 $viewmodel = $this->viewmodel;
130 if (isset($this->postdata['func'])) { 182 if (isset($this->postdata['func'])) {
131 $func = $this->postdata['func']; 183 $func = $this->postdata['func'];
132 } 184 }
133 switch ($func) { 185 switch ($func) {
146 } 198 }
147 } 199 }
148 200
149 201
150 protected function ConfigTagsInTopic() { 202 protected function ConfigTagsInTopic() {
203 /**
204 * ConfigTagsInTopic action returns "./views/Extractapp/ConfigTagsInTopic.php" view.
205 * It shows or updates the tags-in-topic relation.
206 */
207
151 $viewmodel = $this->viewmodel; 208 $viewmodel = $this->viewmodel;
152 if (isset($this->postdata['func'])) { 209 if (isset($this->postdata['func'])) {
153 $func = $this->postdata['func']; 210 $func = $this->postdata['func'];
154 } 211 }
155 switch ($func) { 212 switch ($func) {
158 break; 215 break;
159 default: 216 default:
160 $this->ReturnView($viewmodel->ConfigTagsInTopic($this->postdata), true); 217 $this->ReturnView($viewmodel->ConfigTagsInTopic($this->postdata), true);
161 break; 218 break;
162 } 219 }
163 }
164
165 protected function TestAction() {
166 $this->ReturnView($viewmodel->Test(), true);
167 } 220 }
168 221
169 222
170 223
171 224