Exemple #1
0
 public function delete_by_uid($uid)
 {
     $user = parent::fetch($uid);
     if (self::checkfounder($user)) {
         //创始人不能删除
         return false;
     }
     if (parent::delete($uid)) {
         C::t('user_field')->delete($uid);
         C::t('user_profile1')->delete($uid);
         C::t('user_status')->delete($uid);
         C::t('organization_user')->delete_by_uid($uid, 0);
         DB::delete('user_thame', "uid='{$uid}'");
         //删除用户主题
         DB::delete('user_playlist', "uid='{$uid}'");
         //删除播放列表
         //删除用户文件
         foreach (DB::fetch_all("select fid from %t where uid=%d and gid<1 ", array('folder', $uid)) as $value) {
             C::t('folder')->delete_by_fid($value['fid'], true);
         }
         //删除用户云链接
         foreach (DB::fetch_all("select * from %t where 1", array('connect')) as $cloud) {
             if ($cloud['dname']) {
                 C::t($cloud['dname'])->delete_by_uid($uid);
             }
         }
         wx_deleteUser($uid);
         return true;
     }
     return false;
 }
 function fetch_by_jobid($jobid)
 {
     include_once libfile('function/organization');
     $data = parent::fetch($jobid);
     $data['orgtree'] = getTreeByOrgid($data['orgid']);
     return $data;
 }
 public function setUnrun_by_aid($aid, $r)
 {
     //设置允许运行,如果文件在本地同时修改实际文件名,增加无法运行的后缀;
     $data = parent::fetch($aid);
     if ($data['remote'] == 0 || $data['remote'] == 1) {
         //文件在本地,修改文件名
         if ($r > 0) {
             $earr = explode('.', $data['attachment']);
             foreach ($earr as $key => $ext) {
                 if (in_array(strtolower($ext), array($data['filetype'], 'dzz'))) {
                     unset($earr[$key]);
                 }
             }
             $tattachment = implode('.', $earr) . '.dzz';
             if ($is_file(getglobal('setting/attachdir') . './' . $data['attachment']) && @rename(getglobal('setting/attachdir') . './' . $data['attachment'], getglobal('setting/attachdir') . './' . $tattachment)) {
                 return parent::update($aid, array('unrun' => $r, 'attachment' => $tattachment));
             }
         } else {
             $earr = explode('.', $data['attachment']);
             foreach ($earr as $key => $ext) {
                 if (in_array(strtolower($ext), array($data['filetype'], 'dzz'))) {
                     unset($earr[$key]);
                 }
             }
             $tattachment = implode('.', $earr) . '.' . $data['filetype'];
             if ($is_file(getglobal('setting/attachdir') . './' . $data['attachment']) && @rename(getglobal('setting/attachdir') . './' . $data['attachment'], getglobal('setting/attachdir') . './' . $tattachment)) {
                 return parent::update($aid, array('unrun' => $r, 'attachment' => $tattachment));
             }
         }
     }
     return false;
 }
 public function delete_by_itemid($itemid)
 {
     $data = parent::fetch($itemid);
     if ($data['aid']) {
         C::t('attachment')->delete_by_aid($data['aid']);
     }
     return parent::delete($itemid);
 }
 public function delete_by_picid($picid)
 {
     if (!($data = parent::fetch($picid))) {
         return 0;
     }
     $ret = 0;
     if ($ret = parent::delete($picid)) {
         if ($data['aid']) {
             C::t('attachment')->delete_by_aid($data['aid']);
         }
     }
     return $ret;
 }
 public function fetch($id, $force_from_db = false, $fetch_archive = 0)
 {
     $data = array();
     if (!empty($id)) {
         if ($fetch_archive < 2) {
             $data = parent::fetch($id, $force_from_db);
             if ($fetch_archive && empty($data)) {
                 $data = C::t($this->_table . '_archive')->fetch($id);
             }
         } else {
             $data = C::t($this->_table . '_archive')->fetch($id);
         }
     }
     return $data;
 }
Exemple #7
0
 public function fetch($sid, $ip = false, $uid = false)
 {
     if (empty($sid)) {
         return array();
     }
     $this->checkpk();
     $session = parent::fetch($sid);
     if ($session && $ip !== false && $ip != "{$session['ip1']}.{$session['ip2']}.{$session['ip3']}.{$session['ip4']}") {
         $session = array();
     }
     if ($session && $uid !== false && $uid != $session['uid']) {
         $session = array();
     }
     return $session;
 }
 public function delete_by_catid($catid)
 {
     //同时删除所有下级分类,分类下的信息失去分类,如果是唯一的顶级分类,不允许删除
     //判断是否为唯一的顶级分类;
     if ($data = parent::fetch($catid) && $data['pid'] == 0) {
         if (DB::result_first("select COUNT(*) from %t where pid='0'", array($this->_table)) < 2) {
             return 0;
         }
     }
     $catids = self::getSonByCatid($catid);
     $ret = 0;
     if ($catids) {
         $ret = parent::delete($catids);
         DB::update('news', array('catid' => 0), "catid IN (" . dimplode($catids) . ")");
     }
     return $ret;
 }
 public function fetch_by_cutid($cutid)
 {
     //返回一条数据同时加载附件表数据
     $cutid = intval($cutid);
     if (!($cut = parent::fetch($cutid))) {
         return array();
     }
     $data = array();
     //print_r($cut);
     if ($cut['data']) {
         $data = unserialize($cut['data']);
     } else {
         $data = self::getDataByPath($cut['path']);
         self::update($cutid, array('data' => serialize($data)));
     }
     //print_r($data);
     return array('tdata' => $data);
 }
Exemple #10
0
 public function update_by_tpid($tpid, $setarr)
 {
     if (!($data = parent::fetch($tpid))) {
         return 0;
     }
     if (isset($setarr['body'])) {
         //含有body字段,处理附件
         $oaids = $data['attachs'] ? explode(',', $data['attachs']) : array();
         $attachs = self::getAidsByMessage($setarr['body']);
         $aids = $attachs ? implode(',', $attachs) : array();
         if ($oaids) {
             C::t('attachment')->addcopy_by_aid($oaids, -1);
         }
         if ($aids) {
             C::t('attachment')->addcopy_by_aid($aids);
         }
         $setting['attachs'] = $attachs ? implode(',', $attachs) : '';
     }
     return parent::update($tpid, $setarr);
 }
Exemple #11
0
 public function update_by_cid($cid, $arr)
 {
     $data = parent::fetch($cid);
     if ($return = parent::update($cid, $arr)) {
         if ($arr['aid'] != $data['aid']) {
             C::t('attachment')->addcopy_by_aid($arr['aid']);
             $aids = C::t('corpus_setting')->getCoverAids();
             if (!in_array($data['aid'], $aids)) {
                 //用户自定义的封面删除
                 C::t('attachment')->delete_by_aid($data['aid']);
             }
         }
     }
     return $return;
 }
 public function getParentByFid($fid)
 {
     static $fids = array();
     if ($class = parent::fetch($fid)) {
         $fids[] = $fid;
         if ($class['pfid'] > 0) {
             self::getParentByFid($class['pfid']);
         }
     }
     return $fids;
 }
Exemple #13
0
 public function fetch_by_path($path)
 {
     $sid = self::getSid($path);
     return parent::fetch($sid);
 }
 public function getPathByOrgid($orgid)
 {
     $ret = array();
     if ($org = parent::fetch($orgid)) {
         $ids = explode('-', str_replace('_', '', $org['pathkey']));
         $arr = parent::fetch_all($ids);
         foreach ($ids as $id) {
             if ($arr[$id]) {
                 $ret[] = $arr[$id]['orgname'];
             }
         }
     }
     return $ret ? implode('-', $ret) : '';
 }
 public function delete($revid)
 {
     $data = parent::fetch($revid);
     $attachs = array();
     if ($data['attachs']) {
         $attachs = explode(',', $data['attachs']);
     }
     $attachs[] = $data['aid'];
     foreach ($attachs as $aid) {
         C::t('attachment')->delete_by_aid($aid);
     }
     return parent::delete($revid);
 }
Exemple #16
0
 public function update_by_newid($arr)
 {
     $data = parent::fetch($arr['newid']);
     if ($return = parent::update($arr['newid'], $arr)) {
         if ($data['attachs']) {
             $attachs = explode(',', $data['attachs']);
             C::t('attachment')->addcopy_by_aid($attachs, -1);
         }
         if (isset($arr['attachs'])) {
             $attachs = explode(',', $arr['attachs']);
             C::t('attachment')->addcopy_by_aid($attachs, 1);
         }
         //新添加的范围重新发送通知
         $orgids = $uids = array();
         if ($arr['orgids'] != $data['orgids']) {
             $norgids = $arr['orgids'] ? explode(',', $arr['orgids']) : array();
             $oorgids = $data['orgids'] ? explode(',', $data['orgids']) : array();
             $orgids = array_diff($norgids, $oorigids);
         }
         if ($arr['uids'] != $data['uids']) {
             $nuids = $arr['uids'] ? explode(',', $arr['uids']) : array();
             $ouids = $data['uids'] ? explode(',', $data['uids']) : array();
             $uids = array_diff($nuids, $ouids);
         }
         $new_uids = getUidsByOrgid($orgids, $uids);
         $appid = C::t('app_market')->fetch_appid_by_mod('{dzzscript}?mod=news', 0);
         foreach ($new_uids as $uid) {
             if ($uid != getglobal('uid')) {
                 //发送通知
                 $notevars = array('from_id' => $appid, 'from_idtype' => 'app', 'url' => DZZSCRIPT . '?mod=news&op=view&newid=' . $data['newid'], 'author' => getglobal('username'), 'authorid' => getglobal('uid'), 'subject' => $data['subject'], 'dataline' => dgmdate(TIMESTAMP));
                 $action = 'news_publish';
                 $type = 'news_publish_' . $uid;
                 dzz_notification::notification_add($uid, $type, $action, $notevars, 0, 'dzz/news');
             }
         }
     }
     return $return;
 }
Exemple #17
0
 public function fetch_all_by_pcid($pcid, $limit, $iscount = false)
 {
     $limitsql = '';
     if ($limit) {
         $limit = explode('-', $limit);
         if (count($limit) > 1) {
             $limitsql .= " limit " . intval($limit[0]) . "," . intval($limit[1]);
         } else {
             $limitsql .= " limit " . intval($limit[0]);
         }
     }
     if ($iscount) {
         return DB::result_first("select COUNT(*) from %t where pcid=%d ", array($this->_table, $pcid));
     }
     $data = array();
     foreach (DB::fetch_all("select * from %t where pcid=%d order by dateline DESC {$limitsql}", array($this->_table, $pcid)) as $value) {
         $value['message'] = dzzcode($value['message']);
         $value['dateline'] = dgmdate($value['dateline'], 'u');
         $value['attachs'] = C::t('comment_attach')->fetch_all_by_cid($value['cid']);
         if ($value['rcid']) {
             $value['rpost'] = parent::fetch($value['rcid']);
         }
         $data[] = $value;
     }
     return $data;
 }