2025-09-21 18:49:03 +02:00
|
|
|
<?php
|
2025-09-22 23:17:08 +02:00
|
|
|
/*
|
|
|
|
|
davina — Calendar data CalDAV conditioner
|
|
|
|
|
Copyright (C) 2025 Fenris <fenris@folksprak.org>
|
|
|
|
|
|
|
|
|
|
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
|
|
|
|
|
License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
|
|
|
|
|
version.
|
|
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
|
|
|
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License along with this program. If not, see
|
|
|
|
|
<https://www.gnu.org/licenses/>.
|
|
|
|
|
*/
|
2025-09-21 18:49:03 +02:00
|
|
|
|
|
|
|
|
namespace davina\auths;
|
|
|
|
|
|
|
|
|
|
require_once(DIR_LOGIC . '/auths/_interface.php');
|
|
|
|
|
require_once(DIR_LOGIC . '/auths/pass_through.php');
|
|
|
|
|
require_once(DIR_LOGIC . '/auths/static.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*/
|
|
|
|
|
function make(
|
|
|
|
|
string $kind,
|
|
|
|
|
$data
|
|
|
|
|
) : \davina\auths\interface_auth
|
|
|
|
|
{
|
|
|
|
|
switch ($kind)
|
|
|
|
|
{
|
|
|
|
|
case 'pass_through':
|
|
|
|
|
{
|
|
|
|
|
return (new \davina\auths\class_auth_pass_through(
|
|
|
|
|
));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case 'static':
|
|
|
|
|
{
|
|
|
|
|
return (new \davina\auths\class_auth_static(
|
|
|
|
|
$data['password']
|
|
|
|
|
));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
{
|
|
|
|
|
throw (new \Exception(\sprintf('unhandled auth kind: %s', $kind)));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
?>
|