Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

Shell.php

Zuletzt modifiziert: 09.10.2024, 12:56 - Dateigröße: 2.07 KiB


001  <?php
002   
003  /*
004   * This file is part of the Symfony package.
005   *
006   * (c) Fabien Potencier <fabien@symfony.com>
007   *
008   * For the full copyright and license information, please view the LICENSE
009   * file that was distributed with this source code.
010   */
011   
012  namespace Symfony\Component\Finder\Shell;
013   
014  @trigger_error('The '.__NAMESPACE__.'\Shell class is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED);
015   
016  /**
017   * @author Jean-François Simon <contact@jfsimon.fr>
018   *
019   * @deprecated since 2.8, to be removed in 3.0.
020   */
021  class Shell
022  {
023      const TYPE_UNIX = 1;
024      const TYPE_DARWIN = 2;
025      const TYPE_CYGWIN = 3;
026      const TYPE_WINDOWS = 4;
027      const TYPE_BSD = 5;
028   
029      /**
030       * @var string|null
031       */
032      private $type;
033   
034      /**
035       * Returns guessed OS type.
036       *
037       * @return int
038       */
039      public function getType()
040      {
041          if (null === $this->type) {
042              $this->type = $this->guessType();
043          }
044   
045          return $this->type;
046      }
047   
048      /**
049       * Tests if a command is available.
050       *
051       * @param string $command
052       *
053       * @return bool
054       */
055      public function testCommand($command)
056      {
057          if (!function_exists('exec')) {
058              return false;
059          }
060   
061          // todo: find a better way (command could not be available)
062          $testCommand = 'which ';
063          if (self::TYPE_WINDOWS === $this->type) {
064              $testCommand = 'where ';
065          }
066   
067          $command = escapeshellcmd($command);
068   
069          exec($testCommand.$command, $output, $code);
070   
071          return 0 === $code && count($output) > 0;
072      }
073   
074      /**
075       * Guesses OS type.
076       *
077       * @return int
078       */
079      private function guessType()
080      {
081          $os = strtolower(PHP_OS);
082   
083          if (false !== strpos($os, 'cygwin')) {
084              return self::TYPE_CYGWIN;
085          }
086   
087          if (false !== strpos($os, 'darwin')) {
088              return self::TYPE_DARWIN;
089          }
090   
091          if (false !== strpos($os, 'bsd')) {
092              return self::TYPE_BSD;
093          }
094   
095          if (0 === strpos($os, 'win')) {
096              return self::TYPE_WINDOWS;
097          }
098   
099          return self::TYPE_UNIX;
100      }
101  }
102