コード例 #1
0
ファイル: cloud_security.php プロジェクト: v998/discuzx-en
function getDataToReport($operateType, $datatosync, $datas)
{
    $datatoreport = array();
    foreach ($datatosync as $operateresult => $ids) {
        foreach ($ids as $id) {
            if (!$datas[$id]['isreported']) {
                $data = array('operateType' => $operateType, 'operate' => $operateresult == 'validate' ? 'restore' : 'delete', 'operateId' => $id, 'uid' => $datas[$id]['authorid'] ? $datas[$id]['authorid'] : $datas[$id]['uid']);
                $data['openId'] = getOpenId($data['uid']);
                $data['clientIp'] = $datas[$id]['userip'] ? $datas[$id]['userip'] : getMemberIp($data['uid']);
                if ($operateType != 'member') {
                    $data['tid'] = $datas[$id]['tid'];
                    $data['pid'] = $datas[$id]['pid'];
                    $data['fid'] = $datas[$id]['fid'];
                }
                array_push($datatoreport, $data);
            }
        }
    }
    return $datatoreport;
}
コード例 #2
0
function getOperateData($type, $limit = 20)
{
    if (notOpenService()) {
        return false;
    }
    $allowType = array('post', 'user', 'member');
    $operateData = array();
    $operateResultData = array();
    if ($type == 'member') {
        $type = 'user';
    }
    if (!in_array($type, $allowType)) {
        return false;
    }
    $tableName = DB::table('security_evil' . $type);
    $query = "SELECT * FROM " . $tableName . " WHERE isreported = 0 AND operateresult > 0 LIMIT {$limit}";
    $query = DB::query($query);
    while ($tempData = DB::fetch($query)) {
        $operateData[] = $tempData;
    }
    foreach ($operateData as $tempData) {
        $operateResult = $tempData['operateresult'] == 1 ? 'recover' : 'delete';
        if ($type == 'post') {
            require_once libfile('function/forum');
            $detailData = get_post_by_pid($tempData['pid']);
            $id = $tempData['pid'];
        } elseif ($type == 'user') {
            $detailData = DB::fetch_first("SELECT * FROM " . DB::table('common_member') . " WHERE uid = '{$tempData['uid']}'");
            $id = $tempData['uid'];
        }
        if ($type == 'post') {
            $operateType = $detailData['first'] ? 'thread' : 'post';
        } elseif ($type == 'user') {
            $operateType = 'member';
        }
        $data = array('tid' => $detailData['tid'] ? $detailData['tid'] : 0, 'pid' => $detailData['pid'] ? $detailData['pid'] : 0, 'fid' => $detailData['fid'] ? $detailData['fid'] : 0, 'operateType' => $operateType, 'operate' => $operateResult, 'operateId' => $id, 'uid' => $detailData['authorid'] ? $detailData['authorid'] : $detailData['uid']);
        $data['openId'] = getOpenId($data['uid']);
        $data['clientIp'] = $detailData['useip'] ? $detailData['useip'] : getMemberIp($data['uid']);
        $operateResultData[] = $data;
    }
    return $operateResultData;
}