8e9c8f7429d8e0c9f26f976bbef28f9002650b5f
fenris foo

fenris authored 8 years ago

1) <?php
2) 	include_once("source/logic/server/data.php");
3) 	include_once("source/logic/server/table.php");
bfadmin-master advanced

bfadmin-master authored 8 years ago

4) 	include_once("source/logic/server/misc.php");
bfadmin-master fancy table-stuff, woohoo!

bfadmin-master authored 8 years ago

5) 	include_once("source/logic/server/sql.php");
fenris foo

fenris authored 8 years ago

6)  ?>
bfadmin-master advanced

bfadmin-master authored 8 years ago

7) <section class="subsection" id="correlatives">
Fenris Wolf advanced

Fenris Wolf authored 8 years ago

8) 	<header>Correlatives</header>
bfadmin-master advanced

bfadmin-master authored 8 years ago

9) 	<div class="note_error">This section is only a proposal yet; not part of the draft.</div>
fenris foo

fenris authored 8 years ago

10) <?php
bfadmin-master fancy table-stuff, woohoo!

bfadmin-master authored 8 years ago

11) 	$mode = 2;
12) 	switch ($mode)
bfadmin-master advanced

bfadmin-master authored 8 years ago

13) 	{
bfadmin-master fancy table-stuff, woohoo!

bfadmin-master authored 8 years ago

14) 		case 0:
15) 		{
16) 			$table = new class_table
fenris foo

fenris authored 8 years ago

17) 			(
bfadmin-master fancy table-stuff, woohoo!

bfadmin-master authored 8 years ago

18) 				[
19) 					new class_column
20) 					(
21) 						"Domain",
22) 						function ($row) {return $row["domain"];}
23) 					),
24) 					new class_column
25) 					(
26) 						"Interrogative / Relative",
27) 						_foo("interrogative"),
28) 						_bar("word")
29) 					),
30) 					new class_column
31) 					(
32) 						"Demonstrative far",
33) 						_foo("demonstrative_far"),
34) 						_bar("word")
35) 					),
36) 					new class_column
37) 					(
38) 						"Demonstrative near",
39) 						_foo("demonstrative_near"),
40) 						_bar("word")
41) 					),
42) 					new class_column
43) 					(
44) 						"Universal",
45) 						_foo("universal"),
46) 						_bar("word")
47) 					),
48) 					new class_column
49) 					(
50) 						"Undefined",
51) 						_foo("undefined"),
52) 						_bar("word")
53) 					),
54) 					new class_column
55) 					(
56) 						"Negative",
57) 						_foo("negative"),
58) 						_bar("word")
59) 					),
60) 				],
61) 				read_json("source/data/correlatives.json")
62) 			);
63) 			$table->generate();
64) 			break;
65) 		}
66) 		case 1:
67) 		{
68) 			global $configuration;
69) 			$database = read_json("source/data/x.json");
70) 			$data = $database["words"];
71) 			// $data = sql_cross($database["words"], sql_rename($database["words"]));
72) 			$data = sql_select($data, function ($row) {return ($row["language"] == "fs");});
73) 			$table = new class_table
fenris foo

fenris authored 8 years ago

74) 			(
bfadmin-master fancy table-stuff, woohoo!

bfadmin-master authored 8 years ago

75) 				[
76) 					new class_column("Domain (id)", function ($row) {return $row["domain_id"];}),
77) 					new class_column("Type (id)", function ($row) {return $row["type_id"];}),
78) 					new class_column
79) 					(
80) 						"Folksprak",
81) 						function ($row) {return $row["words"];},
82) 						function ($value) {global $configuration; return _baz($value, "word", "fs");}
83) 					),
84) 					/*
85) 					new class_column
86) 					(
87) 						$configuration["languagemap"][$configuration["target"]],
88) 						function ($row) {global $configuration; return $row["words"][$configuration["target"]];},
89) 						function ($value) {global $configuration; return _baz($value, "word", $configuration["target"]);}
90) 					),
91) 					 */
92) 				],
93) 				$data
94) 			);
95) 			$table->generate();
96) 			break;
97) 		}
98) 		case 2:
99) 		{
100) 			global $configuration;
101) 			$database = read_json("source/data/x.json");
102) 			$data = $database["words"];
103) 			$data = (
104) 				/*
105) 				sql_project
106) 				(
107) 				 */
108) 					sql_select
109) 					(
110) 						sql_rename
111) 						(
112) 							sql_cross
113) 							(
114) 								$data,
115) 								$database["domains"]
116) 							),
117) 							"name",
118) 							"domain_name"
119) 						),
120) 						function ($row) {return ($row["id"] == $row["domain_id"]);}
121) 					)/*,
122) 					["domain_id", "name", "type_id", "language", "words"]
123) 				)
124) 				 */
125) 			);
126) 			$data = (
127) 				/*
128) 				sql_project
129) 				(
130) 				 */
131) 					sql_select
132) 					(
133) 						sql_rename
134) 						(
135) 							sql_cross
136) 							(
137) 								$data,
138) 								$database["types"]
139) 							),
140) 							"name",
141) 							"type_name"
142) 						),
143) 						function ($row) {return ($row["id"] == $row["type_id"]);}
144) 					)/*,
145) 					["domain_name", "name", "language", "words"]
146) 				)
147) 				 */
148) 			);
149) 			$data = (
150) 				sql_select
151) 				(
152) 					$data,
153) 					function ($row) {return ($row["language"] == "fs");}
154) 				)
155) 			);
156) 			$data = (
157) 				sql_add
158) 				(
159) 					$data,
160) 					"type_name/words",
161) 					function ($row)
162) 					{
163) 						return ["key" => $row["type_id"], "value" => $row["words"]];
164) 					}
165) 				)
166) 			);
167) 			$data = (
168) 				sql_project
169) 				(
170) 					$data,
171) 					["domain_name", "type_name/words"]
172) 				)
173) 			);
174) 			$data = (
175) 				sql_group
176) 				(
177) 					$data,
178) 					"domain_name",
179) 					[
180) 						"type_name/words" => function ($args)
181) 						{
182) 							$output = [];
183) 							array_map
184) 							(
185) 								function ($arg) use (&$output)
186) 								{
187) 									$output[$arg["key"]] = $arg["value"];
188) 								},
189) 								$args
190) 							);
191) 							return $output;
192) 						},
193) 					]
194) 				)
195) 			);
196) 			$table = new class_table
fenris foo

fenris authored 8 years ago

197) 			(
bfadmin-master fancy table-stuff, woohoo!

bfadmin-master authored 8 years ago

198) 				array_merge
199) 				(
200) 					[
201) 						new class_column("Domain", function ($row) {return $row["domain_name"];}),
202) 					],
203) 					array_map
204) 					(
205) 						function ($type)
206) 						{
207) 							return (
208) 								new class_column
209) 								(
210) 									("Type: " . $type["name"]),
211) 									function ($row) use (&$type) {return $row["type_name/words"][$type["id"]];},
212) 									function ($value) {return _baz($value, "word", "fs");}
213) 								)
214) 							);
215) 						},
216) 						$database["types"]
217) 					)
218) 				),
219) 				$data
220) 			);
221) 			$table->generate();
222) 			break;
223) 		}
224) 		default:
225) 		{
226) 			break;
227) 		}
228) 	}
fenris foo

fenris authored 8 years ago

229)  ?>
230) <div class="note_information">Some of these words are very unlikely to ever get used (e.g. <span class="word lang_fs">ing slag</span>). Nevertheless they exist and are listed for completeness.</div>