web.php 9.6 KB
Newer Older
Dominik Hebeler's avatar
Dominik Hebeler committed
1 2
<?php

3 4
use Jenssegers\Agent\Agent;

Dominik Hebeler's avatar
Dominik Hebeler committed
5 6
/*
|--------------------------------------------------------------------------
7
| Web Routes
Dominik Hebeler's avatar
Dominik Hebeler committed
8 9
|--------------------------------------------------------------------------
|
10 11 12
| This file is where you may define all of the routes that are handled
| by your application. Just tell Laravel the URIs it should respond
| to using a Closure or controller method. Build something great!
Dominik Hebeler's avatar
Dominik Hebeler committed
13
|
14 15 16 17 18 19 20 21
 */
Route::group(
    [
        'prefix' => LaravelLocalization::setLocale(), /*,
    'middleware' => [ 'localeSessionRedirect', 'localizationRedirect' ]*/
    ],
    function () {
        /** ADD ALL LOCALIZED ROUTES INSIDE THIS GROUP **/
22

23
        Route::get('/', 'StartpageController@loadStartPage');
24

25
        Route::get('asso', function () {
26 27 28
            return view('assoziator.asso')
                ->with('title', trans('titles.asso'))
                ->with('navbarFocus', 'dienste');
29 30
        });
        Route::post('asso', 'Assoziator@asso');
31

32 33 34 35 36 37 38 39
        Route::get('impressum', function () {
            return view('impressum')
                ->with('title', trans('titles.impressum'))
                ->with('navbarFocus', 'kontakt');
        });
        Route::get('impressum.html', function () {
            return redirect(url('impressum'));
        });
40

41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
        Route::get('about', function () {
            return view('about')
                ->with('title', trans('titles.about'))
                ->with('navbarFocus', 'kontakt');
        });
        Route::get('team', function () {
            return view('team.team')
                ->with('title', trans('titles.team'))
                ->with('navbarFocus', 'kontakt');
        });
        Route::get('team/pubkey-wsb', function () {
            return view('team.pubkey-wsb')
                ->with('title', trans('titles.team'))
                ->with('navbarFocus', 'kontakt');
        });
56

57
        Route::get('kontakt/{url?}', function ($url = "") {
58 59
            return view('kontakt.kontakt')
                ->with('title', trans('titles.kontakt'))
60
                ->with('navbarFocus', 'kontakt')
61
                ->with('url', $url);
62
        });
63

64
        Route::post('kontakt', 'MailController@contactMail');
65

66 67 68 69 70 71 72 73 74 75
        Route::get('tor', function () {
            return view('tor')
                ->with('title', 'tor hidden service - MetaGer')
                ->with('navbarFocus', 'dienste');
        });
        Route::get('spende', function () {
            return view('spende.spende')
                ->with('title', trans('titles.spende'))
                ->with('navbarFocus', 'foerdern');
        });
76
        Route::get('spende/danke/{data}', ['as' => 'danke', function ($data) {
77 78 79 80
            return view('spende.danke')
                ->with('title', trans('titles.spende'))
                ->with('navbarFocus', 'foerdern')
                ->with('data', unserialize(base64_decode($data)));
81
        }]);
82 83 84
        Route::get('partnershops', function () {
            return view('spende.partnershops')
                ->with('title', trans('titles.partnershops'))
85
                ->with('navbarFocus', 'foerdern');
86
        });
87

88
        Route::get('beitritt', function () {
89 90 91 92 93
            if (LaravelLocalization::getCurrentLocale() === "de") {
                return response()->file(storage_path('app/public/aufnahmeantrag-de.pdf'));
            } else {
                return response()->file(storage_path('app/public/aufnahmeantrag-en.pdf'));
            }
94
        });
95

96 97 98
        Route::get('bform1.htm', function () {
            return redirect('beitritt');
        });
99

100
        Route::post('spende', 'MailController@donation');
101

102
        Route::get('datenschutz', function () {
103
            return view('datenschutz/datenschutz')
104 105 106
                ->with('title', trans('titles.datenschutz'))
                ->with('navbarFocus', 'datenschutz');
        });
Dominik Hebeler's avatar
Dominik Hebeler committed
107

108 109 110
        Route::get('hilfe', function () {
            return view('hilfe')
                ->with('title', trans('titles.hilfe'))
111 112
                ->with('navbarFocus', 'hilfe');
        });
113

Karl Hasselbring's avatar
Karl Hasselbring committed
114
        Route::get('hilfe/faktencheck', function () {
115 116 117 118 119
            return view('faktencheck')
                ->with('title', trans('titles.faktencheck'))
                ->with('navbarFocus', 'hilfe');
        });

120
        Route::get('faq', function () {
Dominik Hebeler's avatar
Dominik Hebeler committed
121
            return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/hilfe'));
122
        });
123

124
        Route::get('widget', function () {
125
            return view('widget.widget')
126 127
                ->with('title', trans('titles.widget'))
                ->with('navbarFocus', 'dienste');
128
        });
129 130 131

        Route::get('sitesearch', 'SitesearchController@loadPage');

132
        Route::get('websearch', function () {
133 134
            return view('widget.websearch')
                ->with('title', trans('titles.websearch'))
135
                ->with('navbarFocus', 'dienste');
136 137
        });

138 139
        Route::get('zitat-suche', 'ZitatController@zitatSuche');

140 141 142 143 144
        Route::get('jugendschutz', function () {
            return view('jugendschutz')
                ->with('title', trans('titles.jugendschutz'));
        });

Karl Hasselbring's avatar
Karl Hasselbring committed
145 146 147 148 149
        Route::get('ad-info', function () {
            return view('ad-info')
                ->with('title', trans('titles.ad-info'));
        });

150 151 152 153 154 155 156 157 158 159 160 161
        Route::get('age.xml', function () {
            $response = Response::make(file_get_contents(resource_path('age/age.xml')));
            $response->header('Content-Type', "application/xml");
            return $response;
        });

        Route::get('age-de.xml', function () {
            $response = Response::make(file_get_contents(resource_path('age/age-de.xml')));
            $response->header('Content-Type', "application/xml");
            return $response;
        });

162 163 164 165 166 167 168 169
        Route::get('plugin', function () {
            return view('plugin-page')
                ->with('title', trans('titles.plugin'))
                ->with('navbarFocus', 'dienste')
                ->with('browser', (new Agent())->browser())
                ->with('request', $this->input('request', 'GET'));
        });

170
        Route::group(['middleware' => ['auth.basic'], 'prefix' => 'admin'], function () {
171
            Route::get('/', 'AdminInterface@index');
Karl Hasselbring's avatar
Karl Hasselbring committed
172
            Route::match(['get', 'post'], 'count', 'AdminInterface@count');
173
            Route::get('count/graphtoday.svg', 'AdminInterface@countGraphToday');
Dominik Hebeler's avatar
Dominik Hebeler committed
174
            Route::get('engine/stats.json', 'AdminInterface@engineStats');
175 176 177
            Route::get('check', 'AdminInterface@check');
            Route::get('engines', 'AdminInterface@engines');
        });
178

179 180 181
        Route::get('settings', function () {
            return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/'));
        });
182

Dominik Hebeler's avatar
Dominik Hebeler committed
183
        Route::match(['get', 'post'], 'meta/meta.ger3', 'MetaGerSearch@search')->middleware('humanverification');
184
        Route::get('meta/loadMore', 'MetaGerSearch@loadMore');
Dominik Hebeler's avatar
Dominik Hebeler committed
185 186
        Route::post('img/cat.jpg', 'HumanVerification@remove');
        Route::get('r/metager/{mm}/{pw}/{url}', ['as' => 'humanverification', 'uses' => 'HumanVerification@removeGet']);
187
        Route::post('img/dog.jpg', 'HumanVerification@whitelist');
Karl Hasselbring's avatar
Karl Hasselbring committed
188

189 190 191 192
        Route::get('meta/picture', 'Pictureproxy@get');
        Route::get('clickstats', 'LogController@clicklog');
        Route::get('pluginClose', 'LogController@pluginClose');
        Route::get('pluginInstall', 'LogController@pluginInstall');
193

194 195
        Route::get('qt', 'MetaGerSearch@quicktips');
        Route::get('tips', 'MetaGerSearch@tips');
196
        Route::get('/plugins/opensearch.xml', 'StartpageController@loadPlugin');
197 198 199
        Route::get('owi', function () {
            return redirect('https://metager.de/klassik/en/owi/');
        });
200 201 202 203 204 205
        Route::get('MG20', function () {
            return redirect('https://metager.de/klassik/MG20');
        });
        Route::get('databund', function () {
            return redirect('https://metager.de/klassik/databund');
        });
206
        Route::get('languages', 'LanguageController@createOverview');
207
        Route::get('synoptic/{exclude?}/{chosenFile?}', 'LanguageController@createSynopticEditPage');
208
        Route::post('synoptic/{exclude?}/{chosenFile?}', 'LanguageController@processSynopticPageInput');
209
        Route::get('languages/edit/{from}/{to}/{exclude?}/{email?}', 'LanguageController@createEditPage');
210
        Route::post('languages/edit/{from}/{to}/{exclude?}/{email?}', 'MailController@sendLanguageFile');
211 212 213 214 215 216 217 218 219 220 221 222

        Route::group(['prefix' => 'app'], function () {
            Route::get('/', function () {
                return view('app')
                    ->with('title', trans('titles.app'))
                    ->with('navbarFocus', 'dienste');
            });
            Route::get('metager', function () {
                $filePath = storage_path() . "/app/public/MetaGer-release.apk";
                return response()->download($filePath, "MetaGer-release.apk");
            });
            Route::get('maps', function () {
223
                $filePath = env('maps_app');
224 225 226 227 228 229 230
                $fileContents = file_get_contents($filePath);
                return response($fileContents, 200)
                    ->header('Cache-Control', 'public')
                    ->header('Content-Type', 'application/vnd.android.package-archive')
                    ->header('Content-Transfer-Encoding', 'Binary')
                    ->header("Content-Disposition", "attachment; filename=app-release.apk");
            });
Dominik Hebeler's avatar
Dominik Hebeler committed
231

232
            Route::get('maps/version', function () {
233
                $filePath = env('maps_version');
234 235 236 237
                $fileContents = file_get_contents($filePath);
                return response($fileContents, 200)
                    ->header('Content-Type', 'text/plain');
            });
238
        });
239
    });