Files
pi-control/backend/resources/content/ssh_login.php
2023-03-28 10:34:44 +02:00

80 lines
3.4 KiB
PHP

<?php
if (!defined('PICONTROL')) exit();
$tpl->setHeaderTitle(_t('SSH-Login'));
// Anmelden
if (isset($_POST['submit'], $_POST['ssh-login']) && $_POST['submit'] != '' && in_array($_POST['ssh-login'], array('password', 'publickey')))
{
$pType = $_POST['ssh-login'];
if ($pType == 'password')
{
if (isset($_POST['port'], $_POST['username'], $_POST['password']) && ($pPort = intval(trim($_POST['port']))) != '' && ($pUsername = trim($_POST['username'])) != '' && ($pPassword = $_POST['password']) != '')
{
$pRememberMe = (isset($_POST['remember-me']) && $_POST['remember-me'] == 'checked') ? true : false;
if (is_numeric($pPort) && $pPort >= 0 && $pPort <= 65535)
{
if ($tpl->setSSHInfo($pType, $pPort, $pUsername, $pPassword, NULL, $pRememberMe) === true)
{
if ($tpl->getSSHResource() !== false)
$tpl->msg('success', _t('Verbindung hergestellt'), _t('Verbindung zum Raspberry Pi wurde hergestellt.'));
else
$tpl->msg('error', _t('Fehler'), _t('Verbindung zum Raspberry Pi war nicht erfolgreich!<br /><br />Bitte &uuml;berpr&uuml;fe die eingegebenen Daten. Schl&auml;gt ein erneuter Versuch mit korrekten Daten fehl, wende dich bitte unten unter "Feedback" an mich, ich werde dir so schnell wie m&ouml;glich weiterhelfen.'));
}
else
$tpl->msg('error', _t('Fehler'), _t('Fehler beim Speichern der Daten!'));
}
else
$tpl->msg('error', _t('Fehler'), _t('Ung&uuml;ltiger Port. Der Port muss zwischen 0 und 65535 liegen.'));
}
else
$tpl->msg('error', _t('Fehler'), _t('Bitte alle Felder ausf&uuml;llen.'));
}
elseif ($pType == 'publickey')
{
if (isset($_POST['port_'], $_POST['username_'], $_POST['privatekey_']) && ($pPort = intval(trim($_POST['port_']))) != '' && ($pUsername = trim($_POST['username_'])) != '' && ($pPrivateKey = $_POST['privatekey_']) != '')
{
$pPassword = isset($_POST['password_']) ? $_POST['password_'] : '';
$pRememberMe = (isset($_POST['remember-me_']) && $_POST['remember-me_'] == 'checked') ? true : false;
if (is_numeric($pPort) && $pPort >= 0 && $pPort <= 65535)
{
if ($tpl->setSSHInfo($pType, $pPort, $pUsername, $pPassword, $pPrivateKey, $pRememberMe) === true)
{
if ($tpl->getSSHResource() !== false)
$tpl->msg('success', _t('Verbindung hergestellt'), _t('Verbindung zum Raspberry Pi wurde hergestellt.'));
else
$tpl->msg('error', _t('Fehler'), _t('Verbindung zum Raspberry Pi war nicht erfolgreich!<br /><br />Bitte &uuml;berpr&uuml;fe die eingegebenen Daten. Schl&auml;gt ein erneuter Versuch mit korrekten Daten fehl, wende dich bitte unten unter "Feedback" an mich, ich werde dir so schnell wie m&ouml;glich weiterhelfen.'));
}
else
$tpl->msg('error', _t('Fehler'), _t('Fehler beim Speichern der Daten!'));
}
else
$tpl->msg('error', _t('Fehler'), _t('Ung&uuml;ltiger Port. Der Port muss zwischen 0 und 65535 liegen.'));
}
else
$tpl->msg('error', _t('Fehler'), _t('Bitte alle Felder ausf&uuml;llen.'));
}
}
// Abmelden
if (isset($_GET['logout']))
{
if ($tpl->logoutSSH() === true)
$tpl->msg('success', _t('Verbindung getrennt'), _t('Erfolgreich abgemeldet.'));
else
$tpl->msg('error', _t('Fehler'), _t('Beim Abmelden ist ein Fehler aufgetreten!'));
}
$SSHInfo = $tpl->getSSHInfo();
if (!is_array($SSHInfo))
$tpl->msg('error', _t('Fehler'), _t('Konnte SSH-Informationen nicht abrufen.'), false);
$tpl->assign('ssh_info', $SSHInfo);
$tpl->assign('logged_in', ($tpl->getSSHResource() !== false));
$tpl->draw('ssh_login');
?>