53 lines
1.4 KiB
PHP
53 lines
1.4 KiB
PHP
<?php
|
|
/// @file common settings and includes for the participo api
|
|
/// - set locale to german
|
|
setlocale(LC_ALL, "de_DE@euro", "de_DE", "de", "ge");
|
|
/// - extend the include search path for
|
|
set_include_path(implode(
|
|
PATH_SEPARATOR,
|
|
[
|
|
get_include_path(),
|
|
/// - user defined libs (e.g. participo)
|
|
"../lib",
|
|
/// - config files (we reuse the participo-wide configuration)
|
|
".."
|
|
]
|
|
));
|
|
|
|
/// - participo configuration
|
|
require_once("config/participo.php");
|
|
/// - data base credentials
|
|
require_once("local/cwsvJudo.php");
|
|
|
|
/// - since this is a rest api implementation we can assume each endpoint needs dbAccess
|
|
require_once("participoLib/dbConnector.php");
|
|
|
|
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",
|
|
])
|
|
);
|
|
}
|
|
}
|
|
|
|
/// - initialize the database connection
|
|
dbConnector::connect(
|
|
$cwsvJudoConfig["db"]["host"],
|
|
$cwsvJudoConfig["db"]["name"],
|
|
$cwsvJudoConfig["db"]["user"],
|
|
$cwsvJudoConfig["db"]["password"]
|
|
);
|