summaryrefslogtreecommitdiff
path: root/modules/openid/openid.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/openid/openid.module')
-rw-r--r--modules/openid/openid.module29
1 files changed, 27 insertions, 2 deletions
diff --git a/modules/openid/openid.module b/modules/openid/openid.module
index 6d8cbfbdf..f19810dfa 100644
--- a/modules/openid/openid.module
+++ b/modules/openid/openid.module
@@ -76,6 +76,30 @@ function openid_user_insert(&$edit, $account, $category) {
}
/**
+ * Implements hook_user_login().
+ *
+ * Save openid_identifier to visitor cookie.
+ */
+function openid_user_login(&$edit, $account) {
+ if (isset($_SESSION['openid'])) {
+ // The user has logged in via OpenID.
+ user_cookie_save($_SESSION['openid']['user_login_values'], array('openid_identifier'));
+ unset($_SESSION['openid']);
+ }
+}
+
+/**
+ * Implements hook_user_logout().
+ *
+ * Delete any openid_identifier in visitor cookie.
+ */
+function openid_user_logout($account) {
+ if (isset($_COOKIE['Drupal_visitor_openid_identifier'])) {
+ user_cookie_delete('openid_identifier');
+ }
+}
+
+/**
* Implements hook_form_FORM_ID_alter().
*/
function openid_form_user_login_block_alter(&$form, &$form_state) {
@@ -90,8 +114,9 @@ function openid_form_user_login_alter(&$form, &$form_state) {
}
function _openid_user_login_form_alter(&$form, &$form_state) {
- drupal_add_css(drupal_get_path('module', 'openid') . '/openid.css');
- drupal_add_js(drupal_get_path('module', 'openid') . '/openid.js');
+ $form['#attached']['css'][] = drupal_get_path('module', 'openid') . '/openid.css';
+ $form['#attached']['js'][] = drupal_get_path('module', 'openid') . '/openid.js';
+ $form['#attached']['library'][] = array('system', 'cookie');
if (!empty($form_state['input']['openid_identifier'])) {
$form['name']['#required'] = FALSE;
$form['pass']['#required'] = FALSE;