MetaGerSearch.php 2.21 KB
Newer Older
Dominik Hebeler's avatar
Dominik Hebeler committed
1
2
3
4
5
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
6
use Illuminate\Http\Request;
Dominik Hebeler's avatar
Dominik Hebeler committed
7
use App\MetaGer\Forwarder;
8
use App\MetaGer\Results;
9
10
use App;
use App\MetaGer\Search;
Dominik Hebeler's avatar
Dominik Hebeler committed
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

class MetaGerSearch extends Controller
{
    /**
     * Select a free Server to forward the Request to:
     *
     * @param  int  $id
     * @return Response
     */
    public function forwardToServer()
    {
        
        return Forwarder::getFreeServer();
        return var_dump($serversArray);
        return $cfg['redis']['password'];


        #return view('index', [ 'title' => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen']);
    }

31
32
    public function search(Request $request)
    {
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
        # Zunächst überprüfen wir die eingegebenen Einstellungen:
        # FOKUS
        $fokus = $request->input('focus', 'web');
        $fokus = trans('fokiNames.'.$fokus);
        if(strpos($fokus,".")){
            $fokus = trans('fokiNames.web');
        }
        define("FOKUS", $fokus);
        # SUMA-FILE
        if(App::isLocale("en")){
            define("SUMA_FILE", config_path() . "/sumasEn.xml");
        }else{
            define("SUMA_FILE", config_path() . "/sumas.xml");
        }
        if(!file_exists(SUMA_FILE)){
            die("Suma-File konnte nicht gefunden werden");
        }
        # Sucheingabe:
        $eingabe = trim($request->input('eingabe', ''));
        if(strlen($eingabe) === 0){
            return 'Achtung: Sie haben keinen Suchbegriff eingegeben. Sie können ihre Suchbegriffe oben eingeben und es erneut versuchen.';
        }else{
            define("Q", $eingabe);
        }
        # IP:
        if( isset($_SERVER['HTTP_FROM']) )
        {
            define("IP", $_SERVER['HTTP_FROM']);
        }else
        {
            define("IP", "127.0.0.1");
        }
        # Language:
        if( isset($_SERVER['HTTP_LANGUAGE']) )
        {
            define("LANGUAGE", $_SERVER['HTTP_LANGUAGE']);
        }else
        {
            define("LANGUAGE", "");
        }
        # Category
        define("CATEGORY", $request->input('category', ''));
 
        $searchengines = Search::loadSearchEngines($request);
        $results = new Results($searchengines);
        return $results->results;
79
80
    }

Dominik Hebeler's avatar
Dominik Hebeler committed
81
}