Beispiel #1
0
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'],'');
Beispiel #2
0
     $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];
Beispiel #3
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\">>>&nbsp; " . $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'] . '&nbsp; -&nbsp; ' . 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'));
Beispiel #4
0
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);
}
Beispiel #5
0
                }
                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;
}
Beispiel #6
0
!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 {
Beispiel #7
0
    $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}";
Beispiel #8
0
 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();
 }
Beispiel #9
0
 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;
 }
Beispiel #10
0
 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;
 }
Beispiel #11
0
 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;
 }