habe folgende Änderungen durchgeführt
- MapMode - Profiledit - eigene seiten / boxen - eigenes design (vom team mitglied) - kleinere rechtschreibfehler behoben und texte umgestaltet - intro seite
habe grundwissen von php und html, hab da bestimmt nicht was falsch gemacht^^ muss an den modulen liegen..
die profilefields.php vom profiledit (ebenfalls wie in readme.txt an mapmod angepasst):
<?php
# Copyright by Manuel
# Support www.ilch.de
defined ('main') or die ( 'no direct access' );
function profilefields_functions2 () {
$ar = array (
1 => 'Feld',
2 => 'Kategorie'
);
return ($ar);
}
function profilefields_functions () {
$ar = array (
1 => 'Feld',
2 => 'Kategorie',
3 => 'Angezeigt',
4 => 'Versteckt'
);
return ($ar);
}
# Felder zum aendern anzeigen.
function profilefields_change ($uid) {
$i = 0;
$i1 = 1;
$test = false;
$q = db_query("SELECT id, `show`, val, func FROM prefix_profilefields LEFT JOIN prefix_userfields ON prefix_userfields.fid = prefix_profilefields.id AND prefix_userfields.uid = ".$uid." WHERE func != 3 ORDER BY pos ASC");
while ( $r = db_fetch_assoc($q)) {
$check[$i1] = $r;
if($i){
if($check[$i]['func'] == 1){echo '<label style="float:left; width:40%;">'.$check[$i]['show'].'</label><input type="text" name="profilefields['.$check[$i]['id'].']" value="'.$check[$i]['val'].'"><br />';}
if($check[$i]['func'] == 2){
if($check[$i1]['func'] == 1){
if($test){
echo '</fieldset>';
}else{$test = true;}
echo '<fieldset><legend>'.$check[$i]['show'].'</legend> <br />';
}
}
}
$i++;
$i1++;
}
if($check[$i]['func'] == 1){echo '<label style="float:left; width:40%;">'.$check[$i]['show'].'</label><input type="text" name="profilefields['.$check[$i]['id'].']" value="'.$check[$i]['val'].'"><br />';}
}
# Felder die uebermittelt wurden speichern.
function profilefields_change_save ($uid) {
$q = db_query("SELECT id, `show`, val FROM prefix_profilefields LEFT JOIN prefix_userfields ON prefix_userfields.fid = prefix_profilefields.id AND prefix_userfields.uid = ".$uid." WHERE func = 1 ORDER BY pos");
while ( $r = db_fetch_assoc($q)) {
if ( isset($_REQUEST['profilefields'][$r['id']]) ) { $v = $_REQUEST['profilefields'][$r['id']]; } else { $v = ''; }
if ( $r['val'] == '' AND $v != '' ) {
db_query("INSERT INTO prefix_userfields (fid,uid,val) VALUES (".$r['id'].",".$uid.",'".$v."')");
} elseif ( $r['val'] != '' AND $v == '' ) {
db_query("DELETE FROM prefix_userfields WHERE fid = ".$r['id']." AND uid = ".$uid);
} elseif ( $r['val'] != '' AND $v != '' AND $r['val'] != $v ) {
db_query("UPDATE prefix_userfields SET val = '".$v."' WHERE fid = ".$r['id']." AND uid = ".$uid);
}
}
}
# Diese Funktion Zeigt ALLE Felder die der Benutzer im Adminbereich unter
# Profilefields sortieren kann an ... is eigentlich total easy ;-)...
function profilefields_show ($uid, $posmind, $posmax, $breite = 70) {
if($posmax < $posmind){
return 'Error: falsche werte in den vars $postmind und $postmax!';
}
global $allgAr;
$zelle = '<td width="'.$breite.'%"';
$l = '';
$a = array ();
$q = db_query("SHOW COLUMNS FROM prefix_user");
while ($r = db_fetch_assoc($q)) {
$a[$r['Field']] = $r['Field'];
}
$q = db_query("SELECT id, `show`, func, pos FROM prefix_profilefields WHERE func < 4 AND pos >".$posmind." AND pos <".$posmax." ORDER BY pos ASC") OR die('verdammter mist1');
while ( $r = db_fetch_assoc($q)) {
if ( $r['func'] == 1 ) {
$str = @db_result ( db_query ("SELECT val FROM prefix_userfields WHERE uid = ".$uid." AND fid = ".$r['id']) , 0 );
$l .= '<tr><td width="30%" class="Cmite">'.$r['show'].'</td>'.$zelle.' class="Cnorm">'.$str.'</td></tr>'."n";
} elseif ( $r['func'] == 2 ) {
return 'Achtung: in der funktion profilefields_show in der datei Profilfields.php ist ein fehler aufgetreten. <br> Fehler = Es wurde ein Menutitel angefordert, was aber nicht passieren sollte.';
} elseif ( $r['func'] == 3 ) {
$str = '';
if (isset($a[$r['show']])) {
$str = @db_result ( db_query ("SELECT `".$r['show']."` FROM prefix_user WHERE id = ".$uid) , 0 );
}
if ( function_exists ( 'profilefields_show_spez_'.$r['show'] ) ) {
if($r['show'] == 'sig'){
#Berrechnen der höhe, so das die sig sich nicht in der höhe des Avatars über die ganze breite
#von der useransicht erstreckt.
$anzahlpos = $r['pos'] - $posmind;
(int)$mindhohe = $allgAr['Fahohe'] + 39;
(int)$anzahlpos +=3;
(int)$anzahlpos *=19.5;
if($anzahlpos >= $mindhohe){
$zelle = ' <td colspan="2" width="70%"';
}
}
$l .= call_user_func ( 'profilefields_show_spez_'.$r['show'], $str, $uid, $zelle);
} elseif ($r['show'] != 'opt_pm_popup') {
$l .= '<tr><td width="30%" class="Cmite">'.ucfirst($r['show']).'</td>'.$zelle.' class="Cnorm">'.$str.'</td></tr>'."n";
}
}
}
return ( $l );
}
# hier kommen die speziellen funktionen hin...
##
###
function profilefields_show_spez_geschlecht ($value,$uid,$colspan) {
global $lang;
$ar = array ( 0 => $lang['itdoesntmatter'], 1 => $lang['male'], 2 => $lang['female'] );
return ( profilefields_show_echo_standart ( $lang['sex'], $ar[$value] , $colspan) );
}
function profilefields_show_spez_status ($value,$uid,$colspan) {
global $lang;
return ( profilefields_show_echo_standart ( $lang['status'], ($value?'aktiv':'inaktiv'), $colspan) );
}
function profilefields_show_spez_usergallery ($value,$uid,$colspan) {
global $allgAr, $lang;
if ($allgAr['forum_usergallery'] == 1) {
return ( profilefields_show_echo_standart ( 'Usergallery', '<a href="index.php?user-usergallery-'.$uid.'">ansehen</a>', $colspan) );
}
}
function profilefields_show_spez_homepage ($value,$uid,$colspan) {
global $lang;
return ( profilefields_show_echo_standart ( $lang['homepage'], (empty($value)?'':'<a href="'.$value.'" target="_blank">'.$value.'</a>'), $colspan) );
}
function profilefields_show_spez_opt_mail ($value,$uid,$colspan) {
global $lang;
return ( profilefields_show_echo_standart ( $lang['mail'], ($value?'<a href="index.php?user-mail-'.$uid.'">'.$lang['send'].'</a>':''), $colspan) );
}
function profilefields_show_spez_opt_pm ($value,$uid,$colspan) {
global $lang;
return ( profilefields_show_echo_standart ( $lang['privatemessages'], ($value?'<a href="index.php?forum-privmsg-new=0&empfid='.$uid.'">'.$lang['send'].'</a>':''), $colspan) );
}
function profilefields_show_spez_sig ($value,$uid,$colspan) {
global $lang;
return ( profilefields_show_echo_standart ( $lang['signature'], bbcode($value),$colspan) );
}
function profilefields_show_spez_staat ($value,$uid,$colspan) {
global $lang;
return ( profilefields_show_echo_standart ( $lang['state'], ((!empty($value) AND file_exists('include/images/flags/'.$value))?'<img src="include/images/flags/'.$value.'" alt="'.$value.'" title="'.$value.'" />':''), $colspan) );
}
function profilefields_show_spez_wohnort ($value,$uid,$colspan) {
$mapcname=@db_result ( db_query ("SELECT `cname` FROM prefix_map WHERE uid = ".$uid) , 0 );
if(!empty($mapcname)){$value.=($value=='' ? $mapcname :'').' <a href="?map-uid-'.$uid.'">Karte</a>';}
return ( profilefields_show_echo_standart ( 'Wohnort', $value, $colspan ) );
}
###
##
# help funcs
function get_nationality_array () {
$ar = array();
$o = opendir ( 'include/images/flags' );
while ( $f = readdir ( $o ) ) {
if ( $f != '.' AND $f != '..' ) {
$ar[$f] = $f;
}
}
return ( $ar );
}
function profilefields_show_echo_standart ( $k, $v, $colspan ) {
return ( '<tr><td width="30%" class="Cmite">'.$k.'</td>'.$colspan.' class="Cnorm">'.$v.'</td></tr>'."n" );
}
?>
ausschnitt aus der readme.txt für die profilefields.php:
°Wenn ihr den MapMode installiert habt, müsst ihr noch folgender Code in die profilefields.php im Ordner include/includes/func hineinkopieren:
## insert by map_mod ##
function profilefields_show_spez_wohnort ($value,$uid,$colspan) {
$mapcname=@db_result ( db_query ("SELECT `cname` FROM prefix_map WHERE uid = ".$uid) , 0 );
if(!empty($mapcname)){$value.=($value=='' ? $mapcname :'').' <a href="?map-uid-'.$uid.'">Karte</a>';}
return ( profilefields_show_echo_standart ( 'Wohnort', $value, $colspan ) );
}
## end of insert ##
###
###
##
°am besten gad über:
###
##
# help funcs
°aber nix überschreiben!!!!!
hmm... so glaub das wars...
hab mich bei den modulen genaustens an die anleitungen gehalten.. kann mir jmd. helfen?^^
[€dit]
achja... hier aus der designs.php zeile 200 - 250
$hovmenu = 'hmenu';
} elseif ($row['was'] == 3 AND $tpl->list_exists('vmenupoint')) {
$hovmenu = 'vmenu';
}
$firstmep = TRUE;
if (!empty($hovmenu)) {
$menuzw .= $tpl->list_get($hovmenu.'begi', array());
$menuzwE .= $tpl->list_get($hovmenu.'ende', array());
}
$hovmenup = $hovmenu.'point';
} elseif ($whileMenP) {
# menupunkt wird generiert
$ebene = $row['ebene'];
$menuTarget = ( $subhauptx == 8 ? '_blank' : '_self' );
list ($wmpA, $wmpE, $wmpTE, $wmpTEE) = explode ('|', $tpl->list_get ($hovmenup, array ($menuTarget, ( $subhauptx == 8 ? '' : 'index.php?') .$row['path'], $row['name'])));
if (!empty($menuzw) AND $firstmep === FALSE) {
$menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE);
}
$menuzw .= $wmpA;
$firstmep = FALSE;
}
$ex_was = $row['was'];
$ex_ebene = $row['ebene'];
}
if (!empty($menuzw) ) {
$menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
$retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw.$menuzwE));
}
return ( $retur );
}
function get_boxes_get_menu_close ( $ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE) {
$menu1 = '';
if ( $ex_ebene == $ebene AND !empty($menuzw) ) {
$menu1 .= $wmpE."\n";
} elseif ( $ex_ebene > $ebene ) {
$menu1 .= $wmpE."\n";
for($i=0;$i<( $ex_ebene - $ebene ); $i++ ) {
$menu1 .= $wmpTEE."\n";
}
} elseif ( $ex_ebene < $ebene ) {
$menu1 .= $wmpTE."\n";
}
return ( $menu1 );
}
function get_boxcontent ( $box ) {
global $lang, $allgAr, $menu;
if ( file_exists('include/boxes/'.$box ) ) {
dies ist die original datei! nix dran geändert!
verwendete ilchClan Version: 1.1
betroffene Homepage: n0tr0n.n0.funpic.de/Lichtwelt/index.php?user-details-1
Zuletzt modifiziert von Ithron am 01.11.2006 - 20:21:14


