返回頂部
關(guān)閉軟件導(dǎo)航
位置:首頁 > 資訊 > 帝國新聞>疑是帝國CMS(EmpireCMS v 6.0)最新BUG

  我是個(gè)茉鳥,在尋求建站系統(tǒng)時(shí),找到了傳說中靈活度最高,最好用的網(wǎng)站管理系統(tǒng),也就是我要說的帝國cms,于是下載了個(gè)EmpireCMS v 6.0來研究一下,在學(xué)習(xí)帝國CMS的過程中,側(cè)重了解了一下帝國的工作原理,大量的函數(shù),耗了我?guī)滋鞎r(shí)間才理清楚個(gè)來龍去脈。不經(jīng)意間,發(fā)現(xiàn)一個(gè)疑是帝國CMS的bug,這個(gè)BUG不大不小,對平時(shí)的使用基本沒什么影響,也就是在刪除數(shù)據(jù)表的時(shí)候可能遇到。下面我就放出來吧,讓高手們進(jìn)一步確認(rèn)。

  在/e/class/moddofun.php中有個(gè)刪除副表分表函數(shù)

  function DelDataTable($add,$userid,$username){

  global $empire,$dbtbpre帝國cms軟件采集,$emod_r;

  //操作權(quán)限

  CheckLevel($userid,$username,$classid,"table");

  $tid=(int)$add['tid'];

  $tbname=RepPostVar($add['tbname']);

  $datatb=(int)$add['datatb'];

  if(!$tid||!$tbname||!$datatb)

  {

  printerror("NotChangeDataTable","history.go(-1)");

  }

  $tr=$empire->fetch1("select tid,tbname,datatbs,deftb from {$dbtbpre}enewstable where tid='$tid'");

  if(!$tr['tid'])

  {

  printerror("NotChangeDataTable","history.go(-1)");

  }

  if(!strstr($tr['datatbs'],','.$datatb.'帝國cms采集軟件,'))

  {

  printerror("NotChangeDataTable","history.go(-1)");

  }

帝國cms批量助手

  if($tr['deftb']==$datatb||$datatb==1)

  {

  printerror("NotDelDefDataTable","history.go(-1)");

  }

  $newdatatbs=str_replace(','.$datatb.',',',',$tr['datatbs']);

  $sql=$empire->query("update {$dbtbpre}enewstable set datatbs='$newdatatbs' where tid='$tid'");

  //刪除信息

  $infosql=$empire->query("select * from {$dbtbpre}ecms_".$tr[tbname]." where stb='$datatb'");

帝國cms批量更新文章

  while($infor=$empire->fetch($infosql))

  {

  $mid=$emod_r[$infor[classid]]['modid'];

  $pf=$emod_r[$mid]['pagef'];

  $stf=$emod_r[$mid]['savetxtf'];

  //分頁字段

  if($pf)

  {

  if(strstr($emod_r[$mid]['tbdataf'],','.$pf.','))

  {

  $finfor=$empire->fetch1("select ".$pf." from {$dbtbpre}ecms_".$tr[tbname]."_data_".$datatb." where id='$infor[id]'");

  $infor[$pf]=$finfor[$pf];

  }

  }

  //存文本

  if($stf)

  {

  $newstextfile=$infor[$stf];

  $infor[$stf]=GetTxtFieldText($infor[$stf]);

  DelTxtFieldText($newstextfile);//刪除文件

  }

  //刪除信息文件

  DelNewsFile($infor[filename],$infor[newspath],$infor[classid],$infor[$pf],$infor[groupid]);

  //刪除其它表記錄

  $empire->query("delete from {$dbtbpre}enewsqf where id='$infor[id]' and classid='$infor[classid]'");

  $empire->query("delete from {$dbtbpre}enewsinfovote where id='$infor[id]' and classid='$infor[classid]'");

  $empire->query("delete from {$dbtbpre}enewsdiggips where id='$infor[id]' and classid='$infor[classid]'");

  //刪除附件

  DelNewsTheFile($infor['id'],$infor['classid']);

  }

  $deltb=$empire->query("delete from {$dbtbpre}ecms_".$tr[tbname]." where stb='$datatb'");

  //刪除表

  $deltb=$empire->query("DROP TABLE IF EXISTS {$dbtbpre}ecms_".$tr[tbname]."_data_".$datatb.";");

  GetConfig(1);//更新緩存

  if($sql)

  {

  //操作日志

  insert_dolog("tid=".$tid."

  tbname=".$tr[tbname]."&datatb=$datatb");

  printerror("DelDataTableSuccess"帝國cms批量添加產(chǎn)品 ,"db/ListDataTable.php?tid=$tid&tbname=$tr[tbname]");

  }

  else

  {

  printerror("DbError","history.go(-1)");

  }

  }

  巴比站長

  紅色部分,作者的意思應(yīng)該是從模型緩存數(shù)組里獲取當(dāng)前要操作的欄目對應(yīng)的模型ID,但本人通過輸出emod_r的全部內(nèi)容,發(fā)現(xiàn)這個(gè)數(shù)組里并沒有以模型ID(modid元素),而其第一維下標(biāo)應(yīng)該是模板ID(newstempid),這條語句取出的mid可能是錯(cuò)誤的。那么后續(xù)操作要么誤操作帝國cms批量更新,要么失敗。我翻開當(dāng)時(shí)學(xué)習(xí)時(shí)的記錄(現(xiàn)在已經(jīng)記得不清楚了),寫了個(gè)替代的語句。

如果您覺得 疑是帝國CMS(EmpireCMS v 6.0)最新BUG 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://www.brucezhang.com/article/diguo/ysdgCMSEmpireCMSvzxBUG.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: 成人看片黄在线观看| 老司机成人影院| 久久婷婷成人综合色综合| 亚洲欧洲精品成人久久曰| 69国产成人精品午夜福中文| 成人综合国产乱在线| 国产成人8X视频网站入口| 久久亚洲国产成人精品性色 | 国产成人亚洲午夜电影| 成人免费高清完整版在线观看| 国产成人精品久久综合| 精品成人AV一区二区三区| 国产成人精品一区二区三区无码| 亚洲国产成人久久一区二区三区| 成人国产精品一级毛片视频| 亚洲色成人WWW永久网站| 国产日产成人免费视频在线观看| 久久亚洲国产成人精品无码区| 国产成人精品无码片区在线观看 | 欧美成人在线免费观看| 国产成人久久精品一区二区三区 | 欧美成人鲁丝片在线观看| 国产免费69成人精品视频| 成人女人a毛片在线看| 韩国成人在线视频| 亚洲av无码专区在线观看成人| 成人乱码一区二区三区AV| 成人综合在线视频免费观看完整版| 亚洲国产精品无码成人片久久| 国产成人在线网址| 国产成人精品亚洲一区| 国产成人精品三级在线| 成人亚洲欧美日韩在线| 国产精品成人va在线观看入口| 成人乱码一区二区三区AV| 国产成人精品无缓存在线播放| 在线免费成人网| 国产成人AV区一区二区三| 成人免费淫片在线费观看| 在线成人综合色一区| 久久精品成人免费观看|