original_string: public function getAvailableLanguages()
      {
          if (!is_null($this->languageNames)) {
              return $this->languageNames;
          }
          $path = PIWIK_INCLUDE_PATH . "/lang/";
          $languagesPath = _glob($path . "*.json");
  
          $pathLength = strlen($path);
          $languages = array();
          if ($languagesPath) {
              foreach ($languagesPath as $language) {
                  $languages[] = substr($language, $pathLength, -strlen('.json'));
              }
          }
  
          $this->enableDevelopmentLanguageInDevEnvironment($languages);
  
          /**
           * Hook called after loading available language files.
           *
           * Use this hook to customise the list of languagesPath available in Matomo.
           *
           * @param array
           */
          Piwik::postEvent('LanguagesManager.getAvailableLanguages', array(&$languages));
  
          /**
           * Hook called after loading available language files.
           *
           * @param array
           *
           * @deprecated since v3.9.0 use LanguagesManager.getAvailableLanguages instead. Will be removed in Matomo 4.0.0
           */
          Piwik::postEvent('LanguageManager.getAvailableLanguages', array(&$languages));
  
          $this->languageNames = $languages;
          return $languages;
      }
code: public function getAvailableLanguages()
      {
          if (!is_null($this->languageNames)) {
              return $this->languageNames;
          }
          $path = PIWIK_INCLUDE_PATH . "/lang/";
          $languagesPath = _glob($path . "*.json");
  
          $pathLength = strlen($path);
          $languages = array();
          if ($languagesPath) {
              foreach ($languagesPath as $language) {
                  $languages[] = substr($language, $pathLength, -strlen('.json'));
              }
          }
  
          $this->enableDevelopmentLanguageInDevEnvironment($languages);
  
          /**
           * Hook called after loading available language files.
           *
           * Use this hook to customise the list of languagesPath available in Matomo.
           *
           * @param array
           */
          Piwik::postEvent('LanguagesManager.getAvailableLanguages', array(&$languages));
  
          /**
           * Hook called after loading available language files.
           *
           * @param array
           *
           * @deprecated since v3.9.0 use LanguagesManager.getAvailableLanguages instead. Will be removed in Matomo 4.0.0
           */
          Piwik::postEvent('LanguageManager.getAvailableLanguages', array(&$languages));
  
          $this->languageNames = $languages;
          return $languages;
      }
code_tokens: public function getAvailableLanguages ( ) { if ( ! is_null ( $ this -> languageNames ) ) { return $ this -> languageNames ; } $ path = PIWIK_INCLUDE_PATH . "/lang/" ; $ languagesPath = _glob ( $ path . "*.json" ) ; $ pathLength = strlen ( $ path ) ; $ languages = array ( ) ; if ( $ languagesPath ) { foreach ( $ languagesPath as $ language ) { $ languages [ ] = substr ( $ language , $ pathLength , - strlen ( '.json' ) ) ; } } $ this -> enableDevelopmentLanguageInDevEnvironment ( $ languages ) ; /**
           * Hook called after loading available language files.
           *
           * Use this hook to customise the list of languagesPath available in Matomo.
           *
           * @param array
           */ Piwik :: postEvent ( 'LanguagesManager.getAvailableLanguages' , array ( & $ languages ) ) ; /**
           * Hook called after loading available language files.
           *
           * @param array
           *
           * @deprecated since v3.9.0 use LanguagesManager.getAvailableLanguages instead. Will be removed in Matomo 4.0.0
           */ Piwik :: postEvent ( 'LanguageManager.getAvailableLanguages' , array ( & $ languages ) ) ; $ this -> languageNames = $ languages ; return $ languages ; }
docstring: Return array of available languages
  
  @return array Array of strings, each containing its ISO language code
docstring_tokens: Return array of available languages