* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
-
class XRD
{
const XML_NS = 'http://www.w3.org/2000/xmlns/';
error_reporting($old);
if (!$ok) {
- throw new Exception("Invalid XML.");
+ // TRANS: Exception.
+ throw new Exception(_('Invalid XML.'));
}
$xrd_element = $dom->getElementsByTagName('XRD')->item(0);
if (!$xrd_element) {
- throw new Exception("Invalid XML, missing XRD root.");
+ // TRANS: Exception.
+ throw new Exception(_('Invalid XML, missing XRD root.'));
}
// Check for host-meta host
foreach ($this->links as $link) {
$titles = array();
+ $properties = array();
if (isset($link['title'])) {
$titles = $link['title'];
unset($link['title']);
}
+ if (isset($link['property'])) {
+ $properties = $link['property'];
+ unset($link['property']);
+ }
$xs->elementStart('Link', $link);
foreach ($titles as $title) {
$xs->element('Title', null, $title);
}
+ foreach ($properties as $property) {
+ $xs->element('Property',
+ array('type' => $property['type']),
+ $property['value']);
+ }
$xs->elementEnd('Link');
}
switch($node->tagName) {
case 'Title':
$link['title'][] = $node->nodeValue;
+ break;
+ case 'Property':
+ $link['property'][] = array('type' => $node->getAttribute('type'),
+ 'value' => $node->nodeValue);
+ break;
+ default:
+ common_log(LOG_NOTICE, "Unexpected tag name {$node->tagName} found in XRD file.");
}
}
}