You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
PHTML
47 lines
1.1 KiB
PHTML
8 months ago
|
<?php
|
||
|
|
||
|
namespace DeployerForGit\Providers;
|
||
|
|
||
|
/**
|
||
|
* Class BitbucketProvider
|
||
|
*
|
||
|
* @package DeployerForGit\Providers
|
||
|
*/
|
||
|
class BitbucketProvider extends BaseProvider {
|
||
|
|
||
|
/**
|
||
|
* Get provider repository handle
|
||
|
*
|
||
|
* @return string Repository handle
|
||
|
*/
|
||
|
public function get_pretty_name() {
|
||
|
return 'Bitbucket';
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get provider repository zip URL
|
||
|
*
|
||
|
* @param string $branch Branch name, default is master.
|
||
|
* @return string Repository URL to download zip
|
||
|
*/
|
||
|
public function get_zip_repo_url( $branch = 'master' ) {
|
||
|
$handle = $this->get_handle();
|
||
|
|
||
|
return "https://bitbucket.org/{$handle}/get/{$branch}.zip";
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Validate repository url
|
||
|
*
|
||
|
* @return WP_Error|boolean
|
||
|
*/
|
||
|
protected function validate_repo_url() {
|
||
|
parent::validate_repo_url();
|
||
|
|
||
|
// check if string has exact format in a URL like this: https://bitbucket.org/owner/reponame .
|
||
|
if ( ! preg_match( '/^https:\/\/bitbucket.org\/[a-zA-Z0-9-_]+\/[a-zA-Z0-9-_]+$/', $this->get_repo_url() ) ) {
|
||
|
return new \WP_Error( 'invalid', __( 'Repository url must be a valid Bitbucket repository url', 'deployer-for-git' ) );
|
||
|
}
|
||
|
}
|
||
|
}
|