Exemple #1
0
function trackback($url, &$post)
{
    global $xoopsConfig;
    if ($post->isNew() || $post->getApproved() == 0 || $post->getStatus() != 1) {
        return;
    }
    $util = new RMUtils();
    //$url = urlencode($url);
    $title = urlencode($post->getTitle());
    $excerpt = urlencode($util->filterTags($post->getExcerpt() != '' ? htmlentities($post->getExcerpt()) : '[...] ' . htmlentities(substr($util->filterTags($post->getText()), 0, $mc['tracklen'])) . ' [...]'));
    $blogname = urlencode($xoopsConfig['sitename']);
    $permalink = urlencode($post->getPermaLink());
    $tburl = urlencode($url);
    $querys = "title={$title}&url={$permalink}&blog_name={$blogname}&excerpt={$excerpt}";
    $url = parse_url($url);
    $http_request = 'POST ' . $url['path'] . (isset($url['query']) ? '?' . $url['query'] : '') . " HTTP/1.0\r\n";
    $http_request .= 'Host: ' . $url['host'] . "\r\n";
    $http_request .= 'Content-Type: application/x-www-form-urlencoded; charset=' . _CHARSET . "\r\n";
    $http_request .= 'Content-Length: ' . strlen($querys) . "\r\n";
    $http_request .= "User-Agent: NaturalPress";
    $http_request .= "\r\n\r\n";
    $http_request .= $querys;
    if (!isset($url['port']) || '' == $url['port']) {
        $url['port'] = 80;
    }
    $fs = @fsockopen($url['host'], $url['port'], $errno, $errstr, 4);
    @fputs($fs, $http_request);
    @fclose($fs);
    return true;
}