trackback.php
来自「php 开发的内容管理系统」· PHP 代码 · 共 128 行
PHP
128 行
<?php
/**
* Article management
*
* @copyright The XOOPS project http://www.xoops.org/
* @license http://www.fsf.org/copyleft/gpl.html GNU public license
* @author Taiwen Jiang (phppp or D.J.) <php_pp@hotmail.com>
* @since 1.00
* @version $Id$
* @package module::article
*/
if (!defined("XOOPS_ROOT_PATH")) {
exit();
}
include_once dirname(dirname(__FILE__))."/include/vars.php";
mod_loadFunctions("parse", $GLOBALS["artdirname"]);
if(!class_exists("Trackback")){
class Trackback extends ArtObject
{
//var $db;
//var $table;
function Trackback($id = null)
{
$this->ArtObject();
//$this->db =& Database::getInstance();
$this->table = art_DB_prefix("trackback");
$this->initVar("tb_id", XOBJ_DTYPE_INT, null);
$this->initVar("art_id", XOBJ_DTYPE_INT, 0, true);
$this->initVar("tb_status", XOBJ_DTYPE_INT, 0);
$this->initVar("tb_time", XOBJ_DTYPE_INT);
$this->initVar("tb_title", XOBJ_DTYPE_TXTBOX);
$this->initVar("tb_url", XOBJ_DTYPE_TXTBOX);
$this->initVar("tb_excerpt", XOBJ_DTYPE_TXTBOX);
$this->initVar("tb_blog_name", XOBJ_DTYPE_TXTBOX);
$this->initVar("tb_ip", XOBJ_DTYPE_INT);
}
function getTime($format ="s")
{
mod_loadFunctions("time", $GLOBALS["artdirname"]);
$time = art_formatTimestamp($this->getVar("tb_time"), $format);
return $time;
}
function getIp()
{
return long2ip($this->getVar("tb_ip"));
}
}
}
art_parse_class('
class [CLASS_PREFIX]TrackbackHandler extends ArtObjectHandler
{
function [CLASS_PREFIX]TrackbackHandler(&$db) {
$this->ArtObjectHandler($db, art_DB_prefix("trackback", true), "Trackback", "tb_id", "tb_url");
}
function &getByArticle($art_id, $isApproved = true)
{
$sql = "SELECT * FROM " . art_DB_prefix("trackback") . " WHERE art_id = ". intval($art_id);
if ($isApproved) {
$sql .= " AND tb_status>0";
}
$result = $this->db->query($sql);
$ret = array();
while ($myrow = $this->db->fetchArray($result)) {
$trackback =& $this->create(false);
$trackback->assignVars($myrow);
$ret[$myrow["tb_id"]] = $trackback;
unset($trackback);
}
return $ret;
}
function deleteIds($ids)
{
$ids = array_map("intval", $ids);
$sql = "DELETE FROM ".art_DB_prefix("trackback")." WHERE tb_id IN (". implode(",",$ids).")";
if (!$result = $this->db->queryF($sql)) {
xoops_error("delete trackbacks error:" . $sql);
return false;
}
return true;
}
function approveIds($ids)
{
$ids = array_map("intval", $ids);
$sql = "UPDATE ".art_DB_prefix("trackback")." SET tb_status=1 WHERE tb_id IN (". implode(",",$ids).")";
if (!$result = $this->db->queryF($sql)) {
xoops_error("approve trackback error:" . $sql);
return false;
}
return true;
}
function deleteByArticle($art_id)
{
$trackbacks = $this->getByArticle($art_id);
if(count($trackbacks)>0){
$this->deleteIds(array_keys($trackbacks));
}
return true;
}
function getStatus()
{
return 1;
}
/**
* clean orphan items from database
*
* @return bool true on success
*/
function cleanOrphan()
{
parent::cleanOrphan(art_DB_prefix("article"), "art_id");
}
}
');
?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?