PHP code example of middlebury / dynamic-add-users
1. Go to this page and download the library: Download middlebury/dynamic-add-users library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
/**
* Action: Set/unset roles and capabilities for the user based on groups.
*
* This plugin will call
* doAction('dynamic_add_users__update_user_on_login', $user, $groups)
* when a user logs in. Below is an example implementation.
*
* @param WP_User $user
* @param array $groups
*/
function dynamic_add_users__update_user_on_login(WP_User $user, array $groups) {
/*
// Example: Let institution users do something.
if (in_array('CN=institution,OU=General,OU=Groups,DC=middlebury,DC=edu', $groups)) {
$user->add_cap('middlebury_custom_capability');
}
// For all other users disallow this capability.
else {
$user->remove_cap('middlebury_custom_capability');
}
*/
}
/**
* Filter: Filter directory results when searching for users.
*
* Each match is an array like:
*
* [
* 'user_login' => '',
* 'user_email' => '',
* 'user_nicename' => '',
* 'display_name' => '',
* ]
*
* This plugin will call
* apply_filters('dynamic_add_users__filter_user_matches', $matches)
* when searches against the directory are run. Below is an example
* implementation.
*
* @param array $matches
* @return array The filtered matches.
*/
function dynamic_add_users__filter_user_matches($matches) {
/*
// Example: Filter out accounts prefixed with 'guest_'.
$results = [];
foreach ($matches as $match) {
if (!preg_match('/^guest_[a-z0-9]{31,34}$/i', $match['user_login'])) {
$results[] = $match;
}
}
return $results;
*/
}
/**
* Filter: Filter directory results when searching for groups.
*
* Each matches is an array of group ID => display name. Keys and values depend
* on the directory implementation and should not have their format assumed.
* Examples:
*
* [
* '100' => 'All Students',
* '5' => 'Faculty',
* ]
*
* or
*
* [
* 'cn=All Students,OU=Groups,DC=middlebury,DC=edu' => 'All Students',
* 'cn=Faculty,OU=Groups,DC=middlebury,DC=edu' => 'Faculty',
* ]
*
* This plugin will call
* apply_filters('dynamic_add_users__filter_group_matches', $matches)
* when searches against the directory are run. Below is an example
* implementation.
*
* @param array $matches
* @return array The filtered matches.
*/
function dynamic_add_users__filter_group_matches($matches) {
/*
// Example: Filter out groups prefixed with 'xx' or 'zz'.
$results = [];
foreach ($matches as $id => $displayName) {
if (!preg_match('/^(xx|zz).+$/i', $displayName)) {
$results[$id] = $displayName;
}
}
return $results;
*/
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.