app/Http/Controllers/AdminSiteController.php
private function logsQuery(ServerRequestInterface $request): Builder
    {
        $from     = $request->get('from');
        $to       = $request->get('to');
        $type     = $request->get('type', '');
        $text     = $request->get('text', '');
        $ip       = $request->get('ip', '');
        $username = $request->get('username', '');
        $gedc     = $request->get('gedc');

        $query = DB::table('log')
            ->leftJoin('user', 'user.user_id', '=', 'log.user_id')
            ->leftJoin('gedcom', 'gedcom.gedcom_id', '=', 'log.gedcom_id')
            ->select(['log.*', DB::raw("COALESCE(user_name, '<none>') AS user_name"), DB::raw("COALESCE(gedcom_name, '<none>') AS gedcom_name")]);

        if ($from !== '') {
            $query->where('log_time', '>=', $from);
        }

        if ($to !== '') {
            // before end of the day
            $query->where('log_time', '<', Carbon::make($to)->addDay());
        }

        if ($type !== '') {
            $query->where('log_type', '=', $type);
        }

        if ($text) {
            $query->whereContains('log_message', $text);
        }

        if ($ip) {
            $query->whereContains('ip_address', $ip);
        }

        if ($username) {
            $query->whereContains('user_name', $ip);
        }

        if ($gedc) {
            $query->where('gedcom_name', '=', $gedc);
        }

        return $query;
    }
private function logsQuery(ServerRequestInterface $request): Builder
    {
        $from     = $request->get('from');
        $to       = $request->get('to');
        $type     = $request->get('type', '');
        $text     = $request->get('text', '');
        $ip       = $request->get('ip', '');
        $username = $request->get('username', '');
        $gedc     = $request->get('gedc');

        $query = DB::table('log')
            ->leftJoin('user', 'user.user_id', '=', 'log.user_id')
            ->leftJoin('gedcom', 'gedcom.gedcom_id', '=', 'log.gedcom_id')
            ->select(['log.*', DB::raw("COALESCE(user_name, '<none>') AS user_name"), DB::raw("COALESCE(gedcom_name, '<none>') AS gedcom_name")]);

        if ($from !== '') {
            $query->where('log_time', '>=', $from);
        }

        if ($to !== '') {
            // before end of the day
            $query->where('log_time', '<', Carbon::make($to)->addDay());
        }

        if ($type !== '') {
            $query->where('log_type', '=', $type);
        }

        if ($text) {
            $query->whereContains('log_message', $text);
        }

        if ($ip) {
            $query->whereContains('ip_address', $ip);
        }

        if ($username) {
            $query->whereContains('user_name', $ip);
        }

        if ($gedc) {
            $query->where('gedcom_name', '=', $gedc);
        }

        return $query;
    }
private function logsQuery ( ServerRequestInterface $ request ) : Builder { $ from = $ request -> get ( 'from' ) ; $ to = $ request -> get ( 'to' ) ; $ type = $ request -> get ( 'type' , '' ) ; $ text = $ request -> get ( 'text' , '' ) ; $ ip = $ request -> get ( 'ip' , '' ) ; $ username = $ request -> get ( 'username' , '' ) ; $ gedc = $ request -> get ( 'gedc' ) ; $ query = DB :: table ( 'log' ) -> leftJoin ( 'user' , 'user.user_id' , '=' , 'log.user_id' ) -> leftJoin ( 'gedcom' , 'gedcom.gedcom_id' , '=' , 'log.gedcom_id' ) -> select ( [ 'log.*' , DB :: raw ( "COALESCE(user_name, '<none>') AS user_name" ) , DB :: raw ( "COALESCE(gedcom_name, '<none>') AS gedcom_name" ) ] ) ; if ( $ from !== '' ) { $ query -> where ( 'log_time' , '>=' , $ from ) ; } if ( $ to !== '' ) { // before end of the day $ query -> where ( 'log_time' , '<' , Carbon :: make ( $ to ) -> addDay ( ) ) ; } if ( $ type !== '' ) { $ query -> where ( 'log_type' , '=' , $ type ) ; } if ( $ text ) { $ query -> whereContains ( 'log_message' , $ text ) ; } if ( $ ip ) { $ query -> whereContains ( 'ip_address' , $ ip ) ; } if ( $ username ) { $ query -> whereContains ( 'user_name' , $ ip ) ; } if ( $ gedc ) { $ query -> where ( 'gedcom_name' , '=' , $ gedc ) ; } return $ query ; }
Generate a query for filtering the site log.

@param ServerRequestInterface $request

@return Builder
Generate a query for filtering the site log .