--- /dev/null
+<?php
+
+function auto_cas_user_cas_user_alter(&$cas_user) {
+ $username = $cas_user['name'];
+
+ // Test for existing CAS user
+ $count = db_select('cas_user', 'c')
+ ->condition('cas_name', $username)
+ ->countQuery()->execute()->fetchfield();
+
+ if($count == 0) {
+ $account = user_load_by_name($username);
+
+ if($account) {
+ // User exists but doesn't have a CAS user record, so create
+ // one.
+ db_insert('cas_user')
+ ->fields(array('cas_name' => $username,
+ 'uid' => $account->uid))
+ ->execute();
+ }
+ }
+}
\ No newline at end of file