commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-new / auto_cas_user / auto_cas_user.module
1 <?php
2 /*
3 * Auto CAS User
4 * Copyright © 2015 David Thompson <davet@gnu.org>
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 function auto_cas_user_cas_user_alter(&$cas_user) {
21 $username = $cas_user['name'];
22
23 // Test for existing CAS user
24 $count = db_select('cas_user', 'c')
25 ->condition('cas_name', $username)
26 ->countQuery()->execute()->fetchfield();
27
28 if($count == 0) {
29 $account = user_load_by_name($username);
30
31 if($account) {
32 // User exists but doesn't have a CAS user record, so create
33 // one.
34 db_insert('cas_user')
35 ->fields(array('cas_name' => $username,
36 'uid' => $account->uid))
37 ->execute();
38 }
39 }
40 }