📄 trackback.php
字号:
<?
/**
* Title: receive trackback pings
* File Name: ./trackback.php
* Copyright (c) 2004 M-logger
* Author: milkliker
* Modify: milkliker
* Last Change: 14:43 2004-5-5
* Version: 0.3.0
**/
//---[require files]----------------------------------------
require_once("class/TxtDb.inc.php");
//---[page start]-------------------------------------------
ob_start();
header("Content-Type: text/xml");
$date=$_GET['date'];
$id=$_GET['id'];
$encoding=$_GET['encoding'];
if(empty($_POST['url'])){
$url=$_GET['url'];
$title=$_GET['title'];
$excerpt=$_GET['excerpt'];
$blog=$_GET['blog_name'];
}else{
$url=$_POST['url'];
$title=$_POST['title'];
$excerpt=$_POST['excerpt'];
$blog=$_POST['blog_name'];
}
$error=1;
function savestr($str,$nl=false){
global $encoding;
if(function_exists(iconv)) $str=iconv($encoding,"UTF-8",$str);
if($str){
if($nl){
$str=str_replace(array("\r",'\\"',"\\'",'\\\\','<','>'),array('','"',"'",'\\','<','>'),$str);
}else{
$str=str_replace(array("\r","\n",'\\"',"\\'",'\\\\','<','>'),array('','','"',"'",'\\','<','>'),$str);
}
if(strlen($str)>255){
$i=252;
while(ord(substr($str,$i-1,1))>0xa0){//for save
$i--;
}
$str=substr($str,0,$i).'...';
}
return $str;
}
}
//---[trackback]--------------------------------------------
if(empty($url) or substr($url,0,7)!='http://'){
$msg='Invalid URL!';
}elseif(empty($id) or empty($date)){
$msg='TrackBack info is missing! (id and date)';
}elseif(empty($encoding)){
$msg='Character encoding is null!';
}else{
$datea=explode('-',$date);
$tbl='content/'.$datea[0].'_'.$datea[1].'_'.$datea[2];
$db=new txtdb('./db');
if($db->exists($tbl)) $logdata=$db->get("'{id}'=='{$id}'",0,null,$tbl);
if(empty($logdata) or $logdata[value][type]!='log'){
$msg='No such item!';
}else{
$tbdata=$db->get("'{url}'=='{$url}'",0,null,'trackback');
if(!empty($tbdata)){
$msg='Could not save trackback data, possibly because of a double entry url: <![CDATA['.$url.']]>';
}else{
$title=savestr($title);$excerpt=savestr($excerpt,true);$blog=savestr($blog);
$tbdata=array('mdate'=>$date,'mid'=>$id,'url'=>$url,'title'=>$title,'excerpt'=>$excerpt,'blog'=>$blog,'time'=>date("Y.n.j"));
$db->append($tbdata,0);
if($db->save()){
$logdata[value][trackback]++;
$db->change($logdata[value],intval($logdata[id]),false,null,$tbl);
$db->save($tbl);
$error=0;
}else{
$msg='Could not save trackback data, possibly because of unwriteable database!';
}
}
}
}
//---[output XML]-------------------------------------------
//ob_end_clean();
echo '<?xml version="1.0" encoding="UTF-8" ?>';
if($error){
echo '<response><error>1</error><message>'.$msg.'</message></response>';
}else{
echo '<response><error>0</error></response>';
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -