【php开源代码栏目提醒】:网学会员在php开源代码频道为大家收集整理了blog.inc.php提供大家参考,希望对大家有所帮助!
<?php
class Blog extends DBSQL
{
public $pagesize;
public function __construct()
{
parent::__construct();
$this->pagesize = 20;
}
/**
* 功能:检测指定ID博客是否存在
* 参数:$id 博客ID
* 返回:TRUE OR FALSE
*/
public function CheckBlogExist($id)
{
$sql = "SELECT F_ID FROM EM_BLOG_INFO WHERE F_ID = '$id'";
$r = $this->select($sql);
if($r[0][0]) //判断是否有此ID的记录
{
return true;
}else{
return false;
}
}
/**
* 功能:检测进入博客是否锁定或需要输入密码
* 参数:$id 博客ID
* 返回:2表示锁定,1表示需要输入密码,0表示公开
*/
public function CheckBlogIsLocked($id)
{
$sql = "SELECT F_BLOG_IS_LOCKED,F_BLOG_PASSWORD FROM EE_BLOG_USER WHERE F_ID_BLOG_INFO = $id";
$r = $this->select($sql);
if($r[0][F_BLOG_IS_LOCKED]) //判断锁定参数是否为1
{
return 2;
}else{
if($r[0][F_BLOG_PASSWORD]) //判断博客是否设置了密码
{
return 1;
}else{
return 0;
}
}
}
/**
* 功能:检测进入博客的密码
* 参数:$blogid 博客ID,$password 密码
* 返回:TRUE OR FALSE
*/
public function CheckPassword($blogid,$password)
{
$password = md5($password);
$sql = "SELECT F_ID FROM EE_BLOG_USER WHERE F_ID_BLOG_INFO = $blogid AND F_BLOG_PASSWORD = '$password'";
$r = $this->select($sql);
if($r[0][0]) //检查密码是否正确
{
return true;
}else{
return false;
}
}
/**
* 功能:按条件提取文章列表
* 参数:$blogid 博客ID,$categories 分类ID,$keyword 关键字,$date 日期
* 参数:$status 提取文章的状态,$page 当前页码
* 返回:数组
*/
public function GetPostList($blogid,$categories=0,$keyword='',$date='',$status=0,$page=1,$pagesize=0)
{
if(!$pagesize)
$pagesize = $this->pagesize;
$start = ($page - 1) * $pagesize;
$sql = "SELECT c.F_CATEGORIES_NAME,c.F_ID as CatId,p.F_POSTS_IS_COMMENTED,p.F_POSTS_TITLE,p.F_POSTS_CONTENTS,p.F_ID,p.F_POSTS_COMMENTS,p.F_POSTS_ISSUE_DATE,p.F_POSTS_VIEWS FROM EE_BLOG_CATEGORIES c,EE_BLOG_POSTS p";
$sql .= " WHERE c.F_ID_BLOG_INFO = $blogid AND c.F_ID = p.F_ID_CATEGORIES";
if($categories > 0) //判断是否有分类ID
$sql .= " AND c.F_ID = $categories"; //加入分类条件
if($key
word) //判断是否有关键字
$sql .= " AND (p.F_POSTS_TITLE like '%$keyword%' OR p.F_POSTS_CONTENTS like '%$keyword%')"; //加入关键字条件
if($date) //判断是否有日期,加入日期条件
{
list($year,$month,$day) = explode("-",$date);
$start_date = mktime(0,0,0,$month,$day,$year);
$end_date = mktime(23,59,59,$month,$day,$year);
$sql .= " AND (p.F_POSTS_ISSUE_DATE >= $start_date AND p.F_POSTS_ISSUE_DATE <= $end_date)";
}
switch ($status) //判断提取文章状态
{
case 1: //1为提取公开文章
$sql .= " AND p.F_POSTS_STATUS = 1";
break;
case 2: //2为提取公开和
会员查看的文章
$sql .= " AND (p.F_POSTS_STATUS = 1 OR p.F_POSTS_STATUS = 2)";
break;
default:
break;
}
$sql .= " ORDER BY p.F_POSTS_ISSUE_DATE DESC LIMIT $start,$pagesize";
return $this->select($sql);
}
/**
* 功能:提取文章条数
* 参数:$blogid 博客ID,$categories 分类ID,$keyword 关键字,$date 日期
* 参数:$status 提取文章的状态,$page 当前页码
* 返回:整数
*/
public function GetPostCount($blogid,$categories=0,$keyword='',$date='',$status=0)
{
$sql = "SELECT count(p.F_ID) FROM EE_BLOG_CATEGORIES c,EE_BLOG_POSTS p";
$sql .= " WHERE c.F_ID_BLOG_INFO = $blogid AND c.F_ID = p.F_ID_CATEGORIES";
if($categories > 0) //判断是否有分类ID
$sql .= " AND c.F_ID = $categories"; //加入分类条件
if($keyword) //判断是否有关键字
$sql .= " AND (p.F_POSTS_TITLE like '%$keyword%' OR p.F_POSTS_CONTENTS like '%$keyword%')"; //加入关键字条件
if($date) //判断是否有日期,加入日期条件
{
list($year,$month,$day) = explode("-",$date);
$start = mktime(0,0,0,$month,$day,$year);
$end = mktime(23,59,59,$month,$day,$year);
$sql .= " AND (p.F_POSTS_ISSUE_DATE >= $start AND p.F_POSTS_ISSUE_DATE <= $end)";
}
switch ($status) //判断提取文章状态
{
case 1: //1为提取公开文章
$sql .= " AND p.F_POSTS_STATUS = 1";
break;
case 2: //2为提取公开和会员查看的文章
$sql .= " AND (p.F_POSTS_STATUS = 1 OR p.F_POSTS_STATUS = 2)";
break;
default:
break;
}
$r = $this->select($sql);
return $r[0][0];
}
/**
* 功能:提取分类
列表 * 参数:$blogid 博客ID
* 返回:数组
*/
public function GetCatList($blogid)
{
$sql = "SELECT * FROM EE_BLOG_CATEGORIES WHERE F_ID_BLOG_INFO = $blogid";
$sql .= " ORDER BY F_CATEGORIES_POSTS DESC";
r