Beispiel #1
0
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') . "&nbsp; <input class=\"text\" name=\"keyword\" type=\"text\" value=\"{$keyword}\" size=\"10\">&nbsp; ";
        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}");
Beispiel #2
0
 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 . "&nbsp; <input class=\"text\" name=\"mname\" type=\"text\" value=\"{$mname}\" size=\"8\" style=\"vertical-align: middle;\">&nbsp; ";
             $checkarr = array('-1' => lang('nolimit'), '0' => lang('nocheck'), '1' => lang('checked'));
             echo "<select style=\"vertical-align: middle;\" name=\"checked\">" . makeoption($checkarr, $checked) . "</select>&nbsp; ";
             $dmodearr = array('0' => lang('needtime'), '1' => lang('checkdate'));
             echo "<select style=\"vertical-align: middle;\" name=\"dmode\">" . makeoption($dmodearr, $dmode) . "</select>&nbsp; " . "<input class=\"text\" id=\"extract_date1\" name=\"date1\" type=\"text\" value=\"{$date1}\" onclick=\"ShowCalendar(this.id);\" style=\"vertical-align: middle;width:120px\">&nbsp; -&nbsp; " . "<input class=\"text\" id=\"extract_date2\" name=\"date2\" type=\"text\" value=\"{$date2}\" onclick=\"ShowCalendar(this.id);\" style=\"vertical-align: middle;width:120px\">&nbsp; " . "<input class=\"btn\" type=\"submit\" name=\"bfilter\" id=\"bfilter\" value=\"" . lang('filter0') . "\">&nbsp;" . "</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 ? '' : "&nbsp;[<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>&nbsp;<input class="checkbox" type="checkbox" name="extdeal[check]" id="extdeal_check" value="1"><label for="extdeal_check" >' . lang('check') . '</label>&nbsp;', '');
             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);
     }
 }