<?phpnamespace Home\Controller;
use Think\Controller;
class MoodController extends Controller {
public function index(){
$this->assign("userid",session("user_id"));
$this->moodList();
$this->display();
}
public function moodList(){
$mood=M("dynamics");
$count = $mood->where("parent_id=0")->count() $Page = new \Think\Page($count,20) $Page->setConfig('theme','%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%');
$Page->setConfig('prev','上一页');
$Page->setConfig('next','下一页');
$show = $Page->show() $where=array("parent_id"=>0);
$result = $mood->limit($Page->firstRow.','.$Page->listRows)->where($where)->order("dynamics_id desc")->select();
foreach($result as $key=>$value){
$username=$this->getThisArtAuth($value["user_id"]);
$result[$key]["username"]=$username["user_name"];
$result[$key]["user_img"]=$username["user_img"];
}
$this->assign("mood",$result);
$this->assign('page',$show) }
public function getThisArtAuth($user_id){
$User=M("user");
$data["user_id"]=$user_id;
$name=$User->field("user_name,user_img")->where($data)->find();
return $name;
}
public function moodInto(){
$mood_id=I("get.dynamics_id");
$mood=M("dynamics");
$data=$mood->where(array("dynamics_id"=>$mood_id))->find();
$admInfo=$this->getThisArtAuth($data["user_id"]);
$this->getMoodUnderList($data["dynamics_id"]);
$this->assign("userid",session("user_id"));
$this->assign("moodone",$data);
$this->assign("info",$admInfo);
$this->assign("userid",session("user_id"));
$this->display();
}
public function getMoodUnderList($parentid){
$mood=M("dynamics");
$count=$mood->where(array("parent_id"=>$parentid))->count();
$Page = new \Think\Page($count,10);
$Page->setConfig('theme','%HEADER% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%');
$Page->setConfig('prev','上一页');
$Page->setConfig('next','下一页');
$show = $Page->show()
$result = $mood->limit($Page->firstRow.','.$Page->listRows)->where(array("parent_id"=>$parentid))->order("dynamics_id asc")->select();
foreach($result as $key=>$value){
$username=$this->getThisArtAuth($value["user_id"]);
$result[$key]["username"]=$username["user_name"];
$result[$key]["user_img"]=$username["user_img"];
}
$this->assign("moodlist",$result);
$this->assign('page',$show) }
public function comment(){
$dynamicsDb=M("dynamics");
$message=array("success"=>false,"error"=>"");
$data["parent_id"]=I("post.parent_id");
$data["user_id"]=I("post.userid");
$data["d_addtime"]=time();
$data["content"]=I("post.content","","");
$data["content"]=$this->ChangeUser($data["content"]);
$this->isComentSet($data["user_id"]);
$re=$dynamicsDb->add($data);
if($re){
$this->setIntParentCount($data["parent_id"],$dynamicsDb);
$message["success"]=true;
}else{
$message["error"]="保存失败";
}
echo json_encode($message);
}
public function isComentSet($userid){
$UserModel=D("user");
$data=$UserModel->where(array("uid"=>$userid))->find();
if($data["is_comment"]==1){
$message=array("success"=>false,"error"=>"你被管理员禁止评论");
echo json_encode($message);
exit();
}
}
function ChangeUser($content){
$pattern="/@\w+:/" preg_match_all($pattern,$content,$match);
for($i=0;$i<count($match[0]);$i++){
$uid=$this->inUserNameget(trim($match[0][$i],'@:'));
$url=U('User/userIndex',array('uid'=>$uid));
$html="<a href='".$url."'style='color:red' target='_blank' >  ".$match[0][$i]."</a>";
if($uid!=false){
$content=strtr($content,array($match[0][$i]=>$html));
}
}
return $content;
}
function inUserNameget($username){
$user=M("user");
$sql["user_name"]=array("eq",$username);
$data=$user->field("user_id")->where($sql)->find();
if($data){
return $data["user_id"];
}else{
return false;
}
}
function setIntParentCount($pid,$db){
$db->where("dynamics_id=".$pid)->setInc('d_count');
}
}