trcategory(array(lang('delete'), array(lang('field_name'), 'txtL'), lang('field_ename'), lang('field_type'), lang('edit'))); foreach ($initfields as $k => $field) { fieldlist($k, $field, 'init'); } tabfooter('binitfieldsedit'); a_guide('initfieldsedit'); } else { if (!empty($delete)) { $chids = array_keys($channels); foreach ($delete as $fieldename) { if ($initfields[$fieldename]['iscustom']) { if (!empty($initfields[$fieldename]['istxt'])) { //删除相应的文件存储记录 $query = $db->query("SELECT {$fieldename} FROM {$tblprefix}archives"); while ($row = $db->fetch_array($query)) { txtunlink($row[$fieldename]); } } dropfieldfromtbl('archives', $fieldename, $initfields[$fieldename]['datatype']); $db->query("DELETE FROM {$tblprefix}fields WHERE ename='{$fieldename}'"); unset($initfields[$fieldename], $fieldsnew[$fieldename]); } } foreach ($chids as $chid) { updatecache('fields', $chid); } updatecache('usednames', 'fields'); } foreach ($initfields as $id => $field) { $field['cname'] = trim($fieldsnew[$id]['cname']) ? trim($fieldsnew[$id]['cname']) : $field['cname']; $db->query("UPDATE {$tblprefix}fields SET cname='{$field['cname']}' WHERE ename='{$id}' AND chid='0'");
function arc_delete($isuser = 0) { global $db, $tblprefix, $enablestatic, $cotypes; if (empty($this->aid)) { return false; } $this->basic_data(); if ($isuser && $this->archive['checked']) { return false; } //删除相应的txt存储文本 $this->detail_data(); foreach ($this->namepres as $k) { txtunlink($k); } $wherestr = "WHERE aid='" . $this->aid . "'"; foreach (array('comments', 'favorites', 'subscribes', 'answers', 'arecents', 'purchases', 'offers', 'replys') as $var) { //???????????????? $db->query("DELETE FROM {$tblprefix}{$var} {$wherestr}", 'UNBUFFERED'); } $db->query("DELETE FROM {$tblprefix}albums WHERE aid='" . $this->aid . "' OR pid='" . $this->aid . "'", 'UNBUFFERED'); //合辑关系全部删除 //删除相关已生成的静态文件 $arcurl = arc_format($this->archive); for ($i = 1; $i <= $this->channel['addnum']; $i++) { m_unlink(m_parseurl($arcurl, array('addno' => $i))); } $db->query("DELETE FROM {$tblprefix}archives_" . $this->archive['chid'] . " {$wherestr}", 'UNBUFFERED'); $db->query("DELETE FROM {$tblprefix}archives_sub {$wherestr}", 'UNBUFFERED'); $db->query("DELETE FROM {$tblprefix}archives_rec {$wherestr}", 'UNBUFFERED'); $db->query("DELETE FROM {$tblprefix}archives {$wherestr}", 'UNBUFFERED'); //数量统计 $this->auser->basedeal('archive', 0); $this->archive['checked'] && $this->auser->basedeal('check', 0); $uploadsize = 0; $query = $db->query("SELECT * FROM {$tblprefix}userfiles WHERE tid='1' AND aid='" . $this->aid . "'"); while ($item = $db->fetch_array($query)) { $ufile = local_file($item['url']); @unlink($ufile); clear_dir($ufile . '_s', true); $uploadsize += ceil($item['size'] / 1024); } $this->auser->updateuptotal($uploadsize, 'reduce', 1); $db->query("DELETE FROM {$tblprefix}userfiles {$wherestr}", 'UNBUFFERED'); $this->init(); return true; }