function read($cid = 0, $cclass = 'offer') { global $db, $tblprefix, $ofields, $rfields, $cfields; if (!in_array($cclass, array('offer', 'reply', 'comment'))) { return $this->err_no(1); } if (!$cid) { return $this->err_no(1); } if ($this->info) { return 0; } if (!($this->info = $db->fetch_one("SELECT cu.*,cu.createdate AS ucreatedate,a.sid,a.createdate,a.caid,a.chid,a.customurl,a.subject FROM {$tblprefix}" . $cclass . "s cu LEFT JOIN {$tblprefix}archives a ON a.aid=cu.aid WHERE cu.cid='{$cid}'"))) { return $this->err_no(1); //指定的交互记录不存在 } $this->cid = $cid; $this->cclass = $cclass; if (!($this->aid = $this->info['aid'])) { return $this->err_no(2); } //文档主体不存在 $channel = read_cache('channel', $this->info['chid']); if (!$channel[$cclass] || !($this->commu = read_cache('commu', $channel[$cclass]))) { return $this->err_no(3); } //当前文档指定的交互设置不存在 cu_checkend($this->info, $cclass); $this->citems = empty($this->commu['setting']['citems']) ? array() : explode(',', $this->commu['setting']['citems']); $this->useredits = empty($this->commu['setting']['useredits']) ? array() : explode(',', $this->commu['setting']['useredits']); $fvar = substr($cclass, 0, 1) . 'fields'; global ${$fvar}; foreach (${$fvar} as $k => $v) { if (in_array($k, $this->citems)) { $this->fields[$k] = $v; if ($v['isfunc']) { $this->func = 1; } } } if ($this->commu['func']) { $this->func = 1; } unset($channel, $v); return 0; }
} if (in_array('refreshdate', $u_lists)) { $cy_arr[] = lang('retime'); } if (in_array('enddate', $u_lists)) { $cy_arr[] = lang('endtime'); } if (in_array('storage', $u_lists)) { $cy_arr[] = lang('stock'); } $cy_arr[] = lang('price'); $cy_arr[] = lang('admin'); trcategory($cy_arr); $itemstr = ''; while ($row = $db->fetch_array($query)) { cu_checkend($row, 'offer'); $selectstr = "<input class=\"checkbox\" type=\"checkbox\" name=\"selectid[{$row['cid']}]\" value=\"{$row['cid']}\">"; $subjectstr = "<a href=\"" . view_arcurl($row) . "\" target=\"_blank\">" . mhtmlspecialchars($row['asubject']) . "</a>"; $catalogstr = @$catalogs[$row['caid']]['title']; $uclassstr = $row['ucid'] ? $ucidsarr[$row['ucid']] : '-'; $channelstr = @$channels[$row['chid']]['cname']; foreach ($ucotypes as $k => $v) { if (in_array('uccid' . $k, $u_lists) && $v['cclass'] == 'offer') { $ucoclasses = read_cache('ucoclasses', $k); ${'uccid' . $k . 'str'} = @$ucoclasses[$row['uccid' . $k]]['title']; } } $checkstr = $row['checked'] ? 'Y' : '-'; $validstr = !$row['enddate'] || $row['enddate'] > $timestamp ? 'Y' : '-'; $adddatestr = $row['ucreatedate'] ? date('Y-m-d', $row['ucreatedate']) : '-'; $updatedatestr = $row['updatedate'] ? date('Y-m-d', $row['updatedate']) : '-';
$cy_arr[] = lang('areply'); } if (in_array('adddate', $u_lists)) { $cy_arr[] = lang('addtime'); } if (in_array('updatedate', $u_lists)) { $cy_arr[] = lang('updatetime'); } if (in_array('refreshdate', $u_lists)) { $cy_arr[] = lang('retime'); } $cy_arr[] = lang('edit'); trcategory($cy_arr); $itemstr = ''; while ($row = $db->fetch_array($query)) { cu_checkend($row, 'reply'); $selectstr = "<input class=\"checkbox\" type=\"checkbox\" name=\"selectid[{$row['cid']}]\" value=\"{$row['cid']}\">"; $subjectstr = "<a href=\"" . view_arcurl($row) . "\" target=\"_blank\">{$row['asubject']}</a>"; $catalogstr = @$catalogs[$row['caid']]['title']; $mnamestr = $row['mname']; $channelstr = @$channels[$row['chid']]['cname']; foreach ($ucotypes as $k => $v) { if (in_array('uccid' . $k, $u_lists) && $v['cclass'] == 'reply') { $ucoclasses = read_cache('ucoclasses', $k); ${'uccid' . $k . 'str'} = @$ucoclasses[$row['uccid' . $k]]['title']; } } $checkstr = $row['checked'] ? 'Y' : '-'; $readstr = $row['aread'] ? 'Y' : '-'; $areplystr = $row['areply'] ? 'Y' : '-'; $adddatestr = $row['ucreatedate'] ? date('Y-m-d', $row['ucreatedate']) : '-';
} if (in_array('updatedate', $u_lists)) { $cy_arr[] = lang('update_time'); } if (in_array('edit', $u_lists)) { $cy_arr[] = lang('edit'); } trcategory($cy_arr); $pagetmp = $page; do { $query = $db->query("SELECT cu.*,cu.createdate AS ucreatedate,a.sid,a.createdate,a.caid,a.chid,a.customurl,a.subject AS asubject {$fromsql} {$wheresql} ORDER BY cu.cid DESC LIMIT " . ($pagetmp - 1) * $atpp . ",{$atpp}"); $pagetmp--; } while (!$db->num_rows($query) && $pagetmp); $itemstr = ''; while ($row = $db->fetch_array($query)) { cu_checkend($row, 'comment'); $selectstr = "<input class=\"checkbox\" type=\"checkbox\" name=\"selectid[{$row['cid']}]\" value=\"{$row['cid']}\">"; $subjectstr = "<a href=\"" . view_arcurl($row) . "\" target=\"_blank\">{$row['asubject']}</a>"; $mnamestr = $row['mname']; $catalogstr = @$catalogs[$row['caid']]['title']; $commustr = @$commus[$row['cuid']]['cname']; $channelstr = @$channels[$row['chid']]['cname']; $checkstr = $row['checked'] ? 'Y' : '-'; $adddatestr = date('Y-m-d', $row['ucreatedate']); $updatedatestr = date('Y-m-d', $row['updatedate']); $editstr = "<a href=\"?entry=comments&action=commentdetail&cid={$row['cid']}{$param_suffix}\" onclick=\"return floatwin('open_commentsedit',this)\">" . lang('detail') . "</a>"; $itemstr .= "<tr class=\"txt\"><td class=\"txtC w40\" >{$selectstr}</td><td class=\"txtL\">{$subjectstr}</td>\n"; if (in_array('commu', $u_lists)) { $itemstr .= "<td class=\"txtC\">{$commustr}</td>\n"; } if (in_array('mname', $u_lists)) {