| 
      1
     | 
    
      <?php
 
     | 
  
  
    | 
      2
     | 
    
      // -----
 
     | 
  
  
    | 
      3
     | 
    
          $getLanguage = function($sFile) {
     | 
  
  
    | 
      4
     | 
    
              $aRetval = null;
 
     | 
  
  
    | 
      5
     | 
    
              $language_code = $language_name = '';
 
     | 
  
  
    | 
      6
     | 
    
              include $sFile;
 
     | 
  
  
    | 
      7
     | 
    
              if ($language_code && $language_name) {
     | 
  
  
    | 
      8
     | 
    
                  $aRetval = ['code' => $language_code, 'name' => $language_name];
 
     | 
  
  
    | 
      9
     | 
    
              }
 
     | 
  
  
    | 
      10
     | 
    
              return $aRetval;
 
     | 
  
  
    | 
      11
     | 
    
          };
 
     | 
  
  
    | 
      12
     | 
    
      // -----
 
     | 
  
  
    | 
      13
     | 
    
          if (!defined('WB_PATH')){define('WB_PATH', (dirname(__DIR__)));}
     | 
  
  
    | 
      14
     | 
    
          $aMatches = [];
 
     | 
  
  
    | 
      15
     | 
    
          $sOutput = PHP_EOL;
 
     | 
  
  
    | 
      16
     | 
    
          $sDefaultLang = isset($_SESSION['default_language']) ? $_SESSION['default_language'] : 'EN';
 
     | 
  
  
    | 
      17
     | 
    
          $sLangDir = str_replace('\\', '/', dirname(__DIR__).'/languages/');
     | 
  
  
    | 
      18
     | 
    
          $sOldWorkingDir = getcwd();
 
     | 
  
  
    | 
      19
     | 
    
          chdir($sLangDir);
 
     | 
  
  
    | 
      20
     | 
    
          foreach(glob('??.php') as $sFilename) {
     | 
  
  
    | 
      21
     | 
    
              if (preg_match('/[A-Z]{2}\.php$/s', $sFilename) && is_readable($sLangDir.$sFilename)) {
     | 
  
  
    | 
      22
     | 
    
                  if (!($aMatch = $getLanguage($sLangDir.$sFilename))) { continue; }
     | 
  
  
    | 
      23
     | 
    
                  $aMatch['status'] = ($aMatch['code'] == $sDefaultLang);
 
     | 
  
  
    | 
      24
     | 
    
                  $sOutput .= '<option value="'.$aMatch['code'].'" '
 
     | 
  
  
    | 
      25
     | 
    
                            . ($aMatch['status'] ? 'selected="selected"' : '').'>'
 
     | 
  
  
    | 
      26
     | 
    
                            . $aMatch['name'].'</option>'.PHP_EOL;
 
     | 
  
  
    | 
      27
     | 
    
              }
 
     | 
  
  
    | 
      28
     | 
    
          }
 
     | 
  
  
    | 
      29
     | 
    
          chdir($sOldWorkingDir);
 
     | 
  
  
    | 
      30
     | 
    
          $sOutput .= '</select>'.PHP_EOL;
 
     | 
  
  
    | 
      31
     | 
    
          // output Language options
 
     | 
  
  
    | 
      32
     | 
    
          echo $sOutput;
 
     | 
  
  
    | 
      33
     | 
    
      
 
     | 
  
  
    | 
      34
     | 
    
          if (sizeof($aMatches) > 0) {
     | 
  
  
    | 
      35
     | 
    
              $sOutput = PHP_EOL;
 
     | 
  
  
    | 
      36
     | 
    
              foreach ($aMatches as $aMatch) {
     | 
  
  
    | 
      37
     | 
    
                  $sOutput .= '<option value="'.$aMatch['code'].'" '
 
     | 
  
  
    | 
      38
     | 
    
                            . ($aMatch['status'] ? 'selected="selected"' : '').'>'
 
     | 
  
  
    | 
      39
     | 
    
                            . $aMatch['name'].'</option>'.PHP_EOL;
 
     | 
  
  
    | 
      40
     | 
    
              }
 
     | 
  
  
    | 
      41
     | 
    
              $sOutput .= '</select>'.PHP_EOL;
 
     | 
  
  
    | 
      42
     | 
    
              // output Language options
 
     | 
  
  
    | 
      43
     | 
    
              echo $sOutput;
 
     | 
  
  
    | 
      44
     | 
    
              unset($sOutput);
 
     | 
  
  
    | 
      45
     | 
    
          }
 
     | 
  
  
    | 
      46
     | 
    
          unset($sOutput, $aMatch, $getLanguage);
 
     |