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(); } } }
foreach ($lng_keys as $handler => $varnames) { foreach ($varnames as $varname) { if (isset($plug[$src][$varname]) && ($handler == DO_UPD_ADD || $handler == DO_UPD_EQU)) { $c->updateconfig($varname, str, $plug[$src][$varname]); } else { $c->delete($varname); } } } $c->savedata(); } } else { // Delete all phrases from old plugin if (count($old_plug['language']) > 0) { $keys = array_keys($old_plug); $codes = getLangCodesByKeys($keys); $langcodes = getLangCodes(); foreach ($langcodes as $lid) { $c->getdata("language/{$lid}/modules.lng.php", 'lang'); foreach ($old_plug['language'] as $varname => $text) { $c->delete($varname); } $c->savedata(); } } } $diff = array_diff_all(isset($plug['php']) ? $plug['php'] : array(), isset($old_plug['php']) ? $old_plug['php'] : array(), true); if (count_diff_all($diff) > 0) { $result = $db->query("SELECT position, id FROM {$db->pre}plugins WHERE module = '{$packageid}'"); $plugs = array(); while ($row = $db->fetch_assoc($result)) {