PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ajax shoutbox Problem



schlachtherr
14.10.2009, 17:42
ich habe die Ajax Shoutbox eingebaut.

Leider bekomme ich folgende fehler:

im usermenü erscheint folenderfehler:

Parse error: syntax error, unexpected T_ELSE in /var/www/web78/html/content/module.php on line 30

im adminforce unter Module erscheint folgender fehler:

Fatal error: Call to undefined function modul_tableexists() in /var/www/web78/html/module/chatbox/admin.php on line 4

module.php:

<?
define ('MODSYS_VER', 0.9);
// Aussehen des Copyrights einstellen
$style = 4; // Design: Zahlen 1-4; Jeweils die gewuenschte Zahl eingeben und speichern.
// Einstellungen Ende
$dir = './module/';
$linkstyle = 'index.php?content=/module&mod=';
if (isset ($err)) unset ($err);
function display ($msg) {
global $style;
if ($style == 1) head ('<div style="text-align: center;">'.$msg.'</div>').foot();
elseif ($style == 2) {
head ('Hersteller');
echo '<div style="text-align: center;">'.$msg.'</div>';
foot();
} elseif ($style == 3) echo '<div style="text-align: right;">'.$msg.'</div>';
else echo '<div style="text-align: center;">'.$msg.'</div>';
}
if (!isset ($_GET['modInfo'])) {
if (isset ($_GET['mod'])) {
if (is_dir ($dir.$_GET['mod'])) {
if (file_exists ($dir.$_GET['mod'].'/pref.ini')) {
require ( './lib/module.lib.php' );
define ('MODULSYSTEM_LOADED', TRUE); // "Modulsystem geladen" melden wegen Sicherheitspruefung
if (!isset ($_GET['open']) && file_exists ($dir.$_GET['mod'].'/module.php')) require ($dir.$_GET['mod'].'/module.php');
elseif (isset ($_GET['open']) && strpos($_GET['open'], '.')===false &&file_exists ($dir.$_GET['mod'].'/'.$_GET['open'].'.php')) require ($dir.$_GET['mod'].'/'.$_GET['open'].'.php'); require ($dir.$_GET['mod'].'/'.$_GET['open'].'.php');
else $err = 'Die Moduldatei wurde nicht gefunden.';
} else $err = 'ModInfo-Datei konnte nicht geladen werden.<br /><br />Dies ist ein Lizenzversto&szlig;, bitte wenn m&ouml;glich auf <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a> Melden!';
} else $err = 'Das angegebene Modul wurde nicht gefunden.';
} else $err = 'Es wurde kein Modulname &uuml;bergeben.';
if (isset ($err)) {
head ('Fehler');
echo '<div class="hinweis">Es ist ein Fehler auf unserer Seite aufgetreten:<br /><br /><span>' . $err . '</span></div>';
foot ();
display ('Modulsystem &copy; by <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a>');
} else display ('<a href="'.modul_link('&modInfo=true').'">Modulinformationen</a>');
} else {
require ( './lib/module.lib.php' );
head ('Modulinformationen');
if (is_readable (modul_dir() . 'pref.ini')) {
$info = parse_ini_file (modul_dir() . 'pref.ini', TRUE);
?>
<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr>
<td class="tr_row1" colspan="2" align="center"><font size=2><b>Modulinformationen</b></font></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Modulname</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['name'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Version</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['version'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Erscheinungsdatum</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['datum'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Verkaufsdatum</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['verkauft'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Versionsstand</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['update'];?></td>
</tr>
<tr>
<td class="tr_row1" colspan="2" align="center"><font size=2><b>Autoreninformationen</b></font></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Hersteller (Name)</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['autor']['name'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Anschrift</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['autor']['adresse'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Ort</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['autor']['ort'];?></td>
</tr>
<tr>
<td class="tr_row1" colspan="2" align="center"><font size=2><b>Kontakt zum Autor</b></font></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Homepage</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['webseite'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>e-Mail-Adresse</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['email'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Telefon</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['telefon'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Telefax</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['telefax'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Skype</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['skype'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>ICQ-Uin</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['icq'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>MSN e-Mail</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['msn'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Yahoo!</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['yim'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>AOL IM</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['aim'];?></td>
</tr>
</table>
<?
} else echo '<div class="hinweis"><span>ModInfo-Datei konnte nicht geladen werden.<br /><br />Dies ist ein Lizenzversto&szlig;, bitte wenn m&ouml;glich auf <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a> Melden!</span></div>';
foot ();
display ('Modulsystem &copy; by <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a>');
} ?>

und admin.php

<? // Sicherheits-Check
moduladmin_access ();
if (!modul_tableexists ($db_prefix.'_chatbox') && is_readable ('../module/chatbox/files/mysql.sql')) {
$queries = modul_parseDump (implode ('', file ('../module/chatbox/files/mysql.sql')));
foreach($queries as $q) {
if (!empty ($q) && strlen ($q) > 10) modul_query (str_replace ('#PREFIX#', $db_prefix, $q));
}
head ('MySQL-Tabellen angelegt');
echo 'Die MySQL-Tabellen wurden automatisch angelegt.';
foot ();
}

$file = 'install';
if (is_file ('../module/'.modul_name().'/files/'.$file.'.txt')) {
head ('Installation');
if (is_readable ('../module/'.modul_name().'/files/'.$file.'.txt')) echo nl2br (str_replace (' ', ' &nbsp;', htmlspecialchars (implode ('', file ('../module/'.modul_name().'/files/'.$file.'.txt')))));
else echo 'Fehler: module/'.modul_name().'/files/'.$file.'.txt kann nicht gelesen werden!';
foot ();
}
$file = 'hinweise';
if (is_file ('../module/'.modul_name().'/files/'.$file.'.txt')) {
head ('Hinweise');
if (is_readable ('../module/'.modul_name().'/files/'.$file.'.txt')) echo nl2br (str_replace (' ', ' &nbsp;', htmlspecialchars (implode ('', file ('../module/'.modul_name().'/files/'.$file.'.txt')))));
else echo 'Fehler: module/'.modul_name().'/files/'.$file.'.txt kann nicht gelesen werden!';
foot ();
}
$file = 'lizenz';
if (is_file ('../module/'.modul_name().'/files/'.$file.'.txt')) {
head ('Lizenz');
if (is_readable ('../module/'.modul_name().'/files/'.$file.'.txt')) echo nl2br (str_replace (' ', ' &nbsp;', htmlspecialchars (implode ('', file ('../module/'.modul_name().'/files/'.$file.'.txt')))));
else echo 'Fehler: module/'.modul_name().'/files/'.$file.'.txt kann nicht gelesen werden!';
foot ();
}
$file = 'sonstiges';
if (is_file ('../module/'.modul_name().'/files/'.$file.'.txt')) {
head ('Sonstiges');
if (is_readable ('../module/'.modul_name().'/files/'.$file.'.txt')) echo nl2br (str_replace (' ', ' &nbsp;', htmlspecialchars (implode ('', file ('../module/'.modul_name().'/files/'.$file.'.txt')))));
else echo 'Fehler: module/'.modul_name().'/files/'.$file.'.txt kann nicht gelesen werden!';
foot ();
}
?>

Lokutos
14.10.2009, 18:26
Warte ich auch schon lange drauf

http://designerscripte.net/showthread.php?t=8874

hab mitlerweile ne eigene sb daher interesiertsierts mich nimmer

Gremlin
15.10.2009, 20:47
lib/module.lib.php


<?
// Gibt den aktuellen Modulnamen aus
function modul_name () {
global $_GET;
return $_GET['mod'];
}

// Gibt das aktuelle Modulverzeichnis aus
function modul_dir () {
global $dir, $_GET;
return ($dir.$_GET['mod'].'/');
}

// Erzeugt modulinterne Links
function modul_link ($vars='') {
global $_GET, $linkstyle;
$link = $linkstyle.$_GET['mod'];
if (!empty ($vars)) $link .= $vars;
return $link;
}

// Sicherheitsfunktion um unerlaubte Ausrufe zu verhindern (module.php)
function modul_access () {
if (!defined ('MODULSYSTEM_LOADED')) die ('Unberechtigter Zugriff!');
}

// Sicherheitsfunktion fuer Administration um unerlaubte Ausrufe zu verhindern (admin.php)
function moduladmin_access () {
if (!defined ('MODULADMIN_LOADED')) die ('Unberechtigter Zugriff!');
}

// MySQL-Query-Funktion
function modul_query ($query) {
return db_query ($query);
}

// Prueft, ob Tabelle bereits vorhanden
function modul_tableexists ($table = false) {
global $db_base;
if (!$table) {
return FALSE;
}
$sql = 'SHOW TABLES';
$sql = modul_query ($sql);
while ($row = mysql_fetch_assoc ($sql)) {
if (strtolower($row['Tables_in_'.$db_base]) == strtolower ($table)) {
return TRUE;
break;
}
}
return FALSE;
}

// Einfache Zeitausgabe
function modul_easytime ($time, $trenner=FALSE) {
$diff = ( time () - $time );

$days = floor ( $diff / 86400 );
if ($days > 0) $diff = ( $diff % 86400 );

$hours = floor ( $diff / 3600 );
if ($hours > 0) $diff = ( $diff % 3600 );

$mins = floor ( $diff / 60 );

$trenner = ($trenner == FALSE) ? ', ' : '<br />';
$dayend = ($days > 1) ? 'Tage' : 'Tag';

if ($days > 0) return ($days.' '.$dayend.$trenner.$hours.' Std.');
else return ($hours.' Std.'.$trenner.$mins.' Min.');
}

// Zum Parsen von MySQL-Dumps
function modul_parseDump ($q) {
$q = preg_replace ('/--(.*)/', '', $q);

$n = strlen ($q);
$k = 0;
$queries = array ();
$current_delimiter = '';


for ($i=0;$i<$n;$i++){
if (!isset ($queries[$k])) {
$queries[$k] = '';
}
if ($q[$i] == '\\' && ($q[$i+1] == '\\' || $q[$i+1] == "'" || $q[$i+1] == '"')){
$queries[$k] .= $q[$i].$q[$i+1];
$i++;
continue;
}

if ($q[$i] == $current_delimiter) {
$current_delimiter='';
} elseif ($q[$i] == '`' || $q[$i] == "'" || $q[$i] == '"') {
$current_delimiter=$q[$i];
}

if ($q[$i] == ';' && $current_delimiter == '') {
$queries[$k] = trim ($queries[$k]);
if (trim (substr ($q, $i), "\r \n;") != '')
$k++;
} else {
$queries[$k] .= $q[$i];
}
}

foreach ($queries as $k => $v) {
$queries[$k] = trim($queries[$k]);
if(preg_match('/^\s*$/si',$queries[$k])) {
unset($queries[$k]);
}
}

return array_values($queries);
}
?>


Das löst zumindest das Problem mit der undefined function. Warum da jedoch ein syntax error in der module Datei ist weiß ich noch nicht :der:

schlachtherr
20.10.2009, 19:16
ich habe die Ajax Shoutbox eingebaut.

Leider bekomme ich folgende fehler:

im usermenü erscheint folenderfehler:

Parse error: syntax error, unexpected T_ELSE in /var/www/web78/html/content/module.php on line 30

module.php:

<?
define ('MODSYS_VER', 0.9);
// Aussehen des Copyrights einstellen
$style = 4; // Design: Zahlen 1-4; Jeweils die gewuenschte Zahl eingeben und speichern.
// Einstellungen Ende
$dir = './module/';
$linkstyle = 'index.php?content=/module&mod=';
if (isset ($err)) unset ($err);
function display ($msg) {
global $style;
if ($style == 1) head ('<div style="text-align: center;">'.$msg.'</div>').foot();
elseif ($style == 2) {
head ('Hersteller');
echo '<div style="text-align: center;">'.$msg.'</div>';
foot();
} elseif ($style == 3) echo '<div style="text-align: right;">'.$msg.'</div>';
else echo '<div style="text-align: center;">'.$msg.'</div>';
}
if (!isset ($_GET['modInfo'])) {
if (isset ($_GET['mod'])) {
if (is_dir ($dir.$_GET['mod'])) {
if (file_exists ($dir.$_GET['mod'].'/pref.ini')) {
require ( './lib/module.lib.php' );
define ('MODULSYSTEM_LOADED', TRUE); // "Modulsystem geladen" melden wegen Sicherheitspruefung
if (!isset ($_GET['open']) && file_exists ($dir.$_GET['mod'].'/module.php')) require ($dir.$_GET['mod'].'/module.php');
elseif (isset ($_GET['open']) && strpos($_GET['open'], '.')===false &&file_exists ($dir.$_GET['mod'].'/'.$_GET['open'].'.php')) require ($dir.$_GET['mod'].'/'.$_GET['open'].'.php'); require ($dir.$_GET['mod'].'/'.$_GET['open'].'.php');
else $err = 'Die Moduldatei wurde nicht gefunden.';
} else $err = 'ModInfo-Datei konnte nicht geladen werden.<br /><br />Dies ist ein Lizenzversto&szlig;, bitte wenn m&ouml;glich auf <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a> Melden!';
} else $err = 'Das angegebene Modul wurde nicht gefunden.';
} else $err = 'Es wurde kein Modulname &uuml;bergeben.';
if (isset ($err)) {
head ('Fehler');
echo '<div class="hinweis">Es ist ein Fehler auf unserer Seite aufgetreten:<br /><br /><span>' . $err . '</span></div>';
foot ();
display ('Modulsystem &copy; by <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a>');
} else display ('<a href="'.modul_link('&modInfo=true').'">Modulinformationen</a>');
} else {
require ( './lib/module.lib.php' );
head ('Modulinformationen');
if (is_readable (modul_dir() . 'pref.ini')) {
$info = parse_ini_file (modul_dir() . 'pref.ini', TRUE);
?>
<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr>
<td class="tr_row1" colspan="2" align="center"><font size=2><b>Modulinformationen</b></font></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Modulname</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['name'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Version</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['version'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Erscheinungsdatum</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['datum'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Verkaufsdatum</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['verkauft'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Versionsstand</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['modul']['update'];?></td>
</tr>
<tr>
<td class="tr_row1" colspan="2" align="center"><font size=2><b>Autoreninformationen</b></font></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Hersteller (Name)</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['autor']['name'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Anschrift</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['autor']['adresse'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Ort</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['autor']['ort'];?></td>
</tr>
<tr>
<td class="tr_row1" colspan="2" align="center"><font size=2><b>Kontakt zum Autor</b></font></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Homepage</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['webseite'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>e-Mail-Adresse</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['email'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Telefon</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['telefon'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Telefax</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['telefax'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Skype</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['skype'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>ICQ-Uin</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['icq'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>MSN e-Mail</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['msn'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>Yahoo!</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['yim'];?></td>
</tr>
<tr>
<td class="tr_row1" width="120">&nbsp;<b>AOL IM</b>:</td>
<td class="tr_row0">&nbsp;<?=$info['kontakt']['aim'];?></td>
</tr>
</table>
<?
} else echo '<div class="hinweis"><span>ModInfo-Datei konnte nicht geladen werden.<br /><br />Dies ist ein Lizenzversto&szlig;, bitte wenn m&ouml;glich auf <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a> Melden!</span></div>';
foot ();
display ('Modulsystem &copy; by <a href="http://www.totaltoll.de" target="_blank">TotalToll.de</a>');
} ?>

und admin.php

<? // Sicherheits-Check
moduladmin_access ();
if (!modul_tableexists ($db_prefix.'_chatbox') && is_readable ('../module/chatbox/files/mysql.sql')) {
$queries = modul_parseDump (implode ('', file ('../module/chatbox/files/mysql.sql')));
foreach($queries as $q) {
if (!empty ($q) && strlen ($q) > 10) modul_query (str_replace ('#PREFIX#', $db_prefix, $q));
}
head ('MySQL-Tabellen angelegt');
echo 'Die MySQL-Tabellen wurden automatisch angelegt.';
foot ();
}

$file = 'install';
if (is_file ('../module/'.modul_name().'/files/'.$file.'.txt')) {
head ('Installation');
if (is_readable ('../module/'.modul_name().'/files/'.$file.'.txt')) echo nl2br (str_replace (' ', ' &nbsp;', htmlspecialchars (implode ('', file ('../module/'.modul_name().'/files/'.$file.'.txt')))));
else echo 'Fehler: module/'.modul_name().'/files/'.$file.'.txt kann nicht gelesen werden!';
foot ();
}
$file = 'hinweise';
if (is_file ('../module/'.modul_name().'/files/'.$file.'.txt')) {
head ('Hinweise');
if (is_readable ('../module/'.modul_name().'/files/'.$file.'.txt')) echo nl2br (str_replace (' ', ' &nbsp;', htmlspecialchars (implode ('', file ('../module/'.modul_name().'/files/'.$file.'.txt')))));
else echo 'Fehler: module/'.modul_name().'/files/'.$file.'.txt kann nicht gelesen werden!';
foot ();
}
$file = 'lizenz';
if (is_file ('../module/'.modul_name().'/files/'.$file.'.txt')) {
head ('Lizenz');
if (is_readable ('../module/'.modul_name().'/files/'.$file.'.txt')) echo nl2br (str_replace (' ', ' &nbsp;', htmlspecialchars (implode ('', file ('../module/'.modul_name().'/files/'.$file.'.txt')))));
else echo 'Fehler: module/'.modul_name().'/files/'.$file.'.txt kann nicht gelesen werden!';
foot ();
}
$file = 'sonstiges';
if (is_file ('../module/'.modul_name().'/files/'.$file.'.txt')) {
head ('Sonstiges');
if (is_readable ('../module/'.modul_name().'/files/'.$file.'.txt')) echo nl2br (str_replace (' ', ' &nbsp;', htmlspecialchars (implode ('', file ('../module/'.modul_name().'/files/'.$file.'.txt')))));
else echo 'Fehler: module/'.modul_name().'/files/'.$file.'.txt kann nicht gelesen werden!';
foot ();
}
?>


dieses problem besteht weiterhin :suspicious: weiß da noch jemand weiter o.O,

jpwfour
20.10.2009, 20:21
require ($dir.$_GET['mod'].'/'.$_GET['open'].'.php');

Das taucht in der module.php 2x direkt hintereinander auf 1x darf rausgelöscht werden:thumb:

(siehe dazu auch http://www.designerscripte.net/showthread.php?t=10027 )

schlachtherr
20.10.2009, 21:07
jupp nun geht sie klaaase :thumb: