File: importPdoMetadata.php

package info (click to toggle)
simplesamlphp 1.19.7-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 42,920 kB
  • sloc: php: 202,044; javascript: 14,867; xml: 2,700; sh: 225; perl: 82; makefile: 70; python: 5
file content (30 lines) | stat: -rwxr-xr-x 1,099 bytes parent folder | download | duplicates (3)
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
#!/usr/bin/env php
<?php

$baseDir = dirname(dirname(__FILE__));

require_once $baseDir . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . '_autoload.php';
require_once \SimpleSAML\Utils\Config::getConfigDir() . 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);
            }
        }
    }
}