include_once M_ROOT . "./include/arcedit.cls.php"; include_once M_ROOT . "./include/commu.fun.php"; load_cache('permissions,vcps,channels,cotypes,acatalogs'); !defined('M_COM') && exit('No Permission'); $aid = empty($aid) ? 0 : max(0, intval($aid)); //关于文档的个人分类 $uclasses = loaduclasses($curuser->info['mid']); $ucidsarr = array(); foreach ($uclasses as $k => $v) { if (!$v['cuid']) { $ucidsarr[$k] = $v['title']; } } $aedit = new cls_arcedit(); $aedit->set_aid($aid); $aedit->detail_data(); $chid = $aedit->archive['chid']; tabheader(lang('basemessage')); trbasic(lang('archivetitle'), '', $aedit->archive['subject'], ''); trbasic(lang('membercname'), '', $aedit->archive['mname'], ''); trbasic(lang('addtime'), '', date("Y-m-d H:i:s", $aedit->archive['createdate']), ''); trbasic(lang('updatetime'), '', date("Y-m-d H:i:s", $aedit->archive['updatedate']), ''); trbasic(lang('retime'), '', date("Y-m-d H:i:s", $aedit->archive['refreshdate']), ''); trbasic(lang('endtime'), '', $aedit->archive['enddate'] ? date("Y-m-d H:i:s", $aedit->archive['enddate']) : '-', ''); trbasic(lang('checkstate'), '', ($aedit->archive['checked'] ? lang('check') : lang('uncheck')) . ' / ' . ($aedit->archive['editor'] ? $aedit->archive['editor'] : '-'), ''); trbasic(lang('clickcomment'), '', $aedit->archive['clicks'] . ' / ' . $aedit->archive['comments'], ''); tabfooter(); tabheader(lang('othermessage')); trbasic(lang('channel'), '', $aedit->archive['chid'] ? $channels[$aedit->archive['chid']]['cname'] : '-', ''); //trbasic(lang('browse archive deductvalue'),'',empty($aedit->archive['tax_price']) ? '-' : $aedit->archive['tax_price'],'');
$curuser->updatecrids(array(0 => -$order['totalfee']), 1, lang('log_order_pay', $order['ordersn'])); $order['tomid'] && $user->updatecrids(array(0 => $order['totalfee']), 1, lang('log_order_rev', $order['ordersn'])); $sqlstr .= ",payed={$order['totalfee']}"; $db->query("UPDATE {$tblprefix}orders SET {$sqlstr},updatedate='{$timestamp}' WHERE oid='{$oid}'"); $query = $db->query("SELECT aid,tocid as cid,price,nums FROM {$tblprefix}purchases WHERE oid='{$oid}'"); $nums = 0; $aedit = new cls_arcedit(); while ($row = $db->fetch_array($query)) { $nums += $row['nums']; if ($row['cid']) { //商家商品 } else { //网站商品 // $db->query("UPDATE {$tblprefix}archives SET orders=$row[nums],ordersum=$sum WHERE aid=$row[aid]"); $aedit->init(); $aedit->set_aid($row['aid']); $aedit->arc_nums('orders', $row['nums']); $aedit->arc_nums('ordersum', $row['price'] * $row['nums'], 1); } } $curuser->basedeal('purchase', 1, $nums, 1); mcmessage('orderpayfinish'); } else { require_once M_ROOT . 'paygate/pay_base.php'; switch ($ordernew['paymode']) { //各种付款方式 case 2: //支付宝 if (!in_array('', $pays[2])) { $pay = new pay_base('alipay'); $pay->account = $pays[2][0];
} adminlog(lang('reportsetsucceed'), lang('reportsetsucceed')); amessage('contentsetsucceed', "?entry=reports&action=reportsedit{$param_suffix}&page={$page}{$filterstr}"); } } elseif ($action == 'reportdetail') { load_cache('bfields,ucotypes'); $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward=' . rawurlencode($forward); if (!($report = $db->fetch_one("SELECT * FROM {$tblprefix}reports WHERE cid='{$cid}'"))) { amessage('choosereport'); } $commu = read_cache('commu', $report['cuid']); //$fieldsarr = empty($commu['setting']['fields']) ? array() : explode(',',$commu['setting']['fields']); $citems = empty($commu['setting']['citems']) ? array() : explode(',', $commu['setting']['citems']); $aedit = new cls_arcedit(); $aedit->set_aid($report['aid']); $aedit->detail_data(); if (!submitcheck('newcommu')) { tabheader($commu['cname'] . ' - ' . lang('based_msg'), 'commudetail', "?entry=reports&action=reportdetail&cid={$cid}{$param_suffix}{$forwardstr}", 2, 1, 1); $archive = $db->fetch_one("SELECT * FROM {$tblprefix}archives WHERE aid='{$report['aid']}'"); trbasic(lang('lookrelatedsource'), '', "<a href=\"" . view_arcurl($aedit->archive) . "\" target=\"_blank\">>> " . $aedit->archive['subject'] . "</a>", ''); trbasic(lang('add_time'), '', date('Y-m-d H:i', $report['createdate']), ''); tabfooter(); $a_field = new cls_field(); tabheader($commu['cname'] . ' - ' . lang('submitmessage')); $submitstr = ''; foreach ($ucotypes as $k => $v) { if (in_array('uccid' . $k, $citems) && $v['umode'] != 1) { trbasic($v['cname'], '', mu_cnselect("communew[uccid{$k}]", $report["uccid{$k}"], $k, lang('p_choose'), $v['emode'], "communew[uccid{$k}date]", @$report["uccid{$k}date"] ? date('Y-m-d', $report["uccid{$k}date"]) : ''), ''); $submitstr .= makesubmitstr("communew[uccid{$k}]", $v['notblank'], 0, 0, 0, 'common'); $v['emode'] == 2 && ($submitstr .= makesubmitstr("communew[uccid{$k}date]", 1, 0, 0, 0, 'date'));
function save_nums($aid = 0, $mode = 'down') { //统计文档的下载数或播放数 global $sid; include_once M_ROOT . './include/arcedit.cls.php'; $aedit = new cls_arcedit(); $aedit->set_aid($aid); $aedit->basic_data(); $aedit->arc_nums($mode == 'down' ? 'downs' : 'plays', 1, 1); unset($aedit); }
} if (in_array('subsite', $u_lists)) { $itemstr .= "<td class=\"item\">{$subsitestr}</td>\n"; } $itemstr .= "</tr>\n"; } $counts = $db->result_one("SELECT count(*) {$fromsql} {$wheresql}"); $multi = multi($counts, $mrowpp, $page, "?action=loadold&aid={$aid}{$param_suffix}{$filterstr}"); echo $itemstr; tabfooter(); echo $multi; echo '<br><br>' . strbutton('bloadold', lang('load')) . '</form>'; m_guide(@$u_guide); } else { include M_ROOT . $u_tplname; } } else { if (empty($selectid)) { mcmessage('selectalbum'); } $aedit = new cls_arcedit(); foreach ($selectid as $k) { $aedit->set_aid($k); $aedit->set_album($aid, 1); $aedit->init(); } mcmessage('setalbumfinish', "?action=loadold&aid={$aid}{$param_suffix}&page={$page}{$filterstr}"); } } else { include M_ROOT . $u_tplname; }
!defined('M_COM') && exit('No Permission'); include_once M_ROOT . "./include/arcedit.cls.php"; load_cache('currencys,acatalogs'); $cid = empty($cid) ? 0 : max(0, intval($cid)); $cuid = $db->result_one("SELECT cuid FROM {$tblprefix}mcomments WHERE cid='{$cid}'"); if (!$cuid || !($commu = read_cache('commu', $cuid))) { mcmessage('setcommuitem'); } if (empty($commu['umdetail'])) { $amode = empty($amode) ? 0 : max(0, intval($amode)); if (!($answer = $db->fetch_one("SELECT * FROM {$tblprefix}answers WHERE cid=" . $cid))) { mcmessage('chooseanswer'); } $aedit = new cls_arcedit(); $aedit->set_aid($answer['aid']); $aedit->basic_data(); if (!$aedit->aid) { mcmessage('choosearchive'); } if ($memberid != ($amode ? $aedit->archive['mid'] : $answer['mid'])) { mcmessage('chooseanswer'); } $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward=' . rawurlencode($forward); if (!submitcheck('banswerdetail')) { tabheader(lang('editanswer'), 'answerdetail', "?action=answer&cid={$cid}{$forwardstr}"); trbasic(lang('questiontitle'), '', $aedit->archive['subject'], ''); trbasic(lang('answercontent'), 'answernew[answer]', br2nl($answer['answer']), 'btextarea'); tabfooter($amode ? '' : 'banswerdetail'); } else {
$multi = multi($counts, $mrowpp, $page, "?action=favorites{$filterstr}"); tabheader(lang('favoritearchivelist'), '', '', 8); trcategory(array("<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">", lang('title'), lang('catalog'), lang('author'), lang('favoritedate'))); echo $itemstr; tabfooter(); echo $multi; echo "<input class=\"button\" type=\"submit\" name=\"barcsedit\" value=\"" . lang('delete') . "\"></form>"; } else { empty($selectid) && mcmessage('selectfavoritearc', $forward); $query = $db->query("SELECT * FROM {$tblprefix}favorites WHERE mid={$memberid} AND aid " . multi_str($selectid) . " ORDER BY aid DESC"); while ($item = $db->fetch_array($query)) { $items[$item['aid']] = $item; } $aedit = new cls_arcedit(); foreach ($items as $item) { $aedit->set_aid($item['aid']); $aedit->arc_nums('favorites', -1, 1); $aedit->init(); $curuser->basedeal('favorite', 0, 1); } $curuser->updatedb(); $db->query("DELETE FROM {$tblprefix}favorites WHERE aid " . multi_str(array_keys($items)), 'UNBUFFERED'); unset($aedit); if (!empty($select_all)) { $npage++; if ($npage <= $pages) { $fromid = min(array_keys($items)); $transtr = ''; $transtr .= "&select_all=1"; $transtr .= "&pages={$pages}"; $transtr .= "&npage={$npage}";
function updatedb() { global $db, $tblprefix, $timestamp; if ($this->func) { $aedit = new cls_arcedit(); $aedit->set_aid($this->aid); $aedit->detail_data(0); foreach ($this->fields as $k => $v) { if ($v['isfunc']) { $this->updatefield($k, field_func($v['func'], $this->info, $aedit->archive)); } } } if (!empty($this->updatearr)) { $this->updatearr['updatedate'] = $timestamp; $sqlstr = ''; foreach ($this->updatearr as $k => $v) { $sqlstr .= ($sqlstr ? "," : "") . $k . "='" . $v . "'"; } if ($sqlstr) { $db->query("UPDATE {$tblprefix}" . $this->cclass . "s SET {$sqlstr} WHERE cid={$this->cid}"); } $this->avg_price(); //平均价需要资料更改完成后写入 } if ($this->func) { if ($this->commu['func']) { field_func($this->commu['func'], $this->info, $aedit->archive); } unset($aedit); } $this->updatearr = array(); }
function output_guid($guid = 0) { //禁止重复输出,未完结合辑需要输出辑内的内容 global $db, $tblprefix, $gmodels, $curuser, $timestamp, $cotypes, $c_upload, $sid, $progress; if (!$guid || !($item = $db->fetch_one("SELECT * FROM {$tblprefix}gurls WHERE guid='{$guid}' AND gatherdate<>'0'"))) { return false; } if (!$item['outputdate']) { $archivenew = empty($item['contents']) ? array() : unserialize($item['contents']); unset($item['contents']); if (empty($this->fields)) { $this->gather_fields(); } if (empty($this->oconfigs)) { $this->output_configs(); } if (empty($this->fields) || empty($this->oconfigs)) { return false; } if (!empty($this->oconfigs['musts'])) { $mustsarr = explode(',', $this->oconfigs['musts']); foreach ($mustsarr as $k) { if (empty($archivenew[$k])) { return false; } //缺少必有字段内容,输出中止 } } $c_upload->init(); $aid = $item['aid']; $gmid = $this->gmission['gmid']; $chid = $gmodels[$gmid]['chid']; $channel = read_cache('channel', $chid); $fields = read_cache('fields', $chid); $sqlmain = "sid='{$item['sid']}',chid='{$chid}',mid='" . $curuser->info['mid'] . "',mname='" . $curuser->info['mname'] . "',createdate='{$timestamp}',refreshdate='{$timestamp}'"; $sqlsub = $sqlcustom = ''; empty($this->oconfigs['caid']) || ($sqlmain .= ",caid='" . $this->oconfigs['caid'] . "'"); foreach ($cotypes as $k => $v) { $var = "ccid{$k}"; empty($this->oconfigs[$var]) || ($sqlmain .= ",{$var}='" . $this->oconfigs[$var] . "'"); } if ($fields['abstract']['available'] && !empty($this->oconfigs['autoabstract'])) { if (!empty($channel['autoabstract']) && !empty($archivenew[$channel['autoabstract']])) { $sqlmain .= ($sqlmain ? ',' : '') . "abstract='" . addslashes(autoabstract($archivenew[$channel['autoabstract']])) . "'"; } } if ($fields['thumb']['available'] && !empty($this->oconfigs['autothumb'])) { if (!empty($channel['autothumb']) && !empty($archivenew[$channel['autothumb']])) { $sqlmain .= ($sqlmain ? ',' : '') . "thumb='" . $c_upload->thumb_pick($archivenew[$channel['autothumb']], $fields[$channel['autothumb']]['datatype'], $fields['thumb']['rpid']) . "'"; } } if ($channel['autosize'] && !empty($archivenew[$channel['autosize']])) { include_once M_ROOT . '/include/fields.cls.php'; $archivenew['atmsize'] = atm_size($archivenew[$channel['autosize']], $fields[$channel['autosize']]['datatype'], $channel['autosizemode']); $sqlmain .= ",atmsize='" . $archivenew['atmsize'] . "'"; } if ($channel['autobyte'] && isset($archivenew[$channel['autobyte']])) { $archivenew['bytenum'] = atm_byte(stripslashes($archivenew[$channel['autobyte']]), $fields[$channel['autobyte']]['datatype']); $sqlmain .= ",bytenum='" . $archivenew['bytenum'] . "'"; } foreach ($fields as $k => $v) { if ($v['available'] && isset($archivenew[$k])) { if ($v['datatype'] == 'htmltext') { $archivenew[$k] = addslashes($archivenew[$k]); html_atm2tag($archivenew[$k]); $archivenew[$k] = stripslashes($archivenew[$k]); } if (!empty($v['istxt'])) { if ($aid) { if (empty($oldval)) { $oldval = $db->fetch_one("SELECT * FROM {$tblprefix}archives_{$chid} WHERE aid={$aid}"); } saveastxt($archivenew[$k], $oldval[$k]); continue; } else { $archivenew[$k] = saveastxt($archivenew[$k]); } } ${'sql' . $v['tbl']} .= (${'sql' . $v['tbl']} ? ',' : '') . $k . "='" . addslashes($archivenew[$k]) . "'"; if ($arr = multi_val_arr($archivenew[$k], $v)) { foreach ($arr as $x => $y) { ${'sql' . $v['tbl']} .= (${'sql' . $v['tbl']} ? ',' : '') . $k . '_' . $x . "='{$y}'"; } } } } unset($fields, $archivenew, $mustarr); if ($aid) { $sqlcustom && $db->query("UPDATE {$tblprefix}archives_{$chid} SET " . $sqlcustom); } else { $db->query("INSERT INTO {$tblprefix}archives SET {$sqlmain}"); if (!($aid = $db->insert_id())) { return false; } else { $db->query("INSERT INTO {$tblprefix}archives_rec SET aid='{$aid}'"); $sqlsub = "aid='{$aid}'" . ($sqlsub ? ',' : '') . $sqlsub; $needstatics = ''; for ($i = 0; $i <= $channel['addnum']; $i++) { $needstatics .= $timestamp . ','; } $sqlsub .= ",needstatics='{$needstatics}'"; $db->query("INSERT INTO {$tblprefix}archives_sub SET " . $sqlsub); $sqlcustom = "aid='{$aid}'" . ($sqlcustom ? ',' : '') . $sqlcustom; $db->query("INSERT INTO {$tblprefix}archives_{$chid} SET " . $sqlcustom); $curuser->basedeal('archive', 1, 1, 1); } $aedit = new cls_arcedit(); $aedit->set_aid($aid); $aedit->set_arcurl(); $aedit->set_cpid($aid); $curuser->pmautocheck($channel['autocheck']) && $aedit->arc_check(1, 0); $aedit->updatedb(); //归辑设置,与文档数据库无关 if (!empty($item['pid'])) { $pid = $db->result_one("SELECT aid FROM {$tblprefix}gurls WHERE guid='{$item['pid']}'"); $pid && $aedit->set_album($pid); } if ($channel['autostatic']) { arc_static($aid); } $ufids = $c_upload->ufids + explode(',', $item['ufids']); empty($ufids) || $db->query("UPDATE {$tblprefix}userfiles SET aid={$aid} WHERE ufid " . multi_str($ufids)); } $db->query("UPDATE {$tblprefix}gurls SET aid='{$aid}',outputdate='{$timestamp}',contents='',ufids='' WHERE guid='{$item['guid']}'"); $progress && $progress->output(1); } if ($this->gmission['sonid'] && !$item['abover']) { $this->output_sonid($guid, $this->gmission['sonid']); } //将合辑中的内容入库 unset($aedit, $arc, $fields, $field, $item, $archivenew, $channel, $sqlmain, $sqlsub, $sqlcustom); return true; }
function setStatus($status, $remark = '') { global $db, $tblprefix, $timestamp, $onlineautosaving; switch ($this->status = $status) { case PAY_FINISHED: //交易完成 $remark || ($remark = '交易完成'); break; case PAY_FAIL: //交易失败 $remark || ($remark = '交易失败'); break; case PAY_WAIT_PAY: //等待付款 $remark || ($remark = '等待付款'); break; case PAY_WAIT_GOODS: //等待发货 $remark || ($remark = '等待发货'); break; case PAY_CONFIRM_GOODS: //等待买家确认收货 $remark || ($remark = '等待买家确认收货'); break; default: $this->message(array('title' => '调用错误', 'content' => "未定义的交易状态 “{$status”!}")); } switch ($this->by) { case 'orders': $upsql = ",remark='" . addslashes($remark) . "'"; ($status == PAY_WAIT_GOODS || $status == PAY_FINISHED && !$this->totalfee) && ($upsql .= ",payed=totalfee"); $db->query("UPDATE {$tblprefix}orders SET state={$status},updatedate={$timestamp}{$upsql} WHERE ({$status}<0 OR state<{$status}) AND oid='{$this->order_id}'"); if ($ret = $db->affected_rows()) { $query = $db->query("SELECT aid,tocid as cid,price,nums FROM {$tblprefix}purchases WHERE oid='{$this->order_id}'"); $nums = 0; $aedit = new cls_arcedit(); while ($row = $db->fetch_array($query)) { $nums += $row['nums']; if ($row['cid']) { //商家商品 } else { //网站商品 $aedit->init(); $aedit->set_aid($row['aid']); $aedit->arc_nums('orders', $row['nums']); $aedit->arc_nums('ordersum', $row['price'] * $row['nums'], 1); } } $user = new cls_userinfo(); $user->activeuser($this->mid, 1); $user->basedeal('purchase', 1, $nums, 1); } break; case 'pays': $upsql = $onlineautosaving ? ",transdate={$timestamp}" : ''; $db->query("UPDATE {$tblprefix}pays SET receivedate={$timestamp}{$upsql} WHERE receivedate=0 AND pid='{$this->order_id}'"); $ret = $db->affected_rows(); if ($ret && $upsql) { $user = new cls_userinfo(); $user->activeuser($this->mid); $user->updatecrids(array(0 => $this->totalfee), 1); } break; default: $this->message(array('title' => '调用错误', 'content' => "未定义的交易!")); } return $ret; }
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; }