/* $_GET["class"]; //Class of method $_GET["method"] $_GET["constructor"]; //Parameters to forward to constructor of $_GET["class"] $_GET["method"]; //Method to call in $_GET["class"] $_GET["parameters"] //Parameters to call method $_GET["method"] with */ $c = $cla . "GUI"; $d = new $c($con); $par = get_magic_quotes_gpc() ? stripslashes($par) : $par; #$phpversion = str_replace(".","",phpversion())*1; if (Util::phpVersionGEThen("5.1.0")) { $pars = explode("','", $par); $pars[0] = substr($pars[0], 1); $pars[count($pars) - 1] = substr($pars[count($pars) - 1], 0, strlen($pars[count($pars) - 1]) - 1); if (!method_exists($d, $met)) { if (!method_exists($d, "__call")) { Red::errorD("Die Methode {$c}::{$met} existiert nicht"); } else { array_unshift($pars, $met); $met = "__call"; } } $method = new ReflectionMethod($c, $met); try { $method->invokeArgs($d, $pars); } catch (FieldDoesNotExistException $e) { Red::errorUpdate($e); } } else { eval("\$d->" . $met . "({$par});"); }
$userHiddenPlugins = mUserdata::getHiddenPlugins(); } if (isset($userHiddenPlugins[$_GET["p"]])) { Red::errorD("Sie haben keine Berechtigung, diese Seite zu betrachten!"); } if (isset($_GET["bps"])) { $_SESSION["BPS"]->setByString($_GET["bps"]); } $_GET["p"] = str_replace("GUI", "", $_GET["p"]); $n = $_GET["p"] . "GUI"; try { $b = new $n(isset($_GET["id"]) ? $_GET["id"] : "-1"); } catch (ClassNotFoundException $e) { Red::errorClass($n); } if (!PMReflector::implementsInterface($n, "iGUIHTMLMP2") and !PMReflector::implementsInterface($n, "iGUIHTML2")) { Red::errorD("Class {$_GET['p']}GUI needs to implement the interface iGUIHTML2 or iGUIHTMLMP2!"); } try { echo $b->getHTML(isset($_GET["id"]) ? $_GET["id"] : "-1", isset($_GET["page"]) ? $_GET["page"] : 0); } catch (TableDoesNotExistException $e) { Red::errorD("Die Datenbank-Tabelle (" . $e->getTable() . ") dieses Plugins wurde noch nicht angelegt. Bitte verwenden Sie das Installations-Plugin im Administrationsbereich."); } catch (DatabaseNotSelectedException $e) { Red::errorD("Keine Datenbank ausgewählt. Bitte verwenden Sie das Installations-Plugin im Administrationsbereich."); } catch (NoDBUserDataException $e) { Red::errorD("Die Datenbank-Zugangsdaten sind falsch. Bitte verwenden Sie das Installations-Plugin im Administrationsbereich."); } catch (FieldDoesNotExistException $e) { Red::errorUpdate(); } catch (DatabaseNotFoundException $e) { Red::errorD("Keine Datenbank ausgewählt. Bitte verwenden Sie das Installations-Plugin im Administrationsbereich."); }