# Es muß das Modul Newsletter_Handler_output.php angepasst werden siehe unten
# Anmeldung über das Newslettermodul
# wenn das Modul nicht in einem Geschützten Bereich liegt und man nicht angemeldet ist wird nichts angezeigt.
# Eine Ausgabe der Userdaten ist nicht vorhanden
# die Verknüpfung mit dem Newsletter erfolgt über idfrontenduser
# 18.05.06 SQL Injection angepasst
Haupt Modul Change_adress.php
Code: Alles auswählen
<?php
cInclude("classes", "class.frontend.users.php");
function queryf($format) {
$parameter = func_get_args(); // Uebergebene Parameter bekommen
$querystring = array_shift($parameter); // Erstes Element: Querystring
$parameter = array_map("mysql_real_escape_string", $parameter); // Uebrigen Parameter escapen mit mysql_real_escape_string()
$query = vsprintf($querystring, $parameter); // Einsetzen der Variablen fuer die Typangabe
return mysql_query($query); // Query ausfuehren und returnen
}
$frontendusers = new FrontendUserCollection;
$frontendusers->select("idclient = '$client' AND username = '".urlencode($auth->auth[uname])."'");
if ($frontenduser = $frontendusers->next()) {
$idfrontend = $frontenduser->get("idfrontenduser");
$strMsg = "";
if ($_POST["action"] == "save") {
if ($_POST["name"] != "" || $_POST["vorname"] != "" || $_POST["plz"] != "" || $_POST["ort"] != "" || $_POST["email"] != "") {
if ($_POST["name"] == "") {
$strMsg = "Bitte geben sie ihren Namen an.";
} else if ($_POST["vorname"] == "") {
$strMsg = "Bitte geben sie ihren Vorname an.";
} else if ($_POST["plz"] == "") {
$strMsg = "Bitte geben sie ihre PLZ an.";
} else if ($_POST["ort"] == "") {
$strMsg = "Bitte geben sie ihren Ort an.";
} else if ($_POST["email"] == "") {
$strMsg = "Bitte geben sie ihre eMail an.";
}
}
if ($strMsg == "" && $_REQUEST["ku_nr"] != "") {
$kunum = $_POST['ku_nr'];
$name = $_POST['name'];
$vorname = $_POST['vorname'];
$strasse = $_POST['strasse'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$tel = $_POST['tel'];
$fax = $_POST['fax'];
$mobil = $_POST['mobil'];
$email = $_POST['email'];
$www = $_POST['www'];
$db2 = new DB_Contenido;
$sql = queryf("UPDATE ".$cfg['tab']['frontdatadress']."
SET vorname = '$vorname',
name = '$name',
strasse = '$strasse',
plz = '$plz',
ort = '$ort',
tel = '$tel',
fax = '$fax',
mobil = '$mobil',
email = '$email',
www = '$www'
WHERE ku_nr = $kunum");
$db2->query($sql);
echo" Die Daten wurden eingetragen<br>";
} else {
$strMsg = '<font color="#FF0000">'.$strMsg.'</font>';
echo"Die Daten wurden nicht eingetragen: $strMsg";
}
}
$template = 'dateneingabe.html';
if ( !is_object($tpl) )
{
$tpl = new Template;
}
$tpl->reset();
// Kundennummer ermitteln
$db2 = new DB_Contenido;
$sql = "SELECT
ku_nr,
vorname,
name,
strasse,
plz,
ort,
tel,
fax,
mobil,
email,
www
FROM
".$cfg['tab']['frontdatadress']."
WHERE
idfrontenduser = $idfrontend";
$db2->query($sql);
if ($db2->next_record())
{
$kunumdb = $db2->f("ku_nr");
$vorname = $db2->f("vorname");
$name = $db2->f("name");
$strasse = $db2->f("strasse");
$plz = $db2->f("plz");
$ort = $db2->f("ort");
$tel = $db2->f("tel");
$fax = $db2->f("fax");
$mobil = $db2->f("mobil");
$email = $db2->f("email");
$www = $db2->f("www");
}
// pfad ür den Rücksprung ermitteln
$url = $sess->url("front_content.php?idcat=".$idcat);
// pfad für den Rücksprung setzen
$tpl->set('s', 'FORM_ACTION', $url);
$tpl->set('s', 'KU_NR', $kunumdb);
$tpl->set('s', 'VORNAME', $vorname);
$tpl->set('s', 'NAME', $name);
$tpl->set('s', 'STRASSE', $strasse);
$tpl->set('s', 'PLZ', $plz);
$tpl->set('s', 'ORT', $ort);
$tpl->set('s', 'TEL', $tel);
$tpl->set('s', 'FAX', $fax);
$tpl->set('s', 'MOBIL', $mobil);
$tpl->set('s', 'EMAIL', $email);
$tpl->set('s', 'WWW', $www);
$tpl->generate('templates/'.$template);
}
else{
// Ausgabe wenn das Modul nicht im geschützen bereich liegt
echo"Bitte logen sie sich ein um die Daten bearbeiten zu können";
}
?>
Code: Alles auswählen
<div id="frontdat">
<br>
<form action="{FORM_ACTION}" method="post" style="padding:0;margin:0;" name="kunstlerformular" id="kunstlerformular"}>
<input type="hidden" name="action" value="save" >
<table width="480" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="150">Kunden-Nummer</td>
<td><input type="text" name="ku_nr" value="{KU_NR}" readonly disable size="10" maxlength="10" tabindex="1" border="0"></td>
</tr>
<tr>
<td width="150">Name</td>
<td><input type="text" name="name" value="{NAME}" size="20" maxlength="20" tabindex="3" border="0"></td>
</tr>
<tr>
<td width="150">Vorname</td>
<td><input type="text" name="vorname" value="{VORNAME}" size="20" maxlength="20" tabindex="4" border="0"></td>
</tr>
<tr>
<td width="150"><img src="images/blank.gif" alt="" height="10" width="100" border="0"></td>
<td><img src="images/blank.gif" alt="" height="10" width="100" border="0"></td>
</tr>
<tr>
<td width="150">Straße</td>
<td><input type="text" name="strasse" value="{STRASSE}" size="45" maxlength="45" tabindex="5" border="0"></td>
</tr>
<tr>
<td width="150"><img src="images/blank.gif" alt="" height="10" width="100" border="0"></td>
<td><img src="images/blank.gif" alt="" height="10" width="100" border="0"></td>
</tr>
<tr>
<td width="150">PLZ</td>
<td><input type="text" name="plz" value="{PLZ}" size="5" maxlength="5" tabindex="6" border="0"></td>
</tr>
<tr>
<td width="150">Ort</td>
<td><input type="text" name="ort" value="{ORT}" size="45" maxlength="45" tabindex="7" border="0"></td>
</tr>
<tr>
<td width="150"><img src="images/blank.gif" alt="" height="10" width="100" border="0"></td>
<td><img src="images/blank.gif" alt="" height="10" width="100" border="0"></td>
</tr>
<tr>
<td width="150">Telefon</td>
<td><input type="text" name="tel" value="{TEL}" size="45" maxlength="45" tabindex="8" border="0"></td>
</tr>
<tr>
<td width="150">Fax</td>
<td><input type="text" name="fax" value="{FAX}" size="20" maxlength="20" tabindex="9" border="0"></td>
</tr>
<tr>
<td width="150">Mobil</td>
<td><input type="text" name="mobil" value="{MOBIL}" size="20" maxlength="20" tabindex="10" border="0"></td>
</tr>
<tr>
<td width="150"><img src="images/blank.gif" alt="" height="10" width="100" border="0"></td>
<td><img src="images/blank.gif" alt="" height="10" width="100" border="0"></td>
</tr>
<tr>
<td width="150">eMail</td>
<td><input type="text" name="email" value="{EMAIL}" size="45" maxlength="45" tabindex="11" border="0"></td>
</tr>
<tr>
<td width="150">www</td>
<td><input type="text" name="www" value="{WWW}" size="45" maxlength="255" tabindex="12" border="0"></td>
</tr>
<tr>
<td width="150"><img src="images/blank.gif" alt="" height="20" width="100" border="0"></td>
<td><img src="images/space.gif" alt="" height="20" width="100" border="0"></td>
</tr>
<tr>
<td width="150"><input type="submit" name="eintragen" value="Daten eintragen" tabindex="35" border="0"></td>
<td><input type="reset" tabindex="36" border="0"></td>
</tr>
</table>
</form>
</div>
Code: Alles auswählen
if ($frontenduser = $frontendusers->next()) {
// Daten auslesen für Kundendaten anlegen
$db2 = new DB_Contenido;
$idfrontenduser = $frontenduser->get("idfrontenduser");
$sql = "INSERT INTO
".$cfg["tab"]["frontdatadress"] ."
SET
idfrontenduser ='$idfrontenduser'";
$db2->query($sql);
$db2 = new DB_Contenido;
$sql = "SELECT
ku_nr
FROM
".$cfg['tab']['frontdatadress']."
WHERE
idfrontenduser = $idfrontenduser";
$db2->query($sql);
if ($db2->next_record())
{
$kunum = $db2->f("ku_nr");
}
// Ende Daten auslesen für Kundendaten anlegen
$frontenduser->set("active",1);
$pwd = substr(md5(rand()),0,8); // Generating password
$frontenduser->set("password", $pwd);
$frontenduser->store();
// Übersetzung ändern
$strMessage .= mi18n("<br><br>Additionally, your website account has been activated. You can now use the following username and password to log in to access special areas on our website:<br>");
// --- hinzugefügt --- .mi18n("<br>Kundennummer: ").$kunum --- hinzugefügt ---
$strMessage .= mi18n("Username: ").$recipient->get("email").mi18n("<br>Password: ").$pwd.mi18n("<br>Kundennummer: ").$kunum;
// --- hinzugefügt --- .mi18n("Kundennummer: ").$kunum."\n\n" --- hinzugefügt ---
$body = mi18n("txtMailPassword")."\n\n".mi18n("Username: ").$recipient->get("email")."\n".mi18n("Password: ").$pwd."\n\n".mi18n("Kundennummer: ").$kunum."\n\n".mi18n("Click here to login: ").$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang;
// Bei ca. Zeile 270 einfügen
switch ($arrSettings["FrontendDel"]) {
case "DeleteUser": // Deleting frontend account
$idfrontenduser = $frontenduser->get("idfrontenduser"); // idfrontenduser ermitteln für frontdatadress löschen
$frontendusers->delete($frontenduser->get("idfrontenduser"));
// Datensatz in frontdatadress löschen
$db2 = new DB_Contenido;
$sql = "DELETE FROM
".$cfg['tab']['frontdatadress']."
WHERE
idfrontenduser = $idfrontenduser";
// ende Datensatz in frontdatadress löschen
$strMessage .= mi18n(" Your website account has been deleted.");
break;
Code: Alles auswählen
$cfg["tab"]["frontdatadress"] = $cfg['sql']['sqlprefix']."_frontdatadress";
Code: Alles auswählen
$db = new DB_Contenido;
$sql = "CREATE TABLE IF NOT EXISTS `".$cfg["tab"]["frontdatadress"]."` (
`ku_nr` int(11) NOT NULL auto_increment,
`idfrontenduser` int(11) NOT NULL default '0',
`firm_id` int(11) NOT NULL default '0',
`vorname` varchar(45) NOT NULL default '',
`name` varchar(45) NOT NULL default '',
`strasse` varchar(45) NOT NULL default '',
`plz` int(11) NOT NULL default '0',
`ort` varchar(45) NOT NULL default '',
`tel` varchar(45) NOT NULL default '',
`fax` varchar(45) NOT NULL default '',
`mobil` varchar(45) NOT NULL default '',
`email` varchar(45) NOT NULL default '',
`www` varchar(255) NOT NULL default '',
PRIMARY KEY (`ku_nr`)
) TYPE=MyISAM AUTO_INCREMENT=2006000 ;
$db->query($sql);