⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trackback.php

📁 M-logger v0.3.1 中文版
💻 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('','"',"'",'\\','&lt;','&gt;'),$str);
		}else{
			$str=str_replace(array("\r","\n",'\\"',"\\'",'\\\\','<','>'),array('','','"',"'",'\\','&lt;','&gt;'),$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 + -