Frontend Usersystem Modul
Verfasst: Di 13. Jan 2004, 14:55
So, das Login-Modul ist fertigstellt und funktioniert bereits prima, als nächstes folgt das User-Center.
Konstruktive Kritik und Verbesserungs-/Erweiterungsvorschläge erwünscht.
Meine Formatangaben hab ich noch nicht entfernt, sollte aber kein Problem sein, das anzupassen.
Martin
Konstruktive Kritik und Verbesserungs-/Erweiterungsvorschläge erwünscht.
Code: Alles auswählen
Installation:
In der cfg_sql.inc.php folgende Zeile anfügen:
$cfg["tab"]["cfuser_mod"] = $cfg['sql']['sqlprefix']."fuser_mod";
Danach eine weitere Tabelle anlegen:
CREATE TABLE `con_fuser_mod` (
`id` tinyint(4) NOT NULL auto_increment,
`userid` tinytext NOT NULL,
`password` tinytext NOT NULL,
`username` tinytext NOT NULL,
`email` tinytext NOT NULL,
`trustlevel` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Als nächstes einen neuen Baum definieren, dort wird das
User-Center abgelegt.
Das neue Login-Modul statt dem alten Modul einbinden.
Im Layout/Modul ist nun über das Abfragen des trustlevel ein
Zugriffsschutz möglich:
z.B.: Container nur Anzeigen, wenn trustlevel>="1"
<?php if($fuser_mod_trustlevel>="1"){?>CMS_CONTAINER[x]<?php } ?>
z.B.: Container[x] nur Anzeigen, wenn trustlevel>="1", ansonsten Container[y]
<?php if($fuser_mod_trustlevel>="1"){?>CMS_CONTAINER[x]<?php }else{?>CMS_CONTAINER[y]<?php } ?>
/**
* fuser_mod_login
*
* INPUT
*
* Contenido-Version: 4.4.2
* Modul-Version: 0.3b
*
* @autor Jan Lengowski <Jan.Lengowski@4fb.de>
* @copyright four for business AG 2003
* @modified by Martin Hoffmann <martin.hoffmann@gmx.net>
* @copyright 2004
*/
echo"
<table cellspacing=\"0\" cellspacing=\"0\" cellpadding=\"4\">
<tr>
<td class=\"text\">Baum des Usercenters wählen:</td>
<td>
<select name=\"CMS_VAR[0]\">
";
if("CMS_VALUE[0]" != "0" && "CMS_VALUE[0]" !=""){
echo"<option value=\"0\">--- kein ---</option>";
}
else
{
echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
}
$sql = "SELECT
A.idcat,
C.name
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat = B.idcat AND
B.idcat = C.idcat AND
C.idlang = '".$lang."' AND
B.idclient = '".$client."' AND
C.visible = 1 AND
A.level = '0'
ORDER BY
A.idtree";
$db->query($sql);
while ( $db->next_record() ) {
if ( "CMS_VALUE[0]" == $db->f("idcat") ) {
echo '<option selected="selected" value="'.$db->f("idcat").'">'.$db->f("name").'</option>';
} else {
echo '<option value="'.$db->f("idcat").'">'.$db->f("name").'</option>';
}
}
echo" </select>
</td>
</tr>
";
echo"</table>
";
/**
* fuser_mod_login
*
* OUTPUT
*
* Contenido-Version: 4.4.2
* Modul-Version: 0.3b
*
* @autor Jan Lengowski <Jan.Lengowski@4fb.de>
* @copyright four for business AG 2003
* @modified by Martin Hoffmann <martin.hoffmann@gmx.net>
* @copyright 2004
*/
<?php
if ($_POST["fuser_mod_act"]=='logout')
{
$sess->unregister("fuser_mod_uid");
$sess->unregister("fuser_mod_username");
$sess->unregister("fuser_mod_trustlevel");
$fuser_mod_uid = '';
$fuser_mod_username = '';
$fuser_mod_trustlevel = '';
}
if ($_POST["fuser_mod_act"]=='login')
{
$sql = "SELECT * FROM ".$cfg["tab"]["fuser_mod"]." WHERE
userid = '$fuser_mod_loginname' AND password = '".md5($fuser_mod_loginpwd)."'";
$db->query($sql);
if ($db->next_record())
{
$fuser_mod_uid = $db->f("userid");
$fuser_mod_username = $db->f("username");
$fuser_mod_trustlevel = $db->f("trustlevel");
$sess->register("fuser_mod_uid");
$sess->register("fuser_mod_username");
$sess->register("fuser_mod_trustlevel");
}
else
{
$sess->unregister("fuser_mod_uid");
$sess->unregister("fuser_mod_username");
$sess->unregister("fuser_mod_trustlevel");
$fuser_mod_uid = '';
$fuser_mod_username = '';
$fuser_mod_trustlevel = '';
}
}
echo"<table width=\"165\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"left\">
<tr><td style=\"background-color: #FEF4C6; padding-left:10px\" align=\"left\">
";
if ($fuser_mod_username == "")
{
echo"
<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."?idcatart=".$idcatart."\">
<table border=\"0\">
<tr><td align=\"left\">Benutzername</td></tr>
<tr><td align=\"center\"><input type=\"input\" name=\"fuser_mod_loginname\" value=\"\" size=\"20\" style=\"color:#000099; background-color:#fffbdb; border-color:#CD0B14; border-style:solid; border-width:1px; text-decoration:none; font-family:verdana, arial, helvetica, sans-serif; font-size:10px;\"></td></tr>
<tr><td align=\"left\">Passwort</td></tr>
<tr><td align=\"center\"><input type=\"password\" name=\"fuser_mod_loginpwd\" value=\"\" size=\"20\" style=\"color:#000099; background-color:#fffbdb; border-color:#CD0B14; border-style:solid; border-width:1px; text-decoration:none; font-family:verdana, arial, helvetica, sans-serif; font-size:10px;\"></td></tr>
</table>
<div align=\"center\"><input type=\"submit\" name=\"login\" value=\"Anmelden\" style=\"color:#000099; background-color:#fffbdb; border-color:#CD0B14; border-style:solid; border-width:1px; text-decoration:none; font-family:verdana, arial, helvetica, sans-serif; font-size:10px;\"><br> </div>
<input type=\"hidden\" name=\"fuser_mod_act\" value=\"login\">
</form>
";
} else {
echo"
Angemeldet als:<br><br><div align=\"center\">".$fuser_mod_uid."</div>
<br>
<form method=\"post\" action=\"front_content.php?idcatart=".$idcatart."\">
<div align=\"center\"><input type=\"submit\" name=\"logout\" value=\"Abmelden\" style=\"color:#000099; background-color:#fffbdb; border-color:#CD0B14; border-style:solid; border-width:1px; text-decoration:none; font-family:verdana, arial, helvetica, sans-serif; font-size:10px;\"><br> </div>
<input type=\"hidden\" name=\"fuser_mod_act\" value=\"logout\">
</form>";
}
echo"
</td></tr></table>";
?>
Martin