Esempio n. 1
0
 /**
  * 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();
 }