-
Notifications
You must be signed in to change notification settings - Fork 702
Expand file tree
/
Copy pathimportPdoMetadata.php
More file actions
executable file
·35 lines (28 loc) · 1.18 KB
/
importPdoMetadata.php
File metadata and controls
executable file
·35 lines (28 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env php
<?php
declare(strict_types=1);
$baseDir = dirname(__FILE__, 2);
require_once $baseDir . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . '_autoload.php';
// This is the config dir of the SimpleSAMLphp installation
$configDir = (new \SimpleSAML\Utils\Config())->getConfigDir();
require_once $configDir . DIRECTORY_SEPARATOR . 'config.php';
# Iterate through configured metadata sources and ensure
# that a PDO source exists.
foreach ($config['metadata.sources'] as $s) {
# If pdo is configured, create the new handler and add in the metadata sets.
if ($s['type'] === "pdo") {
$mdshp = new \SimpleSAML\Metadata\MetaDataStorageHandlerPdo($s);
$mdshp->initDatabase();
$metadataDir = rtrim(\SimpleSAML\Configuration::getInstance()->getString('metadatadir'), '/');
foreach (glob("{$metadataDir}/*.php") as $filename) {
$metadata = [];
require_once $filename;
$set = basename($filename, ".php");
echo "importing set '$set'..." . PHP_EOL;
foreach ($metadata as $k => $v) {
echo "\t$k" . PHP_EOL;
$mdshp->addEntry($k, $set, $v);
}
}
}
}