Garlant schrieb:Für dein tut_read werden die völlig falschen Querys abgefragt(vermute ich einfach mal, den das ergibt keinen Sinn was da steht). Soll in tut_list lediglich eine Auflistung der Tutorials sein und in tut_read werden diese gelesen? ...
jo, das weiss ich
habe den dritten part noch net geupdatet.. sieht auch alles irgendwie bisl komplizierter aus, als in meiner variante ^^
In der tut_list sollen nur die thread titel ausgelesen werden... erst bei klick auf den titel soll das tutorial erscheinen.
Garlant schrieb:1. Inwiefern meinst du "Tutorial verlinkt"?
Soll eine URL zum aufgerufenem Tut zu sehen sein oder was genau?
damit meine ich
tutorials.php?action=tut_read&id=X
ich werds einfach mal so probieren wie du es bei der kategorie übersicht gemacht hast
besten dank
ich meld mich dann nochmal
------------
edit
------------
so... also er zeigt nun auch was bei tut_read an...
ABER er zeigt den letzten post nur an...
PHP-Code:
elseif ($mybb->input['action'] == 'tut_read')
{
if(!isset($mybb->input['id']))
{
$tutorials_get = 'Unbekanntes Tutorial';
}
else
{
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."threads WHERE tid='".$mybb->input['id']."'");
$name = $db->fetch_array($query);
$name = $name['subject'];
add_breadcrumb("Tutorials » ".$name, "./tutorial.php");
$tut_query = $db->query("SELECT * FROM `".TABLE_PREFIX."posts` WHERE tid = '".$_GET['id']."'");
while($tut = $db->fetch_array($tut_query))
{
$subject = $tut['subject'];
$message = $tut['message'];
$username = $tut['username'];
eval("\$tutorials_get .= \"".$templates->get("tutorials_read_get")."\";");
}
}
}
gruss
marcus
Ersetze
PHP-Code:
eval("\$tutorials_get = \"".$templates->get("tutorials_read_get")."\";");
mal bitte durch
PHP-Code:
eval("\$tutorials_get .= \"".$templates->get("tutorials_read_get")."\";");
Desweiteren gibt es eine große Sicherheitslücke in dem genannten Code, über den SQL-Injektion ermöglicht wird. Füge vor dem ersten Query folgenden Zeile ein:
PHP-Code:
$mybb->input['id'] = intval($mybb->input['id']);
Ersetze das $_GET['id'] im zweiten Query dann auch durch $mybb->input['id'].
Michael schrieb:Desweiteren gibt es eine große Sicherheitslücke in dem genannten Code, über den SQL-Injektion ermöglicht wird. Füge vor dem ersten Query folgenden Zeile ein:
PHP-Code:
$mybb->input['id'] = intval($mybb->input['id']);
Wird $mybb->input[] nicht gesäubert?
Ich hatte da in Erinnerung, gehört zu haben diese würden gesäubert.
Garlant
Ja, aber nicht alles automatisch. Auszug aus der Datei inc/class_core.php:
PHP-Code:
var $clean_variables = array(
"int" => array("tid", "pid", "uid", "eid", "pmid", "fid", "aid")
);
danke für die hinweise
habs gleich mal eingebaut
ich hab dann mal nochn paar fragen...
jetzt wo alles angezeigt wird habsch noch kleinere probleme...
1. BB Codes werden nicht erkannt bei "tut_read"
2. Oben in der "navigation" wird wenn ich in "tut_read" bin nicht die kategorie wo das tutorial drinne liegt angezeigt.
also es wird dann nur
Webstone.info >> Tutorials >> Tutorialname
angezeigt und nicht
Webstone.info >> Tutorials >> Kategoriename >> Tutorialname
ja ich weiss ich fange schon an zu nerven *gg*
Gruss
marcus
Ok, das hatte ich nicht nachgesehen. Werde das dann berücksichtigen.
Dir fehlt folgendes, denn du musst ja noch den namen der Kategorie auslesen lassen um diesen verwenden zu können
PHP-Code:
$query = $db->query("SELECT p.fid, f.name FROM ".TABLE_PREFIX."forums f LEFT JOIN ".TABLE_PREFIX."posts p ON (p.fid=f.fid) WHERE p.tid='".intval($mybb->input['id'])."'");
$name = $db->fetch_array($query);
$name = $name['name'];
(Ich hoffe der Query stimmt so, denn ich gehe davon aus, dass die tid abgerufen wird durch deine id)
Die Formatierung der Beiträge sollten, denke ich, über den Paraser dargestellt werden.
Binde dies bitte in deine Datei ein:
PHP-Code:
require_once MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;
Hiermit formatierst du dann die Beiträge:
PHP-Code:
$parser->parse_message($variable['message']);
Mfg Garlant
grüße,
noch eine frage
ich hab den code für den parser jetzt eingefügt oben und unten hab ich dann folgendes gemacht:
PHP-Code:
$message = $parser->parse_message($tut['message']);
aber irgendwie macht er des net...
edit: hat sich erledigt ^^ war mein fehler hab im template falsch ausgelesen
ich mach nachher nochn bisl die tpl anpassung und dann hau ichs als download für die anderen rein.
ich möchte mich hiermit abermals bei Galant bedanken für die super hilfe
(ich glaub es wäre schneller gegangen wenn ich dir glei gesagt hätte was ich will *gg*)
Für alle die interesse haben --> heut abend gibt es des zum download...
Gruss
Marcus
Ich habe mir das bei dir gerade angesehen und es funktioniert ohne Probleme.
jo war mein fehler ^^ hatte im template $tut[message] stehen gehabt
kp warum ^^
jetzt gehts
du bist echt der beste
werde demnächst noch was probieren, ich hoffe ich kann dann wieder auf deine hilfe zählen
Gruss
marcus