Файловый менеджер - Редактировать - /var/www/xthruster/html/wp-content/plugins/sitepress-multilingual-cms/classes/user/UsersByCapsRepository.php
Назад
<?php namespace WPML\User; use WPML\FP\Fns; use WPML\FP\Lst; use WPML\User\LanguagePairs\ILanguagePairs; use function WPML\FP\pipe; class UsersByCapsRepository { /** @var wpdb */ private $wpdb; /** @var ILanguagePairs */ private $languagePairs; public function __construct( \wpdb $wpdb, ILanguagePairs $languagePairs ) { $this->wpdb = $wpdb; $this->languagePairs = $languagePairs; } /** * @param string[] $ownedCaps * @param string[] $excludeCaps * * @return array{ * "ID": string, * "full_name": string, * "user_login": string, * "user_email": string, * "display_name": string, * "roles": string[], * "language_pairs": array{string:string[]} * }[] */ public function get( array $ownedCaps, array $excludeCaps = [] ) { $sql = " SELECT user_id FROM {$this->wpdb->usermeta} WHERE {$this->buildWhereCondition( $ownedCaps, $excludeCaps)} "; $userIds = $this->wpdb->get_col( $sql ); $buildUsers = pipe( Fns::map( 'get_userdata' ), Fns::filter( Fns::identity() ), Fns::map( function ( \WP_User $userData ) { return (object) [ 'ID' => $userData->ID, 'full_name' => trim( $userData->first_name . ' ' . $userData->last_name ), 'user_login' => $userData->user_login, 'user_email' => $userData->user_email, 'display_name' => $userData->display_name, 'roles' => $userData->roles ]; } ), Fns::map( function ( $user ) { $user->language_pairs = $this->languagePairs->get( $user->ID ); return $user; } ) ); return $buildUsers( $userIds ); } private function buildWhereCondition( array $ownedCaps, array $excludeCaps ) { $ownedCapsCondition = Lst::join( ' OR ', Fns::map( function ( $cap ) { return $this->wpdb->prepare('meta_value LIKE %s', '%' . $cap . '%' ); }, $ownedCaps ) ); if ( $excludeCaps ) { $excludeCapsCondition = ' AND ( ' . Lst::join( ' AND ', Fns::map( function ( $cap ) { return $this->wpdb->prepare('meta_value NOT LIKE %s', '%' . $cap . '%' ); }, $excludeCaps ) ) . ' )'; } else { $excludeCapsCondition = ''; } return "meta_key = '{$this->wpdb->prefix}capabilities' AND ( $ownedCapsCondition ) $excludeCapsCondition"; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.3-4ubuntu2.24 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка