OpenVPN_Management_GUI/Admin/Modules/Usermanagement/include/adduser.php

120 lines
4.1 KiB
PHP
Executable File

<?php
session_start();
include ($_SERVER["DOCUMENT_ROOT"]."/Site/checkadmin.php");
require($_SERVER["DOCUMENT_ROOT"]."/Site/mysql.php");
$ovpnkeydir = db_getconfval("ovpnkeydir");
$mserv = db_getconfval("mserv");
$muser = db_getconfval("muser");
$mpass = db_getconfval("mpass");
$mname = db_getconfval("mname");
$mrecv = db_getconfval("sitename");
$moduleurl = $_REQUEST["path"];
// Aufbau der Datenbankverbindung
require($_SERVER["DOCUMENT_ROOT"]."/Config/_dbconfig_.php");
@$y = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASS);
@$x = mysql_select_db($MYSQL_DATABASE);
if (empty($x))
{
die ("Could not connect to database!");
}
// Definition der Benutzer
$benutzer["IsAdmin"] = mysql_real_escape_string($_REQUEST["isadmin"]);
$benutzer["Email"] = mysql_real_escape_string(substr($_REQUEST["email"],0,39)); // safty xD
$benutzer["Nickname"] = mysql_real_escape_string($_REQUEST["nickname"]);
$benutzer["Kennwort"] = mysql_real_escape_string($_REQUEST["pwd"]);
$benutzer["Nachname"] = mysql_real_escape_string($_REQUEST["nachname"]);
$benutzer["Vorname"] = mysql_real_escape_string($_REQUEST["vorname"]);
$benutzer["VPN"] = mysql_real_escape_string($_REQUEST["vpn"]);
$benutzer["NovLogin"] = mysql_real_escape_string($_REQUEST["novlogin"]);
$benutzer["NovPass"] = mysql_real_escape_string($_REQUEST["novpass"]);
$benutzer["VPNId"] = "-";
// Sie können an dieser Stelle beliebig viele Benutzer anlegen.
// Achten Sie dabei nur auf die Fortführung der Nummer.
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if($benutzer["VPN"] == "1")
{
//create certificate
//die($ovpnkeydir);
chdir ($ovpnkeydir);
$File = "keys/serial";
$fh = fopen($File, 'r');
$benutzer["VPNId"] = fread($fh, filesize($File));
fclose($fh);
exec(escapeshellcmd("./srcvar " .$benutzer["Email"]. " " .$benutzer["Nickname"]. " " .$benutzer["VPNId"]));
chdir ("/var/www/Admin/");
}
else
{
$benutzer["VPNId"] = "-";
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Daten eintragen
// SQL-Anweisung erstellen
$sql = "INSERT INTO ".
"userdata (IsAdmin, VPNId, Nickname, Kennwort, Nachname, Vorname, Email, NovLogin, NovPass) ".
"VALUES ('".$benutzer["IsAdmin"]."', '".
$benutzer["VPNId"]."', '".
$benutzer["Nickname"]."', '".
md5 ($benutzer["Kennwort"])."', '".
$benutzer["Nachname"]."', '".
$benutzer["Vorname"]."', '".
$benutzer["Email"]."', '".
$benutzer["NovLogin"]."', '".
$benutzer["NovPass"]."')";
//echo $sql;
mysql_query ($sql);
if (mysql_affected_rows ($y) > 0)
{
mysql_close();
// Send Confirmation Mail
if(db_getconfval("withmail") == "1")
{
require_once "Mail.php";
$from = $mrecv." <".$mname.">";
$to = $benutzer["Vorname"]." ".$benutzer["Nachname"]." <".$benutzer["Email"].">";
$subject = "VPN Account created!";
$body =
"Dear ".$benutzer["Vorname"]." ".$benutzer["Nachname"].",\n\nyour ".$mrecv." account has been created!\nYou can now login on with this credentials:\n\n#########################################################\nUsername: ".$benutzer["Nickname"]."\nPassword: ".$benutzer["Kennwort"]."\n#########################################################\nYou can change your password in the user section.\n\nAll files, programms and other stuff can be found on the homepage!\nTo start using your VPN Connection you have to download your config-file and your certificates!\nInstall everything as it is described in the README.txt!\n\nHave fun!!!\n\nIf you have questions write me an email!\n\n".$mrecv."\n";
$host = $mserv;
$username = $muser;
$password = $mpass;
$headers = array ( 'From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ( 'host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail))
{
// evt deaktivieren
echo("<p>" . $mail->getMessage() . "</p>");
}
}
// Finish
mysql_close();
header ("Location: ".$moduleurl."&uebergabe2=1");
}
else
{
mysql_close();
echo "Fehler beim Anlegen des Benutzers.<br>\n";
}
?>