} 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; } }