diff --git a/composer.json b/composer.json index 3f28d0b2f42dfa672b9f167da7a70115de44dd00..a41f73b8a817bee56206e835730f6f6967b2c7e6 100644 --- a/composer.json +++ b/composer.json @@ -55,7 +55,7 @@ } ], "require": { - "aferrandini/phpqrcode": "dev-master", + "aferrandini/phpqrcode": "1.0.1", "johnwohlers/sip2": "dev-master", "mobileesp/mdetect": "dev-master", "pear-pear.php.net/file_marc": "*", diff --git a/composer.lock b/composer.lock index b329fa626c5feac2204917dd9ca47f49e2654587..138d23ae4105ff980eddb6e0d1159683173a03ab 100644 --- a/composer.lock +++ b/composer.lock @@ -3,11 +3,11 @@ "This file locks the dependencies of your project to a known state", "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file" ], - "hash": "6587f02e6b4f7504432193a81ba61931", + "hash": "030554dc6af0899fae74f8d7d3232f7d", "packages": [ { "name": "aferrandini/phpqrcode", - "version": "dev-master", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/aferrandini/PHPQRCode.git", @@ -55,12 +55,12 @@ "source": { "type": "git", "url": "https://github.com/Jasig/phpCAS.git", - "reference": "673feb404d3c07869ed7e186128d70a8c85473d6" + "reference": "27a971e0beee74b7b62c5d669be0823e585dfe82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/673feb404d3c07869ed7e186128d70a8c85473d6", - "reference": "673feb404d3c07869ed7e186128d70a8c85473d6", + "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/27a971e0beee74b7b62c5d669be0823e585dfe82", + "reference": "27a971e0beee74b7b62c5d669be0823e585dfe82", "shasum": "" }, "require": { @@ -98,7 +98,7 @@ "source": "https://github.com/Jasig/phpCAS/tree/master", "issues": "https://github.com/Jasig/phpCAS/issues" }, - "time": "2013-10-01 20:06:01" + "time": "2013-12-08 09:32:42" }, { "name": "johnwohlers/sip2", @@ -186,10 +186,10 @@ }, { "name": "pear-pear.php.net/File_MARC", - "version": "1.0.1", + "version": "1.1.1", "dist": { "type": "file", - "url": "http://pear.php.net/get/File_MARC-1.0.1.tgz", + "url": "http://pear.php.net/get/File_MARC-1.1.1.tgz", "reference": null, "shasum": null }, @@ -197,7 +197,7 @@ "php": ">=5.3.0.0" }, "replace": { - "pear-pear/file_marc": "== 1.0.1.0" + "pear-pear/file_marc": "== 1.1.1.0" }, "type": "pear-library", "autoload": { @@ -390,17 +390,17 @@ }, { "name": "symfony/yaml", - "version": "v2.3.6", + "version": "v2.4.2", "target-dir": "Symfony/Component/Yaml", "source": { "type": "git", "url": "https://github.com/symfony/Yaml.git", - "reference": "6bb881b948368482e1abf1a75c08bcf88a1c5fc3" + "reference": "bb6ddaf8956139d1b8c360b4b713ed0138e876b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/6bb881b948368482e1abf1a75c08bcf88a1c5fc3", - "reference": "6bb881b948368482e1abf1a75c08bcf88a1c5fc3", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/bb6ddaf8956139d1b8c360b4b713ed0138e876b3", + "reference": "bb6ddaf8956139d1b8c360b4b713ed0138e876b3", "shasum": "" }, "require": { @@ -409,7 +409,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.4-dev" } }, "autoload": { @@ -424,7 +424,9 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" }, { "name": "Symfony Community", @@ -433,7 +435,7 @@ ], "description": "Symfony Yaml Component", "homepage": "http://symfony.com", - "time": "2013-09-22 18:04:39" + "time": "2014-01-07 13:28:54" }, { "name": "zendframework/zendframework", @@ -555,29 +557,25 @@ }, { "name": "zendframework/zendrest", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/zendframework/ZendRest.git", - "reference": "release-2.0.1" + "reference": "7427d242b4546e5aef1206d2c97e402109d8843e" }, "dist": { "type": "zip", - "url": "https://packages.zendframework.com/composer/zendframework-zendrest-2.0.1-release-2.0.1-97c8b5.zip", - "reference": "2.0.1", - "shasum": "e5c2ae15280bfbfb090601752dcb1f193d8617f8" + "url": "https://packages.zendframework.com/composer/zendframework-zendrest-7427d242b4546e5aef1206d2c97e402109d8843e-zip-da96cc.zip", + "reference": "2.0.2", + "shasum": "cd304d9e2fccccbd98348bfbead7d42b102e565a" }, "require": { "php": ">=5.3.3", - "zendframework/zend-http": ">=2.0.0", - "zendframework/zend-uri": ">=2.0.0" + "zendframework/zend-http": "~2.0", + "zendframework/zend-uri": "~2.0", + "zendframework/zendxml": "~1.0-dev" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-0": { "ZendRest": "library/" @@ -593,10 +591,10 @@ "zf2" ], "support": { - "source": "https://github.com/zendframework/ZendRest/tree/release-2.0.1", + "source": "https://github.com/zendframework/ZendRest/tree/release-2.0.2", "issues": "https://github.com/zendframework/ZendRest/issues" }, - "time": "2012-09-24 15:17:53" + "time": "2014-03-05 22:32:09" }, { "name": "zendframework/zendservice-amazon", @@ -654,6 +652,54 @@ "issues": "https://github.com/zendframework/ZendService_Amazon/issues" }, "time": "2012-10-17 19:02:58" + }, + { + "name": "zendframework/zendxml", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/ZendXml.git", + "reference": "559b34f426d33a11c3db118e00ce14bb8dc64e5f" + }, + "dist": { + "type": "zip", + "url": "https://packages.zendframework.com/composer/zendframework-zendxml-559b34f426d33a11c3db118e00ce14bb8dc64e5f-zip-6cf7a2.zip", + "reference": "1.0.0", + "shasum": "39abc614b5c26bcbf8102e203c52dee73c4460a8" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "fabpot/php-cs-fixer": "*@dev", + "phpunit/phpunit": "~3.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "ZendXml": "library/" + } + }, + "license": [ + "BSD-3-Clause" + ], + "description": "Utility library for XML usage, best practices, and security in PHP", + "homepage": "http://packages.zendframework.com/", + "keywords": [ + "security", + "xml", + "zf2" + ], + "support": { + "source": "https://github.com/zendframework/ZendXml/tree/master", + "issues": "https://github.com/zendframework/ZendXml/issues" + }, + "time": "2014-03-05 22:25:44" } ], "packages-dev": [ @@ -664,7 +710,6 @@ ], "minimum-stability": "stable", "stability-flags": { - "aferrandini/phpqrcode": 20, "johnwohlers/sip2": 20, "mobileesp/mdetect": 20, "serialssolutions/summon": 20, diff --git a/vendor/autoload.php b/vendor/autoload.php index de27f2f27a2a6b128c3e1a8f98a70e6d6fe2d903..1f796fcbf7c91425ff157ea1577e41b8643d781a 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer' . '/autoload_real.php'; -return ComposerAutoloaderInit1374cb774f67d4088a0cd7dca4331c3f::getLoader(); +return ComposerAutoloaderInit9ee7ba4e6cff0856449c435048dbd9d7::getLoader(); diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index 1db8d9a0b2e2207309eb93e83ab8ab4736fd4ab2..47ae2ee9252a066b42b9e53778243d80466a3cbf 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -42,19 +42,36 @@ namespace Composer\Autoload; */ class ClassLoader { - private $prefixes = array(); - private $fallbackDirs = array(); + // PSR-4 + private $prefixLengthsPsr4 = array(); + private $prefixDirsPsr4 = array(); + private $fallbackDirsPsr4 = array(); + + // PSR-0 + private $prefixesPsr0 = array(); + private $fallbackDirsPsr0 = array(); + private $useIncludePath = false; private $classMap = array(); public function getPrefixes() { - return call_user_func_array('array_merge', $this->prefixes); + return call_user_func_array('array_merge', $this->prefixesPsr0); + } + + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; } public function getFallbackDirs() { - return $this->fallbackDirs; + return $this->fallbackDirsPsr0; + } + + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; } public function getClassMap() @@ -75,23 +92,24 @@ class ClassLoader } /** - * Registers a set of classes, merging with any others previously set. + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. * - * @param string $prefix The classes prefix - * @param array|string $paths The location(s) of the classes - * @param bool $prepend Prepend the location(s) + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories */ public function add($prefix, $paths, $prepend = false) { if (!$prefix) { if ($prepend) { - $this->fallbackDirs = array_merge( + $this->fallbackDirsPsr0 = array_merge( (array) $paths, - $this->fallbackDirs + $this->fallbackDirsPsr0 ); } else { - $this->fallbackDirs = array_merge( - $this->fallbackDirs, + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, (array) $paths ); } @@ -100,38 +118,104 @@ class ClassLoader } $first = $prefix[0]; - if (!isset($this->prefixes[$first][$prefix])) { - $this->prefixes[$first][$prefix] = (array) $paths; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; return; } if ($prepend) { - $this->prefixes[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-0 base directories + * @param bool $prepend Whether to prepend the directories + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( (array) $paths, - $this->prefixes[$first][$prefix] + $this->prefixDirsPsr4[$prefix] ); } else { - $this->prefixes[$first][$prefix] = array_merge( - $this->prefixes[$first][$prefix], + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], (array) $paths ); } } /** - * Registers a set of classes, replacing any others previously set. + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. * - * @param string $prefix The classes prefix - * @param array|string $paths The location(s) of the classes + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 base directories */ public function set($prefix, $paths) { if (!$prefix) { - $this->fallbackDirs = (array) $paths; + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } - return; + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + */ + public function setPsr4($prefix, $paths) { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; } - $this->prefixes[substr($prefix, 0, 1)][$prefix] = (array) $paths; } /** @@ -182,7 +266,7 @@ class ClassLoader public function loadClass($class) { if ($file = $this->findFile($class)) { - include $file; + includeFile($file); return true; } @@ -202,45 +286,79 @@ class ClassLoader $class = substr($class, 1); } + // class map lookup if (isset($this->classMap[$class])) { return $this->classMap[$class]; } + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . '.php'; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) { + if (0 === strpos($class, $prefix)) { + foreach ($this->prefixDirsPsr4[$prefix] as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup if (false !== $pos = strrpos($class, '\\')) { // namespaced class name - $classPath = strtr(substr($class, 0, $pos), '\\', DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; - $className = substr($class, $pos + 1); + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); } else { // PEAR-like class name - $classPath = null; - $className = $class; + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . '.php'; } - $classPath .= strtr($className, '_', DIRECTORY_SEPARATOR) . '.php'; - - $first = $class[0]; - if (isset($this->prefixes[$first])) { - foreach ($this->prefixes[$first] as $prefix => $dirs) { + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { if (0 === strpos($class, $prefix)) { foreach ($dirs as $dir) { - if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) { - return $dir . DIRECTORY_SEPARATOR . $classPath; + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; } } } } } - foreach ($this->fallbackDirs as $dir) { - if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) { - return $dir . DIRECTORY_SEPARATOR . $classPath; + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; } } - if ($this->useIncludePath && $file = stream_resolve_include_path($classPath)) { + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { return $file; } + // Remember that this class does not exist. return $this->classMap[$class] = false; } } + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + */ +function includeFile($file) +{ + include $file; +} diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php index 395ec7bd8b3c53a8f95bceb967648589f5b81c2a..7d58ddc12e2204f40c0d2b7ccc68d903c94e91e7 100644 --- a/vendor/composer/autoload_namespaces.php +++ b/vendor/composer/autoload_namespaces.php @@ -7,6 +7,7 @@ $baseDir = dirname($vendorDir); return array( 'Zend\\' => array($vendorDir . '/zendframework/zendframework/library'), + 'ZendXml' => array($vendorDir . '/zendframework/zendxml/library'), 'ZendService' => array($vendorDir . '/zendframework/zendservice-amazon/library'), 'ZendRest' => array($vendorDir . '/zendframework/zendrest/library'), 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php new file mode 100644 index 0000000000000000000000000000000000000000..b265c64a22f6691ca4a508347bd3dee43b9b19e7 --- /dev/null +++ b/vendor/composer/autoload_psr4.php @@ -0,0 +1,9 @@ +<?php + +// autoload_psr4.php @generated by Composer + +$vendorDir = dirname(dirname(__FILE__)); +$baseDir = dirname($vendorDir); + +return array( +); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 56a11d0c7c0afa6f6923917aa2671d33d416dc02..e62efa95ede2f3f959bd2c50251af1dc5e48ea62 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit1374cb774f67d4088a0cd7dca4331c3f +class ComposerAutoloaderInit9ee7ba4e6cff0856449c435048dbd9d7 { private static $loader; @@ -19,9 +19,9 @@ class ComposerAutoloaderInit1374cb774f67d4088a0cd7dca4331c3f return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit1374cb774f67d4088a0cd7dca4331c3f', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit9ee7ba4e6cff0856449c435048dbd9d7', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInit1374cb774f67d4088a0cd7dca4331c3f', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit9ee7ba4e6cff0856449c435048dbd9d7', 'loadClassLoader')); $vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); @@ -35,6 +35,11 @@ class ComposerAutoloaderInit1374cb774f67d4088a0cd7dca4331c3f $loader->set($namespace, $path); } + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + $classMap = require __DIR__ . '/autoload_classmap.php'; if ($classMap) { $loader->addClassMap($classMap); @@ -45,3 +50,8 @@ class ComposerAutoloaderInit1374cb774f67d4088a0cd7dca4331c3f return $loader; } } + +function composerRequire9ee7ba4e6cff0856449c435048dbd9d7($file) +{ + require $file; +} diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 2ec265d76f0cffd5f5552aa1cd64a17a3a692439..da2af1bcd347c4b219830695e63dc1c8f3ea0e75 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -243,53 +243,6 @@ ], "description": "Package containes ISPN (International Standard Product Numbers) validations such as:\n * ISSN\n * ISBN\n * ISMN\n * ISRC (International Standard Recording Code)\n * EAN8\n * EAN13\n * EAN14\n * UCC12\n * SSCC" }, - { - "name": "zendframework/zendrest", - "version": "2.0.1", - "version_normalized": "2.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/zendframework/ZendRest.git", - "reference": "release-2.0.1" - }, - "dist": { - "type": "zip", - "url": "https://packages.zendframework.com/composer/zendframework-zendrest-2.0.1-release-2.0.1-97c8b5.zip", - "reference": "2.0.1", - "shasum": "e5c2ae15280bfbfb090601752dcb1f193d8617f8" - }, - "require": { - "php": ">=5.3.3", - "zendframework/zend-http": ">=2.0.0", - "zendframework/zend-uri": ">=2.0.0" - }, - "time": "2012-09-24 15:17:53", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "ZendRest": "library/" - } - }, - "license": [ - "BSD-3-Clause" - ], - "description": " ", - "homepage": "http://packages.zendframework.com/", - "keywords": [ - "rest", - "zf2" - ], - "support": { - "source": "https://github.com/zendframework/ZendRest/tree/release-2.0.1", - "issues": "https://github.com/zendframework/ZendRest/issues" - } - }, { "name": "zendframework/zendservice-amazon", "version": "2.0.2", @@ -349,182 +302,6 @@ "issues": "https://github.com/zendframework/ZendService_Amazon/issues" } }, - { - "name": "aferrandini/phpqrcode", - "version": "dev-master", - "version_normalized": "9999999-dev", - "source": { - "type": "git", - "url": "https://github.com/aferrandini/PHPQRCode.git", - "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aferrandini/PHPQRCode/zipball/3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", - "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2013-07-08 09:39:08", - "type": "library", - "installation-source": "source", - "autoload": { - "psr-0": { - "PHPQRCode": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ariel Ferrandini", - "email": "arielferrandini@gmail.com", - "homepage": "http://www.ferrandini.com/", - "role": "Developer" - } - ], - "description": "PHPQRCode porting and changed for PHP 5.3 compatibility", - "homepage": "https://github.com/aferrandini/PHPQRCode", - "keywords": [ - "barcode", - "php", - "qrcode" - ] - }, - { - "name": "jasig/phpcas", - "version": "dev-master", - "version_normalized": "9999999-dev", - "source": { - "type": "git", - "url": "https://github.com/Jasig/phpCAS.git", - "reference": "673feb404d3c07869ed7e186128d70a8c85473d6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/673feb404d3c07869ed7e186128d70a8c85473d6", - "reference": "673feb404d3c07869ed7e186128d70a8c85473d6", - "shasum": "" - }, - "require": { - "php": ">=5.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~3.7.10" - }, - "time": "2013-10-01 20:06:01", - "type": "library", - "installation-source": "source", - "autoload": { - "classmap": [ - "source/" - ] - }, - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Joachim Fritschi", - "homepage": "https://wiki.jasig.org/display/~fritschi" - }, - { - "name": "Adam Franco", - "homepage": "https://wiki.jasig.org/display/~adamfranco" - } - ], - "description": "Provides a simple API for authenticating users against a CAS server", - "homepage": "https://wiki.jasig.org/display/CASC/phpCAS", - "keywords": [ - "cas", - "jasig" - ], - "support": { - "source": "https://github.com/Jasig/phpCAS/tree/master", - "issues": "https://github.com/Jasig/phpCAS/issues" - } - }, - { - "name": "symfony/yaml", - "version": "v2.3.6", - "version_normalized": "2.3.6.0", - "target-dir": "Symfony/Component/Yaml", - "source": { - "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "6bb881b948368482e1abf1a75c08bcf88a1c5fc3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/6bb881b948368482e1abf1a75c08bcf88a1c5fc3", - "reference": "6bb881b948368482e1abf1a75c08bcf88a1c5fc3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2013-09-22 18:04:39", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Symfony\\Component\\Yaml\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "http://symfony.com" - }, - { - "name": "pear-pear.php.net/File_MARC", - "version": "1.0.1", - "version_normalized": "1.0.1.0", - "dist": { - "type": "file", - "url": "http://pear.php.net/get/File_MARC-1.0.1.tgz", - "reference": null, - "shasum": null - }, - "require": { - "php": ">=5.3.0.0" - }, - "replace": { - "pear-pear/file_marc": "== 1.0.1.0" - }, - "type": "pear-library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "" - ] - }, - "include-path": [ - "/" - ], - "description": "The standard for machine-readable cataloging (MARC) records is documented at http://loc.gov/marc/. This package enables you to read existing MARC records from a file, string, or (using the YAZ extension), from a Z39.50 source. You can also use this package to create new MARC records.\n\nThis package is based on the PHP MARC package, originally called \"php-marc\", that is part of the Emilda Project (http://www.emilda.org). Christoffer Landtman generously agreed to make the \"php-marc\" code available under the GNU LGPL so it could be used as the basis of this PEAR package." - }, { "name": "zendframework/zendframework", "version": "2.2.5", @@ -682,5 +459,276 @@ "source": "https://github.com/summon/Summon.php/tree/master", "issues": "https://github.com/summon/Summon.php/issues" } + }, + { + "name": "pear-pear.php.net/File_MARC", + "version": "1.1.1", + "version_normalized": "1.1.1.0", + "dist": { + "type": "file", + "url": "http://pear.php.net/get/File_MARC-1.1.1.tgz", + "reference": null, + "shasum": null + }, + "require": { + "php": ">=5.3.0.0" + }, + "replace": { + "pear-pear/file_marc": "== 1.1.1.0" + }, + "type": "pear-library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "" + ] + }, + "include-path": [ + "/" + ], + "description": "The standard for machine-readable cataloging (MARC) records is documented at http://loc.gov/marc/. This package enables you to read existing MARC records from a file, string, or (using the YAZ extension), from a Z39.50 source. You can also use this package to create new MARC records.\n\nThis package is based on the PHP MARC package, originally called \"php-marc\", that is part of the Emilda Project (http://www.emilda.org). Christoffer Landtman generously agreed to make the \"php-marc\" code available under the GNU LGPL so it could be used as the basis of this PEAR package." + }, + { + "name": "symfony/yaml", + "version": "v2.4.2", + "version_normalized": "2.4.2.0", + "target-dir": "Symfony/Component/Yaml", + "source": { + "type": "git", + "url": "https://github.com/symfony/Yaml.git", + "reference": "bb6ddaf8956139d1b8c360b4b713ed0138e876b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/bb6ddaf8956139d1b8c360b4b713ed0138e876b3", + "reference": "bb6ddaf8956139d1b8c360b4b713ed0138e876b3", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "time": "2014-01-07 13:28:54", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "Symfony\\Component\\Yaml\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "http://symfony.com" + }, + { + "name": "zendframework/zendxml", + "version": "1.0.0", + "version_normalized": "1.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/ZendXml.git", + "reference": "559b34f426d33a11c3db118e00ce14bb8dc64e5f" + }, + "dist": { + "type": "zip", + "url": "https://packages.zendframework.com/composer/zendframework-zendxml-559b34f426d33a11c3db118e00ce14bb8dc64e5f-zip-6cf7a2.zip", + "reference": "1.0.0", + "shasum": "39abc614b5c26bcbf8102e203c52dee73c4460a8" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "fabpot/php-cs-fixer": "*@dev", + "phpunit/phpunit": "~3.7" + }, + "time": "2014-03-05 22:25:44", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "ZendXml": "library/" + } + }, + "license": [ + "BSD-3-Clause" + ], + "description": "Utility library for XML usage, best practices, and security in PHP", + "homepage": "http://packages.zendframework.com/", + "keywords": [ + "security", + "xml", + "zf2" + ], + "support": { + "source": "https://github.com/zendframework/ZendXml/tree/master", + "issues": "https://github.com/zendframework/ZendXml/issues" + } + }, + { + "name": "zendframework/zendrest", + "version": "2.0.2", + "version_normalized": "2.0.2.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/ZendRest.git", + "reference": "7427d242b4546e5aef1206d2c97e402109d8843e" + }, + "dist": { + "type": "zip", + "url": "https://packages.zendframework.com/composer/zendframework-zendrest-7427d242b4546e5aef1206d2c97e402109d8843e-zip-da96cc.zip", + "reference": "2.0.2", + "shasum": "cd304d9e2fccccbd98348bfbead7d42b102e565a" + }, + "require": { + "php": ">=5.3.3", + "zendframework/zend-http": "~2.0", + "zendframework/zend-uri": "~2.0", + "zendframework/zendxml": "~1.0-dev" + }, + "time": "2014-03-05 22:32:09", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-0": { + "ZendRest": "library/" + } + }, + "license": [ + "BSD-3-Clause" + ], + "description": " ", + "homepage": "http://packages.zendframework.com/", + "keywords": [ + "rest", + "zf2" + ], + "support": { + "source": "https://github.com/zendframework/ZendRest/tree/release-2.0.2", + "issues": "https://github.com/zendframework/ZendRest/issues" + } + }, + { + "name": "jasig/phpcas", + "version": "dev-master", + "version_normalized": "9999999-dev", + "source": { + "type": "git", + "url": "https://github.com/Jasig/phpCAS.git", + "reference": "27a971e0beee74b7b62c5d669be0823e585dfe82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/27a971e0beee74b7b62c5d669be0823e585dfe82", + "reference": "27a971e0beee74b7b62c5d669be0823e585dfe82", + "shasum": "" + }, + "require": { + "php": ">=5.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.10" + }, + "time": "2013-12-08 09:32:42", + "type": "library", + "installation-source": "source", + "autoload": { + "classmap": [ + "source/" + ] + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Joachim Fritschi", + "homepage": "https://wiki.jasig.org/display/~fritschi" + }, + { + "name": "Adam Franco", + "homepage": "https://wiki.jasig.org/display/~adamfranco" + } + ], + "description": "Provides a simple API for authenticating users against a CAS server", + "homepage": "https://wiki.jasig.org/display/CASC/phpCAS", + "keywords": [ + "cas", + "jasig" + ], + "support": { + "source": "https://github.com/Jasig/phpCAS/tree/master", + "issues": "https://github.com/Jasig/phpCAS/issues" + } + }, + { + "name": "aferrandini/phpqrcode", + "version": "1.0.1", + "version_normalized": "1.0.1.0", + "source": { + "type": "git", + "url": "https://github.com/aferrandini/PHPQRCode.git", + "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aferrandini/PHPQRCode/zipball/3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", + "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "time": "2013-07-08 09:39:08", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-0": { + "PHPQRCode": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ariel Ferrandini", + "email": "arielferrandini@gmail.com", + "homepage": "http://www.ferrandini.com/", + "role": "Developer" + } + ], + "description": "PHPQRCode porting and changed for PHP 5.3 compatibility", + "homepage": "https://github.com/aferrandini/PHPQRCode", + "keywords": [ + "barcode", + "php", + "qrcode" + ] } ] diff --git a/vendor/jasig/phpcas/source/CAS/Client.php b/vendor/jasig/phpcas/source/CAS/Client.php index b0efc1b48e05836bf84814730b467a8721b8597c..c66352ca6ba2df7eaed05dea37f38113dbfc243d 100755 --- a/vendor/jasig/phpcas/source/CAS/Client.php +++ b/vendor/jasig/phpcas/source/CAS/Client.php @@ -3487,7 +3487,8 @@ class CAS_Client if (empty($_SERVER['HTTP_X_FORWARDED_PORT'])) { $server_port = $_SERVER['SERVER_PORT']; } else { - $server_port = $_SERVER['HTTP_X_FORWARDED_PORT']; + $ports = explode(',', $_SERVER['HTTP_X_FORWARDED_PORT']); + $server_port = $ports[0]; } if ( ($this->_isHttps() && $server_port!=443) diff --git a/vendor/jasig/phpcas/source/CAS/ProxiedService/Imap.php b/vendor/jasig/phpcas/source/CAS/ProxiedService/Imap.php index 7461a585a2003834a8f5261ad3c2e84fbc7839e6..847da28c106d149911376399a9a8a233f8a8649b 100755 --- a/vendor/jasig/phpcas/source/CAS/ProxiedService/Imap.php +++ b/vendor/jasig/phpcas/source/CAS/ProxiedService/Imap.php @@ -215,7 +215,7 @@ extends CAS_ProxiedService_Abstract } else { phpCAS::trace('could not open mailbox'); // @todo add localization integration. - $message = 'IMAP Error: '.$url.' '. var_export(imap_errors(), true); + $message = 'IMAP Error: '.$this->_url.' '. var_export(imap_errors(), true); phpCAS::trace($message); throw new CAS_ProxiedService_Exception($message); } diff --git a/vendor/pear-pear.php.net/File_MARC/File/MARC/Lint.php b/vendor/pear-pear.php.net/File_MARC/File/MARC/Lint.php index 67705570b41ee9f14bce63ef1c559b2e59a4a96a..bf330dc2cc3abd77f378701f478e0dc09e7b6ba5 100644 --- a/vendor/pear-pear.php.net/File_MARC/File/MARC/Lint.php +++ b/vendor/pear-pear.php.net/File_MARC/File/MARC/Lint.php @@ -8,7 +8,7 @@ * This module is adapted from the MARC::Lint CPAN module for Perl, maintained by * Bryan Baldus <eijabb@cpan.org> and available at http://search.cpan.org/~eijabb/ * - * Current MARC::Lint version used as basis for this module: 1.44 + * Current MARC::Lint version used as basis for this module: 1.47 * * PHP version 5 * @@ -30,7 +30,7 @@ * @package File_MARC * @author Demian Katz <demian.katz@villanova.edu> * @author Dan Scott <dscott@laurentian.ca> - * @copyright 2003-2008 Oy Realnode Ab, Dan Scott + * @copyright 2003-2013 Oy Realnode Ab, Dan Scott * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 * @version CVS: $Id: Record.php 308146 2011-02-08 20:36:20Z dbs $ * @link http://pear.php.net/package/File_MARC @@ -498,7 +498,7 @@ class File_MARC_Lint } else if ($lastChar != '.') { $this->warn( "245: MARC21 allows ? or ! as final punctuation but LCRI 1.0C, Nov." - . " 2003, requires period." + . " 2003 (LCPS 1.7.1 for RDA records), requires period." ); } @@ -706,6 +706,7 @@ class File_MARC_Lint // may want to make keys lowercase static $exceptions = array( 'A & E', + 'A & ', 'A-', 'A+', 'A is ', @@ -717,6 +718,7 @@ class File_MARC_Lint 'A to ', 'El Nino', 'El Salvador', + 'L is ', 'L-', 'La Salle', 'Las Vegas', @@ -1101,6 +1103,7 @@ ind1 012345 Type of publisher number ind2 0123 Note/added entry controller a NR Publisher number b NR Source +q R Qualifying information 6 NR Linkage 8 R Field link and sequence number @@ -1150,6 +1153,9 @@ ind2 b012 Type of event a R Formatted date/time b R Geographic classification area code c R Geographic classification subarea code +p R Place of event +0 R Record control number +2 R Source of term 3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -1176,7 +1182,9 @@ t R G-ring longitude x NR Beginning date y NR Ending date z NR Name of extraterrestrial body +0 R Authority record control number or standard number 2 NR Source +3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -1222,7 +1230,7 @@ a NR Original cataloging agency b NR Language of cataloging c NR Transcribing agency d R Modifying agency -e NR Description conventions +e R Description conventions 6 NR Linkage 8 R Field link and sequence number @@ -1235,8 +1243,11 @@ d R Language code of sung or spoken text e R Language code of librettos f R Language code of table of contents g R Language code of accompanying material other than librettos -h R Language code of original and/or intermediate translations of text +h R Language code of original j R Language code of subtitles or captions +k R Language code of intermediate translations +m R Language code of original accompanying materials other than librettos +n R Language code of original libretto 2 NR Source of code 6 NR Linkage 8 R Field link and sequence number @@ -1252,6 +1263,7 @@ ind2 blank Undefined a R Geographic area code b R Local GAC code c R ISO code +0 R Authority record control number or standard number 2 R Source of local code 6 NR Linkage 8 R Field link and sequence number @@ -1288,6 +1300,8 @@ k NR Beginning or single date created l NR Ending date created m NR Beginning of date valid n NR End of date valid +o NR Single or starting date for aggregated content +p NR Ending date for aggregated content 2 NR Source of date 6 NR Linkage 8 R Field link and sequence number @@ -1396,7 +1410,7 @@ z R Canceled/invalid GPO item number 8 R Field link and sequence number 080 R UNIVERSAL DECIMAL CLASSIFICATION NUMBER -ind1 blank Undefined +ind1 01 Type of edition ind2 blank Undefined a NR Universal Decimal Classification number b NR Item number @@ -1406,7 +1420,7 @@ x R Common auxiliary subdivision 8 R Field link and sequence number 082 R DEWEY DECIMAL CLASSIFICATION NUMBER -ind1 01 Type of edition +ind1 017 Type of edition ind2 b04 Source of classification number a R Classification number b NR Item number @@ -1417,7 +1431,7 @@ q NR Assigning agency 8 R Field link and sequence number 083 R ADDITIONAL DEWEY DECIMAL CLASSIFICATION NUMBER -ind1 01 Type of edition +ind1 017 Type of edition ind2 blank Undefined a R Classification number c R Classification number--Ending number of span @@ -1434,6 +1448,7 @@ ind1 blank Undefined ind2 blank Undefined a R Classification number b NR Item number +q NR Assigning agency 2 NR Source of number 6 NR Linkage 8 R Field link and sequence number @@ -1674,11 +1689,12 @@ x NR International Standard Serial Number 6 NR Linkage 8 R Field link and sequence number -250 NR EDITION STATEMENT +250 R EDITION STATEMENT ind1 blank Undefined ind2 blank Undefined a NR Edition statement b NR Remainder of edition statement +3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -1709,10 +1725,11 @@ a NR Computer file characteristics 6 NR Linkage 8 R Field link and sequence number -257 NR COUNTRY OF PRODUCING ENTITY FOR ARCHIVAL FILMS +257 R COUNTRY OF PRODUCING ENTITY ind1 blank Undefined ind2 blank Undefined -a NR Country of producing entity +a R Country of producing entity +2 NR Source 6 NR Linkage 8 R Field link and sequence number @@ -1767,6 +1784,16 @@ a NR Projected publication date 6 NR Linkage 8 R Field link and sequence number +264 R PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE +ind1 b23 Sequence of statements +ind2 01234 Function of entity +a R Place of production, publication, distribution, manufacture +b R Name of producer, publisher, distributor, manufacturer +c R Date of production, publication, distribution, manufacture, or copyright notice +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number (R) + 270 R ADDRESS ind1 b12 Level ind2 b07 Type of address @@ -1836,6 +1863,36 @@ b NR Dates of former publication frequency 6 NR Linkage 8 R Field link and sequence number +336 R CONTENT TYPE +ind1 blank Undefined +ind2 blank Undefined +a R Content type term +b R Content type code +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + +337 R MEDIA TYPE +ind1 blank Undefined +ind2 blank Undefined +a R Media type term +b R Media type code +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + +338 R CARRIER TYPE +ind1 blank Undefined +ind2 blank Undefined +a R Carrier type term +b R Carrier type code +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + 340 R PHYSICAL MEDIUM ind1 blank Undefined ind2 blank Undefined @@ -1847,6 +1904,13 @@ e R Support f R Production rate/ratio h R Location within medium i R Technical specifications of medium +j R Generation +k R Layout +m R Book format +n R Font size +o R Polarity +0 R Authority record control number or standard number +2 NR Source 3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -1895,6 +1959,60 @@ i NR Bearing reference meridian 6 NR Linkage 8 R Field link and sequence number +344 R SOUND CHARACTERISTICS +ind1 blank Undefined +ind2 blank Undefined +a R Type of recording +b R Recording medium +c R Playing speed +d R Groove characteristic +e R Track configuration +f R Tape configuration +g R Configuration of playback channels +h R Special playback characteristics +0 R Authority record control number or standard number +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + +345 R PROJECTION CHARACTERISTICS OF MOVING IMAGE +ind1 blank Undefined +ind2 blank Undefined +a R Presentation format +b R Projection speed +0 R Authority record control number or standard number +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + +346 R VIDEO CHARACTERISTICS +ind1 blank Undefined +ind2 blank Undefined +a R Video format +b R Broadcast standard +0 R Authority record control number or standard number +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + +347 R DIGITAL FILE CHARACTERISTICS +ind1 blank Undefined +ind2 blank Undefined +a R File type +b R Encoding format +c R File size +d R Resolution +e R Regional encoding +f R Transmission speed +0 R Authority record control number or standard number +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + 351 R ORGANIZATION AND ARRANGEMENT OF MATERIALS ind1 blank Undefined ind2 blank Undefined @@ -2012,6 +2130,95 @@ m NR Identification of agency 6 NR Linkage 8 R Field link and sequence number +377 R ASSOCIATED LANGUAGE +ind1 blank Undefined +ind2 b7 Undefined +a R Language code +l R Language term +2 NR Source +6 NR Linkage +8 R Field link and sequence number + +380 R FORM OF WORK +ind1 blank Undefined +ind2 blank Undefined +a R Form of work +0 R Record control number +2 NR Source of term +6 NR Linkage +8 R Field link and sequence number + +381 R OTHER DISTINGUISHING CHARACTERISTICS OF WORK OR EXPRESSION +ind1 blank Undefined +ind2 blank Undefined +a R Other distinguishing characteristic +u R Uniform Resource Identifier +v R Source of information +0 R Record control number +2 NR Source of term +6 NR Linkage +8 R Field link and sequence number + +382 R MEDIUM OF PERFORMANCE +ind1 b01 Undefined +ind2 b01 Undefined +a R Medium of performance +b R Soloist +d R Doubling instrument +n R Number of performers of the same medium +p R Alternative medium of performance +s R Total number of performers +v R Note +0 R Record control number +2 NR Source of term +6 NR Linkage +8 R Field link and sequence number + +383 R NUMERIC DESIGNATION OF MUSICAL WORK +ind1 blank Undefined +ind2 blank Undefined +a R Serial number +b R Opus number +c R Thematic index number +d NR Thematic index code +e NR Publisher associated with opus number +2 NR Source +6 NR Linkage +8 R Field link and sequence number + +384 NR KEY +ind1 b01 Key type +ind2 blank Undefined +a NR Key +6 NR Linkage +8 R Field link and sequence number + +385 R AUDIENCE CHARACTERISTICS +ind1 blank Undefined +ind2 blank Undefined +a R Audience term +b R Audience code +m NR Demographic group term +n NR Demographic group code +0 R Authority record control number or standard number +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + +386 - CREATOR/CONTRIBUTOR CHARACTERISTICS (R) +ind1 blank Undefined +ind2 blank Undefined +a R Creator/contributor term +b R Creator/contributor code +m NR Demographic group term +n NR Demographic group code +0 R Authority record control number or standard number +2 NR Source +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + 400 R SERIES STATEMENT/ADDED ENTRY--PERSONAL NAME ind1 013 Type of personal name entry element ind2 01 Pronoun represents main entry @@ -2097,7 +2304,7 @@ ind2 blank Undefined a R Series statement l NR Library of Congress call number v R Volume number/sequential designation -x NR International Standard Serial Number +x R International Standard Serial Number 3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -2187,6 +2394,7 @@ ind2 blank Undefined a NR Name of source b NR Coverage of source c NR Location within source +u R Uniform Resource Identifier x NR International Standard Serial Number 3 NR Materials specified 6 NR Linkage @@ -2245,6 +2453,11 @@ a NR Type of computer file or data note ind1 blank Undefined ind2 blank Undefined a NR Date/time and place of an event note +d R Date of event +o R Other event information +p R Place of event +0 R Record control number +2 R Source of term 3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -2353,6 +2566,7 @@ p NR Introductory phrase t NR Title statement of original x R International Standard Serial Number z R International Standard Book Number +3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -2542,6 +2756,7 @@ z R International Standard Book Number ind1 b01 Undefined ind2 blank Undefined a NR History +u R Uniform Resource Identifier 3 NR Materials specified 5 NR Institution to which field applies 6 NR Linkage @@ -2657,6 +2872,14 @@ a NR Awards note 6 NR Linkage 8 R Field link and sequence number +588 R SOURCE OF DESCRIPTION NOTE +ind1 blank Undefined +ind2 blank Undefined +a NR Source of description note +5 NR Institution to which field applies +6 NR Linkage +8 R Field link and sequence number + 600 R SUBJECT ADDED ENTRY--PERSONAL NAME ind1 013 Type of personal name entry element ind2 01234567 Thesaurus @@ -2783,7 +3006,7 @@ z R Geographic subdivision 8 R Field link and sequence number 648 R SUBJECT ADDED ENTRY--CHRONOLOGICAL TERM -ind1 blank Undefined +ind1 b01 Type of date or time period ind2 01234567 Thesaurus a NR Chronological term v R Form subdivision @@ -2940,6 +3163,7 @@ e R Relator term f NR Date of a work g NR Miscellaneous information h NR Medium +i R Relationship information j R Attribution qualifier k R Form subheading l NR Language of a work @@ -2971,6 +3195,7 @@ e R Relator term f NR Date of a work g NR Miscellaneous information h NR Medium +i R Relationship information k R Form subheading l NR Language of a work m R Medium of performance for music @@ -2999,6 +3224,7 @@ e R Subordinate unit f NR Date of a work g NR Miscellaneous information h NR Medium +i R Relationship information j R Relator term k R Form subheading l NR Language of a work @@ -3033,6 +3259,7 @@ d R Date of treaty signing f NR Date of a work g NR Miscellaneous information h NR Medium +i R Relationship information k R Form subheading l NR Language of a work m R Medium of performance for music @@ -3116,9 +3343,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information m NR Material-specific details n R Note o R Other item identifier @@ -3127,6 +3354,7 @@ t NR Title w R Record control number x NR International Standard Serial Number y NR CODEN designation +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3138,9 +3366,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information m NR Material-specific details n R Note o R Other item identifier @@ -3149,6 +3377,7 @@ t NR Title w R Record control number x NR International Standard Serial Number y NR CODEN designation +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3160,9 +3389,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3175,6 +3404,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3186,9 +3416,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3201,6 +3431,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3212,9 +3443,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3227,6 +3458,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3238,9 +3470,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3253,6 +3485,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Stan dard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3263,9 +3496,9 @@ ind2 b8 Display constant controller a NR Main entry heading b NR Edition d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3281,6 +3514,7 @@ x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number 3 NR Materials specified +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3292,9 +3526,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3307,6 +3541,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3320,9 +3555,9 @@ c NR Qualifying information d NR Place, publisher, and date of publication e NR Language code f NR Country code -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3335,6 +3570,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3346,9 +3582,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3361,6 +3597,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3372,9 +3609,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3384,6 +3621,7 @@ t NR Title w R Record control number x NR International Standard Serial Number y NR CODEN designation +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3395,9 +3633,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3410,6 +3648,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3421,9 +3660,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3436,6 +3675,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3447,9 +3687,9 @@ a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information j NR Period of content k R Series data for related item m NR Material-specific details @@ -3465,20 +3705,21 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number -787 R NONSPECIFIC RELATIONSHIP ENTRY +787 R OTHER RELATIONSHIP ENTRY ind1 01 Note controller ind2 b8 Display constant controller a NR Main entry heading b NR Edition c NR Qualifying information d NR Place, publisher, and date of publication -g R Relationship information +g R Related parts h NR Physical description -i NR Display text +i R Relationship information k R Series data for related item m NR Material-specific details n R Note @@ -3491,6 +3732,7 @@ w R Record control number x NR International Standard Serial Number y NR CODEN designation z R International Standard Book Number +4 R Relationship code 6 NR Linkage 7 NR Control subfield 8 R Field link and sequence number @@ -3524,6 +3766,7 @@ x NR International Standard Serial Number 0 R Authority record control number 3 NR Materials specified 4 R Relator code +5 R Institution to which field applies 6 NR Linkage 8 R Field link and sequence number @@ -3554,6 +3797,7 @@ x NR International Standard Serial Number 0 R Authority record control number 3 NR Materials specified 4 R Relator code +5 R Institution to which field applies 6 NR Linkage 8 R Field link and sequence number @@ -3582,6 +3826,7 @@ x NR International Standard Serial Number 0 R Authority record control number 3 NR Materials specified 4 R Relator code +5 R Institution to which field applies 6 NR Linkage 8 R Field link and sequence number @@ -3607,6 +3852,7 @@ w R Bibliographic record control number x NR International Standard Serial Number 0 R Authority record control number 3 NR Materials specified +5 R Institution to which field applies 6 NR Linkage 8 R Field link and sequence number @@ -3725,6 +3971,19 @@ w R Replacement bibliographic record control number 6 NR Linkage 8 R Field link and sequence number +883 R MACHINE-GENERATED METADATA PROVENANCE +ind1 b01 Type of field +ind2 blank Undefined +a NR Generation process +c NR Confidence value +d NR Generation date +q NR Generation agency +x NR Validity end date +u NR Uniform Resource Identifier +w R Bibliographic record control number +0 R Authority record control number or standard number +8 R Field link and sequence number + 886 R FOREIGN MARC INFORMATION FIELD ind1 012 Type of field ind2 blank Undefined diff --git a/vendor/pear-pear.php.net/File_MARC/File/MARC/Lint/CodeData.php b/vendor/pear-pear.php.net/File_MARC/File/MARC/Lint/CodeData.php index cae0c129e9944e2b03edb18d4782c6d9e92098ed..59317a93aee38246b59d342ed65df7f54350c541 100644 --- a/vendor/pear-pear.php.net/File_MARC/File/MARC/Lint/CodeData.php +++ b/vendor/pear-pear.php.net/File_MARC/File/MARC/Lint/CodeData.php @@ -9,7 +9,7 @@ * maintained by Bryan Baldus <eijabb@cpan.org> and available for download at * http://search.cpan.org/~eijabb/ * - * Current MARC::Lint::CodeData version used as basis for this module: 1.28 + * Current MARC::Lint::CodeData version used as basis for this module: 1.33 * * PHP version 5 * @@ -31,7 +31,7 @@ * @package File_MARC * @author Demian Katz <demian.katz@villanova.edu> * @author Dan Scott <dscott@laurentian.ca> - * @copyright 2003-2008 Oy Realnode Ab, Dan Scott + * @copyright 2003-2013 Oy Realnode Ab, Dan Scott * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 * @version CVS: $Id: Record.php 308146 2011-02-08 20:36:20Z dbs $ * @link http://pear.php.net/package/File_MARC @@ -135,7 +135,7 @@ class File_MARC_Lint_CodeData { // @codingStandardsIgnoreStart // fill the valid Geographic Area Codes array - $this->geogAreaCodes = explode("\t", "a-af--- f------ fc----- fe----- fq----- ff----- fh----- fs----- fb----- fw----- n-us-al n-us-ak e-aa--- n-cn-ab f-ae--- ea----- sa----- poas--- aa----- sn----- e-an--- f-ao--- nwxa--- a-cc-an t------ nwaq--- nwla--- n-usa-- ma----- ar----- au----- r------ s-ag--- n-us-az n-us-ar a-ai--- nwaw--- lsai--- u-ac--- a------ ac----- as----- l------ fa----- u------ u-at--- u-at-ac e-au--- a-aj--- lnaz--- nwbf--- a-ba--- ed----- eb----- a-bg--- nwbb--- a-cc-pe e-bw--- e-be--- ncbh--- el----- ab----- f-dm--- lnbm--- a-bt--- mb----- a-ccp-- s-bo--- nwbn--- a-bn--- e-bn--- f-bs--- lsbv--- s-bl--- n-cn-bc i-bi--- nwvb--- a-bx--- e-bu--- f-uv--- a-br--- f-bd--- n-us-ca a-cb--- f-cm--- n-cn--- nccz--- lnca--- lncv--- cc----- poci--- ak----- e-urk-- e-urr-- nwcj--- f-cx--- nc----- e-urc-- f-cd--- s-cl--- a-cc--- a-cc-cq i-xa--- i-xb--- q------ s-ck--- n-us-co b------ i-cq--- f-cf--- f-cg--- fg----- n-us-ct pocw--- u-cs--- nccr--- e-ci--- nwcu--- nwco--- a-cy--- e-xr--- e-cs--- f-iv--- eo----- zd----- n-us-de e-dk--- dd----- d------ f-ft--- nwdq--- nwdr--- x------ n-usr-- ae----- an----- a-em--- poea--- xa----- s-ec--- f-ua--- nces--- e-uk-en f-eg--- f-ea--- e-er--- f-et--- me----- e------ ec----- ee----- en----- es----- ew----- lsfk--- lnfa--- pofj--- e-fi--- n-us-fl e-fr--- h------ s-fg--- pofp--- a-cc-fu f-go--- pogg--- f-gm--- a-cc-ka awgz--- n-us-ga a-gs--- e-gx--- e-ge--- e-gw--- f-gh--- e-gi--- e-uk--- e-uk-ui nl----- np----- fr----- e-gr--- n-gl--- nwgd--- nwgp--- pogu--- a-cc-kn a-cc-kc ncgt--- f-gv--- f-pg--- a-cc-kw s-gy--- a-cc-ha nwht--- n-us-hi i-hm--- a-cc-hp a-cc-he a-cc-ho ah----- nwhi--- ncho--- a-cc-hk a-cc-hh n-cnh-- a-cc-hu e-hu--- e-ic--- n-us-id n-us-il a-ii--- i------ n-us-in ai----- a-io--- a-cc-im m------ c------ n-us-ia a-ir--- a-iq--- e-ie--- a-is--- e-it--- nwjm--- lnjn--- a-ja--- a-cc-ku a-cc-ki a-cc-kr poji--- a-jo--- zju---- n-us-ks a-kz--- n-us-ky f-ke--- poki--- pokb--- a-kr--- a-kn--- a-ko--- a-cck-- a-ku--- a-kg--- a-ls--- cl----- e-lv--- a-le--- nwli--- f-lo--- a-cc-lp f-lb--- f-ly--- e-lh--- poln--- e-li--- n-us-la e-lu--- a-cc-mh e-xn--- f-mg--- lnma--- n-us-me f-mw--- am----- a-my--- i-xc--- f-ml--- e-mm--- n-cn-mb poxd--- n-cnm-- zma---- poxe--- nwmq--- n-us-md n-us-ma f-mu--- i-mf--- i-my--- mm----- ag----- pome--- zme---- n-mx--- nm----- n-us-mi pott--- pomi--- n-usl-- aw----- n-usc-- poxf--- n-us-mn n-us-ms n-usm-- n-us-mo n-uss-- e-mv--- e-mc--- a-mp--- n-us-mt nwmj--- zmo---- f-mr--- f-mz--- f-sx--- ponu--- n-us-nb a-np--- zne---- e-ne--- nwna--- n-us-nv n-cn-nk ponl--- n-usn-- a-nw--- n-us-nh n-us-nj n-us-nm u-at-ne n-us-ny u-nz--- n-cn-nf ncnq--- f-ng--- fi----- f-nr--- fl----- a-cc-nn poxh--- n------ ln----- n-us-nc n-us-nd pn----- n-use-- xb----- e-uk-ni u-at-no n-cn-nt e-no--- n-cn-ns n-cn-nu po----- n-us-oh n-uso-- n-us-ok a-mk--- n-cn-on n-us-or zo----- p------ a-pk--- popl--- ncpn--- a-pp--- aopf--- s-py--- n-us-pa ap----- s-pe--- a-ph--- popc--- zpl---- e-pl--- pops--- e-po--- n-cnp-- n-cn-pi nwpr--- ep----- a-qa--- a-cc-ts u-at-qn n-cn-qu mr----- er----- n-us-ri sp----- nr----- e-rm--- e-ru--- e-ur--- e-urf-- f-rw--- i-re--- nwsd--- fd----- nweu--- lsxj--- nwxi--- nwxk--- nwst--- n-xl--- nwxm--- pows--- posh--- e-sm--- f-sf--- n-cn-sn zsa---- a-su--- ev----- e-uk-st f-sg--- i-se--- a-cc-ss a-cc-sp a-cc-sm a-cc-sh e-urs-- e-ure-- e-urw-- a-cc-sz f-sl--- a-si--- e-xo--- e-xv--- i-xo--- zs----- pobp--- f-so--- f-sa--- s------ az----- ls----- u-at-sa n-us-sc ao----- n-us-sd lsxs--- ps----- xc----- n-usu-- n-ust-- e-urn-- e-sp--- f-sh--- aoxp--- a-ce--- f-sj--- fn----- fu----- zsu---- s-sr--- lnsb--- nwsv--- f-sq--- e-sw--- e-sz--- a-sy--- a-ch--- a-ta--- f-tz--- u-at-tm n-us-tn i-fs--- n-us-tx a-th--- af----- a-cc-tn a-cc-ti at----- f-tg--- potl--- poto--- nwtr--- lstd--- w------ f-ti--- a-tu--- a-tk--- nwtc--- potv--- f-ug--- e-un--- a-ts--- n-us--- nwuc--- poup--- e-uru-- zur---- s-uy--- n-us-ut a-uz--- ponn--- e-vc--- s-ve--- zve---- n-us-vt u-at-vi a-vt--- nwvi--- n-us-va e-urp-- fv----- powk--- e-uk-wl powf--- n-us-dc n-us-wa n-usp-- awba--- nw----- n-us-wv u-at-we xd----- f-ss--- nwwi--- n-us-wi n-us-wy a-ccs-- a-cc-su a-ccg-- a-ccy-- ay----- a-ye--- e-yu--- n-cn-yk a-cc-yu fz----- f-za--- a-cc-ch f-rh--- u-atc-- u-ate-- u-atn-- e-rb--- e-mo--- e-kv---"); + $this->geogAreaCodes = explode("\t", "a------ a-af--- a-ai--- a-aj--- a-ba--- a-bg--- a-bn--- a-br--- a-bt--- a-bx--- a-cb--- a-cc--- a-cc-an a-cc-ch a-cc-cq a-cc-fu a-cc-ha a-cc-he a-cc-hh a-cc-hk a-cc-ho a-cc-hp a-cc-hu a-cc-im a-cc-ka a-cc-kc a-cc-ki a-cc-kn a-cc-kr a-cc-ku a-cc-kw a-cc-lp a-cc-mh a-cc-nn a-cc-pe a-cc-sh a-cc-sm a-cc-sp a-cc-ss a-cc-su a-cc-sz a-cc-ti a-cc-tn a-cc-ts a-cc-yu a-ccg-- a-cck-- a-ccp-- a-ccs-- a-ccy-- a-ce--- a-ch--- a-cy--- a-em--- a-gs--- a-ii--- a-io--- a-iq--- a-ir--- a-is--- a-ja--- a-jo--- a-kg--- a-kn--- a-ko--- a-kr--- a-ku--- a-kz--- a-le--- a-ls--- a-mk--- a-mp--- a-my--- a-np--- a-nw--- a-ph--- a-pk--- a-pp--- a-qa--- a-si--- a-su--- a-sy--- a-ta--- a-th--- a-tk--- a-ts--- a-tu--- a-uz--- a-vt--- a-ye--- aa----- ab----- ac----- ae----- af----- ag----- ah----- ai----- ak----- am----- an----- ao----- aopf--- aoxp--- ap----- ar----- as----- at----- au----- aw----- awba--- awgz--- ay----- az----- b------ c------ cc----- cl----- d------ dd----- e------ e-aa--- e-an--- e-au--- e-be--- e-bn--- e-bu--- e-bw--- e-ci--- e-cs--- e-dk--- e-er--- e-fi--- e-fr--- e-ge--- e-gi--- e-gr--- e-gw--- e-gx--- e-hu--- e-ic--- e-ie--- e-it--- e-kv--- e-lh--- e-li--- e-lu--- e-lv--- e-mc--- e-mm--- e-mo--- e-mv--- e-ne--- e-no--- e-pl--- e-po--- e-rb--- e-rm--- e-ru--- e-sm--- e-sp--- e-sw--- e-sz--- e-uk--- e-uk-en e-uk-ni e-uk-st e-uk-ui e-uk-wl e-un--- e-ur--- e-urc-- e-ure-- e-urf-- e-urk-- e-urn-- e-urp-- e-urr-- e-urs-- e-uru-- e-urw-- e-vc--- e-xn--- e-xo--- e-xr--- e-xv--- e-yu--- ea----- eb----- ec----- ed----- ee----- el----- en----- eo----- ep----- er----- es----- ev----- ew----- f------ f-ae--- f-ao--- f-bd--- f-bs--- f-cd--- f-cf--- f-cg--- f-cm--- f-cx--- f-dm--- f-ea--- f-eg--- f-et--- f-ft--- f-gh--- f-gm--- f-go--- f-gv--- f-iv--- f-ke--- f-lb--- f-lo--- f-ly--- f-mg--- f-ml--- f-mr--- f-mu--- f-mw--- f-mz--- f-ng--- f-nr--- f-pg--- f-rh--- f-rw--- f-sa--- f-sd--- f-sf--- f-sg--- f-sh--- f-sj--- f-sl--- f-so--- f-sq--- f-ss--- f-sx--- f-tg--- f-ti--- f-tz--- f-ua--- f-ug--- f-uv--- f-za--- fa----- fb----- fc----- fd----- fe----- ff----- fg----- fh----- fi----- fl----- fn----- fq----- fr----- fs----- fu----- fv----- fw----- fz----- h------ i------ i-bi--- i-cq--- i-fs--- i-hm--- i-mf--- i-my--- i-re--- i-se--- i-xa--- i-xb--- i-xc--- i-xo--- l------ ln----- lnaz--- lnbm--- lnca--- lncv--- lnfa--- lnjn--- lnma--- lnsb--- ls----- lsai--- lsbv--- lsfk--- lstd--- lsxj--- lsxs--- m------ ma----- mb----- me----- mm----- mr----- n------ n-cn--- n-cn-ab n-cn-bc n-cn-mb n-cn-nf n-cn-nk n-cn-ns n-cn-nt n-cn-nu n-cn-on n-cn-pi n-cn-qu n-cn-sn n-cn-yk n-cnh-- n-cnm-- n-cnp-- n-gl--- n-mx--- n-us--- n-us-ak n-us-al n-us-ar n-us-az n-us-ca n-us-co n-us-ct n-us-dc n-us-de n-us-fl n-us-ga n-us-hi n-us-ia n-us-id n-us-il n-us-in n-us-ks n-us-ky n-us-la n-us-ma n-us-md n-us-me n-us-mi n-us-mn n-us-mo n-us-ms n-us-mt n-us-nb n-us-nc n-us-nd n-us-nh n-us-nj n-us-nm n-us-nv n-us-ny n-us-oh n-us-ok n-us-or n-us-pa n-us-ri n-us-sc n-us-sd n-us-tn n-us-tx n-us-ut n-us-va n-us-vt n-us-wa n-us-wi n-us-wv n-us-wy n-usa-- n-usc-- n-use-- n-usl-- n-usm-- n-usn-- n-uso-- n-usp-- n-usr-- n-uss-- n-ust-- n-usu-- n-xl--- nc----- ncbh--- nccr--- nccz--- nces--- ncgt--- ncho--- ncnq--- ncpn--- nl----- nm----- np----- nr----- nw----- nwaq--- nwaw--- nwbb--- nwbf--- nwbn--- nwcj--- nwco--- nwcu--- nwdq--- nwdr--- nweu--- nwgd--- nwgp--- nwhi--- nwht--- nwjm--- nwla--- nwli--- nwmj--- nwmq--- nwna--- nwpr--- nwsc--- nwsd--- nwsn--- nwst--- nwsv--- nwtc--- nwtr--- nwuc--- nwvb--- nwvi--- nwwi--- nwxa--- nwxi--- nwxk--- nwxm--- p------ pn----- po----- poas--- pobp--- poci--- pocw--- poea--- pofj--- pofp--- pogg--- pogu--- poji--- pokb--- poki--- poln--- pome--- pomi--- ponl--- ponn--- ponu--- popc--- popl--- pops--- posh--- potl--- poto--- pott--- potv--- poup--- powf--- powk--- pows--- poxd--- poxe--- poxf--- poxh--- ps----- q------ r------ s------ s-ag--- s-bl--- s-bo--- s-ck--- s-cl--- s-ec--- s-fg--- s-gy--- s-pe--- s-py--- s-sr--- s-uy--- s-ve--- sa----- sn----- sp----- t------ u------ u-ac--- u-at--- u-at-ac u-at-ne u-at-no u-at-qn u-at-sa u-at-tm u-at-vi u-at-we u-atc-- u-ate-- u-atn-- u-cs--- u-nz--- w------ x------ xa----- xb----- xc----- xd----- zd----- zju---- zma---- zme---- zmo---- zne---- zo----- zpl---- zs----- zsa---- zsu---- zur---- zve----"); // fill the obsolete Geographic Area Codes array $this->obsoleteGeogAreaCodes = explode("\t", "t-ay--- e-ur-ai e-ur-aj nwbc--- e-ur-bw f-by--- pocp--- e-url-- cr----- v------ e-ur-er et----- e-ur-gs pogn--- nwga--- nwgs--- a-hk--- ei----- f-if--- awiy--- awiw--- awiu--- e-ur-kz e-ur-kg e-ur-lv e-ur-li a-mh--- cm----- e-ur-mv n-usw-- a-ok--- a-pt--- e-ur-ru pory--- nwsb--- posc--- a-sk--- posn--- e-uro-- e-ur-ta e-ur-tk e-ur-un e-ur-uz a-vn--- a-vs--- nwvr--- e-urv-- a-ys---"); @@ -147,7 +147,7 @@ class File_MARC_Lint_CodeData $this->obsoleteLanguageCodes = explode("\t", "ajm esk esp eth far fri gag gua int iri cam kus mla max mol lan gal lap sao gae scc scr sho snh sso swz tag taj tar tru tsw"); // fill the valid Country Codes array - $this->countryCodes = explode("\t", "aca af alu aku aa abc ae as an ao am ay aq ag azu aru ai aw at au aj bf ba bg bb bw be bh dm bm bt bo bn bs bv bl bcc bi vb bx bu uv br bd cau cb cm xxc cv cj cx cd cl cc ch xa xb ck cou cq cf cg ctu cw cr ci cu cy xr iv deu dk dcu ft dq dr em ec ua es enk eg ea er et fk fa fj fi flu fr fg fp go gm gz gau gs gw gh gi gr gl gd gp gu gt gv pg gy ht hiu hm ho hu ic idu ilu ii inu io iau ir iq iy ie is it jm ja ji jo ksu kv kz kyu ke gb kn ko ku kg ls lv le lo lb ly lh li lau lu xn mg meu mw my xc ml mm mbc xe mq mdu mau mu mf ot mx miu fm xf mnu msu mou mv mc mp mtu mj mr mz sx nu nbu np ne na nvu nkc nl nhu nju nmu nyu nz nfc nq ng nr xh xx nx ncu ndu nik nw ntc no nsc nuc ohu oku mk onc oru pk pw pn pp pf py pau pe ph pc pl po pic pr qa qea quc riu rm ru rw re xj xd xk xl xm ws sm sf snc su stk sg rb mo se sl si xo xv bp so sa scu sdu xs sp sh xp ce sj sr sq sw sz sy ta tz tnu fs txu th tg tl tma to tr ti tu tk tc tv ug un ts xxk uik xxu uc up uy utu uz nn vp vc ve vtu vm vi vau vra wea wk wlk wf wau wj wvu ss wiu wyu xga xna xoa xra ye ykc za rh "); + $this->countryCodes = explode("\t", "aa abc aca ae af ag ai aj aku alu am an ao aq aru as at au aw ay azu ba bb bcc bd be bf bg bh bi bl bm bn bo bp br bs bt bu bv bw bx ca cau cb cc cd ce cf cg ch ci cj ck cl cm co cou cq cr ctu cu cv cw cx cy dcu deu dk dm dq dr ea ec eg em enk er es et fa fg fi fj fk flu fm fp fr fs ft gau gb gd gh gi gl gm go gp gr gs gt gu gv gw gy gz hiu hm ho ht hu iau ic idu ie ii ilu inu io iq ir is it iv iy ja ji jm jo ke kg kn ko ksu ku kv kyu kz lau lb le lh li lo ls lu lv ly mau mbc mc mdu meu mf mg miu mj mk ml mm mnu mo mou mp mq mr msu mtu mu mv mw mx my mz na nbu ncu ndu ne nfc ng nhu nik nju nkc nl nmu nn no np nq nr nsc ntc nu nuc nvu nw nx nyu nz ohu oku onc oru ot pau pc pe pf pg ph pic pk pl pn po pp pr pw py qa qea quc rb re rh riu rm ru rw sa sc scu sd sdu se sf sg sh si sj sl sm sn snc so sp sq sr ss st stk su sw sx sy sz ta tc tg th ti tk tl tma tnu to tr ts tu tv txu tz ua uc ug uik un up utu uv uy uz vau vb vc ve vi vm vp vra vtu wau wea wf wiu wj wk wlk ws wvu wyu xa xb xc xd xe xf xga xh xj xk xl xm xn xna xo xoa xp xr xra xs xv xx xxc xxk xxu ye ykc za "); // fill the obsolete Country Codes array $this->obsoleteCountryCodes = explode("\t", "ai air ac ajr bwr cn cz cp ln cs err gsr ge gn hk iw iu jn kzr kgr lvr lir mh mvr nm pt rur ry xi sk xxr sb sv tar tt tkr unr uk ui us uzr vn vs wb ys yu "); @@ -155,10 +155,10 @@ class File_MARC_Lint_CodeData // the codes cash, lcsh, lcshac, mesh, nal, and rvm are covered by 2nd // indicators in 600-655 // they are only used when indicators are not available - $this->sources600_651 = explode("\t", "aass aat abne afset agrifors agrovoc agrovocf agrovocs aiatsisl aiatsisp aiatsiss aktp albt allars amg apaist asft asrcrfcd asrcseo asrctoa asth atla aucsh barn bella bet bgtchm bhammf bhashe bibalex biccbmc bicssc bidex bisacsh bisacmt bisacrt blmlsh bt cabt cash cct ccte cctf ceeus chirosh cht ciesiniv cilla conorsi csahssa csalsct csapa csh csht cstud czenas dacs dcs ddcrit dissao dit drama dtict ebfem eclas eet eflch eks embne ept ericd est eurovocen eurovocsl fast fgtpcm finmesh fire fmesh fnhl francis galestne gem georeft gst gtt hapi hkcan helecon henn hlasstg hoidokki huc iaat ica icpsr idas iescs iest ilot ilpt inist inspect ipat ipsp isis itglit itoamc itrt jhpb jhpk jlabsh kaa kao kaunokki kdm kitu kkts kssbar kta ktpt ktta kula kupu lacnaf larpcal lcsh lcshac lcstt lctgm lemac lemb liv lnmmbr local ltcsh lua maaq mar masa mech mesh mipfesd mmm mpirdes msh mtirdes musa muzeukc muzeukn muzeukv muzvukci nal nalnaf nasat ncjt ndllsh nicem nimacsc nlgaf nlgkk nlgsh nlmnaf nsbncf ntcpsc ntcsd ntissc nzggn nznb ogst onet opms pascal peri pha pkk pmbok pmcsg pmt poliscit popinte precis prvt psychit quiding qlsp qrma qrmak qtglit raam ram rasuqam renib reo rero rerovoc reveal rma rpe rswk rswkaf rugeo rurkp rvm sao sbiao scbi scgdst scisshl scot sears sfit sgc sgce shbe she sigle sipri sk skon slem smda snt socio sosa spines ssg swd swemesh taika taxhs tbit tesa test tgn tho thub tlka tlsh toit trt trtsa tsht ttka tucua ulan umitrist unbisn unbist unescot usaidt vmj waqaf watrest wgst wot wpicsh ysa"); - $this->obsoleteSources600_651 = explode("\t", "cash lcsh lcshac mesh nal reroa rvm"); - $this->sources655 = explode("\t", "aat afset aiatsisl aiatsisp aiatsiss aktp amg asrcrfcd asrcseo asrctoa asth aucsh barn bibalex biccbmc bgtchm bisacsh bisacmt bisacrt bt cash chirosh cct conorsi csht czenas dacs dcs dct eet eflch embne ept ericd estc eurovocen eurovocsl fast fbg finmesh fire galestne gem gmgpc gsafd gst gtlm hapi hkcan hoidokki ica ilot itglit itrt jhpb jhpk kkts lacnaf lcsh lcshac lcstt lctgm lemac local maaq mar marcgt mech mesh migfg mim msh muzeukc muzeukn muzeukv muzvukci nal nalnaf ngl nimafc nlgaf nlgkk nlgsh nlmnaf nmc nsbncf nzggn nznb onet opms pkk pmcsg pmt quiding qlsp qrmak qtglit raam radfg rbbin rbgenr rbpap rbpri rbprov rbpub rbtyp reo rerovoc reveal rma rswk rswkaf rugeo rvm sao scbi sears sgc sgce sgp sipri skon snt socio spines ssg swd swemesh tbit tesa tho thub toit tsht tucua ulan vmj waqaf"); - $this->obsoleteSources655 = explode("\t", "cash ftamc lcsh lcshac mesh nal reroa rvm"); + $this->sources600_651 = explode("\t", "aass aat abne afset agrifors agrovoc agrovocf agrovocs aiatsisl aiatsisp aiatsiss aktp albt allars amg apaist asft asrcrfcd asrcseo asrctoa asth atg atla aucsh barn bella bet bgtchm bhammf bhashe bib1814 bibalex biccbmc bicssc bidex bisacsh bisacmt bisacrt bjornson blmlsh bt cabt cash ccsa cct ccte cctf cdcng ceeus chirosh cht ciesiniv cilla collett conorsi csahssa csalsct csapa csh csht cstud czenas dacs dcs ddcrit ddcut dissao dit dltlt dltt drama dtict ebfem eclas eet eflch eks embne emnmus ept erfemn ericd est eum eurovocen eurovocsl fast fgtpcm finmesh fire fmesh fnhl francis fssh galestne gem georeft gst gtt hamsun hapi hkcan helecon henn hlasstg hoidokki hrvmesh huc humord iaat ica icpsr idas idsbb idszbz idszbzes idszbzna idszbzzg idszbzzh idszbzzk iescs iest ilot ilpt inist inspect ipat ipsp isis itglit itoamc itrt jhpb jhpk jlabsh jurivoc kaa kao kaunokki kdm khib kitu kkts kssbar kta ktpt ktta kula kupu lacnaf larpcal lcdgt lcmpt lcsh lcshac lcstt lctgm lemac lemb liv lnmmbr local ltcsh lua maaq mar masa mech mesh mipfesd mmm mpirdes msh mtirdes musa muzeukc muzeukn muzeukv muzvukci nal nalnaf nasat nbiemnfag ncjt netc ndllsh nicem nimacsc nlgaf nlgkk nlgsh nlmnaf no-ubo-mr noraf noram norbok noubomn noubojur nsbncf nskps ntcpsc ntcsd ntids ntissc nzggn nznb odlt ogst onet opms ordnok pascal pepp peri pha pkk pmbok pmcsg pmont pmt poliscit popinte precis prvt psychit quiding qlsp qrma qrmak qtglit raam ram rasuqam renib reo rero rerovoc reveal rma rpe rswk rswkaf rugeo rurkp rvm samisk sao sbiao sbt scbi scgdst scisshl scot sears sfit sgc sgce shbe she shsples sigle sipri sk skon slem smda snt socio solstad sosa spines ssg stw swd swemesh taika taxhs tbit tekord tesa test tgn thesoz tho thub tlka tlsh toit trt trtsa tsht ttka tucua ukslc ulan umitrist unbisn unbist unescot usaidt vmj waqaf watrest wgst wot wpicsh ysa"); + $this->obsoleteSources600_651 = explode("\t", "cash lcsh lcshac mesh nal nobomn noubojor reroa rvm"); + $this->sources655 = explode("\t", "aat afset aiatsisl aiatsisp aiatsiss aktp amg asrcrfcd asrcseo asrctoa asth aucsh barn barngf bib1814 bibalex biccbmc bgtchm bisacsh bisacmt bisacrt bjornson bt cash chirosh cct cdcng cjh collett conorsi csht czenas dacs dcs dct ddcut eet eflch embne emnmus ept erfemn ericd estc eurovocen eurovocsl fast fbg finmesh fire galestne gatbeg gem gmgpc gsafd gst gtlm hamsun hapi hkcan hoidokki ica ilot isbdcontent isbdmedia itglit itrt jhpb jhpk kkts lacnaf lcgft lcmpt lcsh lcshac lcstt lctgm lemac local maaq mar marcgt mech mesh migfg mim msh muzeukc muzeukn muzeukv muzvukci nal nalnaf nbiemnfag ndlsh netc ngl nimafc nlgaf nlgkk nlgsh nlmnaf nmc no-ubo-mr noraf noram nsbncf ntids nzggn nznb onet opms ordnok pkk pmcsg pmt quiding qlsp qrmak qtglit raam radfg rasuqam rbbin rbgenr rbpap rbpri rbprov rbpub rbtyp rdacarrier rdacontent rdamedia reo rerovoc reveal rma rswk rswkaf rugeo rvm sao saogf scbi sears sgc sgce sgp sipri skon snt socio spines ssg stw swd swemesh tbit tesa thesoz tho thub toit tsht tucua ukslc ulan vmj waqaf"); + $this->obsoleteSources655 = explode("\t", "cash ftamc lcsh lcshac marccarrier marccontent marcmedia mesh nal reroa rvm"); // @codingStandardsIgnoreEnd } // }}} diff --git a/vendor/pear-pear.php.net/File_MARC/File/MARC/Record.php b/vendor/pear-pear.php.net/File_MARC/File/MARC/Record.php index 8c091982fdb8eecee95f5d6110d72c056416d452..d99016832774e045f92c2bd5f21e17b57a6be913 100644 --- a/vendor/pear-pear.php.net/File_MARC/File/MARC/Record.php +++ b/vendor/pear-pear.php.net/File_MARC/File/MARC/Record.php @@ -550,7 +550,9 @@ class File_MARC_Record /* End fields and record */ $json->fields = $fields; - return json_encode($json); + $json_rec = json_encode($json); + // Required because json_encode() does not let us stringify integer keys + return preg_replace('/("subfields":)(.*?)\["([^\"]+?)"\]/', '\1\2{"0":"\3"}', $json_rec); } // }}} diff --git a/vendor/pear-pear.php.net/File_MARC/File/MARCXML.php b/vendor/pear-pear.php.net/File_MARC/File/MARCXML.php index b24a28d9ee6ac0962ac7418da264748886a32e37..6e644d4bfc97f59d7f4675ed921df0feb352d648 100644 --- a/vendor/pear-pear.php.net/File_MARC/File/MARCXML.php +++ b/vendor/pear-pear.php.net/File_MARC/File/MARCXML.php @@ -120,13 +120,21 @@ class File_MARCXML extends File_MARCBASE * * // Retrieve MARC records from a string (e.g. Z39 query results) * $monographs = new File_MARC($raw_marc, SOURCE_STRING); + * + * // Retrieve MARCXML records from a string with a namespace URL + * $records = new File_MARCXML($xml_data, File_MARC::SOURCE_STRING,"http://www.loc.gov/MARC21/slim"); + * + * // Retrieve MARCXML records from a file with a namespace prefix + * $records = new File_MARCXML($xml_data, File_MARC::SOURCE_FILE,"marc",true); * ?> * </code> * - * @param string $source Name of the file, or a raw MARC string - * @param int $type Source of the input, either SOURCE_FILE or SOURCE_STRING + * @param string $source Name of the file, or a raw MARC string + * @param int $type Source of the input, either SOURCE_FILE or SOURCE_STRING + * @param string $ns URI or prefix of the namespace + * @param bool $is_prefix TRUE if $ns is a prefix, FALSE if it's a URI; defaults to FALSE */ - function __construct($source, $type = self::SOURCE_FILE) + function __construct($source, $type = self::SOURCE_FILE, $ns = "", $is_prefix = false) { parent::__construct($source, $type); @@ -136,16 +144,16 @@ class File_MARCXML extends File_MARCBASE case self::SOURCE_FILE: $this->type = self::SOURCE_FILE; - $this->source = simplexml_load_file($source); + $this->source = simplexml_load_file($source, "SimpleXMLElement", 0, $ns, $is_prefix); break; case self::SOURCE_STRING: $this->type = self::SOURCE_STRING; - $this->source = simplexml_load_string($source); + $this->source = simplexml_load_string($source, "SimpleXMLElement", 0, $ns, $is_prefix); break; default: - throw new File_MARC_Exception(File_MARC_Exception::$messages[File_MARC_Exception::ERROR_INVALID_SOURCE], File_MARC_Exception::ERROR_INVALID_SOURCE); + throw new File_MARC_Exception(File_MARC_Exception::$messages[File_MARC_Exception::ERROR_INVALID_SOURCE], File_MARC_Exception::ERROR_INVALID_SOURCE); } if (!$this->source) { @@ -188,7 +196,7 @@ class File_MARCXML extends File_MARCBASE } else { return false; } - + if ($record) { return $this->_decode($record); } else { @@ -214,19 +222,22 @@ class File_MARCXML extends File_MARCBASE // go through all the control fields foreach ($text->controlfield as $controlfield) { - $marc->appendField(new File_MARC_Control_Field((string)$controlfield['tag'], $controlfield)); + $controlfieldattributes = $controlfield->attributes(); + $marc->appendField(new File_MARC_Control_Field((string)$controlfieldattributes['tag'], $controlfield)); } // go through all the data fields foreach ($text->datafield as $datafield) { + $datafieldattributes = $datafield->attributes(); $subfield_data = array(); foreach ($datafield->subfield as $subfield) { - $subfield_data[] = new File_MARC_Subfield((string)$subfield['code'], $subfield); + $subfieldattributes = $subfield->attributes(); + $subfield_data[] = new File_MARC_Subfield((string)$subfieldattributes['code'], $subfield); } // If the data is invalid, let's just ignore the one field try { - $new_field = new File_MARC_Data_Field((string)$datafield['tag'], $subfield_data, $datafield['ind1'], $datafield['ind2']); + $new_field = new File_MARC_Data_Field((string)$datafieldattributes['tag'], $subfield_data, $datafieldattributes['ind1'], $datafieldattributes['ind2']); $marc->appendField($new_field); } catch (Exception $e) { $marc->addWarning($e->getMessage()); diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php index f77545db9563264c9c3a9d01336ef991eb7ab9d3..3576e9ae6faa4be62804c174c6b695dda80bd37f 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php @@ -2,6 +2,7 @@ /* * This file is part of the Symfony package. + * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE @@ -71,7 +72,7 @@ class Escaper */ public static function requiresSingleQuoting($value) { - return preg_match('/[ \s \' " \: \{ \} \[ \] , & \* \# \?] | \A[ - ? | < > = ! % @ ` ]/x', $value); + return preg_match('/[ \s \' " \: \{ \} \[ \] , & \* \# \?] | \A[ \- ? | < > = ! % @ ` ]/x', $value); } /** diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php index 45978a12554a7663fe3b7669a778e41e00dc401d..45efced3c89acc62abe281b76711e68fb3125166 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php @@ -2,6 +2,7 @@ /* * This file is part of the Symfony package. + * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE b/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE index 88a57f8d8da49126c6f7d225d567ad216ace4d83..0b3292cf9023507c2f1f93ddfee7dd8e15838048 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2004-2013 Fabien Potencier +Copyright (c) 2004-2014 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php index d852cbf9bcf1f260bd89036904ad68ea76b108b6..e8fe91848ebbdc8229e39842723b85840bbd983d 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php @@ -2,6 +2,7 @@ /* * This file is part of the Symfony package. + * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml index 5542b0dc6326caf9855a3f2e86243780bd735adb..ac0efa88d1a1bb7d510c54338a37e4905df68c4a 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml @@ -56,7 +56,7 @@ test: Simple Mapping brief: | You can add a keyed list (also known as a dictionary or hash) to your document by placing each member of the - list on a new line, with a colon seperating the key + list on a new line, with a colon separating the key from its value. In YAML, this type of list is called a mapping. yaml: | diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml index 6f99f7545306020ae07ee6a610c5509a39079930..1e59f3bf9888429752819aff27ebd52735cb714d 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml @@ -222,7 +222,7 @@ yaml: | # Following node labeled SS - &SS Sammy Sosa rbi: - - *SS # Subsequent occurance + - *SS # Subsequent occurrence - Ken Griffey php: | array( diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml index 9972c1f0d9d528f090ddee99dc206d35c1826a22..aac4e68077f679eacbd08e862777c22fa3127350 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml @@ -226,11 +226,11 @@ brief: > time zone. yaml: | iso8601: 2001-12-14t21:59:43.10-05:00 - space seperated: 2001-12-14 21:59:43.10 -05:00 + space separated: 2001-12-14 21:59:43.10 -05:00 php: | array( 'iso8601' => mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ), - 'space seperated' => mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ) + 'space separated' => mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ) ) --- test: Date diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php index a93b91612dcae9c85b7354bbdb6753e010ab8218..dc497ca21c7c81b83ef4c45938633797f0268b6d 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php @@ -11,7 +11,6 @@ namespace Symfony\Component\Yaml\Tests; -use Symfony\Component\Yaml\Yaml; use Symfony\Component\Yaml\Inline; class InlineTest extends \PHPUnit_Framework_TestCase @@ -31,11 +30,11 @@ class InlineTest extends \PHPUnit_Framework_TestCase $this->assertEquals($yaml, Inline::dump($value), sprintf('::dump() converts a PHP structure to an inline YAML (%s)', $yaml)); } - foreach ($this->getTestsForParse() as $yaml => $value) { + foreach ($this->getTestsForParse() as $value) { $this->assertEquals($value, Inline::parse(Inline::dump($value)), 'check consistency'); } - foreach ($testsForDump as $yaml => $value) { + foreach ($testsForDump as $value) { $this->assertEquals($value, Inline::parse(Inline::dump($value)), 'check consistency'); } } @@ -197,7 +196,6 @@ class InlineTest extends \PHPUnit_Framework_TestCase '.Inf' => -log(0), '-.Inf' => log(0), "'686e444'" => '686e444', - '.Inf' => 646e444, '"foo\r\nbar"' => "foo\r\nbar", "'foo#bar'" => 'foo#bar', "'foo # bar'" => 'foo # bar', @@ -205,6 +203,9 @@ class InlineTest extends \PHPUnit_Framework_TestCase "'a \"string\" with ''quoted strings inside'''" => 'a "string" with \'quoted strings inside\'', + "'-dash'" => '-dash', + "'-'" => '-', + // sequences '[foo, bar, false, null, 12]' => array('foo', 'bar', false, null, 12), '[\'foo,bar\', \'foo bar\']' => array('foo,bar', 'foo bar'), diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php index ac3a576b677bcb53a7afd187fa4c3760c4d68619..1b8eeed57a94a6aefb037d68a43c7a71c89864f3 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php @@ -2,6 +2,7 @@ /* * This file is part of the Symfony package. + * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE @@ -48,7 +49,7 @@ class Unescaper public function unescapeDoubleQuotedString($value) { $self = $this; - $callback = function($match) use ($self) { + $callback = function ($match) use ($self) { return $self->unescapeCharacter($match[0]); }; diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json b/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json index 1a009c16d6a27bbca9c1dfdb21969a4897a431a0..33c298535449cd0591202247a97348b06889c2e5 100644 --- a/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json +++ b/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json @@ -25,7 +25,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.4-dev" } } } diff --git a/vendor/zendframework/zendrest/.gitignore b/vendor/zendframework/zendrest/.gitignore index a725465aee245635a2bd129af54858ed32c84cb8..a280b3e3bea2dfb94f47455be060e84257f56756 100644 --- a/vendor/zendframework/zendrest/.gitignore +++ b/vendor/zendframework/zendrest/.gitignore @@ -1 +1,6 @@ -vendor/ \ No newline at end of file +composer.lock +composer.phar +vendor +.buildpath +.project +.settings/ \ No newline at end of file diff --git a/vendor/zendframework/zendrest/composer.json b/vendor/zendframework/zendrest/composer.json index 3a7ea7c9c4e3f5aa37ab4763481cd4d652efc216..1efb4ff77f7e26876a09e4c3753ee9b5d75dd1f6 100644 --- a/vendor/zendframework/zendrest/composer.json +++ b/vendor/zendframework/zendrest/composer.json @@ -21,12 +21,8 @@ ], "require": { "php": ">=5.3.3", - "zendframework/zend-http": ">=2.0.0", - "zendframework/zend-uri": ">=2.0.0" - }, - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } + "zendframework/zend-http": "~2.0", + "zendframework/zend-uri": "~2.0", + "zendframework/zendxml": "~1.0-dev" } } diff --git a/vendor/zendframework/zendrest/library/ZendRest/Client/RestClient.php b/vendor/zendframework/zendrest/library/ZendRest/Client/RestClient.php index c009de19d5fc6d7b0dc96862da4444e62c0efce1..6f44738e373f26ddca4d93ec86765fb986e02499 100644 --- a/vendor/zendframework/zendrest/library/ZendRest/Client/RestClient.php +++ b/vendor/zendframework/zendrest/library/ZendRest/Client/RestClient.php @@ -74,6 +74,7 @@ class RestClient if (null === $this->httpClient) { $this->setHttpClient(new HttpClient()); } + return $this->httpClient; } @@ -250,25 +251,26 @@ class RestClient $response = $this->{'rest' . $method}($args[0], $data); $this->data = array(); //Initializes for next Rest method. return new Result($response->getBody()); - } else { - // More than one arg means it's definitely a Zend_Rest_Server - if (count($args) == 1) { - // Uses first called function name as method name - if (!isset($this->data['method'])) { - $this->data['method'] = $method; - $this->data['arg1'] = $args[0]; - } - $this->data[$method] = $args[0]; - } else { - $this->data['method'] = $method; - if (count($args) > 0) { - foreach ($args as $key => $arg) { - $key = 'arg' . $key; - $this->data[$key] = $arg; - } - } - } - return $this; } + + // More than one arg means it's definitely a Zend_Rest_Server + if (count($args) == 1) { + // Uses first called function name as method name + if (!isset($this->data['method'])) { + $this->data['method'] = $method; + $this->data['arg1'] = $args[0]; + } + $this->data[$method] = $args[0]; + } else { + $this->data['method'] = $method; + if (count($args) > 0) { + foreach ($args as $key => $arg) { + $key = 'arg' . $key; + $this->data[$key] = $arg; + } + } + } + + return $this; } } diff --git a/vendor/zendframework/zendrest/library/ZendRest/Client/Result.php b/vendor/zendframework/zendrest/library/ZendRest/Client/Result.php index 33868b9d12bc29e678cc116818a004a02c4c5251..b1946dc48fea802d47cfb1464254437f93f9f924 100644 --- a/vendor/zendframework/zendrest/library/ZendRest/Client/Result.php +++ b/vendor/zendframework/zendrest/library/ZendRest/Client/Result.php @@ -11,6 +11,7 @@ namespace ZendRest\Client; use IteratorAggregate; +use ZendXml\Security as XmlSecurity; /** * @category Zend @@ -40,7 +41,7 @@ class Result implements IteratorAggregate public function __construct($data) { set_error_handler(array($this, 'handleXmlErrors')); - $this->_sxml = simplexml_load_string($data); + $this->_sxml = XmlSecurity::scan($data); restore_error_handler(); if($this->_sxml === false) { if ($this->_errstr === null) { @@ -100,9 +101,9 @@ class Result implements IteratorAggregate return null; } elseif ($count == 1) { return $result[0]; - } else { - return $result; } + + return $result; } /** @@ -119,13 +120,12 @@ class Result implements IteratorAggregate if (null !== ($value = $this->__get($method))) { if (!is_array($value)) { return $this->toValue($value); - } else { - $return = array(); - foreach ($value as $element) { - $return[] = $this->toValue($element); - } - return $return; } + $return = array(); + foreach ($value as $element) { + $return[] = $this->toValue($element); + } + return $return; } return null; @@ -178,9 +178,9 @@ class Result implements IteratorAggregate return true; } elseif (ctype_alpha($status) && $status != 'success') { return false; - } else { - return (bool) $status; } + + return (bool) $status; } public function isError() @@ -188,9 +188,9 @@ class Result implements IteratorAggregate $status = $this->getStatus(); if ($status) { return false; - } else { - return true; } + + return true; } public function isSuccess() @@ -198,9 +198,9 @@ class Result implements IteratorAggregate $status = $this->getStatus(); if ($status) { return true; - } else { - return false; } + + return false; } /** @@ -215,13 +215,14 @@ class Result implements IteratorAggregate if (!$this->getStatus()) { $message = $this->_sxml->xpath('//message'); return (string) $message[0]; + } + + $result = $this->_sxml->xpath('//response'); + + if (count($result) > 1) { + return (string) "An error occured."; } else { - $result = $this->_sxml->xpath('//response'); - if (count($result) > 1) { - return (string) "An error occured."; - } else { - return (string) $result[0]; - } + return (string) $result[0]; } } } diff --git a/vendor/zendframework/zendrest/tests/ZendRest/ClientTest.php b/vendor/zendframework/zendrest/tests/ZendRest/ClientTest.php index d1828b72e312849f3ef719773d9dbbfb02cc09fb..3a28507930ae721d2257e232310d7d7f189047f3 100644 --- a/vendor/zendframework/zendrest/tests/ZendRest/ClientTest.php +++ b/vendor/zendframework/zendrest/tests/ZendRest/ClientTest.php @@ -273,7 +273,7 @@ class ClientTest extends \PHPUnit_Framework_TestCase */ public function testInvalidXmlInClientResultLeadsToException() { - $this->setExpectedException('ZendRest\Client\Exception\ResultException', 'REST Response Error'); + $this->setExpectedException('ZendRest\Client\Exception\ResultException'); $result = new Client\Result("invalidxml"); } } diff --git a/vendor/zendframework/zendxml/.gitignore b/vendor/zendframework/zendxml/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..0a4f6e27f51cfbb9496f5c261d9c1583a8cf1d75 --- /dev/null +++ b/vendor/zendframework/zendxml/.gitignore @@ -0,0 +1,5 @@ +composer.lock +vendor +.buildpath +.project +.settings diff --git a/vendor/zendframework/zendxml/.travis.yml b/vendor/zendframework/zendxml/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..0b2847df4f53b91d9fdad66a1043087e8db23309 --- /dev/null +++ b/vendor/zendframework/zendxml/.travis.yml @@ -0,0 +1,17 @@ +language: php +php: + - 5.3 + - 5.4 + - 5.5 + +before_script: + - composer self-update + - composer install --dev + +script: + - ./vendor/bin/phpunit -c ./tests + - ./bin/check-cs.sh + +notifications: + irc: "irc.freenode.org#zftalk.dev" + email: false diff --git a/vendor/zendframework/zendxml/README.md b/vendor/zendframework/zendxml/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2c67008da9d0abc452f54f651d4182746b2a53c9 --- /dev/null +++ b/vendor/zendframework/zendxml/README.md @@ -0,0 +1,50 @@ +ZendXml +======= + +An utility component for XML usage and best practices in PHP + +Installation +------------ + +You can install using: + +``` +curl -s https://getcomposer.org/installer | php +php composer.phar install +``` + +Notice that this library doesn't have any external dependencies, the usage of composer is for autoloading and standard purpose. + + +ZendXml\Security +---------------- + +This is a security component to prevent [XML eXternal Entity](https://www.owasp.org/index.php/XML_External_Entity_%28XXE%29_Processing) (XXE) and [XML Entity Expansion](http://projects.webappsec.org/w/page/13247002/XML%20Entity%20Expansion) (XEE) attacks on XML documents. + +The XXE attack is prevented disabling the load of external entities in the libxml library used by PHP, using the function [libxml_disable_entity_loader](http://www.php.net/manual/en/function.libxml-disable-entity-loader.php). + +The XEE attack is prevented looking inside the XML document for ENTITY usage. If the XML document uses ENTITY the library throw an Exception. + +We have two static methods to scan and load XML document from a string (scan) and from a file (scanFile). You can decide to get a SimpleXMLElement or DOMDocument as result, using the following use cases: + +```php +use ZendXml\Security as XmlSecurity; + +$xml = <<<XML +<?xml version="1.0"?> +<results> + <result>test</result> +</results> +XML; + +// SimpleXML use case +$simplexml = XmlSecurity::scan($xml); +printf ("SimpleXMLElement: %s\n", ($simplexml instanceof \SimpleXMLElement) ? 'yes' : 'no'); + +// DOMDocument use case +$dom = new \DOMDocument('1.0'); +$dom = XmlSecurity::scan($xml, $dom); +printf ("DOMDocument: %s\n", ($dom instanceof \DOMDocument) ? 'yes' : 'no'); +``` + + diff --git a/vendor/zendframework/zendxml/bin/check-cs.sh b/vendor/zendframework/zendxml/bin/check-cs.sh new file mode 100644 index 0000000000000000000000000000000000000000..018adb5577a901cb6875b21d1808b452ad7b2491 --- /dev/null +++ b/vendor/zendframework/zendxml/bin/check-cs.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +FIXER_CONFIG="`dirname $0`/../.php_cs" +FIXER_PATH="`dirname $0`/../vendor/fabpot/php-cs-fixer/php-cs-fixer" +CS="" + +( + cd "`dirname $0`/../" ; + CS=$(php vendor/fabpot/php-cs-fixer/php-cs-fixer fix -v --dry-run .) +) + +if [[ "$CS" ]]; +then + echo -en '\E[31m'"$CS\033[1m\033[0m"; + printf "\n"; + echo -en '\E[31;47m'"\033[1mCoding standards check failed!\033[0m" + printf "\n"; + exit 2; +fi + +echo -en '\E[32m'"\033[1mCoding standards check passed!\033[0m" +printf "\n"; + +echo $CS diff --git a/vendor/zendframework/zendxml/composer.json b/vendor/zendframework/zendxml/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..3b4ca91debbb5bf04a01b3d7ed0eb04aab55cffc --- /dev/null +++ b/vendor/zendframework/zendxml/composer.json @@ -0,0 +1,35 @@ +{ + "name": "zendframework/zendxml", + "description": "Utility library for XML usage, best practices, and security in PHP", + "type": "library", + "license": "BSD-3-Clause", + "keywords": [ + "zf2", + "xml", + "security" + ], + "homepage": "http://packages.zendframework.com/", + "autoload": { + "psr-0": { + "ZendXml": "library/" + } + }, + "repositories": [ + { + "type": "composer", + "url": "http://packages.zendframework.com/" + } + ], + "require": { + "php": ">=5.3.3" + }, + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "require-dev": { + "fabpot/php-cs-fixer": "*@dev", + "phpunit/phpunit": "~3.7" + } +} diff --git a/vendor/zendframework/zendxml/library/ZendXml/Exception/ExceptionInterface.php b/vendor/zendframework/zendxml/library/ZendXml/Exception/ExceptionInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..c55eb9034cef7a1b9dde2fd50b298c8492bb2817 --- /dev/null +++ b/vendor/zendframework/zendxml/library/ZendXml/Exception/ExceptionInterface.php @@ -0,0 +1,14 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace ZendXml\Exception; + +interface ExceptionInterface +{ +} diff --git a/vendor/zendframework/zendxml/library/ZendXml/Exception/InvalidArgumentException.php b/vendor/zendframework/zendxml/library/ZendXml/Exception/InvalidArgumentException.php new file mode 100644 index 0000000000000000000000000000000000000000..819fb9f6e633b41063efebd1777c7ba970f9fa35 --- /dev/null +++ b/vendor/zendframework/zendxml/library/ZendXml/Exception/InvalidArgumentException.php @@ -0,0 +1,19 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace ZendXml\Exception; + +/** + * Invalid argument exception + */ +class InvalidArgumentException + extends \InvalidArgumentException + implements ExceptionInterface +{ +} diff --git a/vendor/zendframework/zendxml/library/ZendXml/Exception/RuntimeException.php b/vendor/zendframework/zendxml/library/ZendXml/Exception/RuntimeException.php new file mode 100644 index 0000000000000000000000000000000000000000..1d5f50625e9c79d74fc14b4118a0ec7c506d0975 --- /dev/null +++ b/vendor/zendframework/zendxml/library/ZendXml/Exception/RuntimeException.php @@ -0,0 +1,19 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace ZendXml\Exception; + +/** + * Runtime exception + */ +class RuntimeException + extends \RuntimeException + implements ExceptionInterface +{ +} diff --git a/vendor/zendframework/zendxml/library/ZendXml/Security.php b/vendor/zendframework/zendxml/library/ZendXml/Security.php new file mode 100644 index 0000000000000000000000000000000000000000..a0dc8a101afa155e2181710bf3411c22ff95e79e --- /dev/null +++ b/vendor/zendframework/zendxml/library/ZendXml/Security.php @@ -0,0 +1,135 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ +namespace ZendXml; + +use DOMDocument; +use SimpleXMLElement; + +class Security +{ + const ENTITY_DETECT = 'Detected use of ENTITY in XML, disabled to prevent XXE/XEE attacks'; + + /** + * Heuristic scan to detect entity in XML + * + * @param string $xml + * @throws Exception\RuntimeException + */ + protected static function heuristicScan($xml) + { + if (strpos($xml, '<!ENTITY') !== false) { + throw new Exception\RuntimeException(self::ENTITY_DETECT); + } + } + + /** + * Scan XML string for potential XXE and XEE attacks + * + * @param string $xml + * @param DomDocument $dom + * @throws Exception\RuntimeException + * @return SimpleXMLElement|DomDocument|boolean + */ + public static function scan($xml, DOMDocument $dom = null) + { + // If running with PHP-FPM we perform an heuristic scan + // We cannot use libxml_disable_entity_loader because of this bug + // @see https://bugs.php.net/bug.php?id=64938 + if (self::isPhpFpm()) { + self::heuristicScan($xml); + } + + if (null === $dom) { + $simpleXml = true; + $dom = new DOMDocument(); + } + + if (!self::isPhpFpm()) { + $loadEntities = libxml_disable_entity_loader(true); + $useInternalXmlErrors = libxml_use_internal_errors(true); + } + + // Load XML with network access disabled (LIBXML_NONET) + // error disabled with @ for PHP-FPM scenario + set_error_handler(function ($errno, $errstr) { + if (substr_count($errstr, 'DOMDocument::loadXML()') > 0) { + return true; + } + return false; + }, E_WARNING); + $result = $dom->loadXml($xml, LIBXML_NONET); + restore_error_handler(); + + if (!$result) { + // Entity load to previous setting + if (!self::isPhpFpm()) { + libxml_disable_entity_loader($loadEntities); + libxml_use_internal_errors($useInternalXmlErrors); + } + return false; + } + + // Scan for potential XEE attacks using ENTITY, if not PHP-FPM + if (!self::isPhpFpm()) { + foreach ($dom->childNodes as $child) { + if ($child->nodeType === XML_DOCUMENT_TYPE_NODE) { + if ($child->entities->length > 0) { + throw new Exception\RuntimeException(self::ENTITY_DETECT); + } + } + } + } + + // Entity load to previous setting + if (!self::isPhpFpm()) { + libxml_disable_entity_loader($loadEntities); + libxml_use_internal_errors($useInternalXmlErrors); + } + + if (isset($simpleXml)) { + $result = simplexml_import_dom($dom); + if (!$result instanceof SimpleXMLElement) { + return false; + } + return $result; + } + return $dom; + } + + /** + * Scan XML file for potential XXE/XEE attacks + * + * @param string $file + * @param DOMDocument $dom + * @throws Exception\InvalidArgumentException + * @return SimpleXMLElement|DomDocument + */ + public static function scanFile($file, DOMDocument $dom = null) + { + if (!file_exists($file)) { + throw new Exception\InvalidArgumentException( + "The file $file specified doesn't exist" + ); + } + return self::scan(file_get_contents($file), $dom); + } + + /** + * Return true if PHP is running with PHP-FPM + * + * @return boolean + */ + public static function isPhpFpm() + { + if (substr(php_sapi_name(), 0, 3) === 'fpm') { + return true; + } + return false; + } +} diff --git a/vendor/zendframework/zendxml/tests/Bootstrap.php b/vendor/zendframework/zendxml/tests/Bootstrap.php new file mode 100644 index 0000000000000000000000000000000000000000..a9d0e6a5511f5637e60c2b98bc2a9dc45aa5448e --- /dev/null +++ b/vendor/zendframework/zendxml/tests/Bootstrap.php @@ -0,0 +1,92 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + * @package Zend + */ + +/** + * Set error reporting to the level to which Zend Framework code must comply. + */ +error_reporting( E_ALL | E_STRICT ); + +if (class_exists('PHPUnit_Runner_Version', true)) { + $phpUnitVersion = PHPUnit_Runner_Version::id(); + if ('@package_version@' !== $phpUnitVersion && version_compare($phpUnitVersion, '3.7.0', '<')) { + echo 'This version of PHPUnit (' . + PHPUnit_Runner_Version::id() . + ') is not supported for ZendXml unit tests - use v 3.7.0 or higher.' + . PHP_EOL + ; + exit(1); + } + unset($phpUnitVersion); +} + +/** + * Setup autoloading + */ +// Try to use Composer autoloader +if (file_exists(__DIR__ . '/../vendor/autoload.php')) { + include_once __DIR__ . '/../vendor/autoload.php'; +} +// ... or use a simple SPL autoloader +else{ + + // update include path + set_include_path(implode(PATH_SEPARATOR, array( + __DIR__.'/../src', + __DIR__, + get_include_path() + ))); + + /** + * @link https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md#example-implementation + */ + spl_autoload_register(function ($className) { + $className = ltrim($className, '\\'); + $fileName = ''; + $namespace = ''; + if ($lastNsPos = strrpos($className, '\\')) { + $namespace = substr($className, 0, $lastNsPos); + $className = substr($className, $lastNsPos + 1); + $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; + } + $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; + require $fileName; + }); + +} + +/** + * Code coverage option + */ +if (defined('TESTS_GENERATE_REPORT') && TESTS_GENERATE_REPORT === true) { + $codeCoverageFilter = new PHP_CodeCoverage_Filter(); + + $lastArg = end($_SERVER['argv']); + if (is_dir($zfCoreTests . '/' . $lastArg)) { + $codeCoverageFilter->addDirectoryToWhitelist($zfCoreLibrary . '/' . $lastArg); + } elseif (is_file($zfCoreTests . '/' . $lastArg)) { + $codeCoverageFilter->addDirectoryToWhitelist(dirname($zfCoreLibrary . '/' . $lastArg)); + } else { + $codeCoverageFilter->addDirectoryToWhitelist($zfCoreLibrary); + } + + /* + * Omit from code coverage reports the contents of the tests directory + */ + $codeCoverageFilter->addDirectoryToBlacklist($zfCoreTests, ''); + $codeCoverageFilter->addDirectoryToBlacklist(PEAR_INSTALL_DIR, ''); + $codeCoverageFilter->addDirectoryToBlacklist(PHP_LIBDIR, ''); + + unset($codeCoverageFilter); +} + +/* + * Unset global variables that are no longer needed. + */ +unset($phpUnitVersion); diff --git a/vendor/zendframework/zendxml/tests/ZendXmlTest/SecurityTest.php b/vendor/zendframework/zendxml/tests/ZendXmlTest/SecurityTest.php new file mode 100644 index 0000000000000000000000000000000000000000..4132505e5e18751fbe6a3c43134aee33d1ded719 --- /dev/null +++ b/vendor/zendframework/zendxml/tests/ZendXmlTest/SecurityTest.php @@ -0,0 +1,137 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ +namespace ZendTest\Xml; + +use ZendXml\Security as XmlSecurity; +use ZendXml\Exception; +use DOMDocument; +use SimpleXMLElement; + +class SecurityTest extends \PHPUnit_Framework_TestCase +{ + /** + * @expectedException ZendXml\Exception\RuntimeException + */ + public function testScanForXEE() + { + $xml = <<<XML +<?xml version="1.0"?> +<!DOCTYPE results [<!ENTITY harmless "completely harmless">]> +<results> + <result>This result is &harmless;</result> +</results> +XML; + + $this->setExpectedException('ZendXml\Exception\RuntimeException'); + $result = XmlSecurity::scan($xml); + } + + public function testScanForXXE() + { + $file = tempnam(sys_get_temp_dir(), 'ZendXml_Security'); + file_put_contents($file, 'This is a remote content!'); + $xml = <<<XML +<?xml version="1.0"?> +<!DOCTYPE root +[ +<!ENTITY foo SYSTEM "file://$file"> +]> +<results> + <result>&foo;</result> +</results> +XML; + + try { + $result = XmlSecurity::scan($xml); + } catch (Exception\RuntimeException $e) { + unlink($file); + return; + } + $this->fail('An expected exception has not been raised.'); + } + + public function testScanSimpleXmlResult() + { + $result = XmlSecurity::scan($this->_getXml()); + $this->assertTrue($result instanceof SimpleXMLElement); + $this->assertEquals($result->result, 'test'); + } + + public function testScanDom() + { + $dom = new DOMDocument('1.0'); + $result = XmlSecurity::scan($this->_getXml(), $dom); + $this->assertTrue($result instanceof DOMDocument); + $node = $result->getElementsByTagName('result')->item(0); + $this->assertEquals($node->nodeValue, 'test'); + } + + public function testScanInvalidXml() + { + $xml = <<<XML +<foo>test</bar> +XML; + + $result = XmlSecurity::scan($xml); + $this->assertFalse($result); + } + + public function testScanInvalidXmlDom() + { + $xml = <<<XML +<foo>test</bar> +XML; + + $dom = new DOMDocument('1.0'); + $result = XmlSecurity::scan($xml, $dom); + $this->assertFalse($result); + } + + public function testScanFile() + { + $file = tempnam(sys_get_temp_dir(), 'ZendXml_Security'); + file_put_contents($file, $this->_getXml()); + + $result = XmlSecurity::scanFile($file); + $this->assertTrue($result instanceof SimpleXMLElement); + $this->assertEquals($result->result, 'test'); + unlink($file); + } + + public function testScanXmlWithDTD() + { + $xml = <<<XML +<?xml version="1.0"?> +<!DOCTYPE results [ +<!ELEMENT results (result+)> +<!ELEMENT result (#PCDATA)> +]> +<results> + <result>test</result> +</results> +XML; + + $dom = new DOMDocument('1.0'); + $result = XmlSecurity::scan($xml, $dom); + $this->assertTrue($result instanceof DOMDocument); + $this->assertTrue($result->validate()); + } + + protected function _getXml() + { + return <<<XML +<?xml version="1.0"?> +<results> + <result>test</result> +</results> +XML; + + } + +} diff --git a/vendor/zendframework/zendxml/tests/phpunit.xml.dist b/vendor/zendframework/zendxml/tests/phpunit.xml.dist new file mode 100644 index 0000000000000000000000000000000000000000..069784bd7ffb7e593605a93ed101b981295e871c --- /dev/null +++ b/vendor/zendframework/zendxml/tests/phpunit.xml.dist @@ -0,0 +1,27 @@ +<phpunit bootstrap="./Bootstrap.php" colors="true"> + <testsuites> + <testsuite name="ZendXml Test Suite"> + <directory>./ZendXmlTest</directory> + <exclude>./ZendXmlTest/TestAsset</exclude> + </testsuite> + </testsuites> + + <groups> + <exclude> + </exclude> + </groups> + + <listeners> + </listeners> + + <filter> + <blacklist> + <directory suffix=".php">./ZendXmlTest</directory> + <directory>../vendor</directory> + </blacklist> + </filter> + + <php> + </php> + +</phpunit>