Hallo Leute :),
hab mir für nen weiteren Anwendungszweck das Web_Links Modul geclont. Funktioniert soweit auch alles prima bis auf den Administrationsbereich.
Beim Aufrufen von:
/admin.php?op=Klone&cid=0#addnew
Kommt folgende Meldung:
Diese Funktion ('Klone') ist nicht vorhanden.
obwohl die anleitung etwas veraltet ist, bin ich hiermit eigtl. gut klargekommen.
http://www.pragmamx.org/Forum-topic-17522.html
bis auf das obige problem eben. jmd. ne idee wos noch klemmen könnte?
if (!defined("mxAdminFileLoaded")) die("Access Denied");
$mod = 'Klone';
switch ($op) {
Anscheinend fehlt deine case.
Klone.php im admin/case Ordner oder sie ist fehlerhaft.
Allgemeiner Tipp zum Finden einer Fehlermeldung :
-> Fehlermeldung (teilweise oder ganz) lokal im Dateimanager wie z.B. Totalcommander eingeben
-> das Gleiche mit der ausgegebenen Sprachkonstanten der Fehlermeldung erneut wiederholen
-> Quellcode lesen an der gefundenen Stelle.
in diesem Fall war es _OPNOTAVAILABLE in der admin.php :
Zitat von: SuchbegriffDiese Funktion (
führt zu
Zitatdefine("_OPNOTAVAILABLE", "Diese Funktion ('%s') ist nicht vorhanden.");
Zitat von: admin.php
...
ob_start();
foreach (glob('admin/case/case.*.php', GLOB_NOSORT) as $filename) {
include_once($filename); // Case Datei includen
// falls jetzt die header und footer.php geladen wurden, kann der Rest der
// Schleife abgebrochen werden, weil die erwartende Ausgabe stattgefunden hat
if (isset($GLOBALS['footer_is_shown']) && isset($GLOBALS['header_is_shown'])) {
break;
}
}
// Falls Script hier noch nicht beendet und Ausgabepuffer leer,
// stimmt was nicht, also eine Fehlermeldung zu generieren
$fileoutput = trim(ob_get_clean());
if (empty($fileoutput)) {
mxErrorScreen(sprintf(_OPNOTAVAILABLE, $op));
exit;
}
echo $fileoutput;
break;
...
Hallo Siggi,
danke für den Tipp zur Fehlersuche. Hab das überprüft und es besteht eine case.klone.php im genannten Ordner:
<?php
/**
* This file is part of
* pragmaMx - Web Content Management System.
* Copyright by pragmaMx Developer Team - http://www.pragmamx.org
*
* pragmaMx is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* $Revision: 1.4.2.4 $
* $Author: siggi $
* $Date: 2008/01/01 14:32:04 $
*
* this file based on:
* php-nuke Web Portal System - http://phpnuke.org/
* Thatware - http://thatware.org/
*/
if (!defined("mxAdminFileLoaded")) die("Access Denied");
$mod = 'Klone';
$mod2 = 'Klone'; // Modul Ordner heisst gleich, eigtl. unproblematisch oder?
switch ($op) {
case 'klone': // Kompatibilitaet
case $mod . '':
case $mod . 'List':
case $mod . 'DelNew':
case $mod . 'AddCat':
...
...
case $mod . 'Config':
case $mod . 'ConfigSave':
mxSessionSetVar('panel', MX_ADMINPANEL_ADDON);
include('modules/' . $mod2 . '/admin/admin.php');
break;
}
?>
Ist komplett kopiert vom Web_Links und eben die oberen Zeilen angepasst. Mit der lokalen Suche hab ich dann noch paar Stellen gefunden wo zum Beispiel per value="LinksAddCat" übergeben wird und das hab ich auch noch behoben.
Leider keine Änderung. Selbe Fehlermeldung. :-/
Vielleicht noch nen Tipp? Oder erkennst du einen Fehler im obigen?
Hoi :)
der Aufruf:
Zitat von: lemming in 25 Mai 2009, 12:59:58
/admin.php?op=Klone&cid=0#addnew
Kommt folgende Meldung:
Diese Funktion ('Klone') ist nicht vorhanden.
Die Auswertung:
Zitat von: lemming in 25 Mai 2009, 21:17:12
switch ($op) {
case 'klone': // Kompatibilitaet
case $mod . '':
case $mod . 'List':
....
Klone ist nicht nicht gleich klone ;)
Nabend Andi,
das hätts echt sein können! Hab mich beim ändern schon geärgert, dass ich das noch nicht ausprobiert hab aber auch hier wieder, selbe Fehlermeldung weiterhin.
:gruebel:
EDIT: hab jetzt nochmal die orginal case.links.php genommen und oben $mod & $mod2 + das erste case angepasst. also weiß nicht aber daran dürfts eigtl. nicht mehr liegen. ausser es ist problematisch, dass $mod & $mod2 identisch sind? wobei kann ich mir nicht vorstellen. häng mich morgen/später nochmal dahinter...
EDIT2: nur zur vollständigkeit, beim aufruf von:
/admin.php?op=KloneModData&lid=71
kommt auch:
Diese Funktion ('KloneModData') ist nicht vorhanden.
obwohl in der case.klone.php steht:
$mod = 'Klone';
...
case $mod . 'ModData':
...
:gruebel: hab alles nochmal durch geschaut aber komm immer wieder zum selben ergebnis.
jmd. vllt. nochmal ne idee?
ok der hund war hier begraben: /modules/Klone/admin/admin.php
dort hatte ich noch was gaaaanz unten übersehen:
switch ($op) {
case "links": // Kompatibilitaet
case "Links":
...
..
nachdem ich die zeilen dort angepasst hatte gings. juppi :) :bye: