| @@ 294-347 (lines=54) @@ | ||
| 291 | * @param $article |
|
| 292 | * @return bool |
|
| 293 | */ |
|
| 294 | public static function planetTrackback($trackback_url, $article) |
|
| 295 | { |
|
| 296 | global $myts, $xoopsConfig, $xoopsModule; |
|
| 297 | /** @var Planet\Helper $helper */ |
|
| 298 | $helper = Planet\Helper::getInstance(); |
|
| 299 | ||
| 300 | $title = $article->getVar('art_title'); |
|
| 301 | $excerpt = $article->getVar('art_content'); |
|
| 302 | $blog_name = $xoopsConfig['sitename'] . '-' . $xoopsModule->getVar('name'); |
|
| 303 | $title = xoops_utf8_encode($title); |
|
| 304 | $excerpt = xoops_utf8_encode($excerpt); |
|
| 305 | $blog_name = xoops_utf8_encode($blog_name); |
|
| 306 | $charset = 'utf-8'; |
|
| 307 | $title1 = urlencode($title); |
|
| 308 | $excerpt1 = urlencode($excerpt); |
|
| 309 | $name1 = urlencode($blog_name); |
|
| 310 | $url = urlencode(XOOPS_URL . '/modules/' . $GLOBALS['moddirname'] . '/view.article.php' . URL_DELIMITER . '' . $article->getVar('art_id')); |
|
| 311 | $query_string = "title=$title1&url=$url&blog_name=$name1&excerpt=$excerpt1&charset=$charset"; |
|
| 312 | $trackback_url = parse_url($trackback_url); |
|
| 313 | ||
| 314 | $http_request = 'POST ' . $trackback_url['path'] . ($trackback_url['query'] ? '?' . $trackback_url['query'] : '') . " HTTP/1.0\r\n"; |
|
| 315 | $http_request .= 'Host: ' . $trackback_url['host'] . "\r\n"; |
|
| 316 | $http_request .= 'Content-Type: application/x-www-form-urlencoded; charset=' . $charset . "\r\n"; |
|
| 317 | $http_request .= 'Content-Length: ' . strlen($query_string) . "\r\n"; |
|
| 318 | $http_request .= 'User-Agent: XOOPS Blogs/' . XOOPS_VERSION; |
|
| 319 | $http_request .= "\r\n\r\n"; |
|
| 320 | $http_request .= $query_string; |
|
| 321 | if ('' == $trackback_url['port']) { |
|
| 322 | $trackback_url['port'] = 80; |
|
| 323 | } |
|
| 324 | $fs = @fsockopen($trackback_url['host'], $trackback_url['port'], $errno, $errstr, 4); |
|
| 325 | @fwrite($fs, $http_request); |
|
| 326 | if ($helper->getConfig('do_debug')) { |
|
| 327 | $debug_file = XOOPS_CACHE_PATH . '/' . $GLOBALS['moddirname'] . '_trackback.log'; |
|
| 328 | $fr = "\n*****\nRequest:\n\n$http_request\n\nResponse:\n\n"; |
|
| 329 | $fr .= "CHARSET:$charset\n"; |
|
| 330 | $fr .= "NAME:$blog_name\n"; |
|
| 331 | $fr .= 'TITLE:' . $title . "\n"; |
|
| 332 | $fr .= "EXCERPT:$excerpt\n\n"; |
|
| 333 | while (!@feof($fs)) { |
|
| 334 | $fr .= @fgets($fs, 4096); |
|
| 335 | } |
|
| 336 | $fr .= "\n\n"; |
|
| 337 | ||
| 338 | if ($fp = fopen($debug_file, 'a')) { |
|
| 339 | fwrite($fp, $fr); |
|
| 340 | fclose($fp); |
|
| 341 | } else { |
|
| 342 | } |
|
| 343 | } |
|
| 344 | @fclose($fs); |
|
| 345 | ||
| 346 | return true; |
|
| 347 | } |
|
| 348 | ||
| 349 | /** |
|
| 350 | * Function to ping servers |
|
| @@ 284-337 (lines=54) @@ | ||
| 281 | * @param $article |
|
| 282 | * @return bool |
|
| 283 | */ |
|
| 284 | function planetTrackback($trackback_url, $article) |
|
| 285 | { |
|
| 286 | global $myts, $xoopsConfig, $xoopsModule; |
|
| 287 | /** @var Planet\Helper $helper */ |
|
| 288 | $helper = Planet\Helper::getInstance(); |
|
| 289 | ||
| 290 | $title = $article->getVar('art_title'); |
|
| 291 | $excerpt = $article->getVar('art_content'); |
|
| 292 | $blog_name = $xoopsConfig['sitename'] . '-' . $xoopsModule->getVar('name'); |
|
| 293 | $title = xoops_utf8_encode($title); |
|
| 294 | $excerpt = xoops_utf8_encode($excerpt); |
|
| 295 | $blog_name = xoops_utf8_encode($blog_name); |
|
| 296 | $charset = 'utf-8'; |
|
| 297 | $title1 = urlencode($title); |
|
| 298 | $excerpt1 = urlencode($excerpt); |
|
| 299 | $name1 = urlencode($blog_name); |
|
| 300 | $url = urlencode(XOOPS_URL . '/modules/' . $GLOBALS['moddirname'] . '/view.article.php' . URL_DELIMITER . '' . $article->getVar('art_id')); |
|
| 301 | $query_string = "title=$title1&url=$url&blog_name=$name1&excerpt=$excerpt1&charset=$charset"; |
|
| 302 | $trackback_url = parse_url($trackback_url); |
|
| 303 | ||
| 304 | $http_request = 'POST ' . $trackback_url['path'] . ($trackback_url['query'] ? '?' . $trackback_url['query'] : '') . " HTTP/1.0\r\n"; |
|
| 305 | $http_request .= 'Host: ' . $trackback_url['host'] . "\r\n"; |
|
| 306 | $http_request .= 'Content-Type: application/x-www-form-urlencoded; charset=' . $charset . "\r\n"; |
|
| 307 | $http_request .= 'Content-Length: ' . strlen($query_string) . "\r\n"; |
|
| 308 | $http_request .= 'User-Agent: XOOPS Blogs/' . XOOPS_VERSION; |
|
| 309 | $http_request .= "\r\n\r\n"; |
|
| 310 | $http_request .= $query_string; |
|
| 311 | if ('' == $trackback_url['port']) { |
|
| 312 | $trackback_url['port'] = 80; |
|
| 313 | } |
|
| 314 | $fs = @fsockopen($trackback_url['host'], $trackback_url['port'], $errno, $errstr, 4); |
|
| 315 | @fwrite($fs, $http_request); |
|
| 316 | if ($helper->getConfig('do_debug')) { |
|
| 317 | $debug_file = XOOPS_CACHE_PATH . '/' . $GLOBALS['moddirname'] . '_trackback.log'; |
|
| 318 | $fr = "\n*****\nRequest:\n\n$http_request\n\nResponse:\n\n"; |
|
| 319 | $fr .= "CHARSET:$charset\n"; |
|
| 320 | $fr .= "NAME:$blog_name\n"; |
|
| 321 | $fr .= 'TITLE:' . $title . "\n"; |
|
| 322 | $fr .= "EXCERPT:$excerpt\n\n"; |
|
| 323 | while (!@feof($fs)) { |
|
| 324 | $fr .= @fgets($fs, 4096); |
|
| 325 | } |
|
| 326 | $fr .= "\n\n"; |
|
| 327 | ||
| 328 | if ($fp = fopen($debug_file, 'a')) { |
|
| 329 | fwrite($fp, $fr); |
|
| 330 | fclose($fp); |
|
| 331 | } else { |
|
| 332 | } |
|
| 333 | } |
|
| 334 | @fclose($fs); |
|
| 335 | ||
| 336 | return true; |
|
| 337 | } |
|
| 338 | ||
| 339 | /** |
|
| 340 | * Function to ping servers |
|