/**
  *
  */
 private static function detect()
 {
     /**
      * @var $lng ilLanguage
      */
     global $lng;
     if (null !== self::$revision_information) {
         return self::$revision_information;
     }
     $info = array();
     if (self::isProbablySubversion17()) {
         if (extension_loaded('PDO') && extension_loaded('pdo_sqlite')) {
             try {
                 $wcdb = new PDO('sqlite:' . self::SVN_GET_17_FILE);
                 $result = $wcdb->query('SELECT MAX("revision") current_rev FROM "NODES"');
                 if ($result) {
                     foreach ($result as $row) {
                         $revision = $row['current_rev'];
                         if (self::isSvnRevision($revision)) {
                             $info[] = sprintf($lng->txt('svn_revision_current'), $revision);
                         }
                         break;
                     }
                 }
                 $result = $wcdb->query('SELECT "changed_revision" last_changed_revision FROM "NODES" ORDER BY changed_revision DESC LIMIT 1');
                 if ($result) {
                     foreach ($result as $row) {
                         $revision = $row['last_changed_revision'];
                         if (self::isSvnRevision($revision)) {
                             $info[] = sprintf($lng->txt('svn_revision_last_change'), $revision);
                         }
                         break;
                     }
                 }
                 $result = $wcdb->query('SELECT * FROM REPOSITORY ');
                 if ($result) {
                     foreach ($result as $row) {
                         $info[] = sprintf($lng->txt('svn_root'), $row['root']);
                     }
                 }
                 $result = $wcdb->query('SELECT * FROM "NODES" WHERE local_relpath LIKE "%inc.ilias_version.php"');
                 if ($result) {
                     foreach ($result as $row) {
                         $path = dirname(dirname($row['repos_path']));
                         if ($path) {
                             $info[] = sprintf($lng->txt('svn_path'), $path);
                         }
                     }
                 }
             } catch (Exception $e) {
             }
         }
     } else {
         if (function_exists('shell_exec') && is_callable('shell_exec')) {
             $revision = trim(shell_exec('svnversion ' . realpath(getcwd())));
             if (self::isSvnRevision($revision)) {
                 $info[] = sprintf($lng->txt('svn_revision_current'), $revision);
             }
         }
         if (self::isProbablySubversionLower17()) {
             $svnfile = file(self::SVN_LT_17_FILE);
             $revision = $svnfile[3];
             if (self::isSvnRevision($revision)) {
                 $info[] = sprintf($lng->txt('svn_revision_last_change'), $revision);
             }
         }
     }
     self::$revision_information = $info;
 }