echo '<h1>SAML20 SP</h1>'; include 'saml20-sp-remote.php'; foreach ($metadata as $key => $val) { $msg = $mcontrol->createNewEntity($key, 'saml20-sp'); echo "Id: " . $msg . '<br />'; if (is_int($msg)) { $econtroller = new sspmod_janus_EntityController($janus_config); $econtroller->setEntity((string) $msg); $econtroller->loadEntity(); foreach ($val as $k => $v) { if ($k == 'attributes') { $arp = new sspmod_janus_ARP(); $arp->setName($key); $arp->setAttributes($v); $arp->save(); $econtroller->setArp($arp->getAid()); } if ($k == 'name') { $k = 'entity:name'; } if ($k == 'description') { $k = 'entity:description'; } echo '<br>Key: ' . $k . '<br>'; if (is_string($v)) { echo '<br/>Insert ' . $v . '<br/>'; if (!$econtroller->addMetadata($k, $v)) { $econtroller->updateMetadata($k, $v); echo 'Updated<br>'; } else { echo 'Added<br>';
/** * Delete the ARP identified by the aid. * * @return PDOStatement|false The statement or false on error. */ public function delete() { if (empty($this->_aid)) { SimpleSAML_Logger::error('JANUS:ARP:delete - aid needs to be set.'); return false; } $deleteStatement = $this->execute('UPDATE ' . self::$prefix . 'arp SET `deleted` = ? WHERE `aid` = ?;', array(date('c'), $this->_aid)); if ($deleteStatement === false) { return false; } // Get all entities with the just removed ARP $st = $this->execute('SELECT eid FROM ' . self::$prefix . 'entity WHERE `arp` = ?;', array($this->_aid)); if (!$st) { return $deleteStatement; } $janus_config = SimpleSAML_Configuration::getConfig('module_janus.php'); $controller = new sspmod_janus_EntityController($janus_config); // Remove the ARP from all entities $entity_rows = $st->fetchAll(); foreach ($entity_rows as $entity_row) { $controller->setEntity($entity_row['eid']); $controller->loadEntity(); $controller->setArp('0'); $controller->saveEntity(); } return $deleteStatement; }