Fehler in Profile C. P. - Pers. Info nur "für Freunde&q
Verfasst: 20.12.2004 04:38
Hi!
Ich bin recht neu und habe keinerlei Ahnung von PHP. Aber die manuelle Installation dieses Mods hat funktioniert
*Wusste bis vorhin gar nicht, dass es EasyMod gibt
*
Aber nun zu dem Problem, was ich anscheindend auch gelöst habe, aber gerne validiert hätte.
1. "persönliche Informationen" wurden von den jeweiligen Benutzern auf "für Freunde" gesetzt
2. Die Freunde wurden jeweils zur Buddyliste hinzugefügt.
3. Trotzdem wurden dem "Freund" die Daten einfach nicht angezeigt.
Jetzt habe ich im Code einfach in der \profilcp\profilcp_public_base.php
folgendes geändert:
--von---
--zu--
Also einfach alles rumgedreht und if ( $row['user_id'] != $user_id ) gesetzt. Vorher hat der if - Satz einfach nicht funktioniert.
Habe ich da jetzt eventuell großen Blödsinn veranstaltet? Ich meine ok, es funktioniert jetzt. Aber auf Grund der Sicherheit frage ich lieber nochmal nach. Es ist doch eigentlich das selbe in Grün...
Über Antworten/Tipps würde ich mich freuen.
P.S.:
Benutze phpbb 2.0.11
Ich bin recht neu und habe keinerlei Ahnung von PHP. Aber die manuelle Installation dieses Mods hat funktioniert

*Wusste bis vorhin gar nicht, dass es EasyMod gibt

Aber nun zu dem Problem, was ich anscheindend auch gelöst habe, aber gerne validiert hätte.
1. "persönliche Informationen" wurden von den jeweiligen Benutzern auf "für Freunde" gesetzt
2. Die Freunde wurden jeweils zur Buddyliste hinzugefügt.
3. Trotzdem wurden dem "Freund" die Daten einfach nicht angezeigt.
Jetzt habe ich im Code einfach in der \profilcp\profilcp_public_base.php
folgendes geändert:
--von---
Code: Alles auswählen
//----------------------------------------
//
// inits
//
//----------------------------------------
// ids
$user_id = $userdata['user_id'];
$view_user_id = $view_userdata['user_id'];
// get buddy infos
$sql = "SELECT * FROM " . BUDDYS_TABLE . "
WHERE (user_id=$user_id AND buddy_id=$view_user_id) OR (user_id=$view_user_id AND buddy_id=$user_id)";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not get buddy information', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
if ( $row['user_id'] = $user_id )
{
$view_userdata['user_my_friend'] = !$row['buddy_ignore'];
$view_userdata['user_my_ignore'] = $row['buddy_ignore'];
$view_userdata['user_my_visible'] = $row['buddy_visible'];
}
else
{
$view_userdata['user_friend'] = !$row['buddy_ignore'];
$view_userdata['user_ignore'] = $row['buddy_ignore'];
$view_userdata['user_visible'] = $row['buddy_visible'];
}
}
Code: Alles auswählen
//----------------------------------------
//
// inits
//
//----------------------------------------
// ids
$user_id = $userdata['user_id'];
$view_user_id = $view_userdata['user_id'];
// get buddy infos
$sql = "SELECT * FROM " . BUDDYS_TABLE . "
WHERE (user_id=$user_id AND buddy_id=$view_user_id) OR (user_id=$view_user_id AND buddy_id=$user_id)";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not get buddy information', '', __LINE__, __FILE__, $sql);
}
//Ich verstehe es nicht, aber es scheint zu funktionieren
while ( $row = $db->sql_fetchrow($result) )
{
if ( $row['user_id'] != $user_id )
{
$view_userdata['user_friend'] = !$row['buddy_ignore'];
$view_userdata['user_ignore'] = $row['buddy_ignore'];
$view_userdata['user_visible'] = $row['buddy_visible'];
}
else
{
$view_userdata['user_my_friend'] = !$row['buddy_ignore'];
$view_userdata['user_my_ignore'] = $row['buddy_ignore'];
$view_userdata['user_my_visible'] = $row['buddy_visible'];
}
}
Habe ich da jetzt eventuell großen Blödsinn veranstaltet? Ich meine ok, es funktioniert jetzt. Aber auf Grund der Sicherheit frage ich lieber nochmal nach. Es ist doch eigentlich das selbe in Grün...
Über Antworten/Tipps würde ich mich freuen.
P.S.:
Benutze phpbb 2.0.11