Ejemplo n.º 1
0
} else {
    if ($type == 'pingback') {
        if ($pb_logging) {
            log_pingback('RECEIVED PINGBACK');
            # PHP 4.2.2 way of doing things
            ob_start();
            print_r($HTTP_RAW_POST_DATA);
            $tmp = ob_get_contents();
            ob_end_clean();
            log_pingback('HTTP_RAW_POST_DATA: ' . $tmp);
        }
        if (add_pingback($_REQUEST['entry_id'], $HTTP_RAW_POST_DATA)) {
            log_pingback('PINGBACK SUCCESS');
            report_pingback_success();
        } else {
            log_pingback('PINGBACK FAILURE');
            report_pingback_failure();
        }
    } else {
        $id = (int) (!empty($serendipity['POST']['entry_id']) ? $serendipity['POST']['entry_id'] : $serendipity['GET']['entry_id']);
        $serendipity['head_subtitle'] = COMMENTS;
        $serendipity['smarty_file'] = 'commentpopup.tpl';
        serendipity_smarty_init();
        if ($id == 0) {
            return false;
        } else {
            $serendipity['smarty']->assign('entry_id', $id);
        }
        if (isset($_GET['success']) && $_GET['success'] == 'true') {
            $serendipity['smarty']->assign(array('is_comment_added' => true, 'comment_url' => serendipity_specialchars($_GET['url']) . '&serendipity[entry_id]=' . $id, 'comment_string' => explode('%s', COMMENT_ADDED_CLICK)));
        } else {
function evaluateIdByLocalUrl($localUrl)
{
    global $serendipity;
    // Build an ID searchpattern in configured permaling structure:
    $permalink_article = $serendipity['permalinkStructure'];
    log_pingback("perma: {$permalink_article}");
    $permalink_article = str_replace('.', '\\.', $permalink_article);
    $permalink_article = str_replace('+', '\\+', $permalink_article);
    $permalink_article = str_replace('?', '\\?', $permalink_article);
    $permalink_article = str_replace('%id%', '(\\d+)', $permalink_article);
    $permalink_article = str_replace('%title%', '[^/]*', $permalink_article);
    $permalink_article_regex = '@' . $permalink_article . '$@';
    log_pingback("regex: {$permalink_article_regex}");
    if (preg_match($permalink_article_regex, $localUrl, $matches)) {
        return (int) $matches[1];
    } else {
        return 0;
    }
}