function updateLanguageFiles($ini) { $c = new manageconfig(); $codes = array(); $keys = array('language', 'language_de'); $codes = getLangCodesByKeys($keys); $langcodes = getLangCodes(); foreach ($langcodes as $code => $lid) { $ldat = explode('_', $code); if (isset($codes[$ldat[0]])) { $count = count($codes[$ldat[0]]); if (in_array('', $codes[$ldat[0]])) { $count--; } } else { $count = -1; } if (isset($codes[$ldat[0]]) && !empty($ldat[1]) && in_array($ldat[1], $codes[$ldat[0]])) { // Nehme Original $src = 'language_' . $code; } elseif (isset($codes[$ldat[0]]) && in_array('', $codes[$ldat[0]])) { // Nehme gleichen Langcode, aber ohne Countrycode $src = 'language_' . $ldat[0]; } elseif (isset($codes[$ldat[0]]) && $count > 0) { // Nehme gleichen Langcode, aber falchen Countrycode $src = 'language_' . $ldat[0] . '_' . reset($codes[$ldat[0]]); } else { // Nehme Standard $src = 'language'; } foreach ($ini as $file => $data) { if (!isset($data[$src])) { continue; } $c->getdata("language/{$lid}/{$file}.lng.php", 'lang'); foreach ($data[$src] as $varname => $text) { if ($text === null) { $c->delete($varname); } else { $c->updateconfig($varname, str, $text); } } $c->savedata(); } } }
} $c->getdata("language/{$id}/modules.lng.php", 'lang'); $c->updateconfig($varname, str, $t); $c->savedata(); } if (file_exists("modules/{$data['id']}/plugin.ini")) { $ini = $myini->read("modules/{$data['id']}/plugin.ini"); } else { $ini = array(); } if (!isset($ini['language']) || !is_array($ini['language']) || is_array($ini['language']) && count($ini['language']) == 0) { $ini['language'] = array(); } $ini['language'][$varname] = $text; $dirs = array(); $langcodes = getLangCodes(); foreach ($langcodes as $code => $lid) { $langdata = return_array('modules', $lid); $langdata = array_intersect_key($langdata, $ini['language']); if ($lid == $config['langdir']) { $ini['language'] = $langdata; } else { $ini['language_' . $code] = $langdata; } } $myini->write("modules/{$data['id']}/plugin.ini", $ini); ok('admin.php?action=packages&job=plugins_language&id=' . $data['id']); } elseif ($job == 'plugins_language_delete') { echo head(); $id = $gpc->get('id', int); $delete = $gpc->get('delete', arr_str);