Esempio n. 1
0
     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'");
Esempio n. 2
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;
 }