app/Http/Controllers/Admin/ChangesLogController.php
private function changesQuery(ServerRequestInterface $request): Builder
    {
        $from     = $request->getQueryParams()['from'] ?? '';
        $to       = $request->getQueryParams()['to'] ?? '';
        $type     = $request->getQueryParams()['type'] ?? '';
        $oldged   = $request->getQueryParams()['oldged'] ?? '';
        $newged   = $request->getQueryParams()['newged'] ?? '';
        $xref     = $request->getQueryParams()['xref'] ?? '';
        $username = $request->getQueryParams()['username'] ?? '';
        $ged      = $request->getQueryParams()['ged'] ?? '';
        $search   = $request->getQueryParams()['search'] ?? [];
        $search   = $search['value'] ?? '';


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

        if ($search !== '') {
            $query->where(static function (Builder $query) use ($search): void {
                $query
                    ->whereContains('old_gedcom', $search)
                    ->whereContains('new_gedcom', $search, 'or');
            });
        }

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

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

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

        if ($oldged !== '') {
            $query->whereContains('old_gedcom', $oldged);
        }
        if ($newged !== '') {
            $query->whereContains('new_gedcom', $oldged);
        }

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

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

        if ($ged !== '') {
            $query->whereContains('gedcom_name', $ged);
        }

        return $query;
    }
private function changesQuery(ServerRequestInterface $request): Builder
    {
        $from     = $request->getQueryParams()['from'] ?? '';
        $to       = $request->getQueryParams()['to'] ?? '';
        $type     = $request->getQueryParams()['type'] ?? '';
        $oldged   = $request->getQueryParams()['oldged'] ?? '';
        $newged   = $request->getQueryParams()['newged'] ?? '';
        $xref     = $request->getQueryParams()['xref'] ?? '';
        $username = $request->getQueryParams()['username'] ?? '';
        $ged      = $request->getQueryParams()['ged'] ?? '';
        $search   = $request->getQueryParams()['search'] ?? [];
        $search   = $search['value'] ?? '';


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

        if ($search !== '') {
            $query->where(static function (Builder $query) use ($search): void {
                $query
                    ->whereContains('old_gedcom', $search)
                    ->whereContains('new_gedcom', $search, 'or');
            });
        }

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

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

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

        if ($oldged !== '') {
            $query->whereContains('old_gedcom', $oldged);
        }
        if ($newged !== '') {
            $query->whereContains('new_gedcom', $oldged);
        }

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

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

        if ($ged !== '') {
            $query->whereContains('gedcom_name', $ged);
        }

        return $query;
    }
private function changesQuery ( ServerRequestInterface $ request ) : Builder { $ from = $ request -> getQueryParams ( ) [ 'from' ] ?? '' ; $ to = $ request -> getQueryParams ( ) [ 'to' ] ?? '' ; $ type = $ request -> getQueryParams ( ) [ 'type' ] ?? '' ; $ oldged = $ request -> getQueryParams ( ) [ 'oldged' ] ?? '' ; $ newged = $ request -> getQueryParams ( ) [ 'newged' ] ?? '' ; $ xref = $ request -> getQueryParams ( ) [ 'xref' ] ?? '' ; $ username = $ request -> getQueryParams ( ) [ 'username' ] ?? '' ; $ ged = $ request -> getQueryParams ( ) [ 'ged' ] ?? '' ; $ search = $ request -> getQueryParams ( ) [ 'search' ] ?? [ ] ; $ search = $ search [ 'value' ] ?? '' ; $ query = DB :: table ( 'change' ) -> leftJoin ( 'user' , 'user.user_id' , '=' , 'change.user_id' ) -> join ( 'gedcom' , 'gedcom.gedcom_id' , '=' , 'change.gedcom_id' ) -> select ( [ 'change.*' , DB :: raw ( "COALESCE(user_name, '<none>') AS user_name" ) , 'gedcom_name' ] ) ; if ( $ search !== '' ) { $ query -> where ( static function ( Builder $ query ) use ( $ search ) : void { $ query -> whereContains ( 'old_gedcom' , $ search ) -> whereContains ( 'new_gedcom' , $ search , 'or' ) ; } ) ; } if ( $ from !== '' ) { $ query -> where ( 'change_time' , '>=' , $ from ) ; } if ( $ to !== '' ) { // before end of the day $ query -> where ( 'change_time' , '<' , Carbon :: make ( $ to ) -> addDay ( ) ) ; } if ( $ type !== '' ) { $ query -> where ( 'status' , '=' , $ type ) ; } if ( $ oldged !== '' ) { $ query -> whereContains ( 'old_gedcom' , $ oldged ) ; } if ( $ newged !== '' ) { $ query -> whereContains ( 'new_gedcom' , $ oldged ) ; } if ( $ xref !== '' ) { $ query -> where ( 'xref' , '=' , $ xref ) ; } if ( $ username !== '' ) { $ query -> whereContains ( 'user_name' , $ username ) ; } if ( $ ged !== '' ) { $ query -> whereContains ( 'gedcom_name' , $ ged ) ; } return $ query ; }
Generate a query for filtering the changes log.

@param ServerRequestInterface $request

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