/**
     * Notifies managing contact about updated metadata of entity
     *
     * @param   sspmod_janus_Entity $entity
     * @param   string $metadataXml
     * @return void
     */
    protected function _mailUpdatedMetaData(sspmod_janus_Entity $entity, $metadataXml)
    {
        $config = SimpleSAML_Configuration::getInstance();
        $time = date(DATE_RFC822);
        $entityName = $entity->getPrettyname();
        $entityId = $entity->getEntityId();
        $message = <<<MESSAGE
<h1>Metadata Change detected</h1>
<p>Cron ran at {$time}</p>
<p>Name: {$entityName}</p>
<p>EntityId: {$entityId}</p>
MESSAGE;
        $toAddress = $config->getString('managingcontact_email');
        if (empty($toAddress)) {
            SimpleSAML_Logger::error('Cron - Could not send email. [managingcontact_email] not set in config.');
        }
        $fromAddress = '*****@*****.**';
        $subject = "Metadata Change detected for entity " . $entity->getPrettyname() . " (" . $entity->getEntityId() . "])";
        $email = new SimpleSAML_XHTML_EMail($toAddress, $subject, $fromAddress);
        $email->setBody($message);
        // Add gzipped metadata
        $attachmentContent = gzencode($metadataXml);
        $attachmentFileName = 'metadata-' . $entityName . '.xml.gz';
        $email->addAttachment($attachmentContent, $attachmentFileName, 'application/zip');
        $email->send();
    }
示例#2
0
 if (isset($remoteEntityName)) {
     if (is_array($remoteEntityName)) {
         if (array_key_exists($language, $remoteEntityName)) {
             $remoteEntityFormatted['name'][$language] = $remoteEntityName[$language];
         } else {
             reset($remoteEntityName);
             $remoteEntityFormatted['name'][$language] = 'No name in current language (' . current($remoteEntityName) . ')';
         }
     } else {
         $remoteEntityFormatted['name'][$language] = $remoteEntityName;
     }
 } else {
     $remoteEntityFormatted['name'][$language] = 'No name given';
 }
 // Format the description for the remote entity
 $remoteEntityDescription = $remoteEntity->getEntityId();
 if (isset($remoteEntityDescription)) {
     if (is_array($remoteEntityDescription)) {
         if (array_key_exists($language, $remoteEntityDescription)) {
             $remoteEntityFormatted['description'][$language] = $remoteEntityDescription[$language];
         } else {
             reset($remoteEntityDescription);
             $remoteEntityFormatted['description'][$language] = 'No description in current language (' . current($remoteEntityDescription) . ')';
         }
     } else {
         $remoteEntityFormatted['description'][$language] = $remoteEntityDescription;
     }
 } else {
     $remoteEntityFormatted['description'][$language] = 'No description given';
 }
 // Pass along a text color if available
            }
        }
    }
}
// Get metadatafields
$mfc = $janus_config->getArray('metadatafields.' . $entity->getType());
$mb = new sspmod_janus_MetadatafieldBuilder($mfc);
$et->data['metadatafields'] = $mb->getMetadatafields();
$remote_entities = array();
// Only parse name and description in current language
foreach ($loaded_entities as $entityRow) {
    $instance = new sspmod_janus_Entity($janus_config);
    $instance->setEid($entityRow["eid"]);
    $instance->setRevisionid($entityRow["revisionid"]);
    $instance->load();
    $value = array("name" => $instance->getPrettyName(), "description" => $instance->getEntityId());
    $key = $instance->getEntityId();
    unset($value2);
    if (isset($value['name'])) {
        if (is_array($value['name'])) {
            if (array_key_exists($language, $value['name'])) {
                $value2['name'][$language] = $value['name'][$language];
            } else {
                reset($value['name']);
                $value2['name'][$language] = 'No name in current language (' . current($value['name']) . ')';
            }
        } else {
            $value2['name'][$language] = $value['name'];
        }
    } else {
        $value2['name'][$language] = 'No name given';