<?php
if(!defined('IN_DZZ')) {
exit('Access Denied');
}
class table_resources_cat extends dzz_table
{
public function __construct()
{
$this->_table = 'resources_cat';
$this->_pk = 'id';
parent::__construct();
}
public function insert_cat($setarr){
if(DB::result_first("select count(*) from %t where catname = %s and uid = %d",array($this->_table,$setarr['catname'],$setarr['uid'])) > 0){
return array('error'=>true,'msg'=>lang('exploder_name_repeat'));
}
if(isset($setarr['tag'])){
$setarr['tag'] = explode(',',$setarr['tag']);
$tagdata = C::t('tag')->insert_data($setarr['tag'],'explorer');
$tags = '';
foreach($tagdata as $v){
$tags .= $v['tid'].',';
}
$setarr['tag'] = substr($tags,0,-1);
}
if($insertid = parent::insert($setarr,1)){
return array('success'=>true,'insert'=>$insertid);
}
return array('error'=>true,'msg'=>lang('exploder_add_failed'));
}
public function update($catid,$setarr){
if(!$catinfo = parent::fetch($catid)) return false;
if(isset($setarr['tag'])){
$oldtids = explode(',',$catinfo['tag']);
$setarr['tag'] = array_filter(explode(',',$setarr['tag']));
if(!empty($setarr['tag'])){
$tagdata = C::t('tag')->insert_data($setarr['tag'],'explorer');
$tags = '';
foreach($tagdata as $v){
$tags .= $v['tid'].',';
$newtids[] = $v['tid'];
}
$setarr['tag'] = substr($tags,0,-1);
}else{
$setarr['tag'] = '';
}
C::t('tag')->addhot_by_tid($oldtids,-1);
}
return parent::update($catid,$setarr);
}
public function fetch_by_id($id){
$id = intval($id);
return parent::fetch($id);
}
public function del_by_id($id){
$id = intval($id);
if(!$cat = parent::fetch($id)){
return false;
}
if($cat['dafault'] == 1) return false;
}
return parent::delete($id);
}
public function fetch_by_uid($uid){
return DB::fetch_all("select * from %t where uid = %d order by `default` desc",array($this->_table,$uid));
}
public function fetch_rencent_id($id){
global $_G;
return DB::result_first("select id from %t where id < %d and uid = %d order by id desc",array($this->_table,$id,$_G['uid']));
}
}