MyBB.de Forum

Normale Version: Gästebuchmod - Kleine Änderung.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7
Hallo, danke für die schnelle antwort.

Jetzt kommt keine Fehlermeldung mehr, aber es kommt auch keine PN an Smile. Vieleicht ne Idee ?

ich häng dir mal meine php als code an Big Grin

danke Smile
PHP-Code:
<?php
/**
 * User GuestBook
 *
 *
 * Copyright 2008 Nickman
 */

define('IN_MYBB'1);
require_once 
'./global.php';
require_once(
'./inc/class_parser.php');

if(
$mybb->input['act'] == 'new')
{
    
add_breadcrumb("Neuen Eintrag schreiben"'gb.php');
$uid=$mybb->input['uid'];
$mid=$mybb->user['uid'];

if (
$mybb->settings['enableusergb'] == '1' AND $mid)
{
    if (!
$mybb->input['comment'])
    {
eval(
"\$newcomment = \"".$templates->get('gb_newcomment')."\";");
            
output_page($newcomment);
}
else {
    
$comment=$db->escape_string($mybb->input['comment']);
    
$id=intval($mybb->input['id']);
    
$getNum=$db->num_rows($db->query("SELECT * FROM ".TABLE_PREFIX."usergb WHERE memberid='$uid'"));
    
$amount=$mybb->settings['maxpostsingb'];
    if (
$getNum $amount AND $amount != "0")
    {
        
error("The User Has Reached Their Max Amount Of GuestBook Entries");
    }
    else {
    
$do=$db->query("INSERT INTO ".TABLE_PREFIX."usergb SET posterdid='$mid',memberid='$id',message='$comment'");
    if (
$do)
    {
    
$sqlarray = array(
            
'uid' => $uid,
            
'fromid' => $mid,
            
'toid' => $uid,
            
'folder' => 1,
            
'subject' => "Neuer Gästebuch-Eintrag",
            
'message' => "Du hast einen neuen Eintrag in deinem Gästebuch!",
            
'dateline' => time(),
            
'status' => 0,
            
'includesig' => 'no',
            
'smilieoff' => 'no',
            
'receipt' => 0
            
);
            
$db->insert_query("privatemessages"$sqlarray); 

        
redirect("member.php?action=profile&uid=".$uid,"Kommentar erfolgreich hinzugef&uuml;gt.");

    }
    }
}
}
}
if (
$mybb->input['act']== "delete")
{
    
$mid=$mybb->user['uid'];
    
$id=intval($mybb->input['id']);
if (
$mybb->settings['enableusergb'] == '1' AND $mid)
{
    
$info=$db->fetch_array($db->query("SELECT * FROM ".TABLE_PREFIX."usergb WHERE id='$id'"));
    
$canAdmin=$mybb->settings['canadmingb'];
    
$admins=explode(",",$canAdmin);
    if (
in_array($mybb->user['usergroup'],$admins))
    {
        
$admin=true;
    }
    else {
        
$admin=false;
    }
    if (
$admin OR $mid == $info['memberid'])
    {
        
$query $db->query("SELECT memberid FROM ".TABLE_PREFIX."usergb WHERE id='$id'");
         
$uid $db->fetch_array($query);
        
$db->query("DELETE FROM ".TABLE_PREFIX."usergb WHERE id='$id'"); 
        
redirect("member.php?action=profile&uid=".$uid['memberid'],"Kommentar erfolgreich gel&ouml;scht."); 

    }

}
else {
    if (!
$mid)
    {
        
error("Du musst eingeloggt sein um einen Eintrag zu schreiben");
    }
    else {
        
error("Guest Book System Disabled");
    }
}
}
if (
$mybb->input['act'] == 'view')
{
    if (
$mybb->settings['enableusergb'] == "1")
    {
    
$uid=intval($mybb->input['uid']);
    
$user=$db->fetch_array($db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='$uid'"));
    
add_breadcrumb("$user[username]'s Comments"'gb.php');
    
$canAdmin=$mybb->settings['cnadmingb'];
    
$admins=explode(",",$canAdmin);
    if (
in_array($mybb->user['usergroup'],$admins))
    {
        
$admin=true;
    }
    else {
        
$admin=false;
    }
    
$mid=$mybb->user['uid'];
    if (
$uid == $mid OR $admin)
    {
        
$cells="3";
    }
    else {
        
$cells="2";
    }
    
$html.="<head>
<title>
{$mybb->settings['bbname']} -$user[username]'s Gaestebucheintraege</title>
{$headerinclude}
</head>
<body>
    
{$header}
    <br/>
    <table border=\"0\" cellspacing=\"
{$theme['borderwidth']}\" cellpadding=\"{$theme['tablespace']}\" class=\"tborder\" width=\"100%\">
    <tr>
        <td class=\"thead\" colspan=\"
$cells\"><strong>G&auml;stebuch von: {$user['username']}</strong></td></tr>";
    
$getPosts=$db->query("SELECT * FROM ".TABLE_PREFIX."usergb WHERE memberid='$uid' ORDER BY id DESC");

while (
$post=$db->fetch_array($getPosts))
{
    
$parser = new postParser;
$parser_options = array(
    
'allow_html' => 'no',
    
'allow_mycode' => 'yes',
    
'allow_smilies' => 'yes',
    
'allow_imgcode' => 'yes'
);
$comment=$parser->parse_message($post['message'],$parser_options);
    
$get=$db->fetch_array($db->query("SELECT username FROM ".TABLE_PREFIX."users WHERE uid='$post[posterdid]'"));
    
$poster=$get['username'];
    
$html.="<tr>
        <td class=\"trow1\">Posted By:<a href='member.php?action=profile&uid=
$post[posterdid]'>$poster</a></td>
        <td class=\"trow1\">
$comment</td>";
if (
$uid == $mid OR $admin)
    {
        
$html.=("<td class=\"trow1\"><a href='gb.php?action=delete&id=$post[id]'>L&ouml;schen</a></td>");

}
    
$html.="</tr>";
}
$html.="</table>{$footer}
</body>
</html>"
;
output_page($html);
}
else {
    
error("User GuestBooks Not Enabled");
}
}

?>

OK hat sich erledigt war wieder meine dummheit Wink ... DANKE DANKE DANKE ihr seid spitze !!!
Habe da doch noch ein anliegen: Es öffnet sich kein "Streifen" oben als Meldung im Portal... So wie bei normalen PM's eine Idee warum ?
Du musst den Wert in der Spalte unreadpms in der Tabelle users aktualisieren:
PHP-Code:
$db->query("UPDATE ".TABLE_PREFIX."users SET unreadpms=unreadpms+1 WHERE uid='".$uid."';"); 
Jetzt steh ich auf dem Schlauch :s ... Spalte unreadpms ? Tabelle users? Was genau meinst du ? Sorry wenn ich blöd bin ^^
Füge die neue Zeile aus meinem vorigen Post einfach unter dieser ein:
PHP-Code:
$db->insert_query("privatemessages"$sqlarray); 
Poste danach bitte nochmal den gesamten Inhalt der Datei. Wenn ich das richtig sehe, gibt es da arge Sicherheitsprobleme.
Hier bitte Smile

Danke für deine schnelle Antwort !
Suche nach:
PHP-Code:
add_breadcrumb("Neuen Eintrag schreiben"'gb.php');
$uid=$mybb->input['uid']; 
Ersetzen durch:
PHP-Code:
add_breadcrumb("Neuen Eintrag schreiben"'gb.php');
$uid=intval($mybb->input['uid']); 
Das ist eine Sicherheitslücke, die SQL-Injektion ermöglicht. Mit der Änderung wird das behoben.

Edit: OK, zu früh Alarm gegeben. Die Änderung ist nicht nötig. Wink
Ok hab ich gemacht, danke dafür. Aber der "Streifen" ist immernoch nicht da. Die PM kommt an aber der "Streifen" fehlt. hmm
Hallo,

ich habe das bei mir folgendermaßen gemacht, damit die PM Notiz angezeigt wird:

Suche nach:
PHP-Code:
$db->insert_query("privatemessages"$sqlarray); 

und füge darunter ein:
PHP-Code:
$query $db->simple_select("users""*""uid='{$uid}'");
           
$user $db->fetch_array($query);         
                   
        if(
$user['pmnotice'] == 1)
            {
                
$db->update_query("users", array("pmnotice" => 2), "uid='{$uid}'");
            }    
                require_once 
MYBB_ROOT."inc/functions_user.php";
        
update_pm_count($uid70); 


MfG
waldo
Guten Morgen(Mittag) Wink.

Vielen dank waldo, das hat wunderbar Funktioniert ! Danke euch allen für euren absolut lobenswerten Support !

SCHÄTZT DIE JUNGS HIER !!

beste grüße
Alex
Öhm ich bin es nochmal *gg*

Ich würde jetzt gerne noch einen Link in die PN schreiben, wo die leute zu ihrem GB kommen, nur so wie das aussieht kann man hier:
PHP-Code:
'message' => "Du hast einen neuen Eintrag in deinem Gästebuch!"
kein HTML reinhauen oder ?
Seiten: 1 2 3 4 5 6 7