SetQuery($arcQuery); $arcRow = $dsql->GetOne($arcQuery); if (!is_array($arcRow)) { ShowMsg("读取档案基本信息出错!", "-1"); exit(); } $query = "SELECT * FROM `#@__channeltype` WHERE id='".$arcRow['channel']."'"; $cInfos = $dsql->GetOne($query); if (!is_array($cInfos)) { ShowMsg("读取频道配置信息出错!", "javascript:;"); exit(); } $addtable = $cInfos['addtable']; $addQuery = "SELECT * FROM `$addtable` WHERE aid='$aid'"; $addRow = $dsql->GetOne($addQuery); $newRowStart = 1; $nForm = ''; $daccess = $addRow['daccess']; $needmoney = $addRow['needmoney']; if ($addRow['softlinks'] != '') { $dtp = new DedeTagParse(); $dtp->LoadSource($addRow['softlinks']); if (is_array($dtp->CTags)) { foreach ($dtp->CTags as $ctag) { if ($ctag->GetName() == 'link') { $islocal = $ctag->GetAtt('islocal'); if ($islocal != 1) $needmsg = "删除"; else $needmsg = ''; $nForm .= "
软件地址{$newRowStart}: 服务器名称: $needmsg
\r\n"; $newRowStart++; } } } $dtp->Clear(); } $channelid = $arcRow['channel']; $tags = GetTags($aid); $arcRow = XSSClean($arcRow); $addRow = XSSClean($addRow); include DedeInclude("templets/soft_edit.htm"); exit(); } /*-------------------------------- function __save(){ } -------------------------------*/ else if ($dopost == 'save') { require_once(DEDEINC.'/image.func.php'); require_once(DEDEINC.'/oxwindow.class.php'); $flag = isset($flags) ? join(',', $flags) : ''; $notpost = isset($notpost) && $notpost == 1 ? 1 : 0; if (empty($typeid2)) $typeid2 = 0; if (!isset($autokey)) $autokey = 0; if (!isset($remote)) $remote = 0; if (!isset($dellink)) $dellink = 0; if (!isset($autolitpic)) $autolitpic = 0; if ($typeid == 0) { ShowMsg("请指定文档的栏目", "-1"); exit(); } if (empty($channelid)) { ShowMsg("文档为非指定的类型,请检查您发布内容的表单是否合法", "-1"); exit(); } if (!CheckChannel($typeid, $channelid)) { ShowMsg("您所选择的栏目与当前模型不相符,请选择白色的选项", "-1"); exit(); } if (!TestPurview('a_Edit')) { if (TestPurview('a_AccEdit')) { CheckCatalog($typeid, "对不起,您没有操作栏目 {$typeid} 的文档权限"); } else { CheckArcAdmin($id, $cuserLogin->getUserID()); } } //对保存的内容进行处理 $pubdate = GetMkTime($pubdate); $senddate = time(); $sortrank = AddDay($pubdate, $sortup); if ($ishtml == 0) { $ismake = -1; } else { $ismake = 0; } $title = cn_substrR($title, $cfg_title_maxlen); $shorttitle = cn_substrR($shorttitle, 36); $color = cn_substrR($color, 7); $writer = cn_substrR($writer, 20); $source = cn_substrR($source, 30); $description = cn_substrR($description, $cfg_auot_description); $keywords = cn_substrR($keywords, 60); $filename = trim(cn_substrR($filename, 40)); $isremote = 0; $serviterm = empty($serviterm) ? "" : $serviterm; if (!TestPurview('a_Check,a_AccCheck,a_MyCheck')) { $arcrank = -1; } $adminid = $cuserLogin->getUserID(); //处理上传的缩略图 if (empty($ddisremote)) { $ddisremote = 0; } $litpic = GetDDImage('litpic', $picname, $ddisremote); //处理新的缩略图上传 if ($litpic_b64 != "") { $data = explode(',', $litpic_b64); $ntime = time(); $savepath = $ddcfg_image_dir.'/'.MyDate($cfg_addon_savetype, $ntime); CreateDir($savepath); $fullUrl = $savepath.'/'.dd2char(MyDate('mdHis', $ntime).$cuserLogin->getUserID().mt_rand(1000, 9999)); $fullUrl = $fullUrl.".png"; file_put_contents($cfg_basedir.$fullUrl, base64_decode($data[1])); //加水印 WaterImg($cfg_basedir.$fullUrl, 'up'); $litpic = $fullUrl; } //分析处理附加表数据 $inadd_f = ''; $inadd_v = ''; if (!empty($dede_addonfields)) { $addonfields = explode(';', $dede_addonfields); $inadd_f = ''; $inadd_v = ''; if (is_array($addonfields)) { foreach ($addonfields as $v) { if ($v == '') { continue; } $vs = explode(',', $v); if ($vs[1] == 'htmltext' || $vs[1] == 'textdata') //HTML文本特殊处理 { ${$vs[0]} = AnalyseHtmlBody(${$vs[0]}, $description, $litpic, $keywords, $vs[1]); } else { if (!isset(${$vs[0]})) { ${$vs[0]} = ''; } ${$vs[0]} = GetFieldValueA(${$vs[0]}, $vs[1], $id); } $inadd_f .= ",`{$vs[0]}` = '".${$vs[0]}."'"; } } } //处理图片文档的自定义属性 if ($litpic != '' && !preg_match('#p#', $flag)) { $flag = ($flag == '' ? 'p' : $flag.',p'); } if ($redirecturl != '' && !preg_match('#j#', $flag)) { $flag = ($flag == '' ? 'j' : $flag.',j'); } //跳转网址的文档强制为动态 if (preg_match('#j#', $flag)) $ismake = -1; //更改主档案表 $inQuery = "UPDATE `#@__archives` SET typeid='$typeid', typeid2='$typeid2', sortrank='$sortrank', flag='$flag', click='$click', ismake='$ismake', arcrank='$arcrank', money='$money', title='$title', color='$color', source='$source', writer='$writer', litpic='$litpic', pubdate='$pubdate', notpost='$notpost', description='$description', keywords='$keywords', shorttitle='$shorttitle', filename='$filename', dutyadmin='$adminid', weight='$weight' WHERE id='$id'; "; if (!$dsql->ExecuteNoneQuery($inQuery)) { ShowMsg("更新数据库archives表时出错,请检查", "-1"); exit(); } //软件链接列表 $urls = ''; for ($i = 1; $i <= 30; $i++) { if (!empty(${'softurl'.$i})) { $islocal = empty(${'islocal'.$i}) ? '' : 1; $isneed = empty(${'del'.$i}) ? true : false; $servermsg = str_replace("'", '', stripslashes(${'servermsg'.$i})); $softurl = stripslashes(${'softurl'.$i}); if ($servermsg == '') { $servermsg = '下载地址'.$i; } if ($softurl != 'http://') { if ($islocal == 1) $urls .= "{dede:link islocal='$islocal' text='{$servermsg}'} $softurl {/dede:link}\r\n"; else if ($isneed) $urls .= "{dede:link text='$servermsg'} $softurl {/dede:link}\r\n"; else continue; } } } $urls = addslashes($urls); //更新附加表 $cts = $dsql->GetOne("SELECT addtable FROM `#@__channeltype` WHERE id='$channelid' "); $addtable = trim($cts['addtable']); if ($addtable != '') { $useip = GetIP(); $inQuery = "UPDATE `$addtable` SET typeid ='$typeid', filetype ='$filetype', language ='$language', softtype ='$softtype', accredit ='$accredit', os ='$os', softrank ='$softrank', officialUrl ='$officialUrl', officialDemo ='$officialDemo', softsize ='$softsize', softlinks ='$urls', redirecturl='$redirecturl', userip = '$useip', daccess = '$daccess', needmoney = '$needmoney', introduce='$body' {$inadd_f} WHERE aid='$id';"; if (!$dsql->ExecuteNoneQuery($inQuery)) { ShowMsg("更新数据库附加表 addonsoft 时出错,请检查原因", "-1"); exit(); } } //生成HTML UpIndexKey($id, $arcrank, $typeid, $sortrank, $tags); $arcUrl = MakeArt($id, TRUE, TRUE, $isremote); if ($arcUrl == "") { $arcUrl = $cfg_phpurl."/view.php?aid=$id"; } ClearMyAddon($id, $title); //自动更新关联内容 if (is_array($automake)) { foreach ($automake as $key => $value) { if (isset(${$key}) && !empty(${$key})) { $ids = explode(",", ${$key}); foreach ($ids as $id) { MakeArt($id, true, true, $isremote); } } } } //返回成功信息 $msg = "请选择您的后续操作:发布新软件  继续修改  查看软件  已发布软件管理  网站栏目管理"; $wintitle = "成功修改一个软件"; $wecome_info = "文章管理::修改软件"; $win = new OxWindow(); $win->AddTitle("成功修改软件:"); $win->AddMsgItem($msg); $winform = $win->GetWindow("hand", " ", FALSE); $win->Display(); }