So also damit es ordentlich funktioniert musst du noch mit phpmyadmin in der Tabellen prefix(ic1)_koms bei Struktur die Länge von 10 auf etwa 30 Stellen, dann folgende Dateien anlegen.
include/contets/selfkom.php
<?php
# Copyright by: Manuel
# Support: www.ilch.de
defined ('main') or die ( 'no direct access' );
# liest die <!--@..=..@--> in den ersten 1024 Zeichen in ein Array aus
function get_properties($file){
$handle = fopen ($file, 'r');
$buffer = fread($handle, 1024);
fclose ($handle);
preg_match_all("|(?:<!--@(?P<name>[^=]*)=(?P<value>.*)@-->)|U",$buffer, $out, PREG_SET_ORDER);
unset($buffer);
$properties= array();
foreach($out as $x){
$properties[$x[name]]=$x[value];
}
unset($out);
return $properties;
}
function showpage($file,$page) {
//Seite anzeigen
require_once($file);
//Kommentarformular
$tpl = new tpl ( 'selfkom' );
$ar = array (
'pagename' => $page,
'uname' => $_SESSION['authname'],
'ANTISPAM' => (loggedin()?'':get_antispam ('selfkom_'.$page, 0)),
);
$tpl->set_ar_out($ar, 0);
//Kommentare anzeigen
$erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = '1' AND cat = 'SELFKOM_$page' ORDER BY id DESC");
$ergAnz1 = db_num_rows($erg1);
if ( $ergAnz1 == 0 ) {
echo '<b>'.$lang['nocomments'].'</b>';
} else {
$zahl = $ergAnz1;
while ($row1 = db_fetch_assoc($erg1)) {
$row1['text'] = bbcode(trim($row1['text']));
if (has_right(-7)) {
$row1['text'] .= '<a href="?selfkom-'.$page.'-d'.$row1['id'].'"><img src="include/images/icons/del.gif" alt="löschen" border="0" title="löschen" /></a>';
}
$tpl->set_ar_out( array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl ) , 1 );
$zahl--;
}
}
}
if ( $menu->get(1) != '' ) {
# moegliche endungen
$ende_ar = array ('.html','.htm','.php');
$um = $menu->get(1);
# um ../ backlinks in unterordner kicken.
$um = str_replace('../','',$um);
$um = str_replace('./','',$um);
//Kommentare löschen
if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(-7)) {
$kommentar_id = escape($menu->getE(2),'integer');
db_query("DELETE FROM prefix_koms WHERE uid = '1' AND cat = 'SELFKOM_$um' AND id = ".$kommentar_id);
}
//Kommentar hinzufügen
if ( (loggedin() OR chk_antispam ('selfkom_'.$um)) AND !empty($_POST['kom_name']) AND !empty($_POST['kom_txt']) ) {
$_POST['txt'] = escape($_POST['kom_txt'],'string');
$_POST['name'] = escape($_POST['kom_name'],'string');
db_query("INSERT INTO `prefix_koms` VALUES ('','1','SELFKOM_$um','".$_POST['name']."','".$_POST['txt']."')");
$s = mysql_error();
}
foreach ($ende_ar as $ext ) {
$file='include/contents/selfbp/selfp/'.$menu->get(1).$ext;
if ( file_exists ( $file ) ) {
$properties = get_properties($file);
if($properties['view'] == "fullscreen"){
showpage($file,$um);
}elseif($properties['view'] == "popup"){
if($menu->get(2)!='true'){
$title = $allgAr['title'].' :: '.$properties['title'];
$hmenu = $properties['hmenu'];
$design = new design ( $title , $hmenu );
$design->header();
?>
<script language="JavaScript" type="text/javascript">
<!--
var fenster = window.open('index.php?self-<?php echo $menu->get(1); ?>-true','Seite','<?php echo $properties['viewoptions']; ?>');
fenster.focus();
-->
</script>
<?php
echo '<a href="index.php?self-'.$menu->get(1).'-true">'.$properties['title'].'</a>';
$design->footer();
}else{
showpage($file,$um);
}
}else{
$title = $allgAr['title'].' :: '.$properties['title'];
$hmenu = $properties['hmenu'];
$design = new design ( $title , $hmenu );
$design->header();
showpage($file,$um);
echo $s;
$design->footer();
}
$ok=true;
break;
}
}
}
if($ok != true){
# dieser teil hier muss auch in die eigene self datei eingefuehgt werden.
# die datei muss aber die endung .php haben!!! und dann einfach den teil hier
# einfueghen und zwar bis zum #ENDE DESIGN
# und dann noch ganz am ende der self_ datei $design->footer();
# allers natuerlich in den php bereich der seite.
$title = $allgAr['title'];
$hmenu = "";
$design = new design ( $title , $hmenu );
$design->header();
#ENDE DESIGN
# das muss auch in die self datei eingefueght werden wenn sie direkt aufgerufen
# werden soll, davor aber auch noch das header ding am anfang ;9...
$design->footer();
}
?>
include/template/selfkom.htm
<br /><hr /><br /><form action="index.php?selfkom-{pagename}" method="POST">
<fieldset>
<legend>{_lang_writecomment}</legend>
<input type="text" name="kom_name" value="{uname}" /> {ANTISPAM} <input type="submit" value="{_lang_enter}"><br />
<textarea style="width: 98%" cols="50" rows="2" name="kom_txt"></textarea><br />
</fieldset>
</form>
<br />
{EXPLODE}
<span class="Cmite"># <b>{ZAHL}</b> von {NAME}</span>
<br />{TEXT}<br /><br />
Dann kannst du deine Selfpage über index.php?selfkom-NAME aufrufen und dann sollte man Kommentare vergeben können.