function receiveTrackback($blogid, $entry, $title, $url, $excerpt, $site) { global $database, $blog, $defaultURL; if (empty($url)) { return 5; } $post = new Post(); if (!$post->doesAcceptTrackback($entry)) { return 3; } $filtered = 0; if (!Filter::isAllowed($url)) { if (Filter::isFiltered('ip', $_SERVER['REMOTE_ADDR']) || Filter::isFiltered('url', $url)) { $filtered = 1; } else { if (Filter::isFiltered('content', $excerpt)) { $filtered = 1; } else { if (!fireEvent('AddingTrackback', true, array('entry' => $entry, 'url' => $url, 'site' => $site, 'title' => $title, 'excerpt' => $excerpt))) { $filtered = 1; } } } } $title = correctTTForXmlText($title); $excerpt = correctTTForXmlText($excerpt); $url = UTF8::lessenAsEncoding($url); $site = UTF8::lessenAsEncoding($site); $title = UTF8::lessenAsEncoding($title); $excerpt = UTF8::lessenAsEncoding($excerpt); $trackback = new Trackback(); $trackback->entry = $entry; $trackback->url = $url; $trackback->site = $site; $trackback->title = $title; $trackback->excerpt = $excerpt; if ($filtered > 0) { $trackback->isfiltered = true; } if ($trackback->add()) { if ($filtered == 0) { CacheControl::flushDBCache('trackback'); } return $filtered == 0 ? 0 : 3; } else { return 4; } return 0; }
/// Copyright (c) 2004-2015, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) $IV = array('GET' => array('rss' => array('url'))); require ROOT . '/library/preprocessor.php'; importlib('model.blog.link'); if (!empty($_GET['rss'])) { list($st, $header, $body, $lmdate, $rval) = @xml_parser($_GET['rss'], ''); $result = array(); if ($rval) { list($title, $link) = str_dbi_check(@get_siteinfo($rval)); if (Utils_Unicode::validate($title, true)) { $result['name'] = correctTTForXmlText(Utils_Unicode::correct(htmlspecialchars(trim($title)))); } else { $result['name'] = correctTTForXmlText(Utils_Unicode::bring(htmlspecialchars(trim($title)))); } if (Utils_Unicode::validate($link, true)) { $result['url'] = correctTTForXmlText(Utils_Unicode::correct(htmlspecialchars(trim($link)))); } else { $result['url'] = correctTTForXmlText(Utils_Unicode::bring(htmlspecialchars(trim($link)))); } Respond::PrintResult($result); } else { $result['url'] = $_GET['rss']; $result['name'] = ''; Respond::PrintResult($result); } exit; } else { Respond::ResultPage(-1); }