getID3::__construct() –

You appear to be a bot. Output may be restricted

Description

Usage

getID3::__construct();

Parameters

Returns

void

Source

File name: wordpress/wp-includes/ID3/getid3.php
Lines:

1 to 100 of 116
  public function __construct() {

    // Check for PHP version
    $required_php_version = '5.3.0';
    if (version_compare(PHP_VERSION, $required_php_version, '<')) {
      $this->startup_error .= 'getID3() requires PHP v'.$required_php_version.' or higher - you are running v'.PHP_VERSION."\n";
      return;
    }

    // Check memory
    $memoryLimit = ini_get('memory_limit');
    if (preg_match('#([0-9]+) ?M#i', $memoryLimit, $matches)) {
      // could be stored as "16M" rather than 16777216 for example
      $memoryLimit = $matches[1] * 1048576;
    } elseif (preg_match('#([0-9]+) ?G#i', $memoryLimit, $matches)) { // The 'G' modifier is available since PHP 5.1.0
      // could be stored as "2G" rather than 2147483648 for example
      $memoryLimit = $matches[1] * 1073741824;
    }
    $this->memory_limit = $memoryLimit;

    if ($this->memory_limit <= 0) {
      // memory limits probably disabled
    } elseif ($this->memory_limit <= 4194304) {
      $this->startup_error .= 'PHP has less than 4MB available memory and will very likely run out. Increase memory_limit in php.ini'."\n";
    } elseif ($this->memory_limit <= 12582912) {
      $this->startup_warning .= 'PHP has less than 12MB available memory and might run out if all modules are loaded. Increase memory_limit in php.ini'."\n";
    }

    // Check safe_mode off
    if (preg_match('#(1|ON)#i', ini_get('safe_mode'))) { // phpcs:ignore PHPCompatibility.IniDirectives.RemovedIniDirectives.safe_modeDeprecatedRemoved
      $this->getID3::warning('WARNING: Safe mode is on, shorten support disabled, md5data/sha1data for ogg vorbis disabled, ogg vorbos/flac tag writing disabled.');
    }

    // phpcs:ignore PHPCompatibility.IniDirectives.RemovedIniDirectives.mbstring_func_overloadDeprecated
    if (($mbstring_func_overload = (int) ini_get('mbstring.func_overload')) && ($mbstring_func_overload & 0x02)) {
      // http://php.net/manual/en/mbstring.overload.php
      // "mbstring.func_overload in php.ini is a positive value that represents a combination of bitmasks specifying the categories of functions to be overloaded. It should be set to 1 to overload the mail() function. 2 for string functions, 4 for regular expression functions"
      // getID3 cannot run when string functions are overloaded. It doesn't matter if mail() or ereg* functions are overloaded since getID3 does not use those.
      // phpcs:ignore PHPCompatibility.IniDirectives.RemovedIniDirectives.mbstring_func_overloadDeprecated
      $this->startup_error .= 'WARNING: php.ini contains "mbstring.func_overload = '.ini_get('mbstring.func_overload').'", getID3 cannot run with this setting (bitmask 2 (string functions) cannot be set). Recommended to disable entirely.'."\n";
    }

    // check for magic quotes in PHP < 7.4.0 (when these functions became deprecated)
    if (version_compare(PHP_VERSION, '7.4.0', '<')) {
      // Check for magic_quotes_runtime
      if (function_exists('get_magic_quotes_runtime')) {
        // phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.get_magic_quotes_runtimeDeprecated
        if (get_magic_quotes_runtime()) {
          $this->startup_error .= 'magic_quotes_runtime must be disabled before running getID3(). Surround getid3 block by set_magic_quotes_runtime(0) and set_magic_quotes_runtime(1).'."\n";
        }
      }
      // Check for magic_quotes_gpc
      if (function_exists('get_magic_quotes_gpc')) {
        // phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.get_magic_quotes_gpcDeprecated
        if (get_magic_quotes_gpc()) {
          $this->startup_error .= 'magic_quotes_gpc must be disabled before running getID3(). Surround getid3 block by set_magic_quotes_gpc(0) and set_magic_quotes_gpc(1).'."\n";
        }
      }
    }

    // Load support library
    if (!include_once(GETID3_INCLUDEPATH.'getid3.lib.php')) {
      $this->startup_error .= 'getid3.lib.php is missing or corrupt'."\n";
    }

    if ($this->option_max_2gb_check === null) {
      $this->option_max_2gb_check = (PHP_INT_MAX <= 2147483647);
    }


    // Needed for Windows only:
    // Define locations of helper applications for Shorten, VorbisComment, MetaFLAC
    //   as well as other helper functions such as head, etc
    // This path cannot contain spaces, but the below code will attempt to get the
    //   8.3-equivalent path automatically
    // IMPORTANT: This path must include the trailing slash
    if (GETID3_OS_ISWINDOWS && !defined('GETID3_HELPERAPPSDIR')) {

      $helperappsdir = GETID3_INCLUDEPATH.'..'.DIRECTORY_SEPARATOR.'helperapps'; // must not have any space in this path

      if (!is_dir($helperappsdir)) {
        $this->startup_warning .= '"'.$helperappsdir.'" cannot be defined as GETID3_HELPERAPPSDIR because it does not exist'."\n";
      } elseif (strpos(realpath($helperappsdir), ' ') !== false) {
        $DirPieces = explode(DIRECTORY_SEPARATOR, realpath($helperappsdir));
        $path_so_far = array();
        foreach ($DirPieces as $key => $value) {
          if (strpos($value, ' ') !== false) {
            if (!empty($path_so_far)) {
              $commandline = 'dir /x '.escapeshellarg(implode(DIRECTORY_SEPARATOR, $path_so_far));
              $dir_listing = `$commandline`;
              $lines = explode("\n", $dir_listing);
              foreach ($lines as $line) {
                $line = trim($line);
                if (preg_match('#^([0-9/]{10}) +([0-9:]{4,5}( [AP]M)?) +(<DIR>|[0-9,]+) +([^ ]{0,11}) +(.+)$#', $line, $matches)) {
                  list($dummy, $date, $time, $ampm, $filesize, $shortname, $filename) = $matches;
                  if ((strtoupper($filesize) == '<DIR>') && (strtolower($filename) == strtolower($value))) {
                    $value = $shortname;
                  }
                }
              }
 

 View on GitHub View on Trac