26. november 2003 - 01:39Der er
35 kommentarer og 1 løsning
Hjælp til fejlmelding!
Jeg har lavet kalendermod på mit forum på www.trommeslager.dk men det vil ikke som jeg vil! jeg får denne fejl: Fatal error: Call to undefined function: mods_settings_get_lang() in /home/web/sth5076/admin/admin_board_extend.php on line 326
Den kommer når jeg vil gå ind i admin-panelet under configuration + (det er den som er blevet tilføjet i moddet) Og noget helt andet, så kan jeg ikke få sproget til at makke ret! Vil du hjælpe?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
jeg har trippel-tjekket at jeg har uploaded alle filer!
Jeg fatter det virkelig ikke! Og det endnu mere mærkelige er at hvis jeg slår 'overskriv brugeres valg' ved sprog - dvs. så folk kan vælge engelsk - ja så kommer moddet frem på dansk (calendar blir til kalender etc) Jeg har oploaded filen med de danske gloser under både dansk og engelsk-biblioteket! Jeg fatter ikke hvad der er galt
måske skal jeg lige nævne at jeg har brugt de samme filer til trommeslager.dk-moddet som jeg brugte til runehansen.dk/forum-moddet - så jeg ikke skulle sidde og adde en masse kode to gange - men da de to forums er ens skulle det jo ikke ha noget at sige.
det jeg OVERHOVEDET ikke fatter er hvor forummet får sine engelske gloser fra!?!! Den fil findes overhovedet ikke!!! jeg har sørget for at der kun findes danske! Men alligevel skrives det på engelsk!!!
jeg fatter altså meget lidt af php, så jeg er ikke helt klar over hvad du spørger om... du kan evt. få ftp-adgang til siden, hvis du vil - så skal jeg bare ha en mailadresse.
/*************************************************************************** * * This program 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 2 of the License, or * (at your option) any later version. * ***************************************************************************/
// process @reset($mods); while ( list($menu_name, $menu) = each($mods) ) { // check if there is some config fields in the mods under this menu $found = false;
// menu @reset($menu['data']); while ( ( list($mod_name, $mod) = @each($menu['data']) ) && !$found ) { // sub menu @reset($mod['data']); while ( ( list($sub_name, $sub) = @each($mod['data']) ) && !$found ) { // fields @reset($sub['data']); while ( ( list($field_name, $field) = @each($sub['data']) ) && !$found ) { if ( !isset($field['user_only']) || !$field['user_only'] ) { $found=true; break; } } } }
// menu ok if ( $found ) { $i = count($menu_keys); $menu_keys[$i] = $menu_name; $menu_sort[$i] = $menu['sort'];
// init mod level $mod_keys[$i] = array(); $mod_sort[$i] = array();
@reset($menu['data']); while ( list($mod_name, $mod) = @each($menu['data']) ) { // check if there is some config fields $found = false; @reset($mod['data']); while ( list($sub_name, $sub) = @each($mod['data']) ) { @reset($sub['data']); while ( list($field_name, $field) = @each($sub['data']) ) { if ( !isset($field['user_only']) || !$field['user_only'] ) { $found=true; break; } } } if ($found) { $j = count($mod_keys[$i]); $mod_keys[$i][$j] = $mod_name; $mod_sort[$i][$j] = $mod['sort'];
// init sub levels $sub_keys[$i][$j] = array(); $sub_sort[$i][$j] = array();
// sub names @reset($mod['data']); while ( list($sub_name, $sub) = @each($mod['data']) ) { if ( !empty($sub_name) ) { // check if there is some config fields in this level $found = false; @reset($sub['data']); while ( list($field_name, $field) = @each($sub['data']) ) { if ( !isset($field['user_only']) || !$field['user_only'] ) { $found=true; break; } } if ($found) { $sub_keys[$i][$j][] = $sub_name; $sub_sort[$i][$j][] = $sub['sort']; } } } @array_multisort($sub_sort[$i][$j], $sub_keys[$i][$j]); } } @array_multisort($mod_sort[$i], $mod_keys[$i], $sub_sort[$i], $sub_keys[$i]); } } @array_multisort($menu_sort, $menu_keys, $mod_sort, $mod_keys, $sub_sort, $sub_keys);
// fix menu id if ( $menu_id > count($menu_keys) ) { $menu_id = 0; }
// fix mod id if ( $mod_id > count($mod_keys[$menu_id]) ) { $mod_id = 0; }
// fix sub id if ( $sub_id > count($sub_keys[$menu_id][$mod_id]) ) { $sub_id = 0; }
// menu name $menu_name = $menu_keys[$menu_id];
// mod name $mod_name = $mod_keys[$menu_id][$mod_id];
// sub name $sub_name = $sub_keys[$menu_id][$mod_id][$sub_id];
// get the real value of board_config $sql = "SELECT * FROM " . CONFIG_TABLE; if ( !$result = $db->sql_query($sql) ) message_die(CRITICAL_ERROR, 'Could not query config information', '', __LINE__, __FILE__, $sql); $config = array(); while ($row = $db->sql_fetchrow($result)) { $config[ $row['config_name'] ] = $row['config_value']; }
// validate if ($submit) { // init for error $error = false; $error_msg = '';
// format and verify data @reset($mods[$menu_name]['data'][$mod_name]['data'][$sub_name]['data']); while ( list($field_name, $field) = @each($mods[$menu_name]['data'][$mod_name]['data'][$sub_name]['data']) ) { if (isset($HTTP_POST_VARS[$field_name])) { switch ($field['type']) { case 'LIST_RADIO': case 'LIST_DROP': $$field_name = $HTTP_POST_VARS[$field_name]; if (!in_array($$field_name, $mods[$menu_name]['data'][$mod_name]['data'][$sub_name]['data'][$field_name]['values'])) { $error = true; $msg = mods_settings_get_lang( $mods[$menu_name]['data'][$mod_name]['data'][$sub_name]['data'][$field_name]['lang_key'] ); $error_msg = (empty($error_msg) ? '' : '<br />') . $lang['Error'] . ': ' . $msg; } break; case 'TINYINT': case 'SMALLINT': case 'MEDIUMINT': case 'INT': $$field_name = intval($HTTP_POST_VARS[$field_name]); break; case 'VARCHAR': case 'TEXT': case 'DATEFMT': $$field_name = trim(str_replace("\'", "''", htmlspecialchars($HTTP_POST_VARS[$field_name]))); break; case 'HTMLVARCHAR': case 'HTMLTEXT': $$field_name = trim(str_replace("\'", "''", $HTTP_POST_VARS[$field_name])); break; default: $$field_name = ''; if ( !empty($field['chk_func']) && function_exists($field['chk_func']) ) { $$field_name = $field['chk_func']($field_name, $HTTP_POST_VARS[$field_name]); } else { message_die(GENERAL_ERROR, 'Unknown type of config data : ' . $field_name, '', __LINE__, __FILE__, ''); } break; } if ($error) { $message = $error_msg . '<br /><br />' . sprintf($lang['Click_return_config'], '<a href="' . append_sid("./admin_board_extend.$phpEx?menu=$menu_id&mod=$mod_id&msub=$sub_id") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("./index.$phpEx?pane=right") . '">', '</a>'); message_die(GENERAL_MESSAGE, $message); } } }
// save data @reset($mods[$menu_name]['data'][$mod_name]['data'][$sub_name]['data']); while ( list($field_name, $field) = @each($mods[$menu_name]['data'][$mod_name]['data'][$sub_name]['data']) ) { if (isset($$field_name)) { // update $sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '" . $$field_name . "' WHERE config_name = '" . $field_name . "'"; if ( !$db->sql_query($sql) ) { message_die(GENERAL_ERROR, 'Failed to update general configuration for ' . $field_name, '', __LINE__, __FILE__, $sql); } } if ( isset($HTTP_POST_VARS[$field_name . '_over']) && !empty($field['user']) && isset($userdata[ $field['user'] ]) ) { // update $sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '" . intval($HTTP_POST_VARS[$field_name . '_over']) . "' WHERE config_name = '$field_name" . "_over'"; if ( !$db->sql_query($sql) ) { message_die(GENERAL_ERROR, 'Failed to update general configuration for ' . $field_name, '', __LINE__, __FILE__, $sql); } } }
jeg har nu tjekket det adskillige gange - der ser ikke ud til at være nogen fejl! Men hvor får serveren den fil fra?? det begynder at lugte af serverfejl! Jeg tror jeg henter hele dynen og laver et extended find på nogle af de gloser!
OKAY nu har jeg lige hentet hele dynen fra serveren, og lavet en extended find på gloserne, og det viser sig at de gamle filer jeg har omdøbt til detgamlefilnavnXXX.php (altså XXX til sidst i navnet) indeholder de engelske gloser. Jeg slettede den gamle fil, og nu bruger forummet den danske. Er det ikke ret mærkeligt??
Det ved jeg ikke. Linierne efter $dir = @opendir($phpbb_root_path . 'includes/mods_settings'); henter alle includefiler i det katalog blot de starter med mod_ og slutter på .php. Så hjælper din omdøbning ingenting. Hvis altså det er en af de filer du har gjort det ved
der er kun en fil i den mappe 'includes/mods_settings' og den hedder mod_calendar.php den havde jeg ikke omdøbt. Men ok jeg kan godt se at jeg skal passe på med at omdøbe hvis det ikke hjælper noget ;)
hmmm her til morgen kom jeg til at tænke på at jeg havde ændret i en fil (page_header) sådan at en folde-ned/folde-op funktion som lå i den fil, ikke kom frem. Så tænkte jeg at jeg ville prøve at lave det om, så at jeg bruger den originale fil (uden ændringer) for at se om det hjalp. Men fanme om der kommer nogen ændringer?! heller ikke den folde-ned/folde-op funktion som egentlig BURDE være der! Jeg fatter intet!
altså faktisk er det ikke nogen katastrofe at det ikke virker 100% for jeg skal alligevel ikke bruge de indstillinger som ligger i den udvidede admin-del som melder fejl..... Men jeg hader bare når det ikke fungerer ordentligt - specielt når jeg ikke ved hvorfor!!
adgang via ftp, næh 1) Det har du ikke råd til ;) 2) Det har jeg ikke tid til ;)) 3) Det har jeg ikke lyst til, at rode rundt i så stort et system ;)))
hvad skulle du ha for at løse problemet, hvis det nu var?! jeg har jo også et mere, som jeg 100% er villig til at betale for at få løst - og det er IKKE så indviklet som det her
Nej, jeg har ingen mening. Og de 200 point er for meget at oprette et simpelt spørgsmål med. Nuvel, det ku' så ik' løses på det foreliggende grundlag, men alligevel. Jeg hopper ud af spørgsmålet - gør hvad du vil ;)
et simpelt spørgsmål?!? det er bestemt ikke simpelt for mig! jamen ok så lukker jeg her igen... jeg prøver nok at køre moddet igennem igen - skal nok fortælle hvis jeg finder fejlen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.