<?php
function fiddb_article($fiddb,$rows=8,$leng=50,$order='list'){
global $db,$pre,$Fid_db,$webdb;
if(!$webdb[viewNoPassArticle]){
$SQL_yz=' AND yz=1 ';
}
$detail=explode(",",$fiddb);
foreach($detail AS $key=>$fid){
if(!$fid){
continue;
}
$SQL="WHERE fid='$fid' $SQL_yz ORDER BY $order DESC LIMIT $rows";
$which='*';
$rs=list_article($SQL,$which,$leng);
//如果本栏目不能获取到文章,将获取其所有子栏目的文章
if(!$rs)
{
$array_fid=Get_SonFid("{$pre}sort",$fid);
if($array_fid)
{
$SQL="WHERE fid IN (".implode(',',$array_fid).") $SQL_yz ORDER BY $order DESC LIMIT $rows";
$rs=list_article($SQL,$which,$leng);
}
}
//为获取栏目名称
if($Fid_db[name][$fid]){
$listdb[$fid][name]=$Fid_db[name][$fid];
}else{
$rss=$db->get_one("SELECT name FROM {$pre}sort WHERE fid='$fid' ");
$listdb[$fid][name]=$rss[name];
}
$listdb[$fid][fid]=$fid;
$listdb[$fid][article]=$rs;
}
//重新排序
foreach( $detail AS $key=>$fid){
//主要是处理某些已删除的栏目
if(!$listdb[$fid][name])
{
unset($listdb[$fid]);
continue;
}
$list_db[$fid][fid]=$fid;
$list_db[$fid][name]=$listdb[$fid][name];
$list_db[$fid][article]=$listdb[$fid][article];
}
unset($listdb);
return $list_db;
}
function list_article($SQL,$which='*',$leng=40,$erp=''){
global $db,$pre;
$query=$db->query("SELECT $which FROM {$pre}article$erp $SQL");
while( $rs=$db->fetch_array($query) ){
if($rs[mid]){
$_rss=$db->get_one("SELECT * FROM {$pre}article_content_{$rs[mid]} WHERE aid='$rs[aid]' LIMIT 1");
$_rss && $rs=$rs+$_rss;
}
$rs[content]=@preg_replace('/<([^<]*)>/is',"",$rs[content]); //把HTML代码过滤掉
$rs[content]=@preg_replace('/ | | /is',"",$rs[content]); //把空格过滤掉
//如果文章有短标题,将以此显示在文章列表
if($rs[smalltitle]){
$title=$rs[smalltitle];
}else{
$title=$rs[title];
}
$rs[title]=get_word($rs[full_title]=$title,$leng);
if($rs[titlecolor]||$rs[fonttype]){
$titlecolor=$rs[titlecolor]?"color:$rs[titlecolor];":'';
$font_weight=$rs[fonttype]==1?'font-weight:bold;':'';
$rs[title]="<font style='$titlecolor$font_weight'>$rs[title]</font>";
}
$rs[posttime]=date("Y-m-d",$rs[full_posttime]=$rs[posttime]);
if($rs[picurl]){
$rs[picurl]=tempdir($rs[picurl]);
}
$listdb[]=$rs;
}
return $listdb;
}
function list_special($SQL,$which='*',$leng=40,$cleng=180){
global $db,$pre;
$query=$db->query("SELECT $which FROM {$pre}special $SQL");
while( $rs=$db->fetch_array($query) ){
$rs[content]=@preg_replace('/<([^<]*)>/is',"",$rs[content]); //把HTML代码过滤掉
$rs[about]=get_word($rs[content],$cleng);
//如果专题有短标题,将以此显示在专题列表
$title=$rs[title];
$rs[title]=get_word($rs[full_title]=$title,$leng);
$rs[posttime]=date("Y-m-d",$rs[posttime]);
if($rs[picurl]){
$rs[picurl]=tempdir($rs[picurl]);
}
$listdb[]=$rs;
}
return $listdb;
}
function do_work($id,$job,$check=0){
global $db,$pre,$timestamp,$lfjid,$lfjdb,$webdb,$web_admin,$reason,$Fid_db;
if(!$Fid_db){
include(PHP168_PATH."php168/all_fid.php");
}
if(!$lfjid){
showerr("请先登录");
}
$erp=get_id_table($id);
$rsdb=$db->get_one("SELECT A.*,B.admin FROM {$pre}article$erp A LEFT JOIN {$pre}sort B ON A.fid=B.fid WHERE A.aid='$id' ");
if($check==1){
if(!$web_admin&&!in_array($lfjid,explode(",",$rsdb[admin]))){
showerr("你没权限操作此文:$rsdb[title]");
}
}
if($job=="delete")
{
global $forcedel;
delete_article($rsdb[aid],'',$forcedel);
$array[title]="你发表的《{$rsdb[title]}》被删除了";
}
elseif($job=="move"&&$rsdb[yz]!=2)
{
global $fid;
if($fid){
$rs=$db->get_one("SELECT name FROM {$pre}sort WHERE fid='$fid'");
$db->query("UPDATE {$pre}article$erp SET fid='$fid',fname='$rs[name]',lastfid='$rsdb[fid]' WHERE aid='$id' ");
$db->query("UPDATE {$pre}reply$erp SET fid='$fid' WHERE aid='$id' ");
$rsdb[mid]&&$db->query("UPDATE {$pre}article_content_$rsdb[mid] SET fid='$fid' WHERE aid='$id' ");
$array[title]="你发表的《{$rsdb[title]}》被转移栏目了";
}
}
elseif($job=="color")
{
global $Color;
$db->query("UPDATE {$pre}article$erp SET titlecolor='$Color' WHERE aid='$id' ");
$array[title]="你发表的《{$rsdb[title]}》被设置标题颜色了";
}
elseif($job=="yz"&&$rsdb[yz]!=2&&$rsdb[yz]!=1)
{
$db->query("UPDATE {$pre}article$erp SET yz='1',yzer='$lfjdb[username]',yztime='$timestamp' WHERE aid='$id' ");
//财富处理
Give_article_money($rsdb[uid],'yz');
$array[title]="你发表的《{$rsdb[title]}》通过审核了";
}
elseif($job=="unyz"&&$rsdb[yz]!=2&&$rsdb[yz]!=0)
{
$db->query("UPDATE {$pre}article$erp SET yz='0',yzer='$lfjdb[username]',yztime='$timestamp' WHERE aid='$id' ");
//财富处理
Give_article_money($rsdb[uid],'unyz');
$array[title]="你发表的《{$rsdb[title]}》被取消审核了";
}
elseif($job=="com"&&!$rsdb[levels])
{
global $levels;
if($levels<1){
$levels=1;
}
$db->query("UPDATE {$pre}article$erp SET levels='$levels',levelstime='$timestamp' WHERE aid='$id' ");
//财富处理
Give_article_money($rsdb[uid],'com');
$array[title]="你发表的《{$rsdb[title]}》被推荐了";
}
elseif($job=="uncom"&&$rsdb[levels])
{
$db->query("UPDATE {$pre}article$erp SET levels='0',levelstime='0' WHERE aid='$id' ");
//财富处理
Give_article_money($rsdb[uid],'uncom');
$array[title]="你发表的《{$rsdb[title]}》被取消推荐了";
}
elseif($job=="top")
{
global $toptime;
$times=$timestamp+$toptime;
$db->query("UPDATE {$pre}article$erp SET list='$times' WHERE aid='$id'");
$array[title]="你发表的《{$rsdb[title]}》被置顶了";
}
elseif($job=="untop")
{
$db->query("UPDATE {$pre}article$erp SET list=posttime WHERE aid='$id' ");
$array[title]="你发表的《{$rsdb[title]}》被取消置顶了";
}
elseif($job=="front")
{
global $topid;
if($topid)
{
$rs=$db->get_one("SELECT list FROM {$pre}article$erp WHERE aid='$topid' ");
$list=$rs["list"]+5;
$db->query("UPDATE {$pre}article$erp SET list='$list' WHERE aid='$id' ");
}
else
{
$db->query("UPDATE {$pre}article$erp SET list='$timestamp' WHERE aid='$id' ");
}
$array[title]="你发表的《{$rsdb[title]}》被提前显示了";
}
elseif($job=="bottom")
{
global $bottomid;
if($bottomid)
{
$rs=$db->get_one("SELECT list FROM {$pre}article$erp WHERE aid='$bottomid' ");
$list=$rs["list"]-5;
$db->query("UPDATE {$pre}article$erp SET list='$list' WHERE aid='$id' ");
}
else
{
$db->query("UPDATE {$pre}article$erp SET list='0' WHERE aid='$id' ");
}
$array[title]="你发表的《{$rsdb[title]}》被沉底了";
}
elseif($job=='return')
{
if($rsdb[yz]==2){
$db->query("UPDATE {$pre}article$erp SET yz=1 WHERE aid='$id' ");
$array[title]="你发表的《{$rsdb[title]}》从回收站还原了";
}
}
elseif($job=='special')
{
global $spid;
if(!$spid){
showerr("请选择一个专题");
}
$rssp=$db->get_one(" SELECT * FROM {$pre}special WHERE id='$spid' ");
$detail=explode(",",$rssp[aids]);
if( !in_array($id,$detail) ){
if($rssp[aids]){
$rssp[aids]="$id,$rssp[aids]";
}else{
$rssp[aids]="$id";
}
$db->query("UPDATE `{$pre}special` SET `aids`='$rssp[aids]' WHERE id='$spid'");
}
$array[title]="你发表的《{$rsdb[title]}》被设置专题了";
}
elseif($job=='fusort'){
global $fid;
if(!$fid){
showerr("请选择一个辅栏目");
}
if(!$db->get_one("SELECT * FROM {$pre}fu_article WHERE fid='$fid' AND aid='$id'")){
$db->query("INSERT INTO {$pre}fu_article SET fid='$fid',aid='$id'");
}
$array[title]="你发表的《{$rsdb[title]}》被设置辅栏目了";
}
//短消息通知
if($reason){
$array[fromer]=$lfjdb[username];
$array[fromuid]=$lfjdb[uid];
$array[touid]=$rsdb[uid];
$array[content]=$reason;
pm_msgbox($array);
}
//删除缓存文件
delete_cache_file($rsdb[fid],$rsdb[aid]);
}
//自定义字段处理
//$basedb=id,uid