source/content/adpositions.html.php
dcda8f59
 <?php
 	include_once("source/logic/server/data.php");
 	include_once("source/logic/server/table.php");
 	include_once("source/logic/server/misc.php");
  ?>
579dbe00
 <section class="section" id="adpositions">
dcda8f59
 	<header>Adpositions</header>
000b5f04
 	<?php proposal(); ?>
 	<!--
 	<p>The following list gives an overview over prepositions:</p>
 	  -->
dcda8f59
 <?php
459c0868
 	$data_adpositions = read_json("source/data/adpositions.json");
 	$data = $data_adpositions["words"];
 	{
 		{
 			$data = sql_cross($data, $data_adpositions["situations"]);
 			$data = sql_select($data, function ($row) {return ($row["situation_id"] == $row["id"]);});
 			$data = sql_delete($data, ["situation_id", "id"]);
 			$data = sql_rename($data, "name", "situation_name");
 		}
 		{
 			$data = sql_cross($data, $data_adpositions["types"]);
 			$data = sql_select($data, function ($row) {return ($row["type_id"] == $row["id"]);});
 			$data = sql_delete($data, ["type_id", "id"]);
 			$data = sql_rename($data, "name", "type_name");
 		}
 		{
 			$data = sql_cross($data, $data_adpositions["kinds"]);
 			$data = sql_select($data, function ($row) {return ($row["kind_id"] == $row["id"]);});
 			$data = sql_delete($data, ["kind_id", "id"]);
 			$data = sql_rename($data, "name", "kind_name");
 		}
 	}
 	
dcda8f59
 	$table = new class_table
 	(
 		[
459c0868
 			new class_column("Language", "language_id"),
 			new class_column("Situation", "situation_name"),
 			new class_column("Type", "type_name"),
 			new class_column("Kind", "kind_name"),
 			new class_column("Words", "words", function ($x) {return json_encode($x);}),
dcda8f59
 		],
459c0868
 		$data
 	);
 	$table = $table->snap
 	(
 		[
 			"label_vertical" => function ($column) {return "";},
 			"columns_vertical" =>
 			[
 				$table->columns_get()[1],
 			],
 			"label_horizontal" => function ($column, $value) {return $value;},
 			"columns_horizontal" =>
 			[
 				$table->columns_get()[2],
 				$table->columns_get()[3],
 			],
 			"columns_data" =>
 			[
 				$table->columns_get()[0],
 				$table->columns_get()[4],
 			],
 			"data_aggregator" => function ($values)
 			{
 				return $values;
 			},
 			"data_formatter" => function ($value)
 			{
 				return (
 					_bar("word")
 					(
 						[
 							"original" => $value[0]["words"],
 							"translated" => $value[1]["words"],
 						]
 					)
 				);
 				return json_encode($value);
 			},
 		]
dcda8f59
 	);
 	$table->generate();
  ?>
 </section>