first commit 2
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
// http://kr1.php.net/manual/en/function.curl-setopt-array.php 참고
|
||||
if (!function_exists('curl_setopt_array')) {
|
||||
function curl_setopt_array(&$ch, $curl_options)
|
||||
{
|
||||
foreach ($curl_options as $option => $value) {
|
||||
if (!curl_setopt($ch, $option, $value)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 네이버 신디케이션에 ping url 을 curl 로 전달합니다.
|
||||
function naver_syndi_ping($bo_table, $wr_id)
|
||||
{
|
||||
global $config;
|
||||
|
||||
$token = trim($config['cf_syndi_token']);
|
||||
|
||||
// 토큰값이 없다면 네이버 신디케이션 사용안함
|
||||
if ($token == '') return 0;
|
||||
|
||||
// 신디케이션 수집 제외게시판
|
||||
if (preg_match('#^('.$config['cf_syndi_except'].')$#', $bo_table)) return -2;
|
||||
|
||||
// curl library 가 지원되어야 합니다.
|
||||
if (!function_exists('curl_init')) return -3;
|
||||
|
||||
$ping_auth_header = "Authorization: Bearer " . $token;
|
||||
$ping_url = urlencode( G5_SYNDI_URL . "/ping.php?bo_table={$bo_table}&wr_id={$wr_id}" );
|
||||
$ping_client_opt = array(
|
||||
CURLOPT_URL => "https://apis.naver.com/crawl/nsyndi/v2",
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => "ping_url=" . $ping_url,
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_CONNECTTIMEOUT => 10,
|
||||
CURLOPT_TIMEOUT => 10,
|
||||
CURLOPT_HTTPHEADER => array("Host: apis.naver.com", "Pragma: no-cache", "Accept: */*", $ping_auth_header)
|
||||
);
|
||||
|
||||
//print_r2($ping_client_opt); exit;
|
||||
$ping = curl_init();
|
||||
curl_setopt_array($ping, $ping_client_opt);
|
||||
$response = curl_exec($ping);
|
||||
curl_close($ping);
|
||||
|
||||
return $response;
|
||||
}
|
||||
Reference in New Issue
Block a user