/** * For internal use only. */ public static function update_translations() { global $translations; set_time_limit(0); $ret = DB::Execute('SELECT * FROM modules'); $trans_backup = $translations; $trans = array(); while ($row = $ret->FetchRow()) { $mod_name = $row['name']; if ($mod_name == 'Base') { continue; } if ($mod_name == 'Tests') { continue; } $directory = 'modules/' . str_replace('_', '/', $mod_name) . '/lang'; if (!is_dir($directory)) { continue; } $content = scandir($directory); foreach ($content as $name) { if ($name == '.' || $name == '..' || preg_match('/^[\\.~]/', $name)) { continue; } $dot = strpos($name, '.'); $langcode = substr($name, 0, $dot); if (strtolower(substr($name, $dot + 1)) != 'php') { continue; } if (!isset($trans[$langcode])) { $trans[$langcode] = array(); } $translations = $trans[$langcode]; ob_start(); include $directory . '/' . $name; ob_get_clean(); $trans[$langcode] = $translations; } } foreach ($trans as $langcode => $ttt) { Base_LangCommon::save_base($langcode, $ttt); } $translations = $trans_backup; self::refresh_cache(); }