dcda8f5951a8ef9b256ec490d3845d46247dc24c
fenris foo

fenris authored 8 years ago

1) <?php
2) 	global $configuration;
bfadmin-master advanced

bfadmin-master authored 8 years ago

3) 	include_once("source/logic/server/misc.php");
fenris foo

fenris authored 8 years ago

4) 	include_once("source/logic/server/data.php");
5) 	include_once("source/logic/server/table.php");
6)  ?>
bfadmin-master advanced

bfadmin-master authored 8 years ago

7) <section class="section" id="vocabulary/word_functions">
fenris foo

fenris authored 8 years ago

8) 	<header>Word Functions</header>
9) <?php
10) 	$table = new class_table
11) 	(
12) 		[
13) 			new class_column
14) 			(
15) 				"Affix",
16) 				function ($row)
17) 				{
18) 					return $row["affix"];
19) 				},
20) 				function ($value)
21) 				{
22) 					return mark($value, ["word", "lang_fs"]);
23) 				}
24) 			),
25) 			new class_column
26) 			(
27) 				"Type",
28) 				function ($row)
29) 				{
30) 					return [$row["type_from"], $row["type_to"]];
31) 				},
32) 				function ($value)
33) 				{
34) 					return (
35) 						implode
36) 						(
37) 							" → ",
38) 							array_map
39) 							(
40) 								function ($group)
41) 								{
42) 				 					return ("{" . implode(",", $group) . "}");
43) 								},
44) 								$value
45) 							)
46) 						)
47) 					);
48) 				}
49) 			),
50) 			new class_column
51) 			(
52) 				"Description",
53) 				function ($row)
54) 				{
55) 					return ["name" => $row["name"], "description" => $row["description"]];
56) 				},
57) 				function ($value)
58) 				{
59) 					$output = "";
60) 					if ($value["name"] != null) $output .= (mark($value["name"], ["grammarterm"]) . ": ");
61) 					if ($value["description"] != null) $output .= ($value["description"]);
62) 					return $output;
63) 				}
64) 			),
65) 			/*
66) 			new class_column
67) 			(
68) 				"Cognates",
69) 				function ($row)
70) 				{
71) 					return $row["cognates"];
72) 				},
73) 				function ($value)
74) 				{
75) 					return implode(", ", array_map(function ($entry) {return ($entry["language"] . ": " . mark($entry["affix"], ["word", "lang_" . $entry["language"]]));}, $value));
76) 				}
77) 			),
78) 			 */
79) 			new class_column
80) 			(
81) 				"Example",
82) 				function ($row)
83) 				{
84) 					global $configuration;
bfadmin-master advanced

bfadmin-master authored 8 years ago

85) 					return ["original" => [$row["example"]["word"]], "translated" => $row["example"]["translations"][$configuration["target"]]];
86) 				},
87) 				_bar("word")
fenris foo

fenris authored 8 years ago

88) 			),
89) 		],
90) 		read_json("source/data/word_functions.json")
91) 	);
92) 	$table->generate();
93)  ?>
94) <p>
95) 	Some complex examples:
96) 	<ul>
bfadmin-master advanced

bfadmin-master authored 8 years ago

97) 		<?php $fun = _bar("word"); ?>
98) 		<li><?php echo($fun(["original" => ["unmanlikhed"], "translated" => ["inhumanity"]])); ?></li>
99) 		<li><?php echo($fun(["original" => ["seberenung"], "translated" => ["visualization"]])); ?></li>
100) 		<li><?php echo($fun(["original" => ["kraftigenar"], "translated" => ["fortifier"]])); ?></li>