Skip to content
Snippets Groups Projects
Commit 7c18937d authored by Aria Givi's avatar Aria Givi
Browse files

.orig Dateien gelöscht

parent 6851d135
No related branches found
No related tags found
2 merge requests!859Development,!808Emailfeld für Rückfragen hinzugefügt
<?php
namespace App\Http\Controllers;
use App\Mail\Kontakt;
use App\Mail\Spende;
use App\Mail\Sprachdatei;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use LaravelLocalization;
use Mail;
class MailController extends Controller
{
/**
* Load Startpage accordingly to the given URL-Parameter and Mobile
*
* @param int $id
* @return Response
*/
public function contactMail(Request $request)
{
# Nachricht, die wir an den Nutzer weiterleiten:
$messageType = ""; # [success|error]
$returnMessage = '';
$replyTo = $request->input('email', 'noreply@metager.de');
if ($replyTo === "") {
$replyTo = "noreply@metager.de";
} else {
$replyTo = $request->input('email');
}
if (!$request->has('message')) {
$messageType = "error";
$returnMessage = "Tut uns leid, aber leider haben wir mit Ihrer Kontaktanfrage keine Daten erhalten. Die Email wurde nicht versand";
} else {
# Wir versenden die Mail des Benutzers an uns:
$message = $request->input('message');
Mail::to("office@suma-ev.de")
->send(new Kontakt($replyTo, $message));
$returnMessage = 'Ihre Email wurde uns erfolgreich zugestellt. Vielen Dank dafür! Wir werden diese schnellstmöglich bearbeiten und uns dann ggf. wieder bei Ihnen melden.';
$messageType = "success";
}
return view('kontakt.kontakt')
->with('title', 'Kontakt')
->with('js', ['openpgp.min.js', 'kontakt.js'])
->with($messageType, $returnMessage);
}
public function donation(Request $request)
{
# Der enthaltene String wird dem Benutzer nach der Spende ausgegeben
$messageToUser = "";
$messageType = ""; # [success|error]
#Sicherheitsüberprüfung (Wir wurden in letzter Zeit ziemlich mit Mails zugespammt
# Wir überprüfen also, ob das Feld für die Kontonummer tatsächlich eine Kontonummer, oder eine IBAN enthält:
$iban = $request->input('Kontonummer', '');
$iban = preg_replace("/\s/s", "", $iban);
# Eine Kontonummer besteht nur aus Zahlen
# Eine IBAN besteht aus einem Ländercode (2 Buchstaben), einer 2 stelligen Prüfsumme (2 Ziffern) gefolgt von
# einer Kombination aus Buchstaben und Zahlen
if (!preg_match("/^\d+$/s", $iban) && !preg_match("/^[a-zA-Z]{2}\d{2}[a-zA-Z0-9]+$/s", $iban)) {
$messageToUser = "Die eingegebene IBAN/Kontonummer scheint nicht Korrekt zu sein. Nachricht wurde nicht gesendet";
$messageType = "error";
} else {
# Folgende Felder werden vom Spendenformular als Input übergeben:
# Name
# Telefon
# email
# Kontonummer ( IBAN )
# Bankleitzahl ( BIC )
# Nachricht
if (!$request->has('Kontonummer') || !$request->has('Bankleitzahl') || !$request->has('Nachricht')) {
$messageToUser = "Sie haben eins der folgenden Felder nicht ausgefüllt: IBAN, BIC, Nachricht. Bitte korrigieren Sie Ihre Eingabe und versuchen es erneut.\n";
$messageType = "error";
} else {
$message = "\r\nName: " . $request->input('Name', 'Keine Angabe');
$message .= "\r\nTelefon: " . $request->input('Telefon', 'Keine Angabe');
$message .= "\r\nKontonummer: " . $request->input('Kontonummer');
$message .= "\r\nBankleitzahl: " . $request->input('Bankleitzahl');
$message .= "\r\nNachricht: " . $request->input('Nachricht');
$replyTo = $request->input('email', 'anonymous-user@metager.de');
if (!filter_var($replyTo, FILTER_VALIDATE_EMAIL)) {
$messageToUser .= "Die eingegebene Email-Addresse ($replyTo) scheint nicht korrekt zu sein.";
}
try {
Mail::to("office@suma-ev.de")
->send(new Spende($replyTo, $message));
$messageType = "success";
$messageToUser = "Herzlichen Dank!! Wir haben Ihre Spendenbenachrichtigung erhalten.";
} catch (\Swift_TransportException $e) {
$messageType = "error";
$messageToUser = 'Beim Senden Ihrer Spendenbenachrichtigung ist ein Fehler auf unserer Seite aufgetreten. Bitte schicken Sie eine Email an: office@suma-ev.de, damit wir uns darum kümmern können.';
}
}
}
if ($messageType === "error") {
$request->flash();
return view('spende.spende')
->with('title', 'Kontakt')
->with($messageType, $messageToUser);
} else {
$data = ['name' => $request->input('Name', 'Keine Angabe'), 'telefon' => $request->input('Telefon', 'Keine Angabe'), 'kontonummer' => $request->input('Kontonummer'), 'bankleitzahl' => $request->input('Bankleitzahl'), 'email' => $request->input('email', 'anonymous-user@metager.de'), 'nachricht' => $request->input('Nachricht')];
$data = base64_encode(serialize($data));
return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route("danke", ['data' => $data])));
}
}
public function sendLanguageFile(Request $request, $from, $to, $exclude = "", $email ="")
{
$filename = $request->input('filename');
<<<<<<< HEAD
=======
>>>>>>> c2954d4edaed584e2ef44e346adc259a9b896171
# Wir erstellen nun zunächst den Inhalt der Datei:
$data = [];
$new = 0;
$emailAddress = "";
foreach ($request->all() as $key => $value) {
if ($key === "filename" || $value === "") {
continue;
}
if($key === "email") {
$emailAddress = $value;
continue;
}
$key = base64_decode($key);
if (strpos($key, "_new_") === 0 && $value !== "") {
$new++;
$key = substr($key, strpos($key, "_new_") + 5);
}
$key = trim($key);
if (!strpos($key, "#")) {
$data[$key] = $value;
} else {
$ref = &$data;
do {
$ref = &$ref[substr($key, 0, strpos($key, "#"))];
$key = substr($key, strpos($key, "#") + 1);
} while (strpos($key, "#"));
$ref = &$ref[$key];
$ref = $value;
}
}
$output = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$output = preg_replace("/\{/si", "[", $output);
$output = preg_replace("/\}/si", "]", $output);
$output = preg_replace("/\": ([\"\[])/si", "\"\t=>\t$1", $output);
$output = "<?php\n\nreturn $output;\n";
$message = "Moin moin,\n\nein Benutzer hat eine Sprachdatei aktualisiert.\nSollten die Texte so in Ordnung sein, ersetzt, oder erstellt die Datei aus dem Anhang in folgendem Pfad:\n$filename\n\nFolgend zusätzlich der Inhalt der Datei:\n\n$output";
// echo $request->old('email');
//echo $request->input('email','test');
// die("");
# Wir haben nun eine Mail an uns geschickt, welche die entsprechende Datei beinhaltet.
# Nun müssen wir den Nutzer eigentlich nur noch zurück leiten und die Letzte bearbeitete Datei ausschließen:
$ex = [];
if ($exclude !== "") {
try {
$ex = unserialize(base64_decode($exclude));
} catch (\ErrorException $e) {
$ex = [];
}
if (!isset($ex["files"])) {
$ex["files"] = [];
}
}
if (!isset($ex["new"])) {
$ex["new"] = 0;
}
$ex['files'][] = basename($filename);
$ex["new"] += $new;
if ($new > 0) {
if($emailAddress !== "") {
Mail::to("aria@suma-ev.de")
->send(new Sprachdatei($message, $output, basename($filename), $emailAddress));
}
else {
Mail::to("aria@suma-ev.de")
->send(new Sprachdatei($message, $output, basename($filename)));
}
}
$ex = base64_encode(serialize($ex));
return redirect(url('languages/edit', ['from' => $from, 'to' => $to, 'exclude' => $ex, 'email' => $emailAddress]));
}
}
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| 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!
|
*/
Route::group(
[
'prefix' => LaravelLocalization::setLocale(), /*,
'middleware' => [ 'localeSessionRedirect', 'localizationRedirect' ]*/
],
function () {
/** ADD ALL LOCALIZED ROUTES INSIDE THIS GROUP **/
Route::get('/', 'StartpageController@loadStartPage');
Route::get('img/piwik.png', 'ImageController@generateImage');
Route::get('impressum', function () {
return view('impressum')
->with('title', trans('titles.impressum'))
->with('navbarFocus', 'kontakt');
});
Route::get('impressum.html', function () {
return redirect(url('impressum'));
});
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');
});
Route::get('kontakt', function () {
return view('kontakt.kontakt')
->with('title', trans('titles.kontakt'))
->with('navbarFocus', 'kontakt');
});
Route::post('kontakt', 'MailController@contactMail');
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');
});
Route::get('spende/danke/{data}', ['as' => 'danke', function ($data) {
return view('spende.danke')
->with('title', trans('titles.spende'))
->with('navbarFocus', 'foerdern')
->with('data', unserialize(base64_decode($data)));
}]);
Route::get('partnershops', function () {
return view('spende.partnershops')
->with('title', trans('titles.partnershops'))
->with('navbarFocus', 'foerdern');
});
Route::get('beitritt', function () {
return view('spende.beitritt')
->with('title', trans('titles.beitritt'))
->with('navbarFocus', 'foerdern');
});
Route::get('bform1.htm', function () {
return redirect('beitritt');
});
Route::get('spendenaufruf', function () {
return view('spende.spendenaufruf')
->with('title', 'Spendenaufruf - MetaGer')
->with('navbarFocus', 'foerdern');
});
Route::post('spende', 'MailController@donation');
Route::get('datenschutz', function () {
return view('datenschutz')
->with('title', trans('titles.datenschutz'))
->with('navbarFocus', 'datenschutz');
});
Route::get('hilfe', function () {
return view('hilfe')
->with('title', trans('titles.hilfe'))
->with('navbarFocus', 'hilfe');
});
Route::get('faq', function () {
return view('faq')
->with('title', trans('titles.faq'))
->with('navbarFocus', 'hilfe');
});
Route::get('widget', function () {
return view('widget.widget')
->with('title', trans('titles.widget'))
->with('navbarFocus', 'dienste');
});
Route::get('sitesearch', 'SitesearchController@loadPage');
Route::get('websearch', function () {
return view('widget.websearch')
->with('title', trans('titles.websearch'))
->with('navbarFocus', 'dienste');
});
Route::get('zitat-suche', 'ZitatController@zitatSuche');
Route::group(['middleware' => ['referer.check'], 'prefix' => 'admin'], function () {
Route::get('/', 'AdminInterface@index');
Route::get('count', 'AdminInterface@count');
Route::get('check', 'AdminInterface@check');
Route::get('engines', 'AdminInterface@engines');
});
Route::get('settings', 'StartpageController@loadSettings');
Route::match(['get', 'post'], 'meta/meta.ger3', 'MetaGerSearch@search');
Route::get('noaccess/{redirect}', 'MetaGerSearch@botProtection');
Route::get('meta/picture', 'Pictureproxy@get');
Route::get('clickstats', 'LogController@clicklog');
Route::get('pluginClose', 'LogController@pluginClose');
Route::get('pluginInstall', 'LogController@pluginInstall');
Route::get('qt', 'MetaGerSearch@quicktips');
Route::get('tips', 'MetaGerSearch@tips');
Route::get('/plugins/{params}/opensearch.xml', 'StartpageController@loadPlugin');
Route::get('owi', function () {
return redirect('https://metager.de/klassik/en/owi/');
});
Route::get('MG20', function () {
return redirect('https://metager.de/klassik/MG20');
});
Route::get('databund', function () {
return redirect('https://metager.de/klassik/databund');
});
Route::get('languages', 'LanguageController@createOverview');
Route::get('languages/edit/{from}/{to}/{exclude?}/{email?}', 'LanguageController@createEditPage');
<<<<<<< HEAD
Route::post('languages/edit/{from}/{to}/{exclude?}/{email?}', 'MailController@sendLanguageFile');
=======
Route::post('languages/edit/{from}/{to}/{exclude?}', 'MailController@sendLanguageFile');
>>>>>>> c2954d4edaed584e2ef44e346adc259a9b896171
Route::get('berlin', 'StartpageController@berlin');
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 () {
$filePath = env('maps_app');
$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");
});
Route::get('maps/version', function () {
$filePath = env('maps_version');
$fileContents = file_get_contents($filePath);
return response($fileContents, 200)
->header('Content-Type', 'text/plain');
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment