modified file smtp-mailer
This commit is contained in:
wp-content/upgrade-temp-backup/plugins
activitypub
.distignoreLICENSEactivitypub.php
assets
build
follow-me
followers
includes
activity
class-activity-dispatcher.phpclass-activitypub.phpclass-admin.phpclass-blocks.phpclass-debug.phpclass-handler.phpclass-hashtag.phpclass-health-check.phpclass-http.phpclass-mention.phpclass-migration.phpclass-scheduler.phpclass-shortcodes.phpclass-signature.phpclass-webfinger.phpcollection
compat.phpdebug.phpfunctions.phphandler
help.phpmodel
peer
rest
class-collection.phpclass-followers.phpclass-following.phpclass-inbox.phpclass-nodeinfo.phpclass-outbox.phpclass-server.phpclass-users.phpclass-webfinger.php
table
transformer
integration
readme.txttemplates
authldap
.phive
LICENSE.mdREADME.mdSECURITY.mdauthLdap.cssauthLdap.phpphpcs.xmlreadme.txtsecurity.txtsrc
view
companion-auto-update
gp-premium
backgrounds
blog
functions
generate-blog.phpcolors
functions
generate-colors.phpcopyright
disable-elements
dist
block-elements.asset.phpblock-elements.cssblock-elements.jscustomizer.asset.phpcustomizer.jsdashboard.asset.phpdashboard.jseditor.asset.phpeditor.csseditor.jssite-library.asset.phpsite-library.csssite-library.jsstyle-dashboard.css
elements
assets
admin
author-image-placeholder.pngbackground-image-fallback.jpgballoon.csselements.csselements.jsfeatured-image-placeholder.pngmetabox.cssmetabox.jsspinner.gif
js
general
gp-premium.phphooks
inc
langs
gp-premium-ar.mogp-premium-bn_BD.mogp-premium-cs_CZ.mogp-premium-da_DK.mogp-premium-de_DE-42da344ccb044413769d16ed3484307b.jsongp-premium-de_DE-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-de_DE-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-de_DE.mogp-premium-es_AR.mogp-premium-es_ES-42da344ccb044413769d16ed3484307b.jsongp-premium-es_ES-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-es_ES-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-es_ES-cbab080b0f20fd6c323029398be6c986.jsongp-premium-es_ES-ecf9f3c2af10c4f2dfbf4f42504922d1.jsongp-premium-es_ES.mogp-premium-fi-42da344ccb044413769d16ed3484307b.jsongp-premium-fi-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-fi-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-fi-cbab080b0f20fd6c323029398be6c986.jsongp-premium-fi-ecf9f3c2af10c4f2dfbf4f42504922d1.jsongp-premium-fi.mogp-premium-fr_FR-42da344ccb044413769d16ed3484307b.jsongp-premium-fr_FR-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-fr_FR-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-fr_FR.mogp-premium-hr.mogp-premium-hu_HU.mogp-premium-it_IT.mogp-premium-nb_NO.mogp-premium-nl_NL-42da344ccb044413769d16ed3484307b.jsongp-premium-nl_NL-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-nl_NL-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-nl_NL-cbab080b0f20fd6c323029398be6c986.jsongp-premium-nl_NL-ecf9f3c2af10c4f2dfbf4f42504922d1.jsongp-premium-nl_NL.mogp-premium-pl_PL.mogp-premium-pt_BR.mogp-premium-pt_PT-42da344ccb044413769d16ed3484307b.jsongp-premium-pt_PT-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-pt_PT-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-pt_PT.mogp-premium-ru_RU-42da344ccb044413769d16ed3484307b.jsongp-premium-ru_RU-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-ru_RU-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-ru_RU.mogp-premium-sv_SE-42da344ccb044413769d16ed3484307b.jsongp-premium-sv_SE-53e2a1d5945b8d2b1c35e81ae1e532f3.jsongp-premium-sv_SE-92fa58377f1b6f7bef9c785c31ae29ff.jsongp-premium-sv_SE-cbab080b0f20fd6c323029398be6c986.jsongp-premium-sv_SE-ecf9f3c2af10c4f2dfbf4f42504922d1.jsongp-premium-sv_SE.mogp-premium-uk.mogp-premium-vi.mogp-premium-zh_CN.mo
library
alpha-color-picker
class-make-css.phpclass-plugin-updater.phpcustomizer-helpers.phpcustomizer
active-callbacks.php
controls
class-action-button-control.phpclass-alpha-color-control.phpclass-backgrounds-control.phpclass-control-toggle.phpclass-copyright-control.phpclass-deprecated.phpclass-information-control.phpclass-range-slider-control.phpclass-refresh-button-control.phpclass-section-shortcuts-control.phpclass-spacing-control.phpclass-title-control.phpclass-typography-control.php
deprecated.phpsanitize.phpcss
alpha-color-picker.cssbutton-actions.csscontrol-toggle-customizer.csssection-shortcuts.cssselectWoo.min.cssslider-customizer.cssspacing-customizer.csstitle-customizer.csstransparency-grid.pngtypography-customizer.css
js
select2
menu-plus
fields
functions
css
menu-logo.cssmenu-logo.min.cssnavigation-branding-flex.cssnavigation-branding-flex.min.cssnavigation-branding.cssnavigation-branding.min.cssoffside.cssoffside.min.csssticky.csssticky.min.css
generate-menu-plus.phpjs
page-header
functions
generate-page-header.phpsecondary-nav
fields
functions
css.php
generate-secondary-nav.phpcss
main-mobile.cssmain-mobile.min.cssmain.cssmain.min.cssstyle-mobile.cssstyle-mobile.min.cssstyle.cssstyle.min.css
functions.phpjs
sections
functions
generate-sections.phpsite-library
class-site-library-helper.phpclass-site-library-rest.phpclass-site-library.php
classes
class-beaver-builder-batch-processing.phpclass-content-importer.phpclass-site-import-image.phpclass-site-widget-importer.php
libs
spacing
functions
customizer
content-spacing.phpfooter-spacing.phpheader-spacing.php
functions.phpmigration.phpjs
navigation-spacing.phpsecondary-nav-spacing.phpsidebar-spacing.phptop-bar-spacing.phptypography
functions
functions.phpgoogle-fonts.json
generate-fonts.phpjs
migration.phpsecondary-nav-fonts.phpslideout-nav-fonts.phpwoocommerce-fonts.phpwoocommerce
wpml-config.xmljetpack-protect
CHANGELOG.mdLICENSE.txtSECURITY.mdi18n-map.phpreadme.txt
assets
fonts
jetpack-protect.cssbuild
composer.jsonjetpack-protect.phpjetpack_vendor
automattic
jetpack-a8c-mc-stats
jetpack-admin-ui
jetpack-assets
jetpack-config
jetpack-connection
CHANGELOG.mdLICENSE.txtSECURITY.mdTRACKING.mdcomposer.json
dist
legacy
class-jetpack-ixr-client.phpclass-jetpack-ixr-clientmulticall.phpclass-jetpack-options.phpclass-jetpack-signature.phpclass-jetpack-tracks-client.phpclass-jetpack-tracks-event.phpclass-jetpack-xmlrpc-server.php
src
class-client.phpclass-connection-notice.phpclass-error-handler.phpclass-heartbeat.phpclass-initial-state.phpclass-manager.phpclass-nonce-handler.phpclass-package-version-tracker.phpclass-package-version.phpclass-plugin-storage.phpclass-plugin.phpclass-rest-authentication.phpclass-rest-connector.phpclass-secrets.phpclass-server-sandbox.phpclass-terms-of-service.phpclass-tokens-locks.phpclass-tokens.phpclass-tracking.phpclass-urls.phpclass-utils.phpclass-webhooks.phpclass-xmlrpc-async-call.phpclass-xmlrpc-connector.phpinterface-manager.php
webhooks
jetpack-constants
jetpack-device-detection
jetpack-identity-crisis
jetpack-ip
jetpack-jitm
jetpack-licensing
jetpack-logo
jetpack-my-jetpack
CHANGELOG.mdLICENSE.txtSECURITY.mdcomposer.json
build
images
apple-92dacafad84e79708a74.svgboost-a54137485af36fdffe9c.pngcloud-81ac85ba680343200f54.svgconnect-f27775ac15cf885713c2.pngcrm-7e7684ae2c40327d8fed.pngdisconnect-confirm-dc9fe8f5c68cfd1320e0.jpgdisconnect-thanks-5873bfac56a9bd7322cd.jpgempty-avatar-fea23feddfa99b07c2e8.svgextras-26daf36507504c96d066.pnggoogle-dec2a429bf1d8e83f9ad.svgjetpack-9de1caef5eb5c22da5d6.svgjetpack-ai-29e60474d5890cbb6889.pngjetpack-license-activation-with-lock-7b01c1a4cf56de799cd7.pngjetpack-license-activation-with-success-cad524ede4e793cc0ece.pngsearch-f9756bd9c926d905fe70.pngvideopress-9591093a9a238cc48a35.pngwordpress-1fc3e0ba6c52e9707900.svg
index.asset.phpindex.cssindex.jsindex.js.LICENSE.txtindex.rtl.csssrc
class-initializer.phpclass-products.phpclass-rest-ai.phpclass-rest-product-data.phpclass-rest-products.phpclass-rest-purchases.phpclass-rest-zendesk-chat.phpclass-wpcom-products.php
products
class-anti-spam.phpclass-backup.phpclass-boost.phpclass-crm.phpclass-extras.phpclass-hybrid-product.phpclass-jetpack-ai.phpclass-module-product.phpclass-product.phpclass-protect.phpclass-scan.phpclass-search-stats.phpclass-search.phpclass-security.phpclass-social.phpclass-starter.phpclass-stats.phpclass-videopress.php
jetpack-partner
jetpack-password-checker
jetpack-plugins-installer
jetpack-redirect
jetpack-roles
jetpack-status
jetpack-sync
CHANGELOG.mdLICENSE.txtSECURITY.mdcomposer.json
src
class-actions.phpclass-data-settings.phpclass-dedicated-sender.phpclass-default-filter-settings.phpclass-defaults.phpclass-functions.phpclass-health.phpclass-json-deflate-array-codec.phpclass-listener.phpclass-lock.phpclass-main.phpclass-modules.phpclass-package-version.phpclass-queue-buffer.phpclass-queue.phpclass-replicastore.phpclass-rest-endpoints.phpclass-rest-sender.phpclass-sender.phpclass-server.phpclass-settings.phpclass-simple-codec.phpclass-users.phpclass-utils.phpinterface-codec.phpinterface-replicastore.php
modules
class-attachments.phpclass-callables.phpclass-comments.phpclass-constants.phpclass-full-sync-immediately.phpclass-full-sync.phpclass-import.phpclass-menus.phpclass-meta.phpclass-module.phpclass-network-options.phpclass-options.phpclass-plugins.phpclass-posts.phpclass-protect.phpclass-search.phpclass-stats.phpclass-term-relationships.phpclass-terms.phpclass-themes.phpclass-updates.phpclass-users.phpclass-woocommerce-hpos-orders.phpclass-woocommerce.phpclass-wp-super-cache.php
replicastore
sync-queue
jetpack-transport-helper
jetpack-waf
.phpcs.dir.phpcompatibility.xml.phpcsignoreCHANGELOG.mdLICENSE.txtSECURITY.mdcli.phpcomposer.json
src
brute-force-protection
class-blocked-login-page.phpclass-math-fallback.phpclass-shared-functions.phpclass-transient-cleanup.php
class-brute-force-protection.phpclass-compatibility.phpclass-rest-controller.phpclass-waf-cli.phpclass-waf-constants.phpclass-waf-initializer.phpclass-waf-operators.phpclass-waf-request.phpclass-waf-rules-manager.phpclass-waf-runner.phpclass-waf-runtime.phpclass-waf-standalone-bootstrap.phpclass-waf-stats.phpclass-waf-transforms.phpexceptions
functions.phpsrc
class-credentials.phpclass-jetpack-protect.phpclass-plan.phpclass-protect-status.phpclass-rest-controller.phpclass-scan-status.phpclass-site-health.phpclass-status.phpclass-threats.php
models
vendor
autoload.phpautoload_packages.php
automattic
jetpack-plans
composer
ClassLoader.phpInstalledVersions.phpLICENSEautoload_classmap.phpautoload_files.phpautoload_namespaces.phpautoload_psr4.phpautoload_real.phpautoload_static.phpinstalled.jsoninstalled.phpjetpack_autoload_classmap.phpjetpack_autoload_filemap.phpplatform_check.php
jetpack-autoloader
class-autoloader-handler.phpclass-autoloader-locator.phpclass-autoloader.phpclass-container.phpclass-hook-manager.phpclass-latest-autoloader-guard.phpclass-manifest-reader.phpclass-path-processor.phpclass-php-autoloader.phpclass-plugin-locator.phpclass-plugins-handler.phpclass-shutdown-handler.phpclass-version-loader.phpclass-version-selector.php
wikimedia
aho-corasick
menu-icons
CHANGELOG.mdCONTRIBUTING.md
css
images
includes
js
languages
mailin.phpmenu-icons.phpreadme.mdreadme.txtvendor
codeinwp
gutenberg-menu-icons
icon-picker
css
icon-picker.cssicon-picker.min.css
icon-picker.phptypes
Elusive-Icons.eotElusive-Icons.svgElusive-Icons.ttfElusive-Icons.woffGenericons.eotGenericons.svgGenericons.ttfGenericons.woffelusive.csselusive.min.cssfont-awesome.cssfont-awesome.min.cssfontawesome-webfont.eotfontawesome-webfont.svgfontawesome-webfont.ttffontawesome-webfont.wofffontawesome-webfont.woff2foundation-icons.cssfoundation-icons.eotfoundation-icons.min.cssfoundation-icons.svgfoundation-icons.ttffoundation-icons.woffgenericons.cssgenericons.min.css
includes
js
languages
readme.txtmenu-item-custom-fields
themeisle-sdk
CHANGELOG.mdLICENSEstart.php
assets
index.phpload.phppostcss.config.jssrc
Common
Loader.phpModules
About_us.phpCompatibilities.phpDashboard_widget.phpLicenser.phpLogger.phpNotification.phpPromotions.phpRecommendation.phpReview.phpRollback.phpTranslate.phpUninstall_feedback.phpWelcome.php
Product.phpcomposer
smtp-mailer
209
wp-content/upgrade-temp-backup/plugins/activitypub/includes/collection/class-users.php
Normal file
209
wp-content/upgrade-temp-backup/plugins/activitypub/includes/collection/class-users.php
Normal file
@ -0,0 +1,209 @@
|
||||
<?php
|
||||
namespace Activitypub\Collection;
|
||||
|
||||
use WP_Error;
|
||||
use WP_User_Query;
|
||||
use Activitypub\Model\User;
|
||||
use Activitypub\Model\Blog_User;
|
||||
use Activitypub\Model\Application_User;
|
||||
|
||||
use function Activitypub\is_user_disabled;
|
||||
|
||||
class Users {
|
||||
/**
|
||||
* The ID of the Blog User
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
const BLOG_USER_ID = 0;
|
||||
|
||||
/**
|
||||
* The ID of the Application User
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
const APPLICATION_USER_ID = -1;
|
||||
|
||||
/**
|
||||
* Get the User by ID
|
||||
*
|
||||
* @param int $user_id The User-ID.
|
||||
*
|
||||
* @return \Acitvitypub\Model\User The User.
|
||||
*/
|
||||
public static function get_by_id( $user_id ) {
|
||||
if ( is_string( $user_id ) || is_numeric( $user_id ) ) {
|
||||
$user_id = (int) $user_id;
|
||||
}
|
||||
|
||||
if ( is_user_disabled( $user_id ) ) {
|
||||
return new WP_Error(
|
||||
'activitypub_user_not_found',
|
||||
\__( 'User not found', 'activitypub' ),
|
||||
array( 'status' => 404 )
|
||||
);
|
||||
}
|
||||
|
||||
if ( self::BLOG_USER_ID === $user_id ) {
|
||||
return Blog_User::from_wp_user( $user_id );
|
||||
} elseif ( self::APPLICATION_USER_ID === $user_id ) {
|
||||
return Application_User::from_wp_user( $user_id );
|
||||
} elseif ( $user_id > 0 ) {
|
||||
return User::from_wp_user( $user_id );
|
||||
}
|
||||
|
||||
return new WP_Error(
|
||||
'activitypub_user_not_found',
|
||||
\__( 'User not found', 'activitypub' ),
|
||||
array( 'status' => 404 )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the User by username.
|
||||
*
|
||||
* @param string $username The User-Name.
|
||||
*
|
||||
* @return \Acitvitypub\Model\User The User.
|
||||
*/
|
||||
public static function get_by_username( $username ) {
|
||||
// check for blog user.
|
||||
if ( Blog_User::get_default_username() === $username ) {
|
||||
return self::get_by_id( self::BLOG_USER_ID );
|
||||
}
|
||||
|
||||
if ( get_option( 'activitypub_blog_user_identifier' ) === $username ) {
|
||||
return self::get_by_id( self::BLOG_USER_ID );
|
||||
}
|
||||
|
||||
// check for application user.
|
||||
if ( 'application' === $username ) {
|
||||
return self::get_by_id( self::APPLICATION_USER_ID );
|
||||
}
|
||||
|
||||
// check for 'activitypub_username' meta
|
||||
$user = new WP_User_Query(
|
||||
array(
|
||||
'number' => 1,
|
||||
'hide_empty' => true,
|
||||
'fields' => 'ID',
|
||||
// phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query
|
||||
'meta_query' => array(
|
||||
'relation' => 'OR',
|
||||
array(
|
||||
'key' => 'activitypub_user_identifier',
|
||||
'value' => $username,
|
||||
'compare' => 'LIKE',
|
||||
),
|
||||
),
|
||||
)
|
||||
);
|
||||
|
||||
if ( $user->results ) {
|
||||
return self::get_by_id( $user->results[0] );
|
||||
}
|
||||
|
||||
// check for login or nicename.
|
||||
$user = new WP_User_Query(
|
||||
array(
|
||||
'search' => $username,
|
||||
'search_columns' => array( 'user_login', 'user_nicename' ),
|
||||
'number' => 1,
|
||||
'hide_empty' => true,
|
||||
'fields' => 'ID',
|
||||
)
|
||||
);
|
||||
|
||||
if ( $user->results ) {
|
||||
return self::get_by_id( $user->results[0] );
|
||||
}
|
||||
|
||||
return new WP_Error(
|
||||
'activitypub_user_not_found',
|
||||
\__( 'User not found', 'activitypub' ),
|
||||
array( 'status' => 404 )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the User by resource.
|
||||
*
|
||||
* @param string $resource The User-Resource.
|
||||
*
|
||||
* @return \Acitvitypub\Model\User The User.
|
||||
*/
|
||||
public static function get_by_resource( $resource ) {
|
||||
if ( \strpos( $resource, '@' ) === false ) {
|
||||
return new WP_Error(
|
||||
'activitypub_unsupported_resource',
|
||||
\__( 'Resource is invalid', 'activitypub' ),
|
||||
array( 'status' => 400 )
|
||||
);
|
||||
}
|
||||
|
||||
$resource = \str_replace( 'acct:', '', $resource );
|
||||
|
||||
$resource_identifier = \substr( $resource, 0, \strrpos( $resource, '@' ) );
|
||||
$resource_host = self::normalize_host( \substr( \strrchr( $resource, '@' ), 1 ) );
|
||||
$blog_host = self::normalize_host( \wp_parse_url( \home_url( '/' ), \PHP_URL_HOST ) );
|
||||
|
||||
if ( $blog_host !== $resource_host ) {
|
||||
return new WP_Error(
|
||||
'activitypub_wrong_host',
|
||||
\__( 'Resource host does not match blog host', 'activitypub' ),
|
||||
array( 'status' => 404 )
|
||||
);
|
||||
}
|
||||
|
||||
return self::get_by_username( $resource_identifier );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the User by resource.
|
||||
*
|
||||
* @param string $resource The User-Resource.
|
||||
*
|
||||
* @return \Acitvitypub\Model\User The User.
|
||||
*/
|
||||
public static function get_by_various( $id ) {
|
||||
if ( is_numeric( $id ) ) {
|
||||
return self::get_by_id( $id );
|
||||
} elseif ( filter_var( $id, FILTER_VALIDATE_URL ) ) {
|
||||
return self::get_by_resource( $id );
|
||||
} else {
|
||||
return self::get_by_username( $id );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalize the host.
|
||||
*
|
||||
* @param string $host The host.
|
||||
*
|
||||
* @return string The normalized host.
|
||||
*/
|
||||
public static function normalize_host( $host ) {
|
||||
return \str_replace( 'www.', '', $host );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the User collection.
|
||||
*
|
||||
* @return array The User collection.
|
||||
*/
|
||||
public static function get_collection() {
|
||||
$users = \get_users(
|
||||
array(
|
||||
'capability__in' => array( 'publish_posts' ),
|
||||
)
|
||||
);
|
||||
|
||||
$return = array();
|
||||
|
||||
foreach ( $users as $user ) {
|
||||
$return[] = User::from_wp_user( $user->ID );
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user