579dbe00295a534a278b929d1ff998da9d2838c1
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="word_functions">
fenris foo

fenris authored 8 years ago

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

bfadmin-master authored 8 years ago

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

fenris authored 8 years ago

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

bfadmin-master authored 8 years ago

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