82 lines
2.1 KiB
PHP
82 lines
2.1 KiB
PHP
<?php
|
|
setlocale(LC_ALL, "de_DE@euro", "de_DE", "de", "ge");
|
|
set_include_path(
|
|
get_include_path() . PATH_SEPARATOR . "../lib/" . PATH_SEPARATOR . ".."
|
|
);
|
|
|
|
require_once "config/participo.php";
|
|
require_once "local/cwsvJudo.php";
|
|
|
|
require_once "participoLib/participo.php";
|
|
|
|
function init($config)
|
|
{
|
|
dbConnector::connect(
|
|
$config["db"]["host"],
|
|
$config["db"]["name"],
|
|
$config["db"]["user"],
|
|
$config["db"]["password"]
|
|
);
|
|
}
|
|
|
|
function authorize()
|
|
{
|
|
if (array_key_exists("HTTP_AUTHORIZATION", $_SERVER)) {
|
|
if (!empty($_SERVER["HTTP_AUTHORIZATION"])) {
|
|
$auth = explode(" ", $_SERVER["HTTP_AUTHORIZATION"]);
|
|
if ($auth[0] = "Basic") {
|
|
$allowKey = ApiKey::loadFromDb($auth[1]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!$allowKey || !$allowKey->isValidFor("api")) {
|
|
die(
|
|
json_encode([
|
|
"success" => false,
|
|
"reason" => "apiKey not sufficient or no api key provided",
|
|
])
|
|
);
|
|
}
|
|
}
|
|
|
|
function get()
|
|
{
|
|
$wkSqlQuery =
|
|
"SELECT DISTINCT" .
|
|
" `wkParticipo_Users`.* " .
|
|
" FROM `wkParticipo_Users`" .
|
|
" JOIN `vormundschaft`" .
|
|
" ON `wkParticipo_Users`.`id` =`vormundschaft`.`userId`" .
|
|
" JOIN `wkParticipo_user<=>userAttributes`" .
|
|
" ON `wkParticipo_user<=>userAttributes`.`userId` = `vormundschaft`.`kidId`" .
|
|
" WHERE `wkParticipo_user<=>userAttributes`.`attributeId` = 4" .
|
|
" ORDER BY `wkParticipo_Users`.`id` ASC;";
|
|
|
|
$wkSqlResponse = dbConnector::query($wkSqlQuery);
|
|
|
|
// Postprocessing
|
|
// - convert the comma separated list into an array
|
|
foreach ($wkSqlResponse as &$user) {
|
|
$user["eMail"] = explode(",", $user["eMail"]);
|
|
foreach ($user["eMail"] as &$email) {
|
|
$email = trim($email);
|
|
}
|
|
}
|
|
return $wkSqlResponse;
|
|
}
|
|
|
|
init($cwsvJudoConfig);
|
|
authorize();
|
|
$wkSqlResponse = get();
|
|
|
|
// Sending Response
|
|
// - setting header
|
|
header("Content-Type: application/json");
|
|
// - sending body payload
|
|
echo json_encode($wkSqlResponse);
|
|
|
|
// exit(0);
|
|
|
|
?>
|