update v1.0.7.9 R.C.
This is a Release Candidate. We are still testing.
This commit is contained in:
23
vendor/zendframework/zend-uri/CHANGELOG.md
vendored
Normal file
23
vendor/zendframework/zend-uri/CHANGELOG.md
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file, in reverse chronological order by release.
|
||||
|
||||
## 2.5.2 - 2016-02-17
|
||||
|
||||
### Added
|
||||
|
||||
- Nothing.
|
||||
|
||||
### Deprecated
|
||||
|
||||
- Nothing.
|
||||
|
||||
### Removed
|
||||
|
||||
- Nothing.
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#3](https://github.com/zendframework/zend-uri/pull/3) updates dependencies to
|
||||
allow the component to work with both PHP 5 and PHP 7 versions, as well as
|
||||
all 2.X versions of required Zend components.
|
229
vendor/zendframework/zend-uri/CONTRIBUTING.md
vendored
Normal file
229
vendor/zendframework/zend-uri/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,229 @@
|
||||
# CONTRIBUTING
|
||||
|
||||
## RESOURCES
|
||||
|
||||
If you wish to contribute to Zend Framework, please be sure to
|
||||
read/subscribe to the following resources:
|
||||
|
||||
- [Coding Standards](https://github.com/zendframework/zf2/wiki/Coding-Standards)
|
||||
- [Contributor's Guide](http://framework.zend.com/participate/contributor-guide)
|
||||
- ZF Contributor's mailing list:
|
||||
Archives: http://zend-framework-community.634137.n4.nabble.com/ZF-Contributor-f680267.html
|
||||
Subscribe: zf-contributors-subscribe@lists.zend.com
|
||||
- ZF Contributor's IRC channel:
|
||||
#zftalk.dev on Freenode.net
|
||||
|
||||
If you are working on new features or refactoring [create a proposal](https://github.com/zendframework/zend-uri/issues/new).
|
||||
|
||||
## Reporting Potential Security Issues
|
||||
|
||||
If you have encountered a potential security vulnerability, please **DO NOT** report it on the public
|
||||
issue tracker: send it to us at [zf-security@zend.com](mailto:zf-security@zend.com) instead.
|
||||
We will work with you to verify the vulnerability and patch it as soon as possible.
|
||||
|
||||
When reporting issues, please provide the following information:
|
||||
|
||||
- Component(s) affected
|
||||
- A description indicating how to reproduce the issue
|
||||
- A summary of the security vulnerability and impact
|
||||
|
||||
We request that you contact us via the email address above and give the project
|
||||
contributors a chance to resolve the vulnerability and issue a new release prior
|
||||
to any public exposure; this helps protect users and provides them with a chance
|
||||
to upgrade and/or update in order to protect their applications.
|
||||
|
||||
For sensitive email communications, please use [our PGP key](http://framework.zend.com/zf-security-pgp-key.asc).
|
||||
|
||||
## RUNNING TESTS
|
||||
|
||||
> ### Note: testing versions prior to 2.4
|
||||
>
|
||||
> This component originates with Zend Framework 2. During the lifetime of ZF2,
|
||||
> testing infrastructure migrated from PHPUnit 3 to PHPUnit 4. In most cases, no
|
||||
> changes were necessary. However, due to the migration, tests may not run on
|
||||
> versions < 2.4. As such, you may need to change the PHPUnit dependency if
|
||||
> attempting a fix on such a version.
|
||||
|
||||
To run tests:
|
||||
|
||||
- Clone the repository:
|
||||
|
||||
```console
|
||||
$ git clone git@github.com:zendframework/zend-uri.git
|
||||
$ cd
|
||||
```
|
||||
|
||||
- Install dependencies via composer:
|
||||
|
||||
```console
|
||||
$ curl -sS https://getcomposer.org/installer | php --
|
||||
$ ./composer.phar install
|
||||
```
|
||||
|
||||
If you don't have `curl` installed, you can also download `composer.phar` from https://getcomposer.org/
|
||||
|
||||
- Run the tests via `phpunit` and the provided PHPUnit config, like in this example:
|
||||
|
||||
```console
|
||||
$ ./vendor/bin/phpunit
|
||||
```
|
||||
|
||||
You can turn on conditional tests with the phpunit.xml file.
|
||||
To do so:
|
||||
|
||||
- Copy `phpunit.xml.dist` file to `phpunit.xml`
|
||||
- Edit `phpunit.xml` to enable any specific functionality you
|
||||
want to test, as well as to provide test values to utilize.
|
||||
|
||||
## Running Coding Standards Checks
|
||||
|
||||
This component uses [php-cs-fixer](http://cs.sensiolabs.org/) for coding
|
||||
standards checks, and provides configuration for our selected checks.
|
||||
`php-cs-fixer` is installed by default via Composer.
|
||||
|
||||
To run checks only:
|
||||
|
||||
```console
|
||||
$ ./vendor/bin/php-cs-fixer fix . -v --diff --dry-run --config-file=.php_cs
|
||||
```
|
||||
|
||||
To have `php-cs-fixer` attempt to fix problems for you, omit the `--dry-run`
|
||||
flag:
|
||||
|
||||
```console
|
||||
$ ./vendor/bin/php-cs-fixer fix . -v --diff --config-file=.php_cs
|
||||
```
|
||||
|
||||
If you allow php-cs-fixer to fix CS issues, please re-run the tests to ensure
|
||||
they pass, and make sure you add and commit the changes after verification.
|
||||
|
||||
## Recommended Workflow for Contributions
|
||||
|
||||
Your first step is to establish a public repository from which we can
|
||||
pull your work into the master repository. We recommend using
|
||||
[GitHub](https://github.com), as that is where the component is already hosted.
|
||||
|
||||
1. Setup a [GitHub account](http://github.com/), if you haven't yet
|
||||
2. Fork the repository (http://github.com/zendframework/zend-uri)
|
||||
3. Clone the canonical repository locally and enter it.
|
||||
|
||||
```console
|
||||
$ git clone git://github.com:zendframework/zend-uri.git
|
||||
$ cd zend-uri
|
||||
```
|
||||
|
||||
4. Add a remote to your fork; substitute your GitHub username in the command
|
||||
below.
|
||||
|
||||
```console
|
||||
$ git remote add {username} git@github.com:{username}/zend-uri.git
|
||||
$ git fetch {username}
|
||||
```
|
||||
|
||||
### Keeping Up-to-Date
|
||||
|
||||
Periodically, you should update your fork or personal repository to
|
||||
match the canonical ZF repository. Assuming you have setup your local repository
|
||||
per the instructions above, you can do the following:
|
||||
|
||||
|
||||
```console
|
||||
$ git checkout master
|
||||
$ git fetch origin
|
||||
$ git rebase origin/master
|
||||
# OPTIONALLY, to keep your remote up-to-date -
|
||||
$ git push {username} master:master
|
||||
```
|
||||
|
||||
If you're tracking other branches -- for example, the "develop" branch, where
|
||||
new feature development occurs -- you'll want to do the same operations for that
|
||||
branch; simply substitute "develop" for "master".
|
||||
|
||||
### Working on a patch
|
||||
|
||||
We recommend you do each new feature or bugfix in a new branch. This simplifies
|
||||
the task of code review as well as the task of merging your changes into the
|
||||
canonical repository.
|
||||
|
||||
A typical workflow will then consist of the following:
|
||||
|
||||
1. Create a new local branch based off either your master or develop branch.
|
||||
2. Switch to your new local branch. (This step can be combined with the
|
||||
previous step with the use of `git checkout -b`.)
|
||||
3. Do some work, commit, repeat as necessary.
|
||||
4. Push the local branch to your remote repository.
|
||||
5. Send a pull request.
|
||||
|
||||
The mechanics of this process are actually quite trivial. Below, we will
|
||||
create a branch for fixing an issue in the tracker.
|
||||
|
||||
```console
|
||||
$ git checkout -b hotfix/9295
|
||||
Switched to a new branch 'hotfix/9295'
|
||||
```
|
||||
|
||||
... do some work ...
|
||||
|
||||
|
||||
```console
|
||||
$ git commit
|
||||
```
|
||||
|
||||
... write your log message ...
|
||||
|
||||
|
||||
```console
|
||||
$ git push {username} hotfix/9295:hotfix/9295
|
||||
Counting objects: 38, done.
|
||||
Delta compression using up to 2 threads.
|
||||
Compression objects: 100% (18/18), done.
|
||||
Writing objects: 100% (20/20), 8.19KiB, done.
|
||||
Total 20 (delta 12), reused 0 (delta 0)
|
||||
To ssh://git@github.com/{username}/zend-uri.git
|
||||
b5583aa..4f51698 HEAD -> master
|
||||
```
|
||||
|
||||
To send a pull request, you have two options.
|
||||
|
||||
If using GitHub, you can do the pull request from there. Navigate to
|
||||
your repository, select the branch you just created, and then select the
|
||||
"Pull Request" button in the upper right. Select the user/organization
|
||||
"zendframework" as the recipient.
|
||||
|
||||
If using your own repository - or even if using GitHub - you can use `git
|
||||
format-patch` to create a patchset for us to apply; in fact, this is
|
||||
**recommended** for security-related patches. If you use `format-patch`, please
|
||||
send the patches as attachments to:
|
||||
|
||||
- zf-devteam@zend.com for patches without security implications
|
||||
- zf-security@zend.com for security patches
|
||||
|
||||
#### What branch to issue the pull request against?
|
||||
|
||||
Which branch should you issue a pull request against?
|
||||
|
||||
- For fixes against the stable release, issue the pull request against the
|
||||
"master" branch.
|
||||
- For new features, or fixes that introduce new elements to the public API (such
|
||||
as new public methods or properties), issue the pull request against the
|
||||
"develop" branch.
|
||||
|
||||
### Branch Cleanup
|
||||
|
||||
As you might imagine, if you are a frequent contributor, you'll start to
|
||||
get a ton of branches both locally and on your remote.
|
||||
|
||||
Once you know that your changes have been accepted to the master
|
||||
repository, we suggest doing some cleanup of these branches.
|
||||
|
||||
- Local branch cleanup
|
||||
|
||||
```console
|
||||
$ git branch -d <branchname>
|
||||
```
|
||||
|
||||
- Remote branch removal
|
||||
|
||||
```console
|
||||
$ git push {username} :<branchname>
|
||||
```
|
28
vendor/zendframework/zend-uri/LICENSE.md
vendored
Normal file
28
vendor/zendframework/zend-uri/LICENSE.md
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
Copyright (c) 2005-2015, Zend Technologies USA, Inc.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
- Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
- Neither the name of Zend Technologies USA, Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
vendor/zendframework/zend-uri/README.md
vendored
Normal file
13
vendor/zendframework/zend-uri/README.md
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# zend-uri
|
||||
|
||||
[](https://secure.travis-ci.org/zendframework/zend-uri)
|
||||
[](https://coveralls.io/r/zendframework/zend-uri?branch=master)
|
||||
|
||||
`Zend\Uri` is a component that aids in manipulating and validating Uniform
|
||||
Resource Identifiers ([URIs](http://www.ietf.org/rfc/rfc3986.txt)). `Zend\Uri`
|
||||
exists primarily to service other components, such as `Zend\Http`, but is also
|
||||
useful as a standalone utility.
|
||||
|
||||
|
||||
- File issues at https://github.com/zendframework/zend-uri/issues
|
||||
- Documentation is at http://framework.zend.com/manual/current/en/index.html#zend-uri
|
35
vendor/zendframework/zend-uri/composer.json
vendored
Normal file
35
vendor/zendframework/zend-uri/composer.json
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "zendframework/zend-uri",
|
||||
"description": "a component that aids in manipulating and validating \u00bb Uniform Resource Identifiers (URIs)",
|
||||
"license": "BSD-3-Clause",
|
||||
"keywords": [
|
||||
"zf2",
|
||||
"uri"
|
||||
],
|
||||
"homepage": "https://github.com/zendframework/zend-uri",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Zend\\Uri\\": "src/"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.5 || ^7.0",
|
||||
"zendframework/zend-escaper": "^2.5",
|
||||
"zendframework/zend-validator": "^2.5"
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.5-dev",
|
||||
"dev-develop": "2.6-dev"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"ZendTest\\Uri\\": "test/"
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"fabpot/php-cs-fixer": "1.7.*",
|
||||
"phpunit/PHPUnit": "~4.0"
|
||||
}
|
||||
}
|
17
vendor/zendframework/zend-uri/src/Exception/ExceptionInterface.php
vendored
Normal file
17
vendor/zendframework/zend-uri/src/Exception/ExceptionInterface.php
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri\Exception;
|
||||
|
||||
/**
|
||||
* Exception for Zend\Uri
|
||||
*/
|
||||
interface ExceptionInterface
|
||||
{
|
||||
}
|
14
vendor/zendframework/zend-uri/src/Exception/InvalidArgumentException.php
vendored
Normal file
14
vendor/zendframework/zend-uri/src/Exception/InvalidArgumentException.php
vendored
Normal file
@@ -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-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri\Exception;
|
||||
|
||||
class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
|
||||
{
|
||||
}
|
17
vendor/zendframework/zend-uri/src/Exception/InvalidUriException.php
vendored
Normal file
17
vendor/zendframework/zend-uri/src/Exception/InvalidUriException.php
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri\Exception;
|
||||
|
||||
/**
|
||||
* Exceptions for Zend\Uri
|
||||
*/
|
||||
class InvalidUriException extends InvalidArgumentException implements ExceptionInterface
|
||||
{
|
||||
}
|
29
vendor/zendframework/zend-uri/src/Exception/InvalidUriPartException.php
vendored
Normal file
29
vendor/zendframework/zend-uri/src/Exception/InvalidUriPartException.php
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri\Exception;
|
||||
|
||||
class InvalidUriPartException extends InvalidArgumentException
|
||||
{
|
||||
/**
|
||||
* Part-specific error codes
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
const INVALID_SCHEME = 1;
|
||||
const INVALID_USER = 2;
|
||||
const INVALID_PASSWORD = 4;
|
||||
const INVALID_USERINFO = 6;
|
||||
const INVALID_HOSTNAME = 8;
|
||||
const INVALID_PORT = 16;
|
||||
const INVALID_AUTHORITY = 30;
|
||||
const INVALID_PATH = 32;
|
||||
const INVALID_QUERY = 64;
|
||||
const INVALID_FRAGMENT = 128;
|
||||
}
|
101
vendor/zendframework/zend-uri/src/File.php
vendored
Normal file
101
vendor/zendframework/zend-uri/src/File.php
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri;
|
||||
|
||||
/**
|
||||
* File URI handler
|
||||
*
|
||||
* The 'file:...' scheme is loosely defined in RFC-1738
|
||||
*/
|
||||
class File extends Uri
|
||||
{
|
||||
protected static $validSchemes = ['file'];
|
||||
|
||||
/**
|
||||
* Check if the URI is a valid File URI
|
||||
*
|
||||
* This applies additional specific validation rules beyond the ones
|
||||
* required by the generic URI syntax.
|
||||
*
|
||||
* @return bool
|
||||
* @see Uri::isValid()
|
||||
*/
|
||||
public function isValid()
|
||||
{
|
||||
if ($this->query) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return parent::isValid();
|
||||
}
|
||||
|
||||
/**
|
||||
* User Info part is not used in file URIs
|
||||
*
|
||||
* @see Uri::setUserInfo()
|
||||
* @param string $userInfo
|
||||
* @return File
|
||||
*/
|
||||
public function setUserInfo($userInfo)
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fragment part is not used in file URIs
|
||||
*
|
||||
* @see Uri::setFragment()
|
||||
* @param string $fragment
|
||||
* @return File
|
||||
*/
|
||||
public function setFragment($fragment)
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a UNIX file path to a valid file:// URL
|
||||
*
|
||||
* @param string $path
|
||||
* @return File
|
||||
*/
|
||||
public static function fromUnixPath($path)
|
||||
{
|
||||
$url = new static('file:');
|
||||
if (substr($path, 0, 1) == '/') {
|
||||
$url->setHost('');
|
||||
}
|
||||
|
||||
$url->setPath($path);
|
||||
return $url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a Windows file path to a valid file:// URL
|
||||
*
|
||||
* @param string $path
|
||||
* @return File
|
||||
*/
|
||||
public static function fromWindowsPath($path)
|
||||
{
|
||||
$url = new static('file:');
|
||||
|
||||
// Convert directory separators
|
||||
$path = str_replace(['/', '\\'], ['%2F', '/'], $path);
|
||||
|
||||
// Is this an absolute path?
|
||||
if (preg_match('|^([a-zA-Z]:)?/|', $path)) {
|
||||
$url->setHost('');
|
||||
}
|
||||
|
||||
$url->setPath($path);
|
||||
return $url;
|
||||
}
|
||||
}
|
224
vendor/zendframework/zend-uri/src/Http.php
vendored
Normal file
224
vendor/zendframework/zend-uri/src/Http.php
vendored
Normal file
@@ -0,0 +1,224 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri;
|
||||
|
||||
/**
|
||||
* HTTP URI handler
|
||||
*/
|
||||
class Http extends Uri
|
||||
{
|
||||
/**
|
||||
* @see Uri::$validSchemes
|
||||
*/
|
||||
protected static $validSchemes = [
|
||||
'http',
|
||||
'https'
|
||||
];
|
||||
|
||||
/**
|
||||
* @see Uri::$defaultPorts
|
||||
*/
|
||||
protected static $defaultPorts = [
|
||||
'http' => 80,
|
||||
'https' => 443,
|
||||
];
|
||||
|
||||
/**
|
||||
* @see Uri::$validHostTypes
|
||||
*/
|
||||
protected $validHostTypes = self::HOST_DNS_OR_IPV4_OR_IPV6_OR_REGNAME;
|
||||
|
||||
/**
|
||||
* User name as provided in authority of URI
|
||||
* @var null|string
|
||||
*/
|
||||
protected $user;
|
||||
|
||||
/**
|
||||
* Password as provided in authority of URI
|
||||
* @var null|string
|
||||
*/
|
||||
protected $password;
|
||||
|
||||
/**
|
||||
* Get the username part (before the ':') of the userInfo URI part
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getUser()
|
||||
{
|
||||
return $this->user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the password part (after the ':') of the userInfo URI part
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getPassword()
|
||||
{
|
||||
return $this->password;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the User-info (usually user:password) part
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getUserInfo()
|
||||
{
|
||||
return $this->userInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the username part (before the ':') of the userInfo URI part
|
||||
*
|
||||
* @param string|null $user
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setUser($user)
|
||||
{
|
||||
$this->user = null === $user ? null : (string) $user;
|
||||
|
||||
$this->buildUserInfo();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the password part (after the ':') of the userInfo URI part
|
||||
*
|
||||
* @param string $password
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setPassword($password)
|
||||
{
|
||||
$this->password = null === $password ? null : (string) $password;
|
||||
|
||||
$this->buildUserInfo();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the URI User-info part (usually user:password)
|
||||
*
|
||||
* @param string|null $userInfo
|
||||
*
|
||||
* @return self
|
||||
*
|
||||
* @throws Exception\InvalidUriPartException If the schema definition does not have this part
|
||||
*/
|
||||
public function setUserInfo($userInfo)
|
||||
{
|
||||
$this->userInfo = null === $userInfo ? null : (string) $userInfo;
|
||||
|
||||
$this->parseUserInfo();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate the host part of an HTTP URI
|
||||
*
|
||||
* This overrides the common URI validation method with a DNS or IP only
|
||||
* default. Users may still enforce allowing other host types.
|
||||
*
|
||||
* @param string $host
|
||||
* @param int $allowed
|
||||
* @return bool
|
||||
*/
|
||||
public static function validateHost($host, $allowed = self::HOST_DNS_OR_IPV4_OR_IPV6)
|
||||
{
|
||||
return parent::validateHost($host, $allowed);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse the user info into username and password segments
|
||||
*
|
||||
* Parses the user information into username and password segments, and
|
||||
* then sets the appropriate values.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function parseUserInfo()
|
||||
{
|
||||
// No user information? we're done
|
||||
if (null === $this->userInfo) {
|
||||
$this->setUser(null);
|
||||
$this->setPassword(null);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// If no ':' separator, we only have a username
|
||||
if (false === strpos($this->userInfo, ':')) {
|
||||
$this->setUser($this->userInfo);
|
||||
$this->setPassword(null);
|
||||
return;
|
||||
}
|
||||
|
||||
// Split on the ':', and set both user and password
|
||||
list($this->user, $this->password) = explode(':', $this->userInfo, 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the user info based on user and password
|
||||
*
|
||||
* Builds the user info based on the given user and password values
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function buildUserInfo()
|
||||
{
|
||||
if (null !== $this->password) {
|
||||
$this->userInfo = $this->user . ':' . $this->password;
|
||||
} else {
|
||||
$this->userInfo = $this->user;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the URI port
|
||||
*
|
||||
* If no port is set, will return the default port according to the scheme
|
||||
*
|
||||
* @return int
|
||||
* @see Zend\Uri\Uri::getPort()
|
||||
*/
|
||||
public function getPort()
|
||||
{
|
||||
if (empty($this->port)) {
|
||||
if (array_key_exists($this->scheme, static::$defaultPorts)) {
|
||||
return static::$defaultPorts[$this->scheme];
|
||||
}
|
||||
}
|
||||
return $this->port;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a URI string
|
||||
*
|
||||
* @param string $uri
|
||||
* @return Http
|
||||
*/
|
||||
public function parse($uri)
|
||||
{
|
||||
parent::parse($uri);
|
||||
|
||||
if (empty($this->path)) {
|
||||
$this->path = '/';
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
109
vendor/zendframework/zend-uri/src/Mailto.php
vendored
Normal file
109
vendor/zendframework/zend-uri/src/Mailto.php
vendored
Normal file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri;
|
||||
|
||||
use Zend\Validator\EmailAddress as EmailValidator;
|
||||
use Zend\Validator\ValidatorInterface;
|
||||
|
||||
/**
|
||||
* "Mailto" URI handler
|
||||
*
|
||||
* The 'mailto:...' scheme is loosely defined in RFC-1738
|
||||
*/
|
||||
class Mailto extends Uri
|
||||
{
|
||||
protected static $validSchemes = ['mailto'];
|
||||
|
||||
/**
|
||||
* Validator for use when validating email address
|
||||
* @var ValidatorInterface
|
||||
*/
|
||||
protected $emailValidator;
|
||||
|
||||
/**
|
||||
* Check if the URI is a valid Mailto URI
|
||||
*
|
||||
* This applies additional specific validation rules beyond the ones
|
||||
* required by the generic URI syntax
|
||||
*
|
||||
* @return bool
|
||||
* @see Uri::isValid()
|
||||
*/
|
||||
public function isValid()
|
||||
{
|
||||
if ($this->host || $this->userInfo || $this->port) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (empty($this->path)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (0 === strpos($this->path, '/')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$validator = $this->getValidator();
|
||||
return $validator->isValid($this->path);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the email address
|
||||
*
|
||||
* This is in fact equivalent to setPath() - but provides a more clear interface
|
||||
*
|
||||
* @param string $email
|
||||
* @return Mailto
|
||||
*/
|
||||
public function setEmail($email)
|
||||
{
|
||||
return $this->setPath($email);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the email address
|
||||
*
|
||||
* This is infact equivalent to getPath() - but provides a more clear interface
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getEmail()
|
||||
{
|
||||
return $this->getPath();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set validator to use when validating email address
|
||||
*
|
||||
* @param ValidatorInterface $validator
|
||||
* @return Mailto
|
||||
*/
|
||||
public function setValidator(ValidatorInterface $validator)
|
||||
{
|
||||
$this->emailValidator = $validator;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve validator for use with validating email address
|
||||
*
|
||||
* If none is currently set, an EmailValidator instance with default options
|
||||
* will be used.
|
||||
*
|
||||
* @return ValidatorInterface
|
||||
*/
|
||||
public function getValidator()
|
||||
{
|
||||
if (null === $this->emailValidator) {
|
||||
$this->setValidator(new EmailValidator());
|
||||
}
|
||||
return $this->emailValidator;
|
||||
}
|
||||
}
|
1364
vendor/zendframework/zend-uri/src/Uri.php
vendored
Normal file
1364
vendor/zendframework/zend-uri/src/Uri.php
vendored
Normal file
File diff suppressed because it is too large
Load Diff
125
vendor/zendframework/zend-uri/src/UriFactory.php
vendored
Normal file
125
vendor/zendframework/zend-uri/src/UriFactory.php
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri;
|
||||
|
||||
/**
|
||||
* URI Factory Class
|
||||
*
|
||||
* The URI factory can be used to generate URI objects from strings, using a
|
||||
* different URI subclass depending on the input URI scheme. New scheme-specific
|
||||
* classes can be registered using the registerScheme() method.
|
||||
*
|
||||
* Note that this class contains only static methods and should not be
|
||||
* instantiated
|
||||
*/
|
||||
abstract class UriFactory
|
||||
{
|
||||
/**
|
||||
* Registered scheme-specific classes
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $schemeClasses = [
|
||||
'http' => 'Zend\Uri\Http',
|
||||
'https' => 'Zend\Uri\Http',
|
||||
'mailto' => 'Zend\Uri\Mailto',
|
||||
'file' => 'Zend\Uri\File',
|
||||
'urn' => 'Zend\Uri\Uri',
|
||||
'tag' => 'Zend\Uri\Uri',
|
||||
];
|
||||
|
||||
/**
|
||||
* Register a scheme-specific class to be used
|
||||
*
|
||||
* @param string $scheme
|
||||
* @param string $class
|
||||
*/
|
||||
public static function registerScheme($scheme, $class)
|
||||
{
|
||||
$scheme = strtolower($scheme);
|
||||
static::$schemeClasses[$scheme] = $class;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister a scheme
|
||||
*
|
||||
* @param string $scheme
|
||||
*/
|
||||
public static function unregisterScheme($scheme)
|
||||
{
|
||||
$scheme = strtolower($scheme);
|
||||
if (isset(static::$schemeClasses[$scheme])) {
|
||||
unset(static::$schemeClasses[$scheme]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the class name for a registered scheme
|
||||
*
|
||||
* If provided scheme is not registered, will return NULL
|
||||
*
|
||||
* @param string $scheme
|
||||
* @return string|null
|
||||
*/
|
||||
public static function getRegisteredSchemeClass($scheme)
|
||||
{
|
||||
if (isset(static::$schemeClasses[$scheme])) {
|
||||
return static::$schemeClasses[$scheme];
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a URI from a string
|
||||
*
|
||||
* @param string $uriString
|
||||
* @param string $defaultScheme
|
||||
* @throws Exception\InvalidArgumentException
|
||||
* @return \Zend\Uri\Uri
|
||||
*/
|
||||
public static function factory($uriString, $defaultScheme = null)
|
||||
{
|
||||
if (!is_string($uriString)) {
|
||||
throw new Exception\InvalidArgumentException(sprintf(
|
||||
'Expecting a string, received "%s"',
|
||||
(is_object($uriString) ? get_class($uriString) : gettype($uriString))
|
||||
));
|
||||
}
|
||||
|
||||
$uri = new Uri($uriString);
|
||||
$scheme = strtolower($uri->getScheme());
|
||||
if (!$scheme && $defaultScheme) {
|
||||
$scheme = $defaultScheme;
|
||||
}
|
||||
|
||||
if ($scheme && ! isset(static::$schemeClasses[$scheme])) {
|
||||
throw new Exception\InvalidArgumentException(sprintf(
|
||||
'no class registered for scheme "%s"',
|
||||
$scheme
|
||||
));
|
||||
}
|
||||
if ($scheme && isset(static::$schemeClasses[$scheme])) {
|
||||
$class = static::$schemeClasses[$scheme];
|
||||
$uri = new $class($uri);
|
||||
if (! $uri instanceof UriInterface) {
|
||||
throw new Exception\InvalidArgumentException(
|
||||
sprintf(
|
||||
'class "%s" registered for scheme "%s" does not implement Zend\Uri\UriInterface',
|
||||
$class,
|
||||
$scheme
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return $uri;
|
||||
}
|
||||
}
|
243
vendor/zendframework/zend-uri/src/UriInterface.php
vendored
Normal file
243
vendor/zendframework/zend-uri/src/UriInterface.php
vendored
Normal file
@@ -0,0 +1,243 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri;
|
||||
|
||||
/**
|
||||
* Interface defining a URI
|
||||
*/
|
||||
interface UriInterface
|
||||
{
|
||||
/**
|
||||
* Create a new URI object
|
||||
*
|
||||
* @param Uri|string|null $uri
|
||||
* @throws Exception\InvalidArgumentException
|
||||
*/
|
||||
public function __construct($uri = null);
|
||||
|
||||
/**
|
||||
* Check if the URI is valid
|
||||
*
|
||||
* Note that a relative URI may still be valid
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isValid();
|
||||
|
||||
/**
|
||||
* Check if the URI is a valid relative URI
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isValidRelative();
|
||||
|
||||
/**
|
||||
* Check if the URI is an absolute or relative URI
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isAbsolute();
|
||||
|
||||
/**
|
||||
* Parse a URI string
|
||||
*
|
||||
* @param string $uri
|
||||
* @return Uri
|
||||
*/
|
||||
public function parse($uri);
|
||||
|
||||
/**
|
||||
* Compose the URI into a string
|
||||
*
|
||||
* @return string
|
||||
* @throws Exception\InvalidUriException
|
||||
*/
|
||||
public function toString();
|
||||
|
||||
/**
|
||||
* Normalize the URI
|
||||
*
|
||||
* Normalizing a URI includes removing any redundant parent directory or
|
||||
* current directory references from the path (e.g. foo/bar/../baz becomes
|
||||
* foo/baz), normalizing the scheme case, decoding any over-encoded
|
||||
* characters etc.
|
||||
*
|
||||
* Eventually, two normalized URLs pointing to the same resource should be
|
||||
* equal even if they were originally represented by two different strings
|
||||
*
|
||||
* @return Uri
|
||||
*/
|
||||
public function normalize();
|
||||
|
||||
/**
|
||||
* Convert the link to a relative link by substracting a base URI
|
||||
*
|
||||
* This is the opposite of resolving a relative link - i.e. creating a
|
||||
* relative reference link from an original URI and a base URI.
|
||||
*
|
||||
* If the two URIs do not intersect (e.g. the original URI is not in any
|
||||
* way related to the base URI) the URI will not be modified.
|
||||
*
|
||||
* @param Uri|string $baseUri
|
||||
* @return Uri
|
||||
*/
|
||||
public function makeRelative($baseUri);
|
||||
|
||||
/**
|
||||
* Get the scheme part of the URI
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getScheme();
|
||||
|
||||
/**
|
||||
* Get the User-info (usually user:password) part
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getUserInfo();
|
||||
|
||||
/**
|
||||
* Get the URI host
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getHost();
|
||||
|
||||
/**
|
||||
* Get the URI port
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function getPort();
|
||||
|
||||
/**
|
||||
* Get the URI path
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getPath();
|
||||
|
||||
/**
|
||||
* Get the URI query
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getQuery();
|
||||
|
||||
/**
|
||||
* Return the query string as an associative array of key => value pairs
|
||||
*
|
||||
* This is an extension to RFC-3986 but is quite useful when working with
|
||||
* most common URI types
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getQueryAsArray();
|
||||
|
||||
/**
|
||||
* Get the URI fragment
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getFragment();
|
||||
|
||||
/**
|
||||
* Set the URI scheme
|
||||
*
|
||||
* If the scheme is not valid according to the generic scheme syntax or
|
||||
* is not acceptable by the specific URI class (e.g. 'http' or 'https' are
|
||||
* the only acceptable schemes for the Zend\Uri\Http class) an exception
|
||||
* will be thrown.
|
||||
*
|
||||
* You can check if a scheme is valid before setting it using the
|
||||
* validateScheme() method.
|
||||
*
|
||||
* @param string $scheme
|
||||
* @throws Exception\InvalidUriPartException
|
||||
* @return Uri
|
||||
*/
|
||||
public function setScheme($scheme);
|
||||
|
||||
/**
|
||||
* Set the URI User-info part (usually user:password)
|
||||
*
|
||||
* @param string $userInfo
|
||||
* @return Uri
|
||||
* @throws Exception\InvalidUriPartException If the schema definition
|
||||
* does not have this part
|
||||
*/
|
||||
public function setUserInfo($userInfo);
|
||||
|
||||
/**
|
||||
* Set the URI host
|
||||
*
|
||||
* Note that the generic syntax for URIs allows using host names which
|
||||
* are not necessarily IPv4 addresses or valid DNS host names. For example,
|
||||
* IPv6 addresses are allowed as well, and also an abstract "registered name"
|
||||
* which may be any name composed of a valid set of characters, including,
|
||||
* for example, tilda (~) and underscore (_) which are not allowed in DNS
|
||||
* names.
|
||||
*
|
||||
* Subclasses of Uri may impose more strict validation of host names - for
|
||||
* example the HTTP RFC clearly states that only IPv4 and valid DNS names
|
||||
* are allowed in HTTP URIs.
|
||||
*
|
||||
* @param string $host
|
||||
* @throws Exception\InvalidUriPartException
|
||||
* @return Uri
|
||||
*/
|
||||
public function setHost($host);
|
||||
|
||||
/**
|
||||
* Set the port part of the URI
|
||||
*
|
||||
* @param int $port
|
||||
* @return Uri
|
||||
*/
|
||||
public function setPort($port);
|
||||
|
||||
/**
|
||||
* Set the path
|
||||
*
|
||||
* @param string $path
|
||||
* @return Uri
|
||||
*/
|
||||
public function setPath($path);
|
||||
|
||||
/**
|
||||
* Set the query string
|
||||
*
|
||||
* If an array is provided, will encode this array of parameters into a
|
||||
* query string. Array values will be represented in the query string using
|
||||
* PHP's common square bracket notation.
|
||||
*
|
||||
* @param string|array $query
|
||||
* @return Uri
|
||||
*/
|
||||
public function setQuery($query);
|
||||
|
||||
/**
|
||||
* Set the URI fragment part
|
||||
*
|
||||
* @param string $fragment
|
||||
* @return Uri
|
||||
* @throws Exception\InvalidUriPartException If the schema definition
|
||||
* does not have this part
|
||||
*/
|
||||
public function setFragment($fragment);
|
||||
|
||||
/**
|
||||
* Magic method to convert the URI to a string
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString();
|
||||
}
|
Reference in New Issue
Block a user