HomeAction::_getLogsData PHP Method

_getLogsData() private method

获取知识数据
private _getLogsData ( string $table = '' ) : array
$table string 知识表名
return array 知识数据
    private function _getLogsData($table = '')
    {
        // 条件过滤
        $map = $this->getSearchPost();
        !empty($map['app_name']) && ($_map['app_name'] = t($map['app_name']));
        !empty($map['uname']) && ($_map['uname'] = t($map['uname']));
        !empty($map['keyword']) && ($_map['keyword'] = array('LIKE', '%' . t($map['keyword']) . '%'));
        if (!empty($map['ctime'][0]) && !empty($map['ctime'][1])) {
            $_map['ctime'] = array('BETWEEN', array(strtotime($map['ctime'][0]), strtotime($map['ctime'][1])));
        } else {
            !empty($map['ctime'][0]) && ($_map['ctime'] = array('GT', strtotime($map['ctime'][0])));
            !empty($map['ctime'][1]) && ($_map['ctime'] = array('LT', strtotime($map['ctime'][1])));
        }
        if (!empty($map['group_action'])) {
            list($group, $action) = explode('-', $map['group_action']);
            $_map['group'] = $group;
            $_map['action'] = $action;
            $this->onload[] = "admin.selectLog('{$map['app_name']}','{$map['group_action']}')";
        }
        // TODO:下面的in也许会很慢,可能需要分情况
        !empty($map['isAdmin']) && is_array($map['isAdmin']) && ($_map['isAdmin'] = array('IN', $map['isAdmin']));
        // 知识归档表的查询处理
        $this->searchPostUrl .= '&table=' . $table;
        $listData = model('Logs')->get($_map, 20, $table);
        foreach ($listData['data'] as &$v) {
            foreach ($v as $vk => $vv) {
                if (!in_array($vk, $this->pageKeyList)) {
                    unset($vk);
                }
                $vk == 'app_name' && ($v[$vk] = $this->opt['app_name'][$vv]);
                $vk == 'ctime' && ($v[$vk] = date('Y-m-d H:i:s', $vv));
                $vk == 'isAdmin' && ($v[$vk] = $this->opt['isAdmin'][$vv]);
            }
            $v['app_name'] .= '-' . $v['type_info'];
            $v['DOACTION'] = '<a href="javascript:void(0)" onclick="admin.dellog(\'' . $v['id'] . '\',\'' . $table . '\')">' . L('PUBLIC_STREAM_DELETE') . '</a>';
        }
        return $listData;
    }