mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
issue 1763, fixed a bug that trackback is not work.
git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11309 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f6dfbbc03f
commit
3f6fc389a7
5 changed files with 36 additions and 43 deletions
|
|
@ -22,7 +22,9 @@ RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ ./index.php?vid=$1&
|
|||
|
||||
# trackback
|
||||
RewriteRule ^([0-9]+)/(.+)/trackback$ ./index.php?document_srl=$1&key=$2&act=trackback [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?mid=$1&document_srl=$2&key=$3&act=trackback [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?vid=$1&document_srl=$2&key=$3&act=trackback [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?vid=$1&mid=$2&document_srl=$3&key=$4&act=trackback [L]
|
||||
|
||||
# administrator page
|
||||
RewriteRule ^admin/?$ ./index.php?module=admin [L]
|
||||
|
|
|
|||
|
|
@ -1125,7 +1125,9 @@ class Context {
|
|||
'act.mid' =>$is_feed?"$mid/$act":'',
|
||||
'act.mid.vid'=>$is_feed?"$vid/$mid/$act":'',
|
||||
'act.document_srl.key' =>($act=='trackback')?"$srl/$key/$act":'',
|
||||
'act.document_srl.key.vid'=>($act=='trackback')?"$vid/$srl/$key/$act":''
|
||||
'act.document_srl.key.mid'=>($act=='trackback')?"$mid/$srl/$key/$act":'',
|
||||
'act.document_srl.key.vid'=>($act=='trackback')?"$vid/$srl/$key/$act":'',
|
||||
'act.document_srl.key.mid.vid'=>($act=='trackback')?"$vid/$mid/$srl/$key/$act":''
|
||||
);
|
||||
|
||||
$query = $target_map[$target];
|
||||
|
|
|
|||
|
|
@ -200,4 +200,8 @@
|
|||
<value xml:lang="jp"><![CDATA[サイト]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[網站]]></value>
|
||||
</item>
|
||||
<item name="msg_trackback_send_failed">
|
||||
<value xml:lang="ko"><![CDATA[엮인글 발송을 실패하였습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Failed to send]]></value>
|
||||
</item>
|
||||
</lang>
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
$document_srl = Context::get('target_srl');
|
||||
$oDocumentModel = &getModel('document');
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl);
|
||||
if(!$oDocument->isExists() || !$oDocument->getSummary()) return new Object();
|
||||
if(!$oDocument->isExists()) return new Object();
|
||||
if($oDocument->getMemberSrl() != $logged_info->member_srl) return new Object();
|
||||
// Add a link sent yeokingeul
|
||||
$oDocumentController = &getController('document');
|
||||
|
|
@ -278,22 +278,22 @@
|
|||
*/
|
||||
function sendTrackback($oDocument, $trackback_url, $charset) {
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
// Information sent by
|
||||
$http = parse_url($trackback_url);
|
||||
|
||||
$obj->blog_name = str_replace(array('<','>','&','"'), array('<','>','&','"'), Context::getBrowserTitle());
|
||||
$oModuleController->replaceDefinedLangCode($obj->blog_name);
|
||||
$obj->title = $oDocument->getTitleText();
|
||||
$obj->excerpt = $oDocument->getSummary(200);
|
||||
$obj->url = getFullUrl('','document_srl',$oDocument->document_srl);
|
||||
|
||||
// blog_name, title, excerpt, url charset of the string to the requested change
|
||||
if($charset && function_exists('iconv')) {
|
||||
foreach($obj as $key=>$val) {
|
||||
$obj->{$key} = iconv('UTF-8',$charset,$val);
|
||||
}
|
||||
}
|
||||
// written information sent to socket
|
||||
if($http['query']) $http['query'].="&";
|
||||
if(!$http['port']) $http['port'] = 80;
|
||||
|
||||
$content =
|
||||
sprintf(
|
||||
|
|
@ -306,43 +306,28 @@
|
|||
urlencode($obj->blog_name),
|
||||
urlencode($obj->excerpt)
|
||||
);
|
||||
if($http['query']) $content .= '&'.$http['query'];
|
||||
$content_length = strlen($content);
|
||||
// header by
|
||||
$header =
|
||||
sprintf(
|
||||
"POST %s HTTP/1.1\r\n".
|
||||
"Host: %s\r\n".
|
||||
"Content-Type: %s\r\n".
|
||||
"Content-Length: %s\r\n\r\n".
|
||||
"%s\r\n",
|
||||
$http['path'],
|
||||
$http['host'],
|
||||
"application/x-www-form-urlencoded",
|
||||
$content_length,
|
||||
$content
|
||||
);
|
||||
if(!$http['host']||!$http['port']) return new Object(-1,'msg_trackback_url_is_invalid');
|
||||
// Opens a socket on the target server you want to send
|
||||
$fp = @fsockopen($http['host'], $http['port'], $errno, $errstr, 5);
|
||||
if(!$fp) return new Object(-1,'msg_trackback_url_is_invalid');
|
||||
// Header information sent by
|
||||
fputs($fp, $header);
|
||||
// Waiting for the results (in particular the server may not be falling EOF
|
||||
while(!feof($fp)) {
|
||||
$line = trim(fgets($fp, 4096));
|
||||
if(preg_match("/^<error>/i",$line)){
|
||||
$error = preg_replace('/[^0-9]/','',$line);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Close socket
|
||||
fclose($fp);
|
||||
|
||||
if($error == "0") return new Object(0, 'msg_trackback_send_success');
|
||||
$buff = FileHandler::getRemoteResource($trackback_url, $content, 3, 'POST', 'application/x-www-form-urlencoded');
|
||||
|
||||
$oXmlParser = new XmlParser();
|
||||
$xmlDoc = $oXmlParser->parse($buff);
|
||||
|
||||
if($xmlDoc->response->error->body == '0')
|
||||
{
|
||||
return new Object(0, 'msg_trackback_send_success');
|
||||
}
|
||||
else
|
||||
{
|
||||
if($xmlDoc->response->message->body)
|
||||
{
|
||||
return new Object(-1, sprintf('%s: %s', Context::getLang('msg_trackback_send_failed'), $xmlDoc->response->message->body));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new Object(-1, 'msg_trackback_send_failed');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Within a specific time of a specific ipaddress Trackbacks delete all
|
||||
|
|
|
|||
|
|
@ -158,8 +158,8 @@
|
|||
* @param int $document_srl
|
||||
* @return string
|
||||
*/
|
||||
function getTrackbackUrl($document_srl) {
|
||||
$url = getFullUrl('','document_srl',$document_srl,'act','trackback','key',$this->getTrackbackKey($document_srl));
|
||||
function getTrackbackUrl($document_srl, $mid = NULL) {
|
||||
$url = getFullUrl('', 'mid', $mid, 'document_srl',$document_srl,'act','trackback','key',$this->getTrackbackKey($document_srl));
|
||||
return $url;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue