include 'urlsarr.inc.php'; url_nav(lang('lanpackmanage'), $urlsarr, 'alang'); if ($action == 'alangsedit') { $page = !empty($page) ? max(1, intval($page)) : 1; submitcheck('bfilter') && ($page = 1); $keyword = empty($keyword) ? '' : $keyword; $wheresql = ''; $fromsql = "FROM {$tblprefix}alangs"; $keyword && ($wheresql = "WHERE ename LIKE '%" . str_replace(array(' ', '*'), '%', addcslashes($keyword, '%_')) . "%' OR content LIKE '%" . str_replace(array(' ', '*'), '%', addcslashes($keyword, '%_')) . "%'"); $filterstr = ''; foreach (array('keyword') as $k) { $filterstr .= "&{$k}=" . rawurlencode(stripslashes(${$k})); } if (!submitcheck('balangsedit')) { echo form_str($actionid . 'arcsedit', "?entry=alangs&action=alangsedit&page={$page}"); tabheader_e(); echo "<tr><td class=\"txt txtleft\">"; echo lang('search_keyword') . " <input class=\"text\" name=\"keyword\" type=\"text\" value=\"{$keyword}\" size=\"10\"> "; echo strbutton('bfilter', 'filter0'); echo "</td></tr>"; tabfooter(); $pagetmp = $page; do { $query = $db->query("SELECT * {$fromsql} {$wheresql} ORDER BY ename LIMIT " . ($pagetmp - 1) * $atpp . ",{$atpp}"); $pagetmp--; } while (!$db->num_rows($query) && $pagetmp); $itemstr = ''; while ($item = $db->fetch_array($query)) { $itemstr .= "<tr class=\"txt\"><td class=\"txtC w40\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[{$item['ename']}]\" value=\"{$item['ename']}\">\n" . "<td class=\"txtL\">{$item['ename']}</td>\n" . "<td class=\"txtL\"><input type=\"text\" size=\"80\" name=\"alangsnew[{$item['ename']}][content]\" value=\"" . htmlspecialchars($item['content']) . "\"></td>\n" . "<td class=\"txtC w40\"><a href=\"?entry=alangs&action=alangdetail&ename={$item['ename']}\">" . lang('edit') . "</a></td>\n" . "</tr>\n"; } $counts = $db->result_one("SELECT count(*) {$fromsql} {$wheresql}");
function showlist() { global $db, $tblprefix, $curuser, $eid, $atpp, $page, $mid, $mname, $checked, $dmode, $date1, $date2; if ($eid) { return $this->isadmin ? $this->check() : ($eid == 'new' ? $this->addnew() : $this->show()); } if (!submitcheck('bextedit')) { if (defined('M_MCENTER')) { $css = array('L' => 'item2', 'R' => 'item right', 'C' => 'item'); $membercname = lang('membercname'); $checkstate = lang('checkstate'); } else { $css = array('L' => 'txtL', 'R' => 'txtR', 'C' => 'txtC'); $membercname = lang('member_cname'); $checkstate = lang('check_state'); } $page = !empty($page) ? max(1, intval($page)) : 1; submitcheck('bfilter') && ($page = 1); if ($this->isadmin) { $wheresql = ' 1=1'; $u_lists = array('mname', 'integral', 'total', 'rate', 'checkdate', 'createdate', 'view'); } else { $wheresql = " mid={$curuser->info['mid']}"; $u_lists = array('integral', 'total', 'rate', 'checkdate', 'createdate', 'view'); } $mname && ($wheresql .= " AND mname LIKE '%" . str_replace(array(' ', '*'), '%', addcslashes($mname, '%_')) . "%'"); isset($checked) || ($checked = '-1'); $checked != '-1' && ($wheresql .= ' AND checkdate' . ($checked ? '!' : '') . '=0'); $datefield = $dmode ? 'checkdate' : 'createdate'; if ($date1 && preg_match("/\\s*(\\d{4})-(\\d{1,2})-(\\d{1,2})(?:\\s+(\\d{1,2}):(\\d{1,2}):(\\d{1,2}))?\\s*\$/", $date1, $match)) { $date = mktime(empty($match[4]) ? 0 : $match[4], empty($match[5]) ? 0 : $match[5], empty($match[6]) ? 0 : $match[6], $match[2], $match[3], $match[1]); $date && $date > 0 && ($wheresql .= " AND {$datefield}>='{$date}'"); } if ($date2 && preg_match("/\\s*(\\d{4})-(\\d{1,2})-(\\d{1,2})(?:\\s+(\\d{1,2}):(\\d{1,2}):(\\d{1,2}))?\\s*\$/", $date2, $match)) { $date = mktime(empty($match[4]) ? 24 : $match[4], empty($match[5]) ? 59 : $match[5], empty($match[6]) ? 59 : $match[6], $match[2], $match[3], $match[1]); $date && $date > 0 && ($wheresql .= " AND {$datefield}<='{$date}'"); } echo form_str('extract_list', "?{$_SERVER['QUERY_STRING']}"); if ($this->isadmin) { //搜索区块 tabheader_e(); echo "<tr><td colspan=\"2\" class=\"txt txtleft\">"; //关键词固定显示 echo $membercname . " <input class=\"text\" name=\"mname\" type=\"text\" value=\"{$mname}\" size=\"8\" style=\"vertical-align: middle;\"> "; $checkarr = array('-1' => lang('nolimit'), '0' => lang('nocheck'), '1' => lang('checked')); echo "<select style=\"vertical-align: middle;\" name=\"checked\">" . makeoption($checkarr, $checked) . "</select> "; $dmodearr = array('0' => lang('needtime'), '1' => lang('checkdate')); echo "<select style=\"vertical-align: middle;\" name=\"dmode\">" . makeoption($dmodearr, $dmode) . "</select> " . "<input class=\"text\" id=\"extract_date1\" name=\"date1\" type=\"text\" value=\"{$date1}\" onclick=\"ShowCalendar(this.id);\" style=\"vertical-align: middle;width:120px\"> - " . "<input class=\"text\" id=\"extract_date2\" name=\"date2\" type=\"text\" value=\"{$date2}\" onclick=\"ShowCalendar(this.id);\" style=\"vertical-align: middle;width:120px\"> " . "<input class=\"btn\" type=\"submit\" name=\"bfilter\" id=\"bfilter\" value=\"" . lang('filter0') . "\"> " . "</td></tr>"; tabfooter(); } $pagetmp = $page; do { $query = $db->query("SELECT * FROM {$tblprefix}extracts WHERE {$wheresql} ORDER BY {$datefield} DESC LIMIT " . ($pagetmp - 1) * $atpp . ",{$atpp}"); $pagetmp--; } while (!$db->num_rows($query) && $pagetmp); $count = $db->result_one("SELECT count(*) FROM {$tblprefix}extracts WHERE {$wheresql}"); $view = lang('message'); tabheader(lang('extract_list') . ($this->isadmin ? '' : " [<a href=\"?{$_SERVER['QUERY_STRING']}&eid=new\" onclick=\"return floatwin('open_extractview',this)\">" . lang('submit_extract') . '</a>]'), '', '', count($u_lists) + 1); $cy_arr = array(); $this->isadmin && ($cy_arr[] = '<input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form, \'selectid\', \'chkall\')">'); in_array('mname', $u_lists) && ($cy_arr[] = array($membercname, $css['L'])); in_array('integral', $u_lists) && ($cy_arr[] = lang('extract_count')); in_array('total', $u_lists) && ($cy_arr[] = lang('extract_getcount')); in_array('rate', $u_lists) && ($cy_arr[] = lang('extract_discount')); in_array('checkdate', $u_lists) && ($cy_arr[] = lang('checkdate')); in_array('createdate', $u_lists) && ($cy_arr[] = lang('needtime')); # in_array('delstate',$u_lists) && $cy_arr[] = lang('delstate'); in_array('view', $u_lists) && ($cy_arr[] = $view); trcategory($cy_arr); while ($item = $db->fetch_array($query)) { # $checked = $item['checked'] ? 'Y' : '-'; # $delete = $item['delstate'] ? 'Y' : '-'; $checkdate = $item['checkdate'] ? date('Y-m-d', $item['checkdate']) : '-'; $createdate = date('Y-m-d', $item['createdate']); $itemstr = '<tr class="txt">'; $this->isadmin && ($itemstr .= "<td class=\"{$css['C']} w40\" ><input class=\"checkbox\" type=\"checkbox\" name=\"selectid[{$item['eid']}]\" value=\"{$item['eid']}\"></td>\n"); in_array('mname', $u_lists) && ($itemstr .= "<td class=\"{$css['L']}\">{$item['mname']}</td>\n"); in_array('integral', $u_lists) && ($itemstr .= "<td class=\"{$css['C']}\">{$item['integral']}</td>\n"); in_array('total', $u_lists) && ($itemstr .= "<td class=\"{$css['C']}\">{$item['total']}</td>\n"); in_array('rate', $u_lists) && ($itemstr .= "<td class=\"{$css['C']}\">{$item['rate']}%</td>\n"); in_array('checkdate', $u_lists) && ($itemstr .= "<td class=\"{$css['C']}\">{$checkdate}</td>\n"); in_array('createdate', $u_lists) && ($itemstr .= "<td class=\"{$css['C']}\">{$createdate}</td>\n"); # in_array('delstate',$u_lists) && $itemstr .= "<td class=\"$css[C]\">$delete</td>\n"; in_array('view', $u_lists) && ($itemstr .= "<td class=\"{$css['C']}\"><a href=\"?{$_SERVER['QUERY_STRING']}&eid={$item['eid']}\" onclick=\"return floatwin('open_extractview',this)\">{$view}</a></td>\n"); $itemstr .= "</tr>\n"; echo $itemstr; } tabfooter(); echo multi($count, $atpp, $page, preg_replace("/[?&]page=\\d+\$|([?&])page=\\d+&/", '$1', "?{$_SERVER['QUERY_STRING']}")); if ($this->isadmin) { tabheader(lang('operate_item')); trbasic(lang('choose_item'), '', '<input class="checkbox" type="checkbox" name="extdeal[delete]" id="extdeal_delete" value="1"><label for="extdeal_delete" >' . lang('delete') . '</label> <input class="checkbox" type="checkbox" name="extdeal[check]" id="extdeal_check" value="1"><label for="extdeal_check" >' . lang('check') . '</label> ', ''); tabfooter('bextedit'); } } elseif ($this->isadmin) { global $selectid, $extdeal, $timestamp; if (function_exists('mcmessage')) { $message = 'mcmessage'; $empty_item = 'selectoperateitem'; } else { $message = 'amessage'; $empty_item = 'selectoperateitem'; } empty($extdeal) && $message($empty_item, axaction(1, M_REFERER)); empty($selectid) && $message('select_extract', axaction(1, M_REFERER)); $wheresql = $this->isadmin ? '' : " AND mid={$curuser->info['mid']}"; $user = new cls_userinfo(); foreach ($selectid as $eid) { if (!empty($extdeal['delete'])) { if ($row = $db->fetch_one("SELECT mid,integral,checkdate FROM {$tblprefix}extracts WHERE eid='{$eid}'{$wheresql} LIMIT 0,1")) { /* if($this->isadmin){ $sql = $row['delstate'] == 2 || !$row['checked'] ? "DELETE FROM {$tblprefix}extracts" :($row['delstate'] == 0 ? "UPDATE {$tblprefix}extracts SET delstate=1" : ''); }else{ $sql = $row['delstate'] == 1 || !$row['checked'] ? "DELETE FROM {$tblprefix}extracts" :($row['delstate'] == 0 ? "UPDATE {$tblprefix}extracts SET delstate=2" : ''); } $sql && $db->query("$sql WHERE eid='$eid'");*/ if ($row['checkdate'] == 0) { $user->activeuser($row['mid']); $user->updatecrids(array('0' => $row['integral']), 1); } $db->query("DELETE FROM {$tblprefix}extracts WHERE eid='{$eid}'"); } continue; } $this->isadmin && $db->query("UPDATE {$tblprefix}extracts SET checkdate={$timestamp} WHERE checkdate=0 AND eid='{$eid}'"); } $this->isadmin && !empty($extdeal['delete']) && adminlog(lang('extract_admin'), lang('extract_operate')); $message('extract_operate_finish', M_REFERER); } }