} if (!empty($dat['src'])) { $source = "{$tdir}/language/{$dat['src']}/{$file}"; } else { $source = "{$tdir}/language/{$file}"; } $target = "./language/{$dat['lid']}/modules/{$packageid}/{$file}"; if ($handler == DO_UPD_ADD) { $filesystem->unlink($target); $filesystem->copy($source, $target); } elseif ($handler == DO_UPD_DEL) { $filesystem->unlink($target); } elseif ($handler == DO_UPD_EQU) { // Add new phrases, delete old phrases. // Update of existing phrases has to be done by the custom updater when its required. $l1 = arrayFromFile($source); $c = new manageconfig(); $c->getdata($target, 'lang'); $diff2 = array_diff_all(array_keys($l1), array_keys($c->data)); // Check the keys only if (count_diff_all($diff2) > 0) { foreach ($diff2 as $handler2 => $keys) { foreach ($keys as $key) { if ($handler2 == DO_UPD_ADD) { $c->updateconfig($key, str, $l1[$key]); } elseif ($handler2 == DO_UPD_DEL) { $c->delete($key); } } } $c->savedata();
function return_array($group, $id) { $file = "language/{$id}/{$group}.lng.php"; return arrayFromFile($file); }