Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Gästebuchmod - Kleine Änderung.
#31
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 !!!
Zitieren
#32
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 ?
Zitieren
#33
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."';");

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#34
Jetzt steh ich auf dem Schlauch :s ... Spalte unreadpms ? Tabelle users? Was genau meinst du ? Sorry wenn ich blöd bin ^^
Zitieren
#35
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.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#36
Hier bitte Smile

Danke für deine schnelle Antwort !


Angehängte Dateien
.php   gb.php (Größe: 4,52 KB / Downloads: 10)
Zitieren
#37
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

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#38
Ok hab ich gemacht, danke dafür. Aber der "Streifen" ist immernoch nicht da. Die PM kommt an aber der "Streifen" fehlt. hmm
Zitieren
#39
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($uid, 7, 0);


MfG
waldo
Zitieren
#40
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 ?
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Problem noch beim Gästebuchmod. SweetySchnuffel 2 2.000 08.03.2007, 14:41
Letzter Beitrag: Grauer-Magier
  Profile View Counter - kleine Änderung. SweetySchnuffel 1 2.099 10.01.2007, 10:07
Letzter Beitrag: SweetySchnuffel
  Eine kleine Änderung ... SweetySchnuffel 3 2.742 11.06.2006, 17:53
Letzter Beitrag: Michael
  Kleine Änderung des Quickedit Mods Mak 0 1.856 14.05.2006, 12:56
Letzter Beitrag: Mak