Révision 32700c57
Ajouté par Assos Assos il y a environ 5 ans
drupal7/sites/all/modules/ldap/ldap_feeds/FeedsDrupalUserLdapEntryFetcher.inc | ||
---|---|---|
2 | 2 |
|
3 | 3 |
/** |
4 | 4 |
* @file |
5 |
* FeedsDrupalUserLdapEntryFetcher |
|
5 |
* FeedsDrupalUserLdapEntryFetcher.
|
|
6 | 6 |
*/ |
7 | 7 |
|
8 | 8 |
define('LDAP_FEEDS_DRUPAL_USER_FETCHER_FILTER_AUTHENTICATED', FALSE); |
9 | 9 |
define('LDAP_FEEDS_DRUPAL_USER_FETCHER_FILTER_ROLES', FALSE); |
10 |
|
|
10 |
/** |
|
11 |
* |
|
12 |
*/ |
|
11 | 13 |
class FeedsDrupalUserLdapEntryFetcherResult extends FeedsFetcherResult { |
12 | 14 |
|
13 | 15 |
public $filterLdapAuthenticated; |
... | ... | |
28 | 30 |
} |
29 | 31 |
|
30 | 32 |
/** |
31 |
* Overrides parent::getRaw(); |
|
33 |
* Overrides parent::getRaw();.
|
|
32 | 34 |
*/ |
33 | 35 |
public function getRaw() { |
34 | 36 |
|
35 |
// needs to loop through all users, and query ldap for each, one at a time |
|
36 |
|
|
37 |
$query = new EntityFieldQuery; |
|
37 |
// Needs to loop through all users, and query ldap for each, one at a time. |
|
38 |
$query = new EntityFieldQuery(); |
|
38 | 39 |
$entities = $query |
39 | 40 |
->entityCondition('entity_type', 'user') |
40 | 41 |
->execute(); |
41 | 42 |
$users = entity_load('user', array_keys($entities['user'])); |
42 | 43 |
if ($this->filterRoles) { |
43 | 44 |
$selectedRoles = array_filter($this->filterRoles); |
44 |
$filterOnRoles = (boolean)(count($selectedRoles)); |
|
45 |
$filterOnRoles = (boolean) (count($selectedRoles));
|
|
45 | 46 |
} |
46 | 47 |
else { |
47 | 48 |
$filterOnRoles = FALSE; |
48 | 49 |
} |
49 | 50 |
|
50 |
|
|
51 | 51 |
foreach ($users as $uid => $user) { |
52 | 52 |
if ( |
53 | 53 |
$uid == 0 || |
... | ... | |
64 | 64 |
foreach ($this->availableDrupalUserAttributes as $attr_name => $attr_conf) { |
65 | 65 |
$ldap_user['attr'][] = $attr_conf['token']; |
66 | 66 |
$ldap_user['attr'][$attr_conf['token']]['count'] = 1; |
67 |
$ldap_user['attr'][$attr_conf['token']][0] = (string)$user->{$attr_name}; |
|
67 |
$ldap_user['attr'][$attr_conf['token']][0] = (string) $user->{$attr_name};
|
|
68 | 68 |
} |
69 | 69 |
|
70 | 70 |
$results[] = $ldap_user; |
71 | 71 |
} |
72 | 72 |
} |
73 | 73 |
$results['count'] = count($results); |
74 |
// drupal_set_message("<pre>" . print_r($results, TRUE)); |
|
75 | 74 |
return $results; |
76 | 75 |
} |
76 |
|
|
77 | 77 |
} |
78 | 78 |
|
79 | 79 |
/** |
... | ... | |
94 | 94 |
* Override parent::configDefaults(). |
95 | 95 |
*/ |
96 | 96 |
public function configDefaults() { |
97 |
return array(
|
|
98 |
'filterLdapAuthenticated' => array(),
|
|
97 |
return [
|
|
98 |
'filterLdapAuthenticated' => [],
|
|
99 | 99 |
'availableDrupalUserAttributes' => ldap_feeds_drupal_user_attributes(), |
100 |
'filterRoles' => array(),
|
|
101 |
);
|
|
100 |
'filterRoles' => [],
|
|
101 |
];
|
|
102 | 102 |
} |
103 | 103 |
|
104 | 104 |
/** |
... | ... | |
106 | 106 |
*/ |
107 | 107 |
public function configForm(&$form_state) { |
108 | 108 |
|
109 |
$form = array();
|
|
110 |
$form['filterLdapAuthenticated'] = array(
|
|
109 |
$form = [];
|
|
110 |
$form['filterLdapAuthenticated'] = [
|
|
111 | 111 |
'#type' => 'checkbox', |
112 | 112 |
'#title' => t('Only return ldap authenticated users.'), |
113 | 113 |
'#default_value' => $this->config['filterLdapAuthenticated'], |
114 | 114 |
'#description' => t('If checked, only users who are associated with ldap accounts will be returned.'), |
115 |
);
|
|
115 |
];
|
|
116 | 116 |
|
117 | 117 |
return $form; |
118 | 118 |
} |
... | ... | |
128 | 128 |
* Override parent::sourceForm(). |
129 | 129 |
*/ |
130 | 130 |
public function sourceForm($source_config) { |
131 |
$tokens = array(
|
|
131 |
$tokens = [
|
|
132 | 132 |
'!edit_link' => l(t('Edit Feed'), 'admin/structure/feeds/' . $this->id), |
133 |
);
|
|
133 |
];
|
|
134 | 134 |
|
135 |
$form_state = array();
|
|
135 |
$form_state = [];
|
|
136 | 136 |
$form = $this->configForm($form_state); |
137 |
$form['addendum'] = array(
|
|
137 |
$form['addendum'] = [
|
|
138 | 138 |
'#type' => 'markup', |
139 | 139 |
'#markup' => t('This import is configured at !edit_link.', $tokens), |
140 |
);
|
|
140 |
];
|
|
141 | 141 |
|
142 | 142 |
return $form; |
143 | 143 |
} |
144 | 144 |
|
145 |
|
|
146 |
|
|
147 | 145 |
} |
Formats disponibles : Unified diff
Weekly update of contrib modules