core/source/sources/_factory.php
2025-09-21 13:27:37 +02:00

43 lines
498 B
PHP

<?php
namespace davina\sources;
require_once(DIR_LOGIC . '/sources/ics_feed.php');
/**
*/
function make(
string $kind,
$data
) : interface_source
{
switch ($kind)
{
case 'ics_feed':
{
return (
new class_source_ics_feed(
$data['url'],
($data['lifetime'] ?? (60 * 15)),
($data['combine'] ?? false)
)
);
}
default:
{
throw (
new \Exception(
\sprintf(
'unhandled source kind: %s',
$kind
)
)
);
break;
}
}
}
?>