Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion mmlc_installer.php
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ public static function showInstalled()
<div style="text-align: center">
<h1> ModifiedModuleLoaderClient Installer v' . VERSION . '</h1>
<div>ModifiedModuleLoaderClient is already installed.</div>
<div>You can delete the installer.php</div>
<div>You can now delete the mmlc_installer.php</div>
<br><br>
<div>
Open: <br>
Expand Down
25 changes: 25 additions & 0 deletions src/Classes/IndexController.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
use RobinTheHood\ModifiedModuleLoaderClient\ModuleFilter;
use RobinTheHood\ModifiedModuleLoaderClient\ModuleSorter;
use RobinTheHood\ModifiedModuleLoaderClient\Category;
use RobinTheHood\ModifiedModuleLoaderClient\SendMail;

class IndexController
{
Expand Down Expand Up @@ -89,6 +90,14 @@ public function invoke()
$this->invokeSelfUpdate();
break;

case 'reportIssue':
$this->invokeReportIssue();
break;

case 'support':
$this->invokeSupport();
break;

default:
$this->invokeIndex();
break;
Expand Down Expand Up @@ -459,6 +468,22 @@ public function invokeUnloadLocalModule()
Redirect::redirect('/');
}

public function invokeReportIssue()
{
$this->checkAccessRight();

if (isset($_POST['send_mail'])) {
SendMail::sendIssue();
}

include App::getTemplatesRoot() . '/ReportIssue.tmpl.php';
}

public function invokeSupport()
{
include App::getTemplatesRoot() . '/Support.tmpl.php';
}

public function checkAccessRight()
{
if (session_status() != PHP_SESSION_ACTIVE) {
Expand Down
66 changes: 66 additions & 0 deletions src/Classes/SendMail.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?php

/*
* This file is part of MMLC - ModifiedModuleLoaderClient.
*
* (c) Robin Wieschendorf <mail@robinwieschendorf.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace RobinTheHood\ModifiedModuleLoaderClient;

use RobinTheHood\ModifiedModuleLoaderClient\ShopInfo;
use RobinTheHood\ModifiedModuleLoaderClient\SelfUpdater;
use RobinTheHood\ModifiedModuleLoaderClient\Notification;
use RobinTheHood\ModifiedModuleLoaderClient\Helpers\ArrayHelper;

class SendMail
{
public static function sendIssue()
{
$fromEmail = ArrayHelper::getIfSet($_POST, 'email', '');
$from = ArrayHelper::getIfSet($_POST, 'name', '');
$message = ArrayHelper::getIfSet($_POST, 'message', '');

if ($fromEmail == '' || $from == '' || $message == '') {
Notification::pushFlashMessage(
[
'text' => 'Warnung: Felder können nicht leer gelassen werden.',
'type' => 'error'
]
);
return;
}

$to = 'info@module-loader.de';
$subject = 'MMLC Report Issue';
$shopVersion = ShopInfo::getModifiedVersion();

$selfUpdater = new SelfUpdater();
$mmlcVersion = $selfUpdater->getInstalledVersion();

$message .=
'<hr />Message sent from: ' . $_SERVER['HTTP_HOST'] .
'<br />Modified version: ' . $shopVersion .
'<br />MMLC version: ' . $mmlcVersion .
'<br />Browser: ' . $_SERVER['HTTP_USER_AGENT'] .
'<br />PHP version: ' . phpversion();

$headers = [
'MIME-Version: 1.0',
'Content-type: text/html; charset=utf-8',
'From: ' . $from . ' <' . $fromEmail . '>'
];

if (mail($to, $subject, $message, implode("\r\n", $headers))) {
Notification::pushFlashMessage(
[
'text' => 'Erfolg: Die Nachricht wurde erfolgreich gesendet, wir werden so schnell wie möglich antworten.',
'type' => 'info'
]
);
}
}
}
3 changes: 2 additions & 1 deletion src/Templates/Navi.tmpl.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
</ul>

<ul class="navi-right">
<li><a href="<?php echo '//' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']) . 'admin/start.php'; ?>">zurück zum Shop</a></li>
<li><a href="<?php echo '//' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']) . 'admin/start.php'; ?>">zum Shop</a></li>
<li><a href="?action=support">Hilfe</a></li>
<li><a href="?action=selfUpdate">System <span style="display: none" id="systemUpdateCount" class="badge badge-light">0<span></a></li>
<li><a href="?action=signOut">Abmelden</a></li>
</ul>
Expand Down
35 changes: 35 additions & 0 deletions src/Templates/ReportIssue.tmpl.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php if (!defined('LOADED_FROM_INDEX') || LOADED_FROM_INDEX != 'true') { die('Access denied.'); }?>

<!DOCTYPE html>
<html lang="de">
<head>
<?php include 'Head.tmpl.php' ?>
</head>

<body>
<?php include 'Navi.tmpl.php' ?>
<div class="content">
<div class="container">
<?php echo RobinTheHood\ModifiedModuleLoaderClient\Notification::renderFlashMessages() ?>
<div class="row">
<div class="offset-3 col-6">
<h2>Nachricht an MMLC-Entwickler senden</h2>

<br>
<p>Wenn du einen Fehler im MMLC gefunden oder eine Frage hast, kannst du uns mit diesem Formular eine E-Mail an <a href="mailto:info@module-loader.de">info@module-loader.de</a> senden. Die E-Mail wird um technische Daten zu deinem System ergänzt.</p>

<br>
<form method="POST" action="?action=reportIssue">
<input class="form-control mb-2 w-100" placeholder="Dein Name" type="text" required name="name" id="name">
<input class="form-control mb-2 w-100" placeholder="Deine E-Mail Adresse" type="email" required name="email" id="email">
<textarea class="form-control mb-2" style="resize: none;" placeholder="Deine Nachricht" rows="8" required name="message"></textarea>
<input name="send_mail" type="submit" class="btn btn-primary" value="Nachricht absenden">
</form>
</div>
</div>
</div>
</div>

<?php include 'Footer.tmpl.php' ?>
</body>
</html>
5 changes: 5 additions & 0 deletions src/Templates/Styles/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,11 @@ pre code {
}


.support h3 {
margin-top: 50px;
font-size: 24px;
}

/**
* Responsive
*/
Expand Down
77 changes: 77 additions & 0 deletions src/Templates/Support.tmpl.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?php if (!defined('LOADED_FROM_INDEX') || LOADED_FROM_INDEX != 'true') { die('Access denied.'); }?>

<!DOCTYPE html>
<html lang="de">
<head>
<?php include 'Head.tmpl.php' ?>
</head>

<body>
<?php include 'Navi.tmpl.php' ?>
<div class="content">
<div class="support">
<div class="container">
<?php echo RobinTheHood\ModifiedModuleLoaderClient\Notification::renderFlashMessages() ?>

<h2>Hilfe und Support</h2>

<section>
<h3>Anleitung</h3>
<p>Wenn du Hilfe brauchst und eine Anleitung für den MMLC benötigst, findest du diese unter: <a target="_blank" href="https://module-loader.de/documentation.php">module-loader.de/documentation.php</a>.
</section>

<section>
<h3>Community / Forum / Chat</h3>
<p>
Auf unserem <strong><a target="_blank" href="https://discord.gg/9NqwJqP">Discord #mmlc DE/EN</a></strong> Community Server beantworten wir dir deine Fragen sehr gerne, wenn du zusätzliche Hilfe benötigst. Auf Discord kannst du dich auch mit anderen Entwickelrn und Usern austauschen. Wenn du dich fragst, wieso wir Discord verwenden, findest du <a target="_blank" href="https://discord.com/open-source">hier die Antwort</a> auf deine Frage.
</p>
</section>

<section>
<h3>Support-Anfrage an die MMLC Entwickler</h3>
<p>
Du kannst uns auch direkt eine Nachricht zukommen lassen mit deinen Fragen. Die Nachricht wird automatisch um einige technische Informationen zu deinem System ergänzt, was uns die Bearbeitung deiner E-Mail erleichtert. Folgende Daten erhalten wir von deinem System:
</p>

<ul>
<li>Die Domain unter der dein MMLC läuft</li>
<li>Die Version von Modified die du verwendest</li>
<li>Die Version des MMLC die du verwendest</li>
<li>Informationen zu deinem Browser</li>
<li>Die Version von PHP unter dem dein MMLC läuft</li>
</ul>

<p>
<a href="?action=reportIssue">Zum Formular und eine Nachricht verfassen</a>
</p>
</section>

<section>
<h3>Modul-Entwickler werden</h3>
<p>
Wir freuen uns sehr, wenn du dich dafür interessierst selber Module für den MMLC zu entwickeln. Wenn du selber Module für den MMLC schreiben möchtest, findest hierzu Anleitungen und Tutorials unter: <a target="_blank" href="https://module-loader.de/docs">module-loader.de/docs</a>.
</p>
</section>

<section>
<h3>MMLC-Entwickler werden / Contributing</h3>

<p>
Wir freuen uns sehr, dass du dich für den MMLC interessierst und Lust hast dich am MMLC zu beteiligen. Es gibt viele Dinge zu denen du hier beitragen kannst. Sei es die Dokumentation zu erweitern oder den Programmcode zu verbessern und natürlich all die Dinge, die hier noch nicht aufgeführt sind. Wir freuen uns auch über kleine Beiträge.
</p>

<p>
Den MMLC findest du als Open-Source-Projekt auf <a target="_blank" href="https://github.com/RobinTheHood/ModifiedModuleLoaderClient">GitHub</a>. Hier kannst du Wünsche und Fehler als Issues eintragen. Oder du machst einen Pull request, wenn du bereits konkrete Quellcodeverbesserungen einreichen möchtest. Wenn du Hilfe brauchst, kannst du uns auch gerne bei <a target="_blank" href="https://discord.gg/9NqwJqP">Discord #mmlc</a> nach Rat fragen.
</p>

<p>
Mehr Information für MMLC-Entwickler findest du unter: <a target="_blank" href="https://module-loader.de/docs">module-loader.de/docs</a>.
</p>
</section>
</div>
</div>
</div>

<?php include 'Footer.tmpl.php' ?>
</body>
</html>