Diese Funktion (XY) ist nicht vorhanden.

Begonnen von Breaker, 12 März 2006, 12:25:22

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Breaker

Hi ihrs, ich bin gerade dabei, die Filebase ins Pragma zu portieren (also ein (fast) komplettes Umschreiben des Codes, jetzt stoße ich auf ein Problem :

Ich habe im Admin (von der Filebase) eine Funktion, die die Einstellungen in die DB schreiben soll, diese wird aber nicht gefunden ?!?

die "link.filebase.php" hat diesen Inhalt :
if (!defined("mxAdminFileLoaded")) die ("You can't access this file directly...");
if ($radminsuper==1) {
    adminmenu("admin.php?op=Filebase", ""._ADMINFILEBASE."", "filebase.gif");
}


In der "case.filebase.php" steht :

if (!defined("mxAdminFileLoaded")) die("Access Denied");

switch($op) {
case "Filebase":
case "FilebaseDefekt":
case "FilebaseDefektDetails":
case "FilebaseDefektIgnor":
case "FilebaseDateiLoeschenBestaetigen":
case "FilebaseDateiLoeschen":
case "FilebaseDateiBearbeiten":
case "FilebaseDateiBearbeitenSchreiben":
case "FilebaseHKatHinzufuegen":
case "FilebaseUKatHinzufuegen":
case "FilebaseAddFile":
case "FilebaseFileCheck":
case "FilebaseValidate":
case "FilebaseCleanVotes":
case "FilebaseListBrokenFilebase":
case "FilebaseDelBrokenFilebase":
case "FilebaseDelCat":
case "FilebaseModCat":
case "FilebaseModCatS":
case "FilebaseDelDownload":
case "FilebaseDelComment":
case "FilebaseEinstellungen":
case "FilebaseEinstellungenLizenz";
case "FilebaseEinstellungenURL":
case "FilebaseEinstellungenSchreiben":
case "FilebaseOrderBySort":
case "FilebaseListeDownloads":
case "FilebaseBildBearbeiten":
case "FilebaseBildBearbeitenSchreiben":
case "FilebaseBildLoeschenBestaetigen":
case "FilebaseBildLoeschen":
case "FilebaseKommentarLoeschenBestaetigen":
case "FilebaseKommentarLoeschen":
case "FilebaseKommentarBearbeiten":
case "FilebaseKommentarBearbeitenSchreiben":
include("admin/modules/filebase.php");
break;
}


in der "filebase.php" (unter /admin/modules/) ganz unten bei den case steht :


switch ($_REQUEST['op']) {
[...]
case "FilebaseEinstellungenSchreiben":
FilebaseEinstellungenSchreiben();
break;
[...]
}


und im Code die Funktion selber :


function FilebaseEinstellungenSchreiben() {
global $prefix, $tabellen, $typ;
if ($typ=="0") {
global $perpage, $popular, $newdownloads, $topdownloads, $downloadsresults, $downloads_anonadddownloadlock, $anonwaitdays, $outsidewaitdays, $useoutsidevoting, $anonweight, $outsideweight, $detailvotedecimal, $mainvotedecimal, $topdownloadspercentrigger, $mostpopdownloadspercentrigger, $mostpopdownloads, $featurebox, $downloadvotemin, $iockunregmodify, $show_links_num, $user_adddownload, $queue, $spamsperre, $pfad, $pfadtemp;
sql_query("UPDATE ".$prefix."_".$tabellen."_einstellungen SET perpage='".intval($perpage)."', popular='".intval($popular)."', newdownloads='".intval($newdownloads)."', topdownloads='".intval($topdownloads)."', downloadsresults='".intval($downloadsresults)."', downloads_anonadddownloadlock='".intval($downloads_anonadddownloadlock)."', anonwaitdays='".intval($anonwaitdays)."', outsidewaitdays='".intval($outsidewaitdays)."', useoutsidevoting='".intval($useoutsidevoting)."', anonweight='".intval($anonweight)."', outsideweight='".intval($outsideweight)."', detailvotedecimal='".intval($detailvotedecimal)."', mainvotedecimal='".intval($mainvotedecimal)."', topdownloadspercentrigger='".intval($topdownloadspercentrigger)."', mostpopdownloadspercentrigger='".intval($mostpopdownloadspercentrigger)."', mostpopdownloads='".intval($mostpopdownloads)."', featurebox='".intval($featurebox)."', downloadvotemin='".intval($downloadvotemin)."', blockunregmodify='".intval($iockunregmodify)."', show_links_num='".intval($show_links_num)."', user_adddownload='".intval($user_adddownload)."', queue='".intval($queue)."', spamsperre='".intval($spamsperre)."', pfad='".addslashes($pfad)."', pfadtemp='".addslashes($pfadtemp)."'") or die (mysql_error());
// Header("Location: admin.php?op=FilebaseSettings");
}
if($typ=="1") {
global $url;
sql_query("INSERT INTO ".$prefix."_".$tabellen."_einstellungen_urls (url) VALUES ('".addslashes($url)."')");
// Header("Location: admin.php?op=FilebaseSettingsURL");
}
}



Trotzdem sagt mit Pragma :

ZitatDiese Funktion (FilebaseEinstellungenSchreiben) ist nicht vorhanden.
This function (FilebaseEinstellungenSchreiben) is not available.

Wo liegt da das Problem ? in der Funktion "FilebaseEinstellungen" wird beim submit an diese Funktion übergeben .

ich habe es schon mit
  <form action=\"admin.php?op=FilebaseEinstellungenSchreiben\" method=\"post\">

und

  <form action=\"admin.php\" method=\"post\">
[...]
<input type=\"hidden\" name=\"op\" value=\"FilebaseEinstellungenSchreiben\">


versucht, aber egal was ich mache, die Funktion wird nicht gefunden ?!? Ein einschalten der SQL/PHP Debug-Infos bringt auch nichts, dort bekomme ich nur so viele Infos, das die Daten übergeben werden.....
Linux ist wie guter Sex, man kann es beschreiben oder drüber reden,
man weiß erst was es bedeutet, wenn man es erlebt hat.

Andi

Hi :)

dein Script ist ein Opfer einer Funktion geworden, die abfangen soll, wenn ein Nuke-Script im mx nicht funktioniert, keine Ausgabe produziert und dadurch eine leere Seite verursachen würde.

Müsste mich da auch erst wieder genau reindenken, aber ich vermute es liegt daran, dass du die beiden header() Umleitungen zum testen auskommentiert hast.
//      Header("Location: admin.php?op=FilebaseSettings");

Dann passiert nämlich genau das, was die Funktion abfangen soll, das script erzeugt keine Ausgabe. Normalerweise würde ja, vor Ausführung der Funktion, per header() umgeleitet...

Probier mal, ob es geht, wenn du testweise einfach vor der auskommentierte Headerumleitung per echo() irgendetwas ausgibst...

ZitatEin einschalten der SQL/PHP Debug-Infos bringt auch nichts
Sollte übrigens während dem Coden und Testen Standardeinstellung sein ;)
schön´s Grüssle, Andi

Breaker

#2
Aha.....das heißt also, wenn ich das Header-Location in der funktion wieder einschalte, sollte es laufen ? Oder ein Opentable und nach 3-5 sek eine weiterleitung mache, läuft es wieder ?

Das muß man erstmal wissen :D

Ich hatte es so :

Settings (Admin-Menü)
SettingsSchreiben (nur Funktion ohne Oberfläche mit anschließenden Header-Location auf Settings)
Settings (Admin-Menü)

Dann werde ich mal was neues ausprobieren ;)

Da muß ich aber noch etwas mehr umdenken.....ich habe gesehen, das Pragma auch ein eigenes "addslashes"  (für SQL) mitbringt.........gibts da auch ein eigenes SQL-intval ?
Linux ist wie guter Sex, man kann es beschreiben oder drüber reden,
man weiß erst was es bedeutet, wenn man es erlebt hat.

Andi

Hi :)

ZitatAha.....das heißt also, wenn ich das Header-Location in der funktion wieder einschalte, sollte es laufen ? Oder ein Opentable und nach 3-5 sek eine weiterleitung mache, läuft es wieder ?

Wie gesagt, ich bin mir nicht sicher, aber ich denke ja, das wird es sein.
schön´s Grüssle, Andi

Breaker

Super........versuche ich mal........Danke dir :)

so sieht es bis jetzt aus (achte auch auf die Kommentare ;) )

http://www.benutzerfehler.de/modules.php?name=Filebase&op=FBDetails&lid=1
Linux ist wie guter Sex, man kann es beschreiben oder drüber reden,
man weiß erst was es bedeutet, wenn man es erlebt hat.