// ====================================== // USER IMPORT // ====================================== /** * Implementation of hook_user_import_form_fieldsets(). */ function ms_membership_user_import_form_fieldset($import, $collapsed) { $form = array(); ms_membership_user_import_edit_roles_fields($form, $import, $collapsed); return $form; } function ms_membership_user_import_edit_roles_fields(&$form, $import, $collapsed) { // memberships selected $plans_selected = array(); if ( !empty($import['m_plans']) ) { foreach ($import['m_plans'] as $mpid) { if ($mpid != 0) $plans_selected[] = $mpid; } } $form['ms_membership'] = array( '#type' => 'fieldset', '#title' => t('Membership'), '#weight' => -80, '#collapsible' => TRUE, '#collapsed' => $collapsed, ); $form['ms_membership']['m_plans'] = array( '#title' => t('Assign Membership(s) to all users'), '#type' => 'checkboxes', '#options' => ms_membership_get_plans(), '#default_value' => $plans_selected, '#description' => t("Select which membership plan should be assigned to all users."), ); $form['ms_membership']['ms_membership_send_email'] = array( '#title' => t('Send Membership Signup Email to New Users?'), '#type' => 'checkbox', '#default_value' => FALSE, '#description' => t("Check this to have the Signup Email sent to the new users as defined in the Membership Plan."), ); return; } /** * Implementation of hook_user_import_after_save(). */ function ms_membership_user_import_after_save($settings, $account, $password, $fields, $updated, $update_setting_per_module) { foreach ($settings['m_plans'] as $key => $mpid) { if ($mpid) { $m_plan = ms_membership_load_membership_plan($mpid); if ($m_plan->mpid) { // Insert into Memberships database $expiration = ms_membership_get_expiration_date($m_plan->mpid); $membership = ms_membership_insert_membership(0, $account->uid, $m_plan->mpid, $expiration, 3, 0, 0, 0); // Add the roles ms_membership_change_roles($membership->uid, $m_plan->start_grant_roles, $m_plan->start_remove_roles); // Invoke hook_ms_membership_expiring to let other modules act on a new membership module_invoke_all('ms_membership_signup', $account, $membership, $m_plan); // Send Email to User if ($settings['ms_membership_send_email']) { drupal_mail('ms_membership', 'signup', $account->mail, user_preferred_language($account), array('mid' => $membership->mid)); } } } } return; }