本文整理汇总了PHP中Jetpack::is_user_connected方法的典型用法代码示例。如果您正苦于以下问题:PHP Jetpack::is_user_connected方法的具体用法?PHP Jetpack::is_user_connected怎么用?PHP Jetpack::is_user_connected使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Jetpack
的用法示例。
在下文中一共展示了Jetpack::is_user_connected方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: user_role_change
/**
* Synchronize connected user role changes
*/
static function user_role_change($user_id)
{
if (Jetpack::is_active() && Jetpack::is_user_connected($user_id)) {
$current_user_id = get_current_user_id();
wp_set_current_user($user_id);
$role = Jetpack::translate_current_user_to_role();
$signed_role = Jetpack::sign_role($role);
wp_set_current_user($current_user_id);
$master_token = Jetpack_Data::get_access_token(JETPACK_MASTER_USER);
$master_user_id = absint($master_token->external_user_id);
if (!$master_user_id) {
return;
}
// this shouldn't happen
Jetpack::xmlrpc_async_call('jetpack.updateRole', $user_id, $signed_role);
//@todo retry on failure
//try to choose a new master if we're demoting the current one
if ($user_id == $master_user_id && 'administrator' != $role) {
$query = new WP_User_Query(array('fields' => array('id'), 'role' => 'administrator', 'orderby' => 'id', 'exclude' => array($master_user_id)));
$new_master = false;
foreach ($query->results as $result) {
$uid = absint($result->id);
if ($uid && Jetpack::is_user_connected($uid)) {
$new_master = $uid;
break;
}
}
if ($new_master) {
Jetpack_Options::update_option('master_user', $new_master);
}
// else disconnect..?
}
}
}
示例2: remote_authorize
function remote_authorize($request)
{
foreach (array('secret', 'state', 'redirect_uri', 'code') as $required) {
if (!isset($request[$required]) || empty($request[$required])) {
return $this->error(new Jetpack_Error('missing_parameter', 'One or more parameters is missing from the request.', 400));
}
}
if (!get_user_by('id', $request['state'])) {
return $this->error(new Jetpack_Error('user_unknown', 'User not found.', 404));
}
if (Jetpack::is_active() && Jetpack::is_user_connected($request['state'])) {
return $this->error(new Jetpack_Error('already_connected', 'User already connected.', 400));
}
$verified = $this->verify_action(array('authorize', $request['secret'], $request['state']));
if (is_a($verified, 'IXR_Error')) {
return $verified;
}
wp_set_current_user($request['state']);
$client_server = new Jetpack_Client_Server();
$result = $client_server->authorize($request);
if (is_wp_error($result)) {
return $this->error($result);
}
// Creates a new secret, allowing someone to activate the manage module for up to 1 day after authorization.
$secrets = Jetpack::init()->generate_secrets('activate_manage', DAY_IN_SECONDS);
@(list($secret) = explode(':', $secrets));
$response = array('result' => $result, 'activate_manage' => $secret);
return $response;
}
示例3: remote_authorize
function remote_authorize($request)
{
foreach (array('secret', 'state', 'redirect_uri', 'code') as $required) {
if (!isset($request[$required]) || empty($request[$required])) {
return $this->error(new Jetpack_Error('missing_parameter', 'One or more parameters is missing from the request.', 400));
}
}
if (!get_user_by('id', $request['state'])) {
return $this->error(new Jetpack_Error('user_unknown', 'User not found.', 404));
}
if (Jetpack::is_active() && Jetpack::is_user_connected($request['state'])) {
return $this->error(new Jetpack_Error('already_connected', 'User already connected.', 400));
}
$verified = $this->verify_action(array('authorize', $request['secret'], $request['state']));
if (is_a($verified, 'IXR_Error')) {
return $verified;
}
wp_set_current_user($request['state']);
$client_server = new Jetpack_Client_Server();
$result = $client_server->authorize($request);
if (is_wp_error($result)) {
return $this->error($result);
}
return $result;
}
示例4: maybe_demote_master_user
static function maybe_demote_master_user($user_id)
{
$master_user_id = Jetpack_Options::get_option('master_user');
$role = self::get_role($user_id);
if ($user_id == $master_user_id && 'administrator' != $role) {
$query = new WP_User_Query(array('fields' => array('id'), 'role' => 'administrator', 'orderby' => 'id', 'exclude' => array($master_user_id)));
$new_master = false;
foreach ($query->results as $result) {
$found_user_id = absint($result->id);
if ($found_user_id && Jetpack::is_user_connected($found_user_id)) {
$new_master = $found_user_id;
break;
}
}
if ($new_master) {
Jetpack_Options::update_option('master_user', $new_master);
}
// else disconnect..?
}
}
示例5: print_js
function print_js()
{
$link_accounts_url = is_user_logged_in() && !Jetpack::is_user_connected() ? $this->jetpack->admin_url() : false;
?>
<script type="text/javascript">
/* <![CDATA[ */
var wpNotesIsJetpackClient = true;
<?php
if ($link_accounts_url) {
?>
var wpNotesLinkAccountsURL = '<?php
print $link_accounts_url;
?>
';
<?php
}
?>
/* ]]> */
</script>
<?php
}
示例6: jetpack_tracks_get_identity
function jetpack_tracks_get_identity($user_id)
{
// Meta is set, and user is still connected. Use WPCOM ID
$wpcom_id = get_user_meta($user_id, 'jetpack_tracks_wpcom_id', true);
if ($wpcom_id && Jetpack::is_user_connected($user_id)) {
return array('_ut' => 'wpcom:user_id', '_ui' => $wpcom_id);
}
// User is connected, but no meta is set yet. Use WPCOM ID and set meta.
if (Jetpack::is_user_connected($user_id)) {
$wpcom_user_data = Jetpack::get_connected_user_data($user_id);
add_user_meta($user_id, 'jetpack_tracks_wpcom_id', $wpcom_user_data['ID'], true);
return array('_ut' => 'wpcom:user_id', '_ui' => $wpcom_user_data['ID']);
}
// User isn't linked at all. Fall back to anonymous ID.
$anon_id = get_user_meta($user_id, 'jetpack_tracks_anon_id', true);
if (!$anon_id) {
$anon_id = Jetpack_Tracks_Client::get_anon_id();
add_user_meta($user_id, 'jetpack_tracks_anon_id', $anon_id, false);
}
if (!isset($_COOKIE['tk_ai']) && !headers_sent()) {
setcookie('tk_ai', $anon_id);
}
return array('_ut' => 'anon', '_ui' => $anon_id);
}
示例7: esc_attr_e
<a title="<?php
esc_attr_e('Learn about what being the Primary User means.', 'jetpack');
?>
" class="dashicons dashicons-editor-help what-is-primary" href="https://jetpack.me/support/primary-user" target="_blank"></a></h4>
<?php
// Only show dropdown if there are other admins
$all_users = count_users();
$primary_text = __('(primary)', 'jetpack');
if (1 < $all_users['avail_roles']['administrator']) {
?>
<form action="" method="post">
<select name="jetpack-new-master" id="user-list">
<?php
$all_users = get_users();
foreach ($all_users as $user) {
if (Jetpack::is_user_connected($user->ID) && $user->caps['administrator']) {
if ($user->ID == Jetpack_Options::get_option('master_user')) {
$master_user_option = "<option selected value='{$user->ID}'>{$user->user_login} {$primary_text}</option>";
} else {
$user_options .= "<option value='{$user->ID}'>{$user->user_login}</option>";
}
}
}
// Show master first
echo $master_user_option;
// Show the rest of the linked admins
$user_options = !empty($user_options) ? $user_options : printf(__('%sConnect more admins%s', 'jetpack'), "<option disabled='disabled'>", "</option>");
echo $user_options;
?>
</select>
<?php
示例8: jetpack_show_user_connected_icon
function jetpack_show_user_connected_icon($val, $col, $user_id)
{
if ('user_jetpack' == $col && Jetpack::is_user_connected($user_id)) {
$emblem_html = sprintf('<a title="%1$s" class="jp-emblem-user-admin">%2$s</a>', esc_attr__('This user is linked and ready to fly with Jetpack.', 'jetpack'), Jetpack::get_jp_emblem());
return $emblem_html;
}
return $val;
}
示例9: jetpack_current_user_data
/**
* Gather data about the current user.
*
* @since 4.1.0
*
* @return array
*/
function jetpack_current_user_data()
{
global $current_user;
$is_master_user = $current_user->ID == Jetpack_Options::get_option('master_user');
$dotcom_data = Jetpack::get_connected_user_data();
// Add connected user gravatar to the returned dotcom_data
$avatar_data = Jetpack::get_avatar_url($dotcom_data['email']);
$dotcom_data['avatar'] = $avatar_data[0];
$current_user_data = array('isConnected' => Jetpack::is_user_connected($current_user->ID), 'isMaster' => $is_master_user, 'username' => $current_user->user_login, 'wpcomUser' => $dotcom_data, 'gravatar' => get_avatar($current_user->ID, 40), 'permissions' => array('admin_page' => current_user_can('jetpack_admin_page'), 'connect' => current_user_can('jetpack_connect'), 'disconnect' => current_user_can('jetpack_disconnect'), 'manage_modules' => current_user_can('jetpack_manage_modules'), 'network_admin' => current_user_can('jetpack_network_admin_page'), 'network_sites_page' => current_user_can('jetpack_network_sites_page'), 'edit_posts' => current_user_can('edit_posts'), 'manage_options' => current_user_can('manage_options'), 'view_stats' => current_user_can('view_stats'), 'manage_plugins' => current_user_can('install_plugins') && current_user_can('activate_plugins') && current_user_can('update_plugins') && current_user_can('delete_plugins')));
return $current_user_data;
}
示例10: jetpack_current_user_data
function jetpack_current_user_data()
{
global $current_user;
$is_master_user = $current_user->ID == Jetpack_Options::get_option('master_user');
$dotcom_data = Jetpack::get_connected_user_data();
$current_user_data = array('isConnected' => Jetpack::is_user_connected($current_user->ID), 'isMaster' => $is_master_user, 'username' => $current_user->user_login, 'wpcomUser' => $dotcom_data, 'gravatar' => get_avatar($current_user->ID, 40), 'permissions' => array('admin_page' => current_user_can('jetpack_admin_page'), 'connect' => current_user_can('jetpack_connect'), 'disconnect' => current_user_can('jetpack_disconnect'), 'manage_modules' => current_user_can('jetpack_manage_modules'), 'network_admin' => current_user_can('jetpack_network_admin_page'), 'network_sites_page' => current_user_can('jetpack_network_sites_page'), 'edit_posts' => current_user_can('edit_posts'), 'manage_options' => current_user_can('manage_options')));
return $current_user_data;
}
示例11: edit_profile_fields
function edit_profile_fields($user)
{
?>
<h3 id="single-sign-on"><?php
_e('Single Sign On', 'jetpack');
?>
</h3>
<p><?php
_e('Connecting with Single Sign On enables you to log in via your WordPress.com account.', 'jetpack');
?>
</p>
<?php
if ($this->is_user_connected($user->ID)) {
/* If the user is currently connected... */
?>
<?php
$user_data = $this->get_user_data($user->ID);
?>
<table class="form-table jetpack-sso-form-table">
<tbody>
<tr>
<td>
<div class="profile-card">
<?php
echo get_avatar($user_data->email);
?>
<p class="connected"><strong><?php
_e('Connected', 'jetpack');
?>
</strong></p>
<p><?php
echo esc_html($user_data->login);
?>
</p>
<span class="two_step">
<?php
if ($user_data->two_step_enabled) {
?>
<p class="enabled"><a href="https://wordpress.com/me/security/two-step" target="_blank"><?php
_e('Two-Step Authentication Enabled', 'jetpack');
?>
</a></p> <?php
} else {
?>
<p class="disabled"><a href="https://wordpress.com/me/security/two-step" target="_blank"><?php
_e('Two-Step Authentication Disabled', 'jetpack');
?>
</a></p> <?php
}
?>
</span>
</div>
<p><a class="button button-secondary" href="<?php
echo esc_url(wp_nonce_url(add_query_arg('jetpack_sso', 'purge'), 'jetpack_sso_purge'));
?>
"><?php
_e('Unlink This Account', 'jetpack');
?>
</a></p>
</td>
</tr>
</tbody>
</table>
<?php
} elseif (get_current_user_id() == $user->ID && Jetpack::is_user_connected($user->ID)) {
?>
<?php
echo $this->button('state=sso-link-user&_wpnonce=' . wp_create_nonce('sso-link-user'));
// update
?>
<?php
} else {
?>
<p><?php
esc_html_e(wptexturize(__("If you don't have a WordPress.com account yet, you can sign up for free in just a few seconds.", 'jetpack')));
?>
</p>
<a href="<?php
echo Jetpack::init()->build_connect_url(false, get_edit_profile_url(get_current_user_id()) . '#single-sign-on');
?>
" class="button button-connector" id="wpcom-connect"><?php
esc_html_e('Link account with WordPress.com', 'jetpack');
?>
</a>
<?php
}
}
示例12: unlink_user_permission_callback
/**
* Verify that a user can use the /connection/user endpoint. Has to be a registered user and be currently linked.
*
* @since 4.3.0
*
* @uses Jetpack::is_user_connected();
*
* @return bool|WP_Error True if user is able to unlink.
*/
public static function unlink_user_permission_callback()
{
if (current_user_can('jetpack_connect_user') && Jetpack::is_user_connected(get_current_user_id())) {
return true;
}
return new WP_Error('invalid_user_permission_unlink_user', self::$user_permissions_error_msg, array('status' => self::rest_authorization_required_code()));
}
示例13: store_wpcom_profile_cookies_on_logout
/**
* Cache user's display name and Gravatar so it can be displayed on the login screen. These cookies are
* stored when the user logs out, and then deleted when the user logs in.
*/
function store_wpcom_profile_cookies_on_logout()
{
if (!Jetpack::is_user_connected(get_current_user_id())) {
return;
}
$user_data = $this->get_user_data(get_current_user_id());
if (!$user_data) {
return;
}
setcookie('jetpack_sso_wpcom_name_' . COOKIEHASH, $user_data->display_name, time() + WEEK_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN);
setcookie('jetpack_sso_wpcom_gravatar_' . COOKIEHASH, get_avatar_url($user_data->email, array('size' => 144, 'default' => 'mystery')), time() + WEEK_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN);
}
示例14: admin_page_load
/**
* Handles the page load events for the Jetpack admin page
*/
function admin_page_load()
{
$error = false;
// Make sure we have the right body class to hook stylings for subpages off of.
add_filter('admin_body_class', array(__CLASS__, 'add_jetpack_pagestyles'));
if (!empty($_GET['jetpack_restate'])) {
// Should only be used in intermediate redirects to preserve state across redirects
Jetpack::restate();
}
if (isset($_GET['connect_url_redirect'])) {
// User clicked in the iframe to link their accounts
if (!Jetpack::is_user_connected()) {
$connect_url = $this->build_connect_url(true, false, 'iframe');
if (isset($_GET['notes_iframe'])) {
$connect_url .= '¬es_iframe';
}
wp_redirect($connect_url);
exit;
} else {
Jetpack::state('message', 'already_authorized');
wp_safe_redirect(Jetpack::admin_url());
exit;
}
}
if (isset($_GET['action'])) {
switch ($_GET['action']) {
case 'authorize':
if (Jetpack::is_active() && Jetpack::is_user_connected()) {
Jetpack::state('message', 'already_authorized');
wp_safe_redirect(Jetpack::admin_url());
exit;
}
Jetpack::log('authorize');
$client_server = new Jetpack_Client_Server();
$client_server->client_authorize();
exit;
case 'register':
if (!current_user_can('jetpack_connect')) {
$error = 'cheatin';
break;
}
check_admin_referer('jetpack-register');
Jetpack::log('register');
Jetpack::maybe_set_version_option();
$registered = Jetpack::try_registration();
if (is_wp_error($registered)) {
$error = $registered->get_error_code();
Jetpack::state('error_description', $error);
Jetpack::state('error_description', $registered->get_error_message());
break;
}
$from = isset($_GET['from']) ? $_GET['from'] : false;
wp_redirect($this->build_connect_url(true, false, $from));
exit;
case 'activate':
if (!current_user_can('jetpack_activate_modules')) {
$error = 'cheatin';
break;
}
$module = stripslashes($_GET['module']);
check_admin_referer("jetpack_activate-{$module}");
Jetpack::log('activate', $module);
Jetpack::activate_module($module);
// The following two lines will rarely happen, as Jetpack::activate_module normally exits at the end.
wp_safe_redirect(Jetpack::admin_url('page=jetpack'));
exit;
case 'activate_default_modules':
check_admin_referer('activate_default_modules');
Jetpack::log('activate_default_modules');
Jetpack::restate();
$min_version = isset($_GET['min_version']) ? $_GET['min_version'] : false;
$max_version = isset($_GET['max_version']) ? $_GET['max_version'] : false;
$other_modules = isset($_GET['other_modules']) && is_array($_GET['other_modules']) ? $_GET['other_modules'] : array();
Jetpack::activate_default_modules($min_version, $max_version, $other_modules);
wp_safe_redirect(Jetpack::admin_url('page=jetpack'));
exit;
case 'disconnect':
if (!current_user_can('jetpack_disconnect')) {
$error = 'cheatin';
break;
}
check_admin_referer('jetpack-disconnect');
Jetpack::log('disconnect');
Jetpack::disconnect();
wp_safe_redirect(Jetpack::admin_url('disconnected=true'));
exit;
case 'reconnect':
if (!current_user_can('jetpack_reconnect')) {
$error = 'cheatin';
break;
}
check_admin_referer('jetpack-reconnect');
Jetpack::log('reconnect');
$this->disconnect();
wp_redirect($this->build_connect_url(true, false, 'reconnect'));
exit;
case 'deactivate':
//.........这里部分代码省略.........
示例15: admin_page_load
/**
* Handles the page load events for the Jetpack admin page
*/
function admin_page_load()
{
$error = false;
// Make sure we have the right body class to hook stylings for subpages off of.
add_filter('admin_body_class', array(__CLASS__, 'add_jetpack_pagestyles'));
if (!empty($_GET['jetpack_restate'])) {
// Should only be used in intermediate redirects to preserve state across redirects
Jetpack::restate();
}
if (isset($_GET['connect_url_redirect'])) {
// User clicked in the iframe to link their accounts
if (!Jetpack::is_user_connected()) {
$connect_url = $this->build_connect_url(true, false, 'iframe');
if (isset($_GET['notes_iframe'])) {
$connect_url .= '¬es_iframe';
}
wp_redirect($connect_url);
exit;
} else {
Jetpack::state('message', 'already_authorized');
wp_safe_redirect(Jetpack::admin_url());
exit;
}
}
if (isset($_GET['action'])) {
switch ($_GET['action']) {
case 'authorize':
if (Jetpack::is_active() && Jetpack::is_user_connected()) {
Jetpack::state('message', 'already_authorized');
wp_safe_redirect(Jetpack::admin_url());
exit;
}
Jetpack::log('authorize');
$client_server = new Jetpack_Client_Server();
$client_server->client_authorize();
exit;
case 'register':
if (!current_user_can('jetpack_connect')) {
$error = 'cheatin';
break;
}
check_admin_referer('jetpack-register');
Jetpack::log('register');
Jetpack::maybe_set_version_option();
$registered = Jetpack::try_registration();
if (is_wp_error($registered)) {
$error = $registered->get_error_code();
Jetpack::state('error_description', $registered->get_error_message());
break;
}
$from = isset($_GET['from']) ? $_GET['from'] : false;
wp_redirect($this->build_connect_url(true, false, $from));
exit;
case 'activate':
if (!current_user_can('jetpack_activate_modules')) {
$error = 'cheatin';
break;
}
$module = stripslashes($_GET['module']);
check_admin_referer("jetpack_activate-{$module}");
Jetpack::log('activate', $module);
Jetpack::activate_module($module);
// The following two lines will rarely happen, as Jetpack::activate_module normally exits at the end.
wp_safe_redirect(Jetpack::admin_url('page=jetpack'));
exit;
case 'activate_default_modules':
check_admin_referer('activate_default_modules');
Jetpack::log('activate_default_modules');
Jetpack::restate();
$min_version = isset($_GET['min_version']) ? $_GET['min_version'] : false;
$max_version = isset($_GET['max_version']) ? $_GET['max_version'] : false;
$other_modules = isset($_GET['other_modules']) && is_array($_GET['other_modules']) ? $_GET['other_modules'] : array();
Jetpack::activate_default_modules($min_version, $max_version, $other_modules);
wp_safe_redirect(Jetpack::admin_url('page=jetpack'));
exit;
case 'disconnect':
if (!current_user_can('jetpack_disconnect')) {
$error = 'cheatin';
break;
}
check_admin_referer('jetpack-disconnect');
Jetpack::log('disconnect');
Jetpack::disconnect();
wp_safe_redirect(Jetpack::admin_url('disconnected=true'));
exit;
case 'reconnect':
if (!current_user_can('jetpack_reconnect')) {
$error = 'cheatin';
break;
}
check_admin_referer('jetpack-reconnect');
Jetpack::log('reconnect');
$this->disconnect();
wp_redirect($this->build_connect_url(true, false, 'reconnect'));
exit;
case 'deactivate':
if (!current_user_can('jetpack_deactivate_modules')) {
//.........这里部分代码省略.........