Dirk 0 Report post Posted April 7, 2004 Hallo Zusammen, ich stelle gerade fest, dass wenn ich unter 'Manage User Groups' -> 'Edit Group' oben die folgende Fehlermeldung steht: Warning: Invalid argument supplied for foreach() in /forum/sources/Admin/admin_skin.php on line 369 Den Code dazu haben wir hier: function form_dropdown($name, $list=array(), $default_val="", $js="") { if ($js != "") { $js = ' '.$js.' '; } $html = "<select name='$name'".$js." class='dropdown'>\n"; foreach ($list as $k => $v) { $selected = ""; if ( ($default_val != "") and ($v[0] == $default_val) ) { $selected = ' selected'; } foreach() steht genau in Zeile 369. Kann mir jemand helfen? Grüße, Dirk Share this post Link to post
fantotal 0 Report post Posted April 7, 2004 Lad einfach die Datei admin_skin.php neu hoch! Share this post Link to post
Dirk 0 Report post Posted April 7, 2004 Einfach ist gut. Hab da ein paar Mods über den ModInstaller von Peter eingefügt. Da ist ersetzen nicht so einfach... Share this post Link to post
Stefan 0 Report post Posted April 7, 2004 Du könntest es aber temporär machen, um zu prüfen, ob der Fehler dann verschwunden ist. ;) Share this post Link to post
Dirk 0 Report post Posted April 7, 2004 So, habe nochmal etwas rumgeschaut und die Mods entfernt und wieder eingefügt. (Was ja mit dem ModInstaller von Peter wunderbar einfach geht ) Dabei ist mir aufgefallen, dass es wohl an dem Mod "Create BBCodes in ACP Version 1.5b" von Peter liegt. Interessant ist, dass er gar keine Änderungen an der admin_skin.php macht... ??? Share this post Link to post
Stefan 0 Report post Posted April 7, 2004 Es wird daran liegen, das die Funktion aus der admin_skin.php in anderen Dateien verwendet wird. ;) Share this post Link to post
Dirk 0 Report post Posted April 7, 2004 Aber was da jetzt wie zusammenhängt und warum der mit dem Mod ein Problem hat weißt du nicht zufällig? Wäre was Feines. Share this post Link to post
Stefan 0 Report post Posted April 7, 2004 Ich kann dir sagen, das der Parameter $list falsch übergeben wurde und deshalb der Fehler in der Funktion auftritt. Was aber an dem Mod falsch ist, kann ich dir aber nicht sagen, da ich Peters Mods nicht einsetze. Du muß halt schauen, ob er irgendwo die Methode form_dropdown in dem Mod verwendet. Share this post Link to post
Dirk 0 Report post Posted April 7, 2004 (edited) Ja, er fügt in die Datei sources/Admin/ad_groups.php unter dem Code: $SKIN->form_yes_no("g_hide_from_list", $group['g_hide_from_list'] ) ) ); das Folgende ein: //-- mod_bbcode begin if ($IN['adsess'] == "") { $ADMIN->lang_id = $INFO['default_language']==""?'en':$INFO['default_language']; } else { $DB->query("SELECT m.language FROM ibf_members m LEFT JOIN ibf_admin_sessions s ON (m.id = s.member_id) WHERE (s.id = '".$IN['adsess']."')"); while ($r = $DB->fetch_row() ) { $ADMIN->lang_id = $r['language']; } if ( $ADMIN->lang_id == "") { $ADMIN->lang_id = $INFO['default_language']==""?'en':$INFO['default_language']; } } $lang = $std->load_words($this->lang, 'mod_bbcode_lang', $ADMIN->lang_id); $DB->query("SELECT * FROM ibf_bbcodes_sets"); while ($s = $DB->fetch_row()) $sets[] = array('0' => $s['id'], '1' => $s['name'] ); $ADMIN->html .= $SKIN->add_td_row( array($lang['ad_bbcodeset'], $SKIN->form_dropdown("button_set", $sets, $group['mod_bbcodes_set']), ) ); //-- mod_bbcode end Die form_dropdown wollte ich fett machen, ging aber nicht, sie ist ziemlich am Ende des neuen Codes zu finden. Kannst du da sehen was er falsch übergibt? Ist auch die einzige Stelle an der die Funktion genutzt wird. Vielen Dank schon mal. Dirk Edited April 7, 2004 by Dirk Share this post Link to post
Stefan 0 Report post Posted April 7, 2004 $DB->query("SELECT * FROM ibf_bbcodes_sets"); while ($s = $DB->fetch_row()) $sets[] = array('0' => $s['id'], '1' => $s['name'] ); Es wird ein DB Statement abgesetzt und anschließend ein Array mit den Ergebniszeilen gefüllt. Wenn es aber keine Ergebnisse in der DB gibt, wird die while-Schleife nicht ausgeführt und somit bleibt $sets undefiniert, weil Peter es vorher nicht initialisiert hat und auch diesen Fall nicht abgefangen hat. Schau mal in der Datenbank in die Tabelle ibf_bbcodes_sets, was da drin steht. Ich schätze mal vorsichtig, das dort nichts drin steht. Share this post Link to post
Dirk 0 Report post Posted April 7, 2004 Hab's mal probiert. Wenn ich ganz vorsichtig die Tabelle befülle ist alles gut. Thx! Grüße, Dirk Share this post Link to post