function EditNews($add, $userid, $username) { global $empire, $class_r, $class_zr, $bclassid, $public_r, $dbtbpre, $emod_r; $add[classid] = (int) $add[classid]; $userid = (int) $userid; $add[id] = (int) $add[id]; if (!$add[id] || !$add[title] || !$add[classid] || !$add[filename]) { printerror("EmptyTitle", "history.go(-1)"); } $doselfinfo = CheckLevel($userid, $username, $add[classid], "news"); //操作权限 if (!$doselfinfo['doeditinfo']) { printerror("NotEditInfoLevel", "history.go(-1)"); } $ccr = $empire->fetch1("select classid,modid,listdt,haddlist,sametitle,addreinfo,wburl,repreinfo from {$dbtbpre}enewsclass where classid='{$add['classid']}' and islast=1 limit 1"); if (!$ccr['classid'] || $ccr['wburl']) { printerror("ErrorUrl", "history.go(-1)"); } //索引表 $index_checkr = $empire->fetch1("select id,classid,checked from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . "_index where id='{$add['id']}' limit 1"); if (!$index_checkr['id'] || $index_checkr['classid'] != $add['classid']) { printerror("ErrorUrl", "history.go(-1)"); } //主表 $infotb = ReturnInfoMainTbname($class_r[$add[classid]][tbname], $index_checkr['checked']); $checkr = $empire->fetch1("select id,classid,userid,username,ismember,stb,newspath,filename,isqf,fstb,isgood,firsttitle,istop from " . $infotb . " where id='{$add['id']}' limit 1"); if ($doselfinfo['doselfinfo'] && ($checkr['userid'] != $userid || $checkr['ismember'])) { printerror("NotDoSelfinfo", "history.go(-1)"); } //已审核信息不可修改 if ($doselfinfo['docheckedit'] && $index_checkr['checked']) { printerror("NotEditCheckInfoLevel", "history.go(-1)"); } //审核权限 if (!$doselfinfo['docheckinfo']) { $add['checked'] = $index_checkr['checked']; } //必须审核 if ($doselfinfo['domustcheck'] && !$index_checkr['checked']) { $add['checked'] = 0; } //推荐权限 if (!$doselfinfo['dogoodinfo']) { $add['isgood'] = $checkr['isgood']; $add['firsttitle'] = $checkr['firsttitle']; $add['istop'] = $checkr['istop']; } if ($ccr['sametitle']) { if (ReturnCheckRetitle($add)) { printerror("ReInfoTitle", "history.go(-1)"); } } //公共表 $pubid = ReturnInfoPubid($add['classid'], $add['id']); $pubcheckr = $empire->fetch1("select copyids from {$dbtbpre}enewsinfovote where pubid='{$pubid}' limit 1"); $mid = $class_r[$add[classid]][modid]; $pf = $emod_r[$mid]['pagef']; $add = DoPostInfoVar($add); //返回变量 $add['fstb'] = $checkr['fstb']; $ret_r = ReturnAddF($add, $class_r[$add[classid]][modid], $userid, $username, 1, 0, 1); //返回自定义字段 $deloldfile = 0; if ($add[groupid] != $add[oldgroupid] || $index_checkr['checked'] && !$add[checked]) { DelNewsFile($checkr[filename], $checkr[newspath], $add[classid], $add[$pf], $add[oldgroupid]); //删除旧的文件 $deloldfile = 1; } //签发 $newchecked = $index_checkr['checked']; $a = ''; if ($class_r[$add[classid]][wfid] && $checkr['isqf']) { $qfr = $empire->fetch1("select checktno from {$dbtbpre}enewswfinfo where id='{$add['id']}' and classid='{$add['classid']}' limit 1"); if ($qfr['checktno'] == '100') { $aqf = ",checked='{$add['checked']}'"; $newchecked = $add[checked]; } else { if ($add[reworkflow]) { InfoUpdateToWorkflow($add[id], $add[classid], $class_r[$add[classid]][wfid], $userid, $username); } $aqf = ''; } } else { $aqf = ",checked='{$add['checked']}'"; $newchecked = $add[checked]; } //日期目录 $updatefile = ''; $urlnewspath = $checkr['newspath']; if ($add['newspath'] != $checkr[newspath]) { $add[newspath] = FormatPath($add[classid], $add[newspath], 1); //查看目录是否存在,不存在则建立 $updatefile .= ",newspath='{$add['newspath']}'"; if ($deloldfile == 0) { DelNewsFile($checkr[filename], $checkr[newspath], $add[classid], $add[$pf], $add[oldgroupid]); //删除旧文件 $deloldfile = 1; } $urlnewspath = $add['newspath']; } //文件名 $urlfilename = $checkr['filename']; if ($add['filename'] && $add['filename'] != $checkr[filename]) { $newfilename = $add['filename']; $updatefile .= ",filename='{$newfilename}'"; if ($deloldfile == 0) { DelNewsFile($checkr[filename], $checkr[newspath], $add[classid], $add[$pf], $add[oldgroupid]); //删除旧文件 $deloldfile = 1; } $urlfilename = $newfilename; } $newstime = empty($add['newstime']) ? time() : to_time($add['newstime']); $lastdotime = time(); //返回关键字组合 if ($add['info_diyotherlink']) { $keyid = DoPostDiyOtherlinkID($add['info_keyid']); } else { $keyid = GetKeyid($add[keyboard], $add[classid], $add[id], $class_r[$add[classid]][link_num]); } //附加链接参数 $addecmscheck = empty($newchecked) ? '&ecmscheck=1' : ''; //信息地址 $infourl = GotoGetTitleUrl($add['classid'], $add['id'], $urlnewspath, $urlfilename, $add['groupid'], $add['isurl'], $add['titleurl']); //返回表信息 $infotbr = ReturnInfoTbname($class_r[$add[classid]][tbname], $index_checkr['checked'], $checkr['stb']); //索引表 $indexsql = $empire->query("update {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . "_index set newstime='{$newstime}',lastdotime='{$lastdotime}'" . $aqf . " where id='{$add['id']}' limit 1"); //主表 $sql = $empire->query("update " . $infotbr['tbname'] . " set classid='{$add['classid']}',ttid='{$add['ttid']}',onclick='{$add['onclick']}',totaldown='{$add['totaldown']}',firsttitle={$add['firsttitle']},isgood={$add['isgood']},ispic='{$add['ispic']}',istop={$add['istop']},isurl='{$add['isurl']}',lastdotime={$lastdotime},groupid={$add['groupid']},userfen={$add['userfen']},titlefont='" . addslashes($add[my_titlefont]) . "',titleurl='" . addslashes($infourl) . "',keyboard='" . addslashes($add[keyboard]) . "'" . $updatefile . $ret_r[values] . " where id='{$add['id']}' limit 1"); //副表 $stb = $checkr['stb']; $fsql = $empire->query("update " . $infotbr['datatbname'] . " set classid='{$add['classid']}',keyid='{$keyid}',dokey={$add['dokey']},newstempid={$add['newstempid']},closepl={$add['closepl']},infotags='" . addslashes($add[infotags]) . "'" . $ret_r[datavalues] . " where id='{$add['id']}' limit 1"); //取第一张图作为标题图片 if ($add['getfirsttitlepic'] && empty($add['titlepic'])) { $firsttitlepic = GetFpicToTpic($add['classid'], $add['id'], $add['getfirsttitlepic'], $add['getfirsttitlespic'], $add['getfirsttitlespicw'], $add['getfirsttitlespich'], $checkr['fstb']); if ($firsttitlepic) { $usql = $empire->query("update " . $infotbr['tbname'] . " set titlepic='" . addslashes($firsttitlepic) . "',ispic=1 where id='{$add['id']}'"); } } //更新附件 UpdateTheFileEdit($add['classid'], $add['id'], $checkr['fstb']); //替换图片下一页 if ($add['repimgnexturl']) { UpdateImgNexturl($add['classid'], $add['id'], $index_checkr['checked']); } //投票 AddInfoVote($add['classid'], $add['id'], $add); //写入专题 InsertZtInfo($add['ztids'], $add['zcids'], $add['oldztids'], $add['oldzcids'], $add['classid'], $add['id'], $newstime); //TAGS if ($add[infotags] && $add[infotags] != $add[oldinfotags]) { eInsertTags($add[infotags], $add['classid'], $add['id'], $newstime); } //是否改变审核状态 if ($index_checkr['checked'] != $newchecked) { MoveCheckInfoData($class_r[$add[classid]][tbname], $index_checkr['checked'], $checkr['stb'], "id='{$add['id']}'"); //更新栏目信息数 if ($newchecked) { AddClassInfos($add['classid'], '', '+1'); } else { AddClassInfos($add['classid'], '', '-1'); } } //生成文件 if ($ccr['addreinfo'] && $newchecked) { GetHtml($add['classid'], $add['id'], '', 0); } //生成上一篇 if ($ccr['repreinfo'] && ($newchecked || $newchecked != $add[oldchecked])) { $prer = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where id<{$add['id']} and classid='{$add['classid']}' order by id desc limit 1"); GetHtml($prer['classid'], $prer['id'], $prer, 1); } //生成栏目 if ($ccr['haddlist'] && ($newchecked || $newchecked != $add[oldchecked])) { hAddListHtml($add[classid], $ccr['modid'], $ccr['haddlist'], $ccr['listdt']); //生成信息列表 if ($add['ttid']) { ListHtml($add['ttid'], '', 5); } //改变标题分类 if ($add['oldttid'] && $add['ttid'] != $add['oldttid']) { ListHtml($add['oldttid'], '', 5); } } //同时更新 if ($pubcheckr['copyids'] && $pubcheckr['copyids'] != '1') { EditInfoToCopyInfo($add[classid], $add[id], $userid, $username, $doselfinfo); } else { $copyclassid = $add[copyclassid]; $cpcount = count($copyclassid); if ($cpcount) { $copyids = AddInfoToCopyInfo($add[classid], $add[id], $copyclassid, $userid, $username, $doselfinfo); if ($copyids) { UpdateInfoCopyids($add['classid'], $add['id'], $copyids); } } } if ($sql) { //返回地址 if ($add['ecmsfrom'] && (stristr($add['ecmsfrom'], 'ListNews.php') || stristr($add['ecmsfrom'], 'ListAllInfo.php'))) { $ecmsfrom = $add['ecmsfrom']; } else { $ecmsfrom = "ListNews.php?bclassid={$add['bclassid']}&classid={$add['classid']}" . hReturnEcmsHashStrHref2(0); } insert_dolog("classid={$add['classid']}<br>id=" . $add[id] . "<br>title=" . $add[title], $pubid); //操作日志 printerror("EditNewsSuccess", $ecmsfrom . $addecmscheck); } else { printerror("DbError", "history.go(-1)"); } }
function EditNews($add, $userid, $username) { global $empire, $class_r, $class_zr, $bclassid, $public_r, $dbtbpre, $emod_r; $add[classid] = (int) $add[classid]; $userid = (int) $userid; $ztid = $add[ztid]; $add[id] = (int) $add[id]; if (!$add[id] || !$add[title] || !$add[classid] || !$add[filename]) { printerror("EmptyTitle", "history.go(-1)"); } $doselfinfo = CheckLevel($userid, $username, $add[classid], "news"); //操作权限 if (!$doselfinfo['doeditinfo']) { printerror("NotEditInfoLevel", "history.go(-1)"); } $ccr = $empire->fetch1("select classid,modid,listdt,haddlist,sametitle,addreinfo,wburl,repreinfo from {$dbtbpre}enewsclass where classid='{$add['classid']}' and islast=1"); if (!$ccr['classid'] || $ccr[wburl]) { printerror("ErrorUrl", "history.go(-1)"); } $checkr = $empire->fetch1("select id,userid,username,ismember,stb,copyids,newspath,filename,isqf,checked from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where id='{$add['id']}' and classid='{$add['classid']}'"); if (!$checkr[id]) { printerror("ErrorUrl", "history.go(-1)"); } if ($doselfinfo['doselfinfo'] && ($checkr[userid] != $userid || $checkr[ismember])) { printerror("NotDoSelfinfo", "history.go(-1)"); } if ($ccr['sametitle']) { $num = $empire->gettotal("select count(*) as total from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where title='{$add['title']}' and id<>{$add['id']} limit 1"); if ($num) { printerror("ReInfoTitle", "history.go(-1)"); } } $mid = $class_r[$add[classid]][modid]; $pf = $emod_r[$mid]['pagef']; $add = DoPostInfoVar($add); //返回变量 $ret_r = ReturnAddF($add, $class_r[$add[classid]][modid], $userid, $username, 1, 0, 1); //返回自定义字段 $deloldfile = 0; if ($add[groupid] != $add[oldgroupid] || $checkr['checked'] && !$add[checked]) { DelNewsFile($checkr[filename], $checkr[newspath], $add[classid], $add[$pf], $add[oldgroupid]); //删除旧的文件 $deloldfile = 1; } //签发 $a = ''; if ($class_r[$add[classid]][wfid] && $checkr['isqf']) { $qfr = $empire->fetch1("select checktno from {$dbtbpre}enewswfinfo where id='{$add['id']}' and classid='{$add['classid']}' limit 1"); if ($qfr['checktno'] == '100') { $aqf = ",checked='{$add['checked']}'"; } else { if ($add[reworkflow]) { InfoUpdateToWorkflow($add[id], $add[classid], $class_r[$add[classid]][wfid], $userid, $username); } $aqf = ''; } } else { $aqf = ",checked='{$add['checked']}'"; } //日期目录 $updatefile = ''; if ($add['newspath'] != $checkr[newspath]) { $add[newspath] = FormatPath($add[classid], $add[newspath], 1); //查看目录是否存在,不存在则建立 $updatefile .= ",newspath='{$add['newspath']}'"; if ($deloldfile == 0) { DelNewsFile($checkr[filename], $checkr[newspath], $add[classid], $add[$pf], $add[oldgroupid]); //删除旧文件 $deloldfile = 1; } } //文件名 if ($add['filename'] && $add['filename'] != $checkr[filename]) { $newfilename = $add['filename']; $updatefile .= ",filename='{$newfilename}'"; if ($deloldfile == 0) { DelNewsFile($checkr[filename], $checkr[newspath], $add[classid], $add[$pf], $add[oldgroupid]); //删除旧文件 $deloldfile = 1; } } $lastdotime = time(); //返回关键字组合 if ($add['info_diyotherlink']) { $keyid = DoPostDiyOtherlinkID($add['info_keyid']); } else { $keyid = GetKeyid($add[keyboard], $add[classid], $add[id], $class_r[$add[classid]][link_num]); } //主表 $sql = $empire->query("update {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " set classid='{$add['classid']}',keyboard='" . addslashes($add[keyboard]) . "',keyid='{$keyid}',ztid='{$add['my_ztid']}',istop={$add['istop']},dokey={$add['dokey']},isgood={$add['isgood']},titlefont='" . addslashes($add[my_titlefont]) . "',titleurl='" . addslashes($add[titleurl]) . "',groupid={$add['groupid']},newstempid={$add['newstempid']},firsttitle={$add['firsttitle']},userfen={$add['userfen']},closepl={$add['closepl']},lastdotime={$lastdotime},ttid='{$add['ttid']}',onclick='{$add['onclick']}',totaldown='{$add['totaldown']}',infotags='" . addslashes($add[infotags]) . "',ispic='{$add['ispic']}'" . $updatefile . $aqf . $ret_r[values] . " where id='{$add['id']}'"); //副表 $stb = $checkr['stb']; $fsql = $empire->query("update {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . "_data_" . $stb . " set classid='{$add['classid']}'" . $ret_r[datavalues] . " where id='{$add['id']}'"); //取第一张图作为标题图片 if ($add['getfirsttitlepic'] && empty($add['titlepic'])) { $firsttitlepic = GetFpicToTpic($add['classid'], $add['id'], $add['getfirsttitlepic'], $add['getfirsttitlespic'], $add['getfirsttitlespicw'], $add['getfirsttitlespich']); if ($firsttitlepic) { $usql = $empire->query("update {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " set titlepic='" . addslashes($firsttitlepic) . "',ispic=1 where id='{$add['id']}'"); } } //更新附件 UpdateTheFileEdit($add['classid'], $add['id']); //替换图片下一页 if ($add['repimgnexturl']) { UpdateImgNexturl($add['classid'], $add['id']); } //投票 AddInfoVote($add['classid'], $add['id'], $add); //TAGS if ($add[infotags] && $add[infotags] != $add[oldinfotags]) { $tagtime = empty($add[newstime]) ? time() : to_time($add[newstime]); eInsertTags($add[infotags], $add['classid'], $add['id'], $tagtime); } //生成文件 if ($ccr['addreinfo']) { $ar = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where id='{$add['id']}'"); GetHtml($ar, ''); } //生成上一篇 if ($ccr['repreinfo'] && ($add[checked] || $add[checked] != $add[oldchecked])) { $prer = $empire->fetch1("select * from {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " where id<{$add['id']} and classid='{$add['classid']}' and checked=1 order by id desc limit 1"); GetHtml($prer, ''); } //生成栏目 if ($ccr['haddlist'] && ($add[checked] || $add[checked] != $add[oldchecked])) { hAddListHtml($add[classid], $ccr['modid'], $ccr['haddlist'], $ccr['listdt']); //生成信息列表 for ($z = 0; $z < count($ztid); $z++) { ListHtml(intval($ztid[$z]), '', 1); } //改变专题 $oldztid = $add[oldztid]; $myztid = $add['my_ztid']; if ($oldztid != $myztid && $oldztid) { $o_z = explode("|", $oldztid); for ($z = 1; $z < count($o_z) - 1; $z++) { $cr = explode("|" . $o_z[$z] . "|", $myztid); if ($cr == 1) { ListHtml(intval($o_z[$z]), '', 1); } } } } //同时更新 if ($checkr['copyids'] && $checkr['copyids'] != '1') { EditInfoToCopyInfo($add[classid], $add[id], $userid, $username); } else { $copyclassid = $add[copyclassid]; $cpcount = count($copyclassid); if ($cpcount) { $copyids = AddInfoToCopyInfo($add[classid], $add[id], $copyclassid, $userid, $username); if ($copyids) { $empire->query("update {$dbtbpre}ecms_" . $class_r[$add[classid]][tbname] . " set copyids='{$copyids}' where id='{$add['id']}'"); } } } if ($sql) { //返回地址 if ($add['ecmsfrom'] && (stristr($add['ecmsfrom'], 'ListNews.php') || stristr($add['ecmsfrom'], 'ListAllInfo.php'))) { $ecmsfrom = $add['ecmsfrom']; } else { $ecmsfrom = "ListNews.php?bclassid={$add['bclassid']}&classid={$add['classid']}"; } insert_dolog("classid={$add['classid']}<br>id=" . $add[id] . "<br>title=" . $add[title]); //操作日志 printerror("EditNewsSuccess", $ecmsfrom); } else { printerror("DbError", "history.go(-1)"); } }