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