$archivepage = file_get_contents($node->getField('href'));
    preg_match('/<!-- START ARCHIVE XOXO -->[^\\f]*?<!-- END ARCHIVE XOXO -->/', $archivepage, $xoxodata);
    $xoxodata = $xoxodata[0];
    if ($xoxodata) {
        $archivepage = $xoxodata;
    }
    $archivestruct = new OutlineFromXOXO($archivepage, array('classes' => array('xoxo', 'posts')));
    if (!$archivestruct->getNumNodes()) {
        $archivestruct = new OutlineFromHATOM($archivepage);
    }
    if (!$archivestruct->getNumNodes()) {
        $archivestruct = new OutlineFromXOXO($archivepage, array('classes' => array()));
    }
    $tmp = $archivestruct->getNode(0);
    if ($tmp && is_a($tmp, 'Outline') && $tmp->getField('rel') == 'home') {
        $archivestruct->unsetNode(0);
    }
    $node->setField('count', $archivestruct->getNumNodes());
}
//end for getNumNodes
if (!isset($_REQUEST['raw']) && !$_REQUEST['callback']) {
    echo 'if(typeof(BloggerArchive) != "object") BloggerArchive = {};' . "\n";
    echo 'BloggerArchive.list = ';
}
//end if ! raw && ! callback
if ($_REQUEST['callback']) {
    echo $_REQUEST['callback'] . '(';
}
echo $xoxo->toJSON('BloggerArchive', false, false);
if ($_REQUEST['callback']) {
    echo ')';
$xoxo = new OutlineFromXOXO($xoxodata, array('classes' => array('xoxo', 'posts')));
if (!$xoxo->getNumNodes()) {
    $xoxo = new OutlineFromXOXO($pagedata, array('classes' => array('xoxo', 'posts')));
}
if (!$xoxo->getNumNodes()) {
    $xoxo = new OutlineFromHATOM($pagedata);
}
if (!$xoxo->getNumNodes()) {
    $xoxo = new OutlineFromXOXO($pagedata, array('classes' => array()));
}
if (!$xoxo->getNumNodes()) {
    die('No valid XOXO data found!');
}
$tmp = $xoxo->getNode(0);
if ($tmp->getField('rel') == 'home') {
    $xoxo->unsetNode(0);
}
$xoxo->reindexNodes();
for ($i = 0; $i < $xoxo->getNumNodes(); $i++) {
    $node =& $xoxo->getNode($i);
    $node->unsetAllNodes();
}
//end for xoxo
if (!isset($_REQUEST['raw']) && !$_REQUEST['callback']) {
    echo 'if(typeof(BloggerArchive) != "object") BloggerArchive = {};' . "\n";
    echo 'BloggerArchive.posts = ';
}
//end if ! raw && ! callback
if ($_REQUEST['callback']) {
    echo $_REQUEST['callback'] . '(';
}
示例#3
0
$hatom = new OutlineFromHATOM($data, array('resolve' => $_GET['url']));
$raw = new OutlineFromXOXO($data, array('classes' => array()));
$site = false;
if ($xoxo->getNumNodes() && in_array('home', explode(' ', $xoxo->getNode(0)->getField('rel')))) {
    $site = $xoxo->getNode(0)->toArray();
    $xoxo->unsetNode(0);
    $xoxo->reindexNodes();
}
if ($hatom->getNumNodes() && in_array('home', explode(' ', $hatom->getNode(0)->getField('rel')))) {
    $site = $hatom->getNode(0)->toArray();
    $hatom->unsetNode(0);
    $hatom->reindexNodes();
}
if ($raw->getNumNodes() && in_array('home', explode(' ', $raw->getNode(0)->getField('rel')))) {
    $site = $raw->getNode(0)->toArray();
    $raw->unsetNode(0);
    $raw->reindexNodes();
}
if ($xoxo->getNumNodes() && $hatom->getNumNodes()) {
    //fill in XOXO with hAtom
    for ($i = 0; $i < $xoxo->getNumNodes(); $i++) {
        $node = $xoxo->getNode($i);
        foreach ($node->getFields() as $name => $value) {
            $hatom->_subnodes[$i]->setField($name, $value);
        }
    }
    //end for
    $xoxo = $hatom;
} else {
    if ($xoxo->getNumNodes()) {
    } else {