/** *检查是否误操作.设置子栏目为自己的父栏目 **/ function check_fup($table, $fid, $fup) { global $db; if (!$fup) { return; } elseif ($fid == $fup) { showerr("不能设置自身为父栏目"); } $query = $db->query("SELECT * FROM {$table} WHERE fid='{$fup}'"); while ($rs = $db->fetch_array($query)) { if ($rs[fup] == $fid) { showerr("你不能设置本身的子栏目作为父栏目,这是不允许的.但你可以设置其他子栏目作为父栏目"); } elseif ($rs[fup]) { check_fup($table, $fid, $rs[fup]); } } }
$sort_fup = $Guidedb->Select("{$pre}area", "postdb[fup]", $rsdb[fup]); $style_select = select_style('postdb[style]', $rsdb[style]); $group_post = group_box("postdb[allowpost]", explode(",", $rsdb[allowpost])); $group_viewtitle = group_box("postdb[allowviewtitle]", explode(",", $rsdb[allowviewtitle])); $group_viewcontent = group_box("postdb[allowviewcontent]", explode(",", $rsdb[allowviewcontent])); $group_download = group_box("postdb[allowdownload]", explode(",", $rsdb[allowdownload])); $typedb[$rsdb[type]] = " checked "; $forbidshow[intval($rsdb[forbidshow])] = " checked "; $allowcomment[intval($rsdb[allowcomment])] = " checked "; $tpl = unserialize($rsdb[template]); $listorder[$rsdb[listorder]] = " selected "; $sonListorder[$rsdb[config][sonListorder]] = " selected "; hack_admin_tpl('editsort'); } elseif ($action == "editsort") { //检查父栏目是否有问题 check_fup("{$pre}area", $postdb[fid], $postdb[fup]); $postdb[allowpost] = @implode(",", $postdb[allowpost]); $postdb[allowviewtitle] = @implode(",", $postdb[allowviewtitle]); $postdb[allowviewcontent] = @implode(",", $postdb[allowviewcontent]); $postdb[allowdownload] = @implode(",", $postdb[allowdownload]); $postdb[template] = @serialize($postdb[tpl]); unset($SQL); $rs_fid = $db->get_one("SELECT * FROM {$pre}area WHERE fid='{$postdb['fid']}'"); //这样处理是其他地方也修改过这个值.比如标签里 $rs_fid[config] = unserialize($rs_fid[config]); //$rs_fid[config][sonTitleRow]=$sonTitleRow; //$rs_fid[config][sonTitleLeng]=$sonTitleLeng; //$rs_fid[config][cachetime]=$cachetime; //$rs_fid[config][sonListorder]=$sonListorder; $postdb[config] = addslashes(serialize($rs_fid[config])); if ($rs_fid[fup] != $postdb[fup]) {
} elseif ($action == 'batch_edit' && $Apower[fu_sort_power]) { if (!$ifchang && !$db_index_showtitle && !$db_sonTitleRow && !$db_sonTitleLeng && !$db_cachetime) { showmsg("请选择要修改哪个属性"); } $postdb[allowpost] = @implode(",", $postdb[allowpost]); $postdb[allowviewtitle] = @implode(",", $postdb[allowviewtitle]); $postdb[allowviewcontent] = @implode(",", $postdb[allowviewcontent]); $postdb[allowdownload] = @implode(",", $postdb[allowdownload]); $postdb[template] = @serialize($postdb[tpl]); /*缺少对版主有效用户名的检测*/ $postdb[admin] = str_Replace(",", ",", $postdb[admin]); foreach ($fiddb as $fid => $name) { unset($SQL); $postdb[fid] = $fid; //检查父栏目是否有问题 $ifchang[fup] && check_fup("{$pre}fu_sort", $postdb[fid], $postdb[fup]); $ifchang[fup] && ($rs_fid = $db->get_one("SELECT * FROM {$pre}fu_sort WHERE fid='{$postdb['fid']}'")); if ($ifchang[fup] && $rs_fid[fup] != $postdb[fup]) { $rs_fup = $db->get_one("SELECT class FROM {$pre}fu_sort WHERE fup='{$postdb['fup']}' "); $newclass = $rs_fup['class'] + 1; $db->query("UPDATE {$pre}fu_sort SET sons=sons+1 WHERE fup='{$postdb['fup']}' "); $db->query("UPDATE {$pre}fu_sort SET sons=sons-1 WHERE fup='{$rs_fid['fup']}' "); $SQL = ",class={$newclass}"; } if ($ifchang[admin] && $postdb[admin]) { $detail = explode(",", $postdb[admin]); foreach ($detail as $key => $value) { if (!$value) { unset($detail[$key]); } else { $rs = $db->get_one("SELECT groupid,uid FROM {$pre}memberdata WHERE username='******'");
mod_sort_sons("{$_pre}sort", 0); //更新sons module_fid_cache(); jump("创建成功", $FROMURL); } elseif ($job == "editsort") { $rsdb = $db->get_one("SELECT * FROM {$_pre}sort WHERE fid='{$fid}'"); $rsdb[config] = unserialize($rsdb[config]); $sort_fup = $Guidedb->Select("{$_pre}sort", "postdb[fup]", $rsdb[fup]); $style_select = select_style('postdb[style]', $rsdb[style]); //$group_post=group_box("postdb[allowpost]",explode(",",$rsdb[allowpost])); //$group_viewcontent=group_box("postdb[allowviewcontent]",explode(",",$rsdb[allowviewcontent])); $typedb[$rsdb[type]] = " checked "; get_admin_html('editsort'); } elseif ($action == "editsort") { //检查父栏目是否有问题 check_fup("{$_pre}sort", $postdb[fid], $postdb[fup]); //$postdb[allowpost]=@implode(",",$postdb[allowpost]); //$postdb[allowviewcontent]=@implode(",",$postdb[allowviewcontent]); unset($SQL); $rs_fid = $db->get_one("SELECT * FROM {$_pre}sort WHERE fid='{$postdb['fid']}'"); //这样处理是其他地方也修改过这个值.比如标签里 $rs_fid[config] = unserialize($rs_fid[config]); $postdb[config] = addslashes(serialize($rs_fid[config])); if ($rs_fid[fup] != $postdb[fup]) { $rs_fup = $db->get_one("SELECT class FROM {$_pre}sort WHERE fup='{$postdb['fup']}' "); $newclass = $rs_fup['class'] + 1; $db->query("UPDATE {$_pre}sort SET sons=sons+1 WHERE fup='{$postdb['fup']}' "); $db->query("UPDATE {$_pre}sort SET sons=sons-1 WHERE fup='{$rs_fid['fup']}' "); $SQL = ",class={$newclass}"; } $db->query("UPDATE {$_pre}sort SET fup='{$postdb['fup']}',name='{$postdb['name']}',type='{$postdb['type']}',admin='{$postdb['admin']}',passwd='{$postdb['passwd']}',logo='{$postdb['logo']}',descrip='{$postdb['descrip']}',style='{$postdb['style']}',template='{$postdb['template']}',jumpurl='{$postdb['jumpurl']}',listorder='{$postdb['listorder']}',maxperpage='{$postdb['maxperpage']}',allowcomment='{$postdb['allowcomment']}',allowpost='{$postdb['allowpost']}',allowviewtitle='{$postdb['allowviewtitle']}',allowviewcontent='{$postdb['allowviewcontent']}',allowdownload='{$postdb['allowdownload']}',forbidshow='{$postdb['forbidshow']}',metakeywords='{$postdb['metakeywords']}',config='{$postdb['config']}'{$SQL} WHERE fid='{$postdb['fid']}' ");