Moin moin ...
also, ich benötige wieder eure hifle ...
ich hab ein normales, funktionierendes php-script so umgeschrieben, dass ein teil in php-nuke als modul eingebunden ist.
eigentlich funktioniert alles, ausser ein teil ...
in diesem teil können die user kommentare zu gästebucheinträgen schreiben.
die gb-einträge werden in "gblog" gespeichert.
hier der code, der mir probleme bereitet:
PHP-Code:
<?php
if (!eregi("modules.php", $PHP_SELF)) {
die ("You can't access this file directly...");
}
include("../../mainfile.php");
global $user;
if( is_user($user))
{
$benutzer=getusrinfo($user);
$user_name=strtolower($benutzer[username]);
}
else
{
$user_name="Gast";
}
INCLUDE "/var/www/web1/html/modules/pp/$user_name/gb_config.php";
INCLUDE "/var/www/web1/html/modules/pp/$user_name/gb_functions.php";
$gbdatei = "/var/www/web1/html/modules/pp/$user_name/gblog";
$nummer = $_GET['nummer'];
$number = $_GET['number'];
$text = $_POST['text'];
$index = 0;
$module_name = basename(dirname(__FILE__));
include("header.php");
OpenTable();
switch ($_GET['action'])
{
case "comment" :
if (isset($_POST['submit']))
{ echo "Adding .... $nummer .... $gbdatei ... $text<br>";
edit_entry($gbdatei,$nummer,trim(get_entry($gbdatei, $nummer)).preg_replace("/(\015\012)|(\015)|(\012)/","<br />",htmlentities($text)));
echo "
Comment added.
";
}
echo "
<center>
<form method=\"post\" action=\"modules.php?name=pp&file=pete/admin_action&action=comment&nummer=".$number."\">
<textarea class=\"auswahl\" name=\"text\" cols=\"30\" rows=\"3\"></textarea><br>
<input type=\"submit\" name=\"submit\" value=\"comment\">
</form>
</center>
";
break;
case "delete" :
$datei=fopen($gbdatei,"r");
while(feof($datei)==0)
{
$data[]=fgets($datei,1000000);
}
unset($data[intval($number)]);
$datei=fopen($gbdatei,"w");
fputs($datei,implode('', $data));
fclose($datei);
header("Location: modules.php?name=pp&file=$user_name/admin&Anfangsposition=0");
break;
}
CloseTable();
include("footer.php");
?>
da funktioniert die eine zeile nicht:
PHP-Code:
edit_entry($gbdatei,$nummer,trim(get_entry($gbdatei, $nummer)).preg_replace("/(\015\012)|(\015)|(\012)/","<br />",htmlentities($text)));
die wird einfach nicht abgearbeitet.
"edit_entry" und "get_entry" stammen aus der gb_functions.php:
PHP-Code:
function edit_entry($file, $number, $text) {
$datei=fopen("./".$file,"r");
while(feof($datei)==0) {
$data[]=fgets($datei,1000000);
}
$data[$number]=$text."\n";
$datei=fopen("./".$file,"w");
fputs($datei,implode('', $data));
fclose($datei);
}
function get_entry($file, $number) {
$datei=fopen("./".$file,"r");
while(feof($datei)==0) {
$data[]=fgets($datei,1000000);
}
fclose($datei);
return $data[$number];
}
also, entweder, ich hab etwas nicht phpnuke-konform gemacht, oder es liegt irgendwo an einem php-befehl.
viell. kann mir ja wer helfen ...
mfg