Neues Benutzerfeld hinzufügen
Geschrieben von Silvermoon am 24. Mai 2009 02:03
<?php
/*---------------------------------------------------------+
| BS-Fusion - Content Management System
| Version 1.00.0
+----------------------------------------------------------+
| Copyright © 2009 Manuel Kurz
| http://www.bs-fusion.org/
+----------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license (version 3). You can redistribute
| it and/or modify it under the terms of this license which
| you can read by viewing the included agpl-3.0.txt or
| online at http://www.gnu.org/licenses/agpl-3.0.html.
| Removal of this copyright header is strictly prohibited
| without written permission from the original author(s).
+----------------------------------------------------------+
| Code based on PHP-Fusion
| http://www.php-fusion.co.uk/
+----------------------------------------------------------*/
if (!defined("IN_FUSION")) exit;

// Admindaten
$uf_name=$locale['uf_user_feldname_name'];
$uf_desc=$locale['uf_user_feldname_desc'];

// Tabellenfeldname
$uf_dbfield="user_feldname"; // Der Prefix user_ muss erhalten bleiben

// Eigenschaften des Tabellenfeld
$uf_dbdata="VARCHAR(16) NOT NULL DEFAULT ''";

// Leer lassen wenn kein Tabellenfeld erstellt werden muss
// Ist diese Zeile gefüllt, wird ein Tabellenfeld in die Tabelle DB_PREFIX_users eingefügt

// Wo soll das Feld eingebunden werden?
$uf_group=2;
// 1 = Information, 2=Kontakt, 3=Sonstige Informationen

// Hier kannst du angeben ob das Feld ein Pflichfeld sein soll
$uf_user_feldname_mandory=0; // Pflichtfeld? 0=Nein, 1=Ja


switch($uf_methode) {
########## Die Anzeige im Userprofil #############
case 'display':
if ($data['user_feldname']!='') {
// Die Ziffer im Array entspricht der Benutzerfeldgruppe
$uf_display[$uf_group].='<tr><td width="35%">'.$locale['uf_user_feldname'].':</td><td> '.$data['user_feldname'].'</td></tr>';
}
break;

############# Anzeige im Membersadmin ##############
case 'admin':
// Die Ziffer im Array entspricht der Benutzerfeldgruppe
$uf_display[$uf_group].="<tr>
<td class='tbl1' align='left' style='width:30%;'>".$locale['uf_user_feldname'].(!$uf_user_feldname_mandory ? '' : '<span style="color:#ff0000">*</span>').":</td>
<td class='tbl2' align='left'><input type='text' name='user_feldname' class='textbox' value='".$data['user_feldname']."' style='width:200px;'></td>
</tr>";
break;

############### Anzeige in der edit_profile.php ###########
case 'input':
// Die Ziffer im Array entspricht der Benutzerfeldgruppe
$uf_display[$uf_group].="<tr>
<td class='tbl1' align='left' style='width:30%;'>".$locale['uf_user_feldname'].(!$uf_user_feldname_mandory ? '' : '<span style="color:#ff0000">*</span>').":</td>
<td class='tbl2' align='left'><input type='text' name='user_feldname' class='textbox' value='".$userdata['user_feldname']."' style='width:200px;'></td>
</tr>";
break;

########### Anzeige in der register.php #############
case 'register':
// Wenn Pflichtfeld
if ($uf_user_feldname_mandory) {
$uf_display[0].="<tr>
<td class='tbl1' align='left' style='width:30%;'>".$locale['uf_user_feldname'].(!$uf_user_feldname_mandory ? '' : '<span style="color:#ff0000">*</span>').":</td>
<td class='tbl2' align='left'><input type='text' name='user_feldname' class='textbox' style='width:200px;'></td>
</tr>";
} else {
$uf_display[$uf_group].="<tr>
<td class='tbl1' align='left' style='width:30%;'>".$locale['uf_user_feldname'].":</td>
<td class='tbl2' align='left'><input type='text' name='user_feldname' class='textbox' style='width:200px;'></td>
</tr>";
}
$javascript.=$uf_user_feldname_mandory?"if(frm.user_feldname.value=='') {alert('".$locale['uf_user_feldname_mandory']."');
return false;}":"";
break;

################ Überprüfung der Aktualisierungsdaten ############
case 'validate_update':
$user_feldname = isset($_POST['user_feldname']) && strlen($_POST['user_feldname'])<=16 ? stripinput(trim($_POST['user_feldname'])) : '';
if ($uf_user_feldname_mandory && $user_feldname=='' && !iADMIN) {
$error.=$locale['uf_user_feldname_mandory'];
}
$usr_db_values.=",user_feldname='".$user_feldname."'";
break;

########### Überprüfung der Neueintragung ############
case 'validate_insert':
$user_aim = isset($_POST['user_feldname']) && strlen($_POST['user_feldname'])<=16 ? stripinput(trim($_POST['user_feldname'])) : '';
if ($uf_user_feldname_mandory && $user_feldname=='') {
$error.=$locale['uf_user_feldname_mandory'];
}
$usr_db_fields.= ',user_feldname;
$usr_db_values.= ",'".$user_feldname."'";
$usr_register[] = array("user_feldname"=>$user_feldname);
break;
default:
break;
}

################## WICHTIG ########################
feldname -> muss selbst gewählt werden und in allen Bereichen dieser Datei angepasst werden.

/**
Die Datei muss unter user_feldname.php in dem /includes/userfields/ Verzeichnis abgespeichert werden

Die Sprachdefinitionen sollten in der Sprachdatei /locale/Deine_Sprache/userfields.php definiert werden.

Wird das Portal im mehrsprachigen Modus verwendet sind die Anpassungen der Sprachvariablen in allen userfields.php der einzelnen Spracheverzeichnisse durchzuführen.

Über den Adminbereich kann man dann noch entscheiden, ob es ein Registrierungsfeld sein soll oder nicht.
**/
?>