WP User Sync Class
Introduction
PHP class used to manage relationsips between PrivateContent users and their WordPress mirrors: sync, unsync, checks.
Is instantiated in website and reachable through php global pc_wp_user.
Extends main pc_users class.
Located in classes folder.
Properties
(bool/array) $wps_roles | array of custom roles assigned to mirror WP users. By default is false, filled only using get_wps_custom_roles() or set_wps_custom_roles() methods |
---|
(string) $pwu_sync_error | static resource for WP sync errors printing - contains a string |
---|
global_sync()
Method used to sync whole privateContent users database.
Obviosly users must have an unique e-mail to be synced.
Usage
global_sync()
Parameters
no parameters
Return Values
(string) | message containing how many users have been synced and how many failed because of their username or e-mail |
---|
Example
<?php
// perform a global sync and print results
global $pc_wp_user;
echo $pc_wp_user->global_sync();
?>
sync_wp_user()
Method used to sync a single user.
Used also to update synced WP user's data.
Usage
sync_wp_user($user_data, $existing_id = 0, $save_in_db = false)
Parameters
(array) $user_data | associative array containing data to use for new WP user. Indexes: - username (required if not updating)
- email (required)
- psw (required if not updating)
- name
- surname
|
---|
(int) $existing_id | existing, synced, WP user to update |
---|
(bool) $save_in_db | whether to save the created WP user ID in pvtContent database |
---|
Return Values
(bool/int) | created/updated user ID or false |
---|
Example
<?php
// sync a single user and save into database
global $pc_wp_user;
$data = array(
'username' => 'test',
'email' => '[email protected]',
'psw' => 'test',
);
$result = $pc_wp_user->sync_wp_user($data, 0, true);
if($result) {
// user added successfully
} else {
// print errors
echo $pc_wp_user->pwu_sync_error;
}
?>
sync_psw_to_wp()
Method used to sync password from pvtContent WP user.
Usage
sync_psw_to_wp($psw, $wp_user_id)
Parameters
(string) $psw | already hashed password |
---|
(int) $wp_user_id | WordPresss user ID |
---|
Return Values
(mixed) | WPDB operation response |
---|
search_and_sync_matches()
Method used to search matches between unsynced PrivateContent users and WP ones.
Matching uesrs will be synced (be careful, WP users will become PrivateContent mirrors).
Usage
search_and_sync_matches()
Parameters
no parameters
Return Values
(string) | message containing how many users have been synced |
---|
global_detach()
Method used to globally detach synced users. WordPress mirror users will be deleted.
Usage
global_detach()
Parameters
no parameters
Return Values
(string) | message confirming successful detach |
---|
detach_wp_user()
Method used to sync a single user.
Used also to update synced WP user's data.
Usage
detach_wp_user($user_id, $save_in_db = true, $wp_user_id = false)
Parameters
(int) $user_id | PrivateContent user ID to detach |
---|
(bool) $save_in_db | whether to update user records in pvtContent database |
---|
(bool) $wp_user_id | directly pass synced wp user ID to delete (avoid one query) |
---|
Return Values
Example
<?php
// detach user #5 and save into database
global $pc_wp_user;
$pc_wp_user->detach_wp_user(5, true);
?>
wp_user_is_linked()
Method used to know if a WordPress user is synced
Usage
wp_user_is_linked($user_id)
Parameters
(int) $user_id | WordPress user ID |
---|
Return Values
(bool/obj) | false if user is not synced otherwise the query object. Object contains ID, (serialized) categories and status of synced Privatecontent user |
---|
Example
<?php
// know if WP user #5 is synced and get related privatecontent user ID
global $pc_wp_user;
$result = $pc_wp_user->wp_user_is_linked(5);
if($result) {
echo $result->id;
}
?>
pvtc_is_synced()
Method used to know if a PrivateContent user is synced
Usage
pvtc_is_synced($user_id, $return_id = false)
Parameters
(int) $user_id | PrivateContent user ID |
---|
(bool) $return_id | whether to return found WP user id directly |
---|
Return Values
(bool/obj) | false if user is not synced otherwise user data got through get_userdata() |
---|
update_nicename()
Method used to update WordPress user nicename
Usage
update_nicename($wp_user_id)
Parameters
(int) $wp_user_id | WordPress user ID |
---|
Return Values
no data returned
new_mail_is_ok()
Method used to know if a new e-mail is ok for a WordPress user
Usage
new_mail_is_ok($wp_user_id, $email)
Parameters
(int) $wp_user_id | WordPress user ID |
---|
(string) $email | new e-mail |
---|
Return Values
wp_user_exists()
Method used to know if username or e-mail are already used by another WP user
Usage
wp_user_exists($username, $email)
Parameters
(string) $username | username to match |
---|
(string) $email | e-mail to match |
---|
Return Values
(bool) | true if is used, otherwise false |
---|
get_wps_custom_roles()
Method used to get custom roles applied to synced users (set in PrivateContent settings)
Usage
get_wps_custom_roles()
Parameters
no parameters
Return Values
(array) | array containing roles |
---|
set_wps_custom_roles()
Method used to get custom roles applied to synced users (set in PrivateContent settings)
Usage
set_wps_custom_roles($user_id = false, $is_new_user = false)
Parameters
(int/array) $wp_user_id | single WP user ID to update or multiple IDs - by default updates any synced user |
---|
(bool) $is_new_user | if true, avoid update when role is only pvtcontent |
---|
Return Values
(bool) | true if operation ended successfully, otherwise false |
---|