interstitial_settings.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * Save settings for first time logins with twitter
  4. */
  5. elgg_make_sticky_form('twitter_api_interstitial');
  6. $display_name = get_input('display_name');
  7. $email = get_input('email');
  8. $password_1 = get_input('password_1', null, false);
  9. $password_2 = get_input('password_2', null, false);
  10. if (!$display_name) {
  11. register_error(elgg_echo('twitter_api:interstitial:no_display_name'));
  12. forward(REFERER);
  13. }
  14. if ($email && !is_email_address($email)) {
  15. register_error(elgg_echo('twitter_api:interstitial:invalid_email'));
  16. forward(REFERER);
  17. }
  18. $existing_user = get_user_by_email($email);
  19. if ($email && $existing_user) {
  20. register_error(elgg_echo('twitter_api:interstitial:existing_email'));
  21. forward(REFERER);
  22. }
  23. if ($password_1 && !($password_1 == $password_2)) {
  24. register_error(elgg_echo('twitter_api:interstitial:password_mismatch'));
  25. forward(REFERER);
  26. }
  27. $user = elgg_get_logged_in_user_entity();
  28. $user->name = $display_name;
  29. if ($email) {
  30. $user->email = $email;
  31. }
  32. if ($password_1) {
  33. $user->setPassword($password_1);
  34. }
  35. if (!$user->save()) {
  36. register_error(elgg_echo('twitter_api:interstitial:cannot_save'));
  37. forward(REFERER);
  38. }
  39. elgg_clear_sticky_form('twitter_api_interstitial');
  40. system_message(elgg_echo('twitter_api:interstitial:saved'));
  41. forward('/');