%2$s, create %7$s with the values displayed below, and copy the generated %3$s and %4$s here.', Postman::TEXT_DOMAIN ), $this->getApplicationPortalUrl(), $this->getApplicationPortalName(), $this->getClientIdLabel(), $this->getClientSecretLabel(), $this->getCallbackUrlLabel(), $this->getOwnerName(), $this->getApplicationDescription() );
$text = sprintf( '%s! %s', $attention, $errorMessage );
/* translators: parameters available are 1=clientId-name, 2=service-name, 3=FAQ-URL, 4=Video-URL (e.g. See How do I get a Google Client ID? in the F.A.Q.) */
$howToTemplate = __( 'See How do I get a %1$s %2$s? in the F.A.Q. or watch our How-To video 📺.', Postman::TEXT_DOMAIN );
$text .= sprintf( ' %s', sprintf( $howToTemplate, $this->getOwnerName(), $this->getClientIdLabel(), 'https://wordpress.org/plugins/post-smtp/faq/', 'https://vimeo.com/128589255' ) );
return $text;
}
function isOauthHost() {
return false;
}
function isGoogle() {
return false;
}
function isMicrosoft() {
return false;
}
function isYahoo() {
return false;
}
public function getRequestPermissionLinkText() {
/* translators: where %s is the Email Service Owner (e.g. Google, Microsoft or Yahoo) */
return sprintf( _x( 'Grant permission with %s', 'Command to initiate OAuth authentication', Postman::TEXT_DOMAIN ), $this->getOwnerName() );
}
}
}
if ( ! class_exists( 'PostmanGoogleOAuthScribe' ) ) {
class PostmanGoogleOAuthScribe extends PostmanAbstractConfigTextHelper {
public function isGoogle() {
return true;
}
function isOauthHost() {
return true;
}
public function getCallbackUrl() {
// see https://codex.wordpress.org/Function_Reference/admin_url#Related
return admin_url( 'options-general.php' ) . '?page=postman';
}
function getCallbackDomain() {
$urlParts = parse_url( $this->getCallbackUrl() );
if ( isset( $urlParts ['scheme'] ) && isset( $urlParts ['host'] ) ) {
return $urlParts ['scheme'] . '://' . $urlParts ['host'];
} else {
throw new Exception();
}
}
public function getClientIdLabel() {
/* Translators: This description is specific to Google */
return _x( 'Client ID', 'Name of the OAuth 2.0 Client ID', Postman::TEXT_DOMAIN );
}
public function getClientSecretLabel() {
/* Translators: This description is specific to Google */
return _x( 'Client Secret', 'Name of the OAuth 2.0 Client Secret', Postman::TEXT_DOMAIN );
}
public function getCallbackUrlLabel() {
/* Translators: This description is specific to Google */
return _x( 'Authorized redirect URI', 'Name of the Application Callback URI', Postman::TEXT_DOMAIN );
}
public function getCallbackDomainLabel() {
/* Translators: This description is specific to Google */
return _x( 'Authorized JavaScript origins', 'Name of the Application Callback Domain', Postman::TEXT_DOMAIN );
}
public function getOwnerName() {
/* Translators: This description is specific to Google */
return _x( 'Google', 'Name of the email service owner', Postman::TEXT_DOMAIN );
}
public function getServiceName() {
/* Translators: This description is specific to Google */
return _x( 'Gmail', 'Name of the email service', Postman::TEXT_DOMAIN );
}
public function getApplicationDescription() {
/* Translators: This description is specific to Google */
return _x( 'a Client ID for web application', 'Description of the email service OAuth 2.0 Application', Postman::TEXT_DOMAIN );
}
public function getApplicationPortalName() {
/* Translators: This description is specific to Google */
return _x( 'Google Developers Console Gmail Wizard', 'Name of the email service portal', Postman::TEXT_DOMAIN );
}
public function getApplicationPortalUrl() {
return 'https://www.google.com/accounts/Logout?continue=https://console.developers.google.com/start/api?id=gmail';
}
public function getOAuthPort() {
return 465;
}
public function getEncryptionType() {
return PostmanOptions::SECURITY_TYPE_SMTPS;
}
}
}
if ( ! class_exists( 'PostmanMicrosoftOAuthScribe' ) ) {
class PostmanMicrosoftOAuthScribe extends PostmanAbstractConfigTextHelper {
public function isMicrosoft() {
return true;
}
function isOauthHost() {
return true;
}
public function getCallbackUrl() {
return admin_url( 'options-general.php' );
}
function getCallbackDomain() {
$urlParts = parse_url( $this->getCallbackUrl() );
if ( isset( $urlParts ['host'] ) ) {
return $urlParts ['host'];
} else {
throw new Exception();
}
}
public function getClientIdLabel() {
/* Translators: This description is specific to Microsoft */
return _x( 'Client ID', 'Name of the OAuth 2.0 Client ID', Postman::TEXT_DOMAIN );
}
public function getClientSecretLabel() {
/* Translators: This description is specific to Microsoft */
return _x( 'Client Secret', 'Name of the OAuth 2.0 Client Secret', Postman::TEXT_DOMAIN );
}
public function getCallbackUrlLabel() {
/* Translators: This description is specific to Microsoft */
return _x( 'Redirect URL', 'Name of the Application Callback URI', Postman::TEXT_DOMAIN );
}
public function getCallbackDomainLabel() {
/* Translators: This description is specific to Microsoft */
return _x( 'Root Domain', 'Name of the Application Callback Domain', Postman::TEXT_DOMAIN );
}
public function getOwnerName() {
/* Translators: This description is specific to Microsoft */
return _x( 'Microsoft', 'Name of the email service owner', Postman::TEXT_DOMAIN );
}
public function getServiceName() {
/* Translators: This description is specific to Microsoft */
return _x( 'Outlook.com', 'Name of the email service', Postman::TEXT_DOMAIN );
}
public function getApplicationDescription() {
/* Translators: This description is specific to Microsoft */
return _x( 'an Application', 'Description of the email service OAuth 2.0 Application', Postman::TEXT_DOMAIN );
}
public function getApplicationPortalName() {
/* Translators: This description is specific to Microsoft */
return _x( 'Microsoft Developer Center', 'Name of the email service portal', Postman::TEXT_DOMAIN );
}
public function getApplicationPortalUrl() {
return 'https://account.live.com/developers/applications/index';
}
public function getOAuthPort() {
return 587;
}
public function getEncryptionType() {
return PostmanOptions::SECURITY_TYPE_STARTTLS;
}
}
}
if ( ! class_exists( 'PostmanYahooOAuthScribe' ) ) {
class PostmanYahooOAuthScribe extends PostmanAbstractConfigTextHelper {
public function isYahoo() {
return true;
}
function isOauthHost() {
return true;
}
public function getCallbackUrl() {
return admin_url( 'options-general.php' ) . '?page=postman';
}
function getCallbackDomain() {
$urlParts = parse_url( $this->getCallbackUrl() );
if ( isset( $urlParts ['host'] ) ) {
return $urlParts ['host'];
} else {
throw new Exception();
}
}
public function getClientIdLabel() {
/* Translators: This description is specific to Yahoo */
return _x( 'Client ID', 'Name of the OAuth 2.0 Client ID', Postman::TEXT_DOMAIN );
}
public function getClientSecretLabel() {
/* Translators: This description is specific to Yahoo */
return _x( 'Client Secret', 'Name of the OAuth 2.0 Client Secret', Postman::TEXT_DOMAIN );
}
public function getCallbackUrlLabel() {
/* Translators: This description is specific to Yahoo */
return _x( 'Home Page URL', 'Name of the Application Callback URI', Postman::TEXT_DOMAIN );
}
public function getCallbackDomainLabel() {
/* Translators: This description is specific to Yahoo */
return _x( 'Callback Domain', 'Name of the Application Callback Domain', Postman::TEXT_DOMAIN );
}
public function getOwnerName() {
/* Translators: This description is specific to Yahoo */
return _x( 'Yahoo', 'Name of the email service owner', Postman::TEXT_DOMAIN );
}
public function getServiceName() {
/* Translators: This description is specific to Yahoo */
return _x( 'Yahoo Mail', 'Name of the email service', Postman::TEXT_DOMAIN );
}
public function getApplicationDescription() {
/* Translators: This description is specific to Yahoo */
return _x( 'an Application', 'Description of the email service OAuth 2.0 Application', Postman::TEXT_DOMAIN );
}
public function getApplicationPortalName() {
/* Translators: This description is specific to Yahoo */
return _x( 'Yahoo Developer Network', 'Name of the email service portal', Postman::TEXT_DOMAIN );
}
public function getApplicationPortalUrl() {
return 'https://developer.yahoo.com/apps/';
}
public function getOAuthPort() {
return 465;
}
public function getEncryptionType() {
return PostmanOptions::SECURITY_TYPE_SMTPS;
}
}
}
if ( ! class_exists( 'PostmanNonOAuthScribe' ) ) {
class PostmanNonOAuthScribe extends PostmanAbstractConfigTextHelper {
protected $hostname;
public function __construct( $hostname ) {
$this->hostname = $hostname;
}
public function isGoogle() {
return PostmanUtils::endsWith( $this->hostname, 'gmail.com' );
}
public function isMicrosoft() {
return PostmanUtils::endsWith( $this->hostname, 'live.com' );
}
public function isYahoo() {
return PostmanUtils::endsWith( $this->hostname, 'yahoo.com' );
}
public function getOAuthHelp() {
$text = __( 'Enter an Outgoing Mail Server with OAuth2 capabilities.', Postman::TEXT_DOMAIN );
return sprintf( '%s', $text );
}
public function getCallbackUrl() {
return '';
}
function getCallbackDomain() {
return '';
}
public function getClientIdLabel() {
return _x( 'Client ID', 'Name of the OAuth 2.0 Client ID', Postman::TEXT_DOMAIN );
}
public function getClientSecretLabel() {
return _x( 'Client Secret', 'Name of the OAuth 2.0 Client Secret', Postman::TEXT_DOMAIN );
}
public function getCallbackUrlLabel() {
return _x( 'Redirect URI', 'Name of the Application Callback URI', Postman::TEXT_DOMAIN );
}
public function getCallbackDomainLabel() {
return _x( 'Website Domain', 'Name of the Application Callback Domain', Postman::TEXT_DOMAIN );
}
public function getOwnerName() {
return '';
}
public function getServiceName() {
return '';
}
public function getApplicationDescription() {
return '';
}
public function getApplicationPortalName() {
return '';
}
public function getApplicationPortalUrl() {
return '';
}
public function getOAuthPort() {
return '';
}
public function getEncryptionType() {
return '';
}
public function getRequestPermissionLinkText() {
return __( 'Grant OAuth 2.0 Permission', Postman::TEXT_DOMAIN );
}
}
}