if (!empty($arcdeal['ccid' . $k])) { $aedit->arc_ccid(${'arcccid' . $k}, $k); if ($v['emode']) { $aedit->updatefield("ccid{$k}date", !isdate(${"arcccid{$k}date"}) || !$aedit->archive["ccid{$k}"] ? 0 : strtotime(${"arcccid{$k}date"}), 'main'); } } } if (!empty($arcdeal['rpmid'])) { $aedit->updatefield('rpmid', $arcrpmid, 'main'); } if (!empty($arcdeal['dpmid'])) { $aedit->updatefield('dpmid', $arcdpmid, 'main'); } if (!empty($arcdeal['fsalecp'])) { $aedit->updatefield('fsalecp', $arcfsalecp, 'main'); $aedit->sale_define(); } if (!empty($arcdeal['salecp'])) { $aedit->updatefield('salecp', $arcsalecp, 'main'); $aedit->sale_define(); } $aedit->updatedb(); $aedit->init(); } unset($aedit); } adminlog(lang('arc_update_admin'), lang('arc_list_aoperate')); amessage('arcfinish', "?entry=inarchive&action=archives&aid={$naid}{$param_suffix}&page={$page}{$filterstr}"); } } else { include M_ROOT . $u_tplname;
function updatecopy($mode = 0) { //当更新文档时,同时更新其它的副本。 global $cotypes, $timestamp, $db, $tblprefix, $arc; if (!$mode) { return false; } $cpids = array(); $naid = $this->aid; $query = $db->query("SELECT aid FROM {$tblprefix}archives WHERE aid != '{$naid}' AND cpid='" . $this->archive['cpid'] . "'"); while ($row = $db->fetch_array($query)) { $cpids[] = $row['aid']; } if (!$cpids) { return false; } $this->init(); $this->set_aid($naid); $this->detail_data(); $archivenew =& $this->archive; $archivenew = maddslashes($archivenew); $chid = $archivenew['chid']; $fields = read_cache('fields', $chid); $aedit = new cls_arcedit(); foreach ($cpids as $aid) { $aedit->set_aid($aid); $aedit->detail_data(); $aedit->updatefield('rpmid', $archivenew['rpmid'], 'main'); $aedit->updatefield('dpmid', $archivenew['dpmid'], 'main'); $aedit->updatefield('salecp', $archivenew['salecp'], 'main'); $aedit->updatefield('fsalecp', $archivenew['fsalecp'], 'main'); $aedit->sale_define(); $aedit->updatefield('arctpls', $archivenew['arctpls'], 'sub'); $aedit->updatefield('jumpurl', $archivenew['jumpurl'], 'sub'); foreach ($fields as $k => $v) { if ($v['available'] && !$v['isfunc'] && (!in_array($k, array('subject', 'keywords', 'thumb', 'abstract')) || $mode == 1)) { if (!empty($v['istxt'])) { $txtname = saveastxt(stripslashes($archivenew[$k]), $aedit->namepres[$k]); $aedit->updatefield($k, $txtname, $v['tbl']); } else { $aedit->updatefield($k, $archivenew[$k], $v['tbl']); if ($arr = multi_val_arr($archivenew[$k], $v)) { foreach ($arr as $x => $y) { $aedit->updatefield($k . '_' . $x, $y, $v['tbl']); } } } } } $aedit->updatedb(); if ($this->channel['autostatic']) { arc_static($aid); unset($arc); } $aedit->init(); } return true; }