Commit de0fc383 authored by Karl's avatar Karl
Browse files

Merge mit Development

parents 97bc659c a982d7f4
...@@ -49,7 +49,7 @@ class LanguageController extends Controller ...@@ -49,7 +49,7 @@ class LanguageController extends Controller
->with('deComplete', $deComplete); ->with('deComplete', $deComplete);
} }
public function createEditPage($from, $to, $exclude = "") public function createEditPage($from, $to, $exclude = "", $email = "")
{ {
$languageFilePath = resource_path() . "/lang/"; $languageFilePath = resource_path() . "/lang/";
$files = scandir($languageFilePath); $files = scandir($languageFilePath);
...@@ -153,7 +153,8 @@ class LanguageController extends Controller ...@@ -153,7 +153,8 @@ class LanguageController extends Controller
->with('to', $to) ->with('to', $to)
->with('langTexts', $langTexts) ->with('langTexts', $langTexts)
->with('sum', $sum) ->with('sum', $sum)
->with('new', $ex["new"]); ->with('new', $ex["new"])
->with('email', $email);
} }
private function htmlEscape($t, $to) private function htmlEscape($t, $to)
......
...@@ -117,18 +117,23 @@ class MailController extends Controller ...@@ -117,18 +117,23 @@ class MailController extends Controller
} }
public function sendLanguageFile(Request $request, $from, $to, $exclude = "") public function sendLanguageFile(Request $request, $from, $to, $exclude = "", $email ="")
{ {
$filename = $request->input('filename'); $filename = $request->input('filename');
# Wir erstellen nun zunächst den Inhalt der Datei: # Wir erstellen nun zunächst den Inhalt der Datei:
$data = []; $data = [];
$new = 0; $new = 0;
$emailAddress = "";
foreach ($request->all() as $key => $value) { foreach ($request->all() as $key => $value) {
if ($key === "filename" || $value === "") { if ($key === "filename" || $value === "") {
continue; continue;
} }
if($key === "email") {
$emailAddress = $value;
continue;
}
$key = base64_decode($key); $key = base64_decode($key);
if (strpos($key, "_new_") === 0 && $value !== "") { if (strpos($key, "_new_") === 0 && $value !== "") {
$new++; $new++;
...@@ -153,11 +158,13 @@ class MailController extends Controller ...@@ -153,11 +158,13 @@ class MailController extends Controller
$output = preg_replace("/\{/si", "[", $output); $output = preg_replace("/\{/si", "[", $output);
$output = preg_replace("/\}/si", "]", $output); $output = preg_replace("/\}/si", "]", $output);
$output = preg_replace("/\": ([\"\[])/si", "\"\t=>\t$1", $output); $output = preg_replace("/\": ([\"\[])/si", "\"\t=>\t$1", $output);
$output = "<?php\n\nreturn $output;\n"; $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"; $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. # 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: # Nun müssen wir den Nutzer eigentlich nur noch zurück leiten und die Letzte bearbeitete Datei ausschließen:
$ex = []; $ex = [];
...@@ -179,10 +186,17 @@ class MailController extends Controller ...@@ -179,10 +186,17 @@ class MailController extends Controller
$ex["new"] += $new; $ex["new"] += $new;
if ($new > 0) { if ($new > 0) {
Mail::to("dev@suma-ev.de") if($emailAddress !== "") {
Mail::to("dev@suma-ev.de")
->send(new Sprachdatei($message, $output, basename($filename), $emailAddress));
}
else {
Mail::to("dev@suma-ev.de")
->send(new Sprachdatei($message, $output, basename($filename))); ->send(new Sprachdatei($message, $output, basename($filename)));
}
} }
$ex = base64_encode(serialize($ex)); $ex = base64_encode(serialize($ex));
return redirect(url('languages/edit', ['from' => $from, 'to' => $to, 'exclude' => $ex]));
return redirect(url('languages/edit', ['from' => $from, 'to' => $to, 'exclude' => $ex, 'email' => $emailAddress]));
} }
} }
...@@ -15,10 +15,10 @@ class Sprachdatei extends Mailable ...@@ -15,10 +15,10 @@ class Sprachdatei extends Mailable
* *
* @return void * @return void
*/ */
public function __construct($message, $fileContent, $filename) public function __construct($message, $fileContent, $filename, $replyAddress = "noreply@metager.de")
{ {
$this->subject = "MetaGer - Sprachdatei"; $this->subject = "MetaGer - Sprachdatei";
$this->reply = "noreply@metager.de"; $this->reply = $replyAddress;
$this->message = $message; $this->message = $message;
$this->fileContent = $fileContent; $this->fileContent = $fileContent;
$this->filename = $filename; $this->filename = $filename;
......
...@@ -180,13 +180,24 @@ class MetaGer ...@@ -180,13 +180,24 @@ class MetaGer
// augment (boost&adgoal) // augment (boost&adgoal)
// authorize // authorize
// misc (WiP) // misc (WiP)
uasort($this->results, function ($a, $b) { if ($this->fokus == "nachrichten") {
if ($a->getRank() == $b->getRank()) { $this->results = array_filter($this->results, function ($v, $k) {
return 0; return !is_null($v->getRank());
} }, ARRAY_FILTER_USE_BOTH);
uasort($this->results, function ($a, $b) {
$datea = $a->getDate();
$dateb = $b->getDate();
return $dateb - $datea;
});
} else {
uasort($this->results, function ($a, $b) {
if ($a->getRank() == $b->getRank()) {
return 0;
}
return ($a->getRank() < $b->getRank()) ? 1 : -1; return ($a->getRank() < $b->getRank()) ? 1 : -1;
}); });
}
# Validate Results # Validate Results
$newResults = []; $newResults = [];
......
...@@ -62,8 +62,8 @@ class Result ...@@ -62,8 +62,8 @@ class Result
$this->strippedLink = $this->getStrippedLink($this->anzeigeLink); $this->strippedLink = $this->getStrippedLink($this->anzeigeLink);
$this->rank = 0; $this->rank = 0;
$this->partnershop = isset($additionalInformation["partnershop"]) ? $additionalInformation["partnershop"] : false; $this->partnershop = isset($additionalInformation["partnershop"]) ? $additionalInformation["partnershop"] : false;
$this->image = isset($additionalInformation["image"]) ? $additionalInformation["image"] : ""; $this->image = isset($additionalInformation["image"]) ? $additionalInformation["image"] : "";
$this->price = isset($additionalInformation["price"]) ? $additionalInformation["price"] : 0; $this->price = isset($additionalInformation["price"]) ? $additionalInformation["price"] : 0;
$this->additionalInformation = $additionalInformation; $this->additionalInformation = $additionalInformation;
} }
...@@ -386,6 +386,15 @@ return "https://proxy.suma-ev.de/mger/nph-proxy.cgi/en/w0/" . $tmp; ...@@ -386,6 +386,15 @@ return "https://proxy.suma-ev.de/mger/nph-proxy.cgi/en/w0/" . $tmp;
return $this->rank; return $this->rank;
} }
public function getDate()
{
if (isset($this->additionalInformation["date"])) {
return $this->additionalInformation["date"];
} else {
return null;
}
}
public function getLangString() public function getLangString()
{ {
$string = ""; $string = "";
......
...@@ -24,10 +24,11 @@ class Onenewspage extends Searchengine ...@@ -24,10 +24,11 @@ class Onenewspage extends Searchengine
if (sizeof($res) < 3) { if (sizeof($res) < 3) {
continue; continue;
} }
$title = $res[0]; $title = $res[0];
$link = $res[2]; $link = $res[2];
$anzeigeLink = $link; $anzeigeLink = $link;
$descr = $res[1]; $descr = $res[1];
$additionalInformation = sizeof($res) > 3 ? ['date' => intval($res[3])] : [];
$this->counter++; $this->counter++;
$this->results[] = new \App\Models\Result( $this->results[] = new \App\Models\Result(
...@@ -37,7 +38,8 @@ class Onenewspage extends Searchengine ...@@ -37,7 +38,8 @@ class Onenewspage extends Searchengine
$anzeigeLink, $anzeigeLink,
$descr, $descr,
$this->gefVon, $this->gefVon,
$this->counter $this->counter,
$additionalInformation
); );
} }
if (count($this->results) > $this->resultCount) { if (count($this->results) > $this->resultCount) {
......
...@@ -27,15 +27,22 @@ class Onenewspagegermany extends Searchengine ...@@ -27,15 +27,22 @@ class Onenewspagegermany extends Searchengine
if (sizeof($result) < 3) { if (sizeof($result) < 3) {
continue; continue;
} }
$title = $result[0];
$link = $result[2];
$anzeigeLink = $link;
$descr = $result[1];
$additionalInformation = sizeof($result) > 3 ? ['date' => intval($result[3])] : [];
$counter++; $counter++;
$this->results[] = new Result( $this->results[] = new Result(
$this->engine, $this->engine,
trim(strip_tags($result[0])), $title,
$result[2], $link,
$result[2], $anzeigeLink,
$result[1], $descr,
$this->gefVon, $this->gefVon,
$counter $this->counter,
$additionalInformation
); );
} }
......
...@@ -23,10 +23,11 @@ class Onenewspagevideo extends Searchengine ...@@ -23,10 +23,11 @@ class Onenewspagevideo extends Searchengine
if (sizeof($res) < 3) { if (sizeof($res) < 3) {
continue; continue;
} }
$title = $res[0]; $title = $res[0];
$link = $res[2]; $link = $res[2];
$anzeigeLink = $link; $anzeigeLink = $link;
$descr = $res[1]; $descr = $res[1];
$additionalInformation = sizeof($res) > 3 ? ['date' => intval($res[3])] : [];
$this->counter++; $this->counter++;
$this->results[] = new \App\Models\Result( $this->results[] = new \App\Models\Result(
...@@ -36,7 +37,8 @@ class Onenewspagevideo extends Searchengine ...@@ -36,7 +37,8 @@ class Onenewspagevideo extends Searchengine
$anzeigeLink, $anzeigeLink,
$descr, $descr,
$this->gefVon, $this->gefVon,
$this->counter $this->counter,
$additionalInformation
); );
} }
if (count($this->results) > $this->resultCount) { if (count($this->results) > $this->resultCount) {
......
...@@ -3615,6 +3615,10 @@ function tabs() { ...@@ -3615,6 +3615,10 @@ function tabs() {
$("#" + fokus + "TabSelector").attr("data-loaded", "1"); $("#" + fokus + "TabSelector").attr("data-loaded", "1");
$("#" + fokus).html(data); $("#" + fokus).html(data);
$("input[name=focus]").val($("#foki li.active a").attr("aria-controls")); $("input[name=focus]").val($("#foki li.active a").attr("aria-controls"));
<<<<<<< HEAD
=======
$('iframe').iFrameResize();
>>>>>>> development
getDocumentReadyForUse(fokus); getDocumentReadyForUse(fokus);
}); });
} else { } else {
......
This diff is collapsed.
...@@ -13,6 +13,7 @@ return [ ...@@ -13,6 +13,7 @@ return [
'conveyor' => 'Einkaufen bei MetaGer-Fördershops', 'conveyor' => 'Einkaufen bei MetaGer-Fördershops',
'partnertitle' => 'MetaGer unterstützen, ohne Mehrkosten für Sie', 'partnertitle' => 'MetaGer unterstützen, ohne Mehrkosten für Sie',
'mapstitle' => 'Der MetaGer Kartenservice',
'plugin' => 'MetaGer-Plugin hinzufügen', 'plugin' => 'MetaGer-Plugin hinzufügen',
'plugintitle' => 'MetaGer zu Ihrem Browser hinzufügen', 'plugintitle' => 'MetaGer zu Ihrem Browser hinzufügen',
......
<?php <?php
return [ return [
'role.1' => 'Geschäftsführer, Vorstand', 'role.1' => 'Geschäftsführender Vorstand/CEO',
'role.2' => 'Büroleiter und Jugendschutzbeauftragter', 'role.2' => 'Büroleiter und Jugendschutzbeauftragter',
'role.3' => 'Pressereferentin', 'role.3' => 'Pressereferentin',
'role.4' => 'Programmierer', 'role.4' => 'Programmierer',
...@@ -10,5 +10,6 @@ return [ ...@@ -10,5 +10,6 @@ return [
'role.7' => 'Sekretariat', 'role.7' => 'Sekretariat',
'contact.1' => 'Fragen/Probleme zu MetaGer etc. bitte immer an <a href="mailto:office@suma-ev.de">office@suma-ev.de</a> mailen, oder das <a href="/kontakt/">Kontaktformular mit Verschlüsselung</a> benutzten, oder am besten: ins <a href="http://forum.suma-ev.de/" target="_blank" rel="noopener">MetaGer-Forum</a> schreiben. Wir können bei der Vielzahl der Anfragen nicht immer zeitnah antworten - im <a href="http://forum.suma-ev.de/" target="_blank" rel="noopener">MetaGer-Forum</a> können Ihnen wahrscheinlich auch andere MetaGer-Nutzer weiterhelfen, und von den Fragen und Antworten profitieren ALLE.', 'contact.1' => 'Fragen/Probleme zu MetaGer etc. bitte immer an <a href="mailto:office@suma-ev.de">office@suma-ev.de</a> mailen, oder das <a href="/kontakt/">Kontaktformular mit Verschlüsselung</a> benutzten, oder am besten: ins <a href="http://forum.suma-ev.de/" target="_blank" rel="noopener">MetaGer-Forum</a> schreiben. Wir können bei der Vielzahl der Anfragen nicht immer zeitnah antworten - im <a href="http://forum.suma-ev.de/" target="_blank" rel="noopener">MetaGer-Forum</a> können Ihnen wahrscheinlich auch andere MetaGer-Nutzer weiterhelfen, und von den Fragen und Antworten profitieren ALLE.',
'contact.2' => 'Nur in begründeten Ausnahmefällen, wenn Sie bestimmte Personen direkt erreichen wollen, sollten Sie an diese mailen. Denn Team-Mitglieder können Urlaub haben, krank sein usw.', 'contact.2' => 'Und falls Sie jemals eine EMail mit "seltsamem" Inhalt bekommen sollten, auf der unsere Namen und/oder unsere EMail Adressen als Absender genannt sind, dann lesen Sie bitte hier weiter: <a href="https://metager.de/wsb/fakemail/">https://metager.de/wsb/fakemail/</a>',
'contact.3' => 'Nur in begründeten Ausnahmefällen, wenn Sie bestimmte Personen direkt erreichen wollen, sollten Sie an diese mailen. Denn Team-Mitglieder können Urlaub haben, krank sein usw.',
]; ];
<?php <?php
return [ return [
'role.1' => 'chief executive, chairman', "role.1" => "chief executive, chairman",
'role.2' => 'office supervisor und youth protection commissioner', "role.2" => "office supervisor und youth protection commissioner",
'role.3' => 'press secretary', "role.3" => "press secretary",
'role.4' => 'programmer', "role.4" => "programmer",
'role.5' => 'programmer', "role.5" => "programmer",
'role.6' => 'programmer', "role.6" => "programmer",
'role.7' => 'secretary', "role.7" => "secretary",
"contact.1" => "Please mail your questions/problems about MetaGer etc. to <a href=\"mailto:office@suma-ev.de\">office@suma-ev.de</a> or use the <a href=\"/en/kontakt/\">contact form with encryption</a>, or preferably make a post in the <a href=\"http://forum.suma-ev.de/\" target=\"_blank\" rel=\"noopener\">MetaGer-forum</a>. Due to the amount of requests, we can not always answer promptly - in the <a href=\"http://forum.suma-ev.de/\" target=\"_blank\" rel=\"noopener\">MetaGer-forum</a> there are probably other users which can help you aswell, and the questions and answers benefit everyone.",
'contact.1' => 'Please mail your questions/problems about MetaGer etc. to <a href="mailto:office@suma-ev.de">office@suma-ev.de</a> or use the <a href="/en/kontakt/">contact form with encryption</a>, or preferably make a post in the <a href="http://forum.suma-ev.de/" target="_blank" rel="noopener">MetaGer-forum</a>. Due to the amount of requests, we can not always answer promptly - in the <a href="http://forum.suma-ev.de/" target="_blank" rel="noopener">MetaGer-forum</a> there are probably other users which can help you aswell, and the questions and answers benefit everyone.', "contact.2" => "And: If getting any emails from us with strange contents please read more about this: <a href=\"https://metager.de/wsb/fakemail/\">https://metager.de/wsb/fakemail/</a>",
'contact.2' => 'Only in reasoned exceptions, if you want to rech someone directly, you should mail them. Because team members might be on vacation, sick etc.', "contact.3" => "Only in reasoned exceptions, if you want to rech someone directly, you should mail them. Because team members might be on vacation, sick etc."
]; ];
\ No newline at end of file
...@@ -9,5 +9,5 @@ return [ ...@@ -9,5 +9,5 @@ return [
"role.6" => " Programador | programadora", "role.6" => " Programador | programadora",
"role.7" => "La oficina", "role.7" => "La oficina",
"contact.1" => "Preguntas, propuestas....escribir un e-mail a <a href=\"mailto:office@suma-ev.de\">office@suma-ev.de</a> o usan <a href=\"/kontakt/\">formulario contacto cifrado</a> o, mejor usan el foro <a href=\"http://forum.suma-ev.de/\" target=\"_blank\" rel=\"noopener\">MetaGer-Foro</a>.", "contact.1" => "Preguntas, propuestas....escribir un e-mail a <a href=\"mailto:office@suma-ev.de\">office@suma-ev.de</a> o usan <a href=\"/kontakt/\">formulario contacto cifrado</a> o, mejor usan el foro <a href=\"http://forum.suma-ev.de/\" target=\"_blank\" rel=\"noopener\">MetaGer-Foro</a>.",
"contact.2" => "Solo en caso de emergencia: escribir un e-mail a una persona determinada." "contact.3" => "Solo en caso de emergencia: escribir un e-mail a una persona determinada."
]; ];
\ No newline at end of file
...@@ -293,15 +293,14 @@ ...@@ -293,15 +293,14 @@
</div> </div>
</fieldset> </fieldset>
<ul class="list-inline searchform-bonus"> <ul class="list-inline searchform-bonus">
<li> <li><a href="https://www.boost-project.com/de/shops?charity_id=1129&amp;tag=bl" target="_blank" rel="noopener" id="foerdershops" class="btn btn-default mutelink" title="{{ trans('index.partnertitle') }}">{{ trans('index.conveyor') }}</a></li>
<a href="https://www.boost-project.com/de/shops?charity_id=1129&amp;tag=bl" target="_blank" rel="noopener" id="foerdershops" class="btn btn-default mutelink" title="{{ trans('index.partnertitle') }}">{{ trans('index.conveyor') }}</a></li>
<li class="hidden-xs seperator">|</li> <li class="hidden-xs seperator">|</li>
<li id="plug" <li id="plug"
@unless ($browser === 'Firefox' || $browser === 'Mozilla' || $browser === 'Chrome' || $browser === 'Opera' || $browser === 'IE' || $browser === 'Edge' || $browser === 'Safari' || $browser === 'Vivaldi') @unless ($browser === 'Firefox' || $browser === 'Mozilla' || $browser === 'Chrome' || $browser === 'Opera' || $browser === 'IE' || $browser === 'Edge' || $browser === 'Safari' || $browser === 'Vivaldi')
class="hidden" class="hidden"
@endunless @endunless
> >
<a href="#" data-toggle="modal" data-target="#plugin-modal" class="btn btn-default mutelink" title="{{ trans('index.plugintitle') }}">{{ trans('index.plugin') }}</a> <a href="#" data-toggle="modal" data-target="#plugin-modal" class="btn btn-default mutelink" title="{{ trans('index.plugintitle') }}"><span class="glyphicon glyphicon-log-in"></span> {{ trans('index.plugin') }}</a>
</li> </li>
</ul> </ul>
<script src="{{ elixir('js/lib.js') }}"></script> <script src="{{ elixir('js/lib.js') }}"></script>
......
...@@ -54,6 +54,8 @@ ...@@ -54,6 +54,8 @@
<p>{{ trans('languages.hinweis.1') }}</p> <p>{{ trans('languages.hinweis.1') }}</p>
<p>{!! trans('languages.hinweis.2') !!}</p> <p>{!! trans('languages.hinweis.2') !!}</p>
<p>{!! trans('languages.hinweis.3') !!}</p> <p>{!! trans('languages.hinweis.3') !!}</p>
<p><b>E-Mail-Adresse für Rückfragen</b> (optional):</p>
<p><input type="email" name="email" form="submit" value="{{$email}}"/></p>
<button class="btn btn-success" type="submit" form="submit">Daten übermitteln</button> <button class="btn btn-success" type="submit" form="submit">Daten übermitteln</button>
<script type="text/javascript" src="{{ elixir('js/lib.js') }}"></script> <script type="text/javascript" src="{{ elixir('js/lib.js') }}"></script>
<script type="text/javascript" src="{{ elixir('js/editLanguage.js') }}"></script> <script type="text/javascript" src="{{ elixir('js/editLanguage.js') }}"></script>
......
...@@ -75,7 +75,11 @@ ...@@ -75,7 +75,11 @@
{!! $result->descr !!} {!! $result->descr !!}
</div> </div>
@else @else
@if( $metager->getFokus() == "nachrichten" )
<div class="description">{{ isset($result->additionalInformation["date"])?date("Y-m-d H:i:s", $result->additionalInformation["date"]):"" }} {{ $result->descr }}</div>
@else
<div class="description">{{ $result->descr }}</div> <div class="description">{{ $result->descr }}</div>
@endif
@endif @endif
</div> </div>
</div> </div>
...@@ -30,6 +30,10 @@ ...@@ -30,6 +30,10 @@
<p>Hasselbring, Karl - {!! trans('team.role.6') !!} - <p>Hasselbring, Karl - {!! trans('team.role.6') !!} -
<a href="mailto:karl@suma-ev.de">karl@suma-ev.de</a></p> <a href="mailto:karl@suma-ev.de">karl@suma-ev.de</a></p>
</li> </li>
<li>
<p>Givi, Aria - {!! trans('team.role.6') !!} -
<a href="mailto:aria@suma-ev.de">aria@suma-ev.de</a></p>
</li>
<li> <li>
<p>Riel, Carsten - {!! trans('team.role.7') !!} - <p>Riel, Carsten - {!! trans('team.role.7') !!} -
<a href="carsten@suma-ev.de">carsten@suma-ev.de</a></p> <a href="carsten@suma-ev.de">carsten@suma-ev.de</a></p>
...@@ -37,4 +41,5 @@ ...@@ -37,4 +41,5 @@
</ul> </ul>
<p>{!! trans('team.contact.1') !!}</p> <p>{!! trans('team.contact.1') !!}</p>
<p>{!! trans('team.contact.2') !!}</p> <p>{!! trans('team.contact.2') !!}</p>
<p>{!! trans('team.contact.3') !!}</p>
@endsection @endsection
...@@ -158,8 +158,8 @@ Route::group( ...@@ -158,8 +158,8 @@ Route::group(
return redirect('https://metager.de/klassik/databund'); return redirect('https://metager.de/klassik/databund');
}); });
Route::get('languages', 'LanguageController@createOverview'); Route::get('languages', 'LanguageController@createOverview');
Route::get('languages/edit/{from}/{to}/{exclude?}', 'LanguageController@createEditPage'); Route::get('languages/edit/{from}/{to}/{exclude?}/{email?}', 'LanguageController@createEditPage');
Route::post('languages/edit/{from}/{to}/{exclude?}', 'MailController@sendLanguageFile'); Route::post('languages/edit/{from}/{to}/{exclude?}/{email?}', 'MailController@sendLanguageFile');
Route::get('berlin', 'StartpageController@berlin'); Route::get('berlin', 'StartpageController@berlin');
Route::group(['prefix' => 'app'], function () { Route::group(['prefix' => 'app'], function () {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment