Guest User

Untitled

a guest
Sep 25th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. <?php
  2. function rand_string($length) {
  3. $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  4. $size = strlen( $chars );
  5. for( $i = 0; $i < $length; $i++ ) {
  6. $str .= $chars[ rand( 0, $size - 1 ) ];
  7. }
  8. return $str;
  9. }
  10.  
  11.  
  12. $allFormFields = $hook->getValues();
  13.  
  14. $save = $allFormFields['submitSave'];
  15. $fullname = $allFormFields['fullname'];
  16. $email = $allFormFields['email'];
  17. $address = $allFormFields['address'];
  18. $zip = $allFormFields['zip'];
  19. $city = $allFormFields['city'];
  20. $phone = $allFormFields['phone'];
  21. $mobilephone = $allFormFields['mobilephone'];
  22. $dob = $allFormFields['dob'];
  23. if (!empty($dob)) { $dob = strtotime($dob); }
  24. $username = $allFormFields['username'];
  25. $usertype = $allFormFields['usertype'];
  26. $teacher = $allFormFields['teacher'];
  27. $instrument = $allFormFields['instrument'];
  28. $day = $allFormFields['day'];
  29. $starttime = $allFormFields['starttime'];
  30. $endtime = $allFormFields['endtime'];
  31. $frequency = $allFormFields['frequency'];
  32.  
  33. if ($save == 'Save') {
  34. $user = $modx->getObject('modUser', array('username' => $username));
  35. if (!$user) {
  36. $msg = '2';
  37. $user = $modx->newObject('modUser');
  38. $user->set('username', $username);
  39. $password = rand_string(10);
  40. $user->set('password', $password);
  41. $profile = $modx->newObject('modUserProfile');
  42. }
  43. else {
  44. $msg = '3';
  45. $profile = $user->getOne('Profile');
  46. }
  47. $extended = $profile->get('extended');
  48. $extendedFields = array();
  49. $user->set('active', 1);
  50. if (!empty($instrument)) { $extendedFields['instrument'] = $instrument; }
  51. if (!empty($day)) { $extendedFields['day'] = $day; }
  52. if (!empty($starttime)) { $extendedFields['starttime'] = $starttime; }
  53. if (!empty($endtime)) { $extendedFields['endtime'] = $endtime; }
  54. if (!empty($frequency)) { $extendedFields['frequency'] = $frequency; }
  55. if (!empty($teacher)) { $extendedFields['teacher'] = $teacher; }
  56. $profile->set('fullname', $fullname);
  57. $profile->set('email', $email);
  58. $profile->set('phone', $phone);
  59. $profile->set('mobilephone', $mobilephone);
  60. $profile->set('dob', $dob);
  61. $profile->set('address', $address);
  62. $profile->set('city', $city);
  63. $profile->set('zip', $zip);
  64.  
  65. // Process headshot
  66. $ext_array = array('jpg','jpeg','png'); // valid extensions
  67. $uploadpath = 'assets/uploads/';
  68. $target_path = $modx->config['base_path'] . $uploadpath;
  69. $submittedfiles = array_keys($_FILES); // get uploaded file names
  70. foreach ($submittedfiles as $sf) {
  71. $filename = basename( $_FILES[$sf]['name'] ); // Get Filename and make sure its good.
  72.  
  73. $ext = pathinfo($filename, PATHINFO_EXTENSION); // Get file's extension
  74. $ext = mb_strtolower($ext); // case insensitive
  75.  
  76. if($filename != '') { // is the file name empty (no file uploaded)
  77.  
  78. if(in_array($ext, $ext_array)) { // is this the right type of file?
  79. $filename = str_replace(' ', '_', $filename); // spaces to underscores
  80. $filename = date("Y-m-d_G-i-s_") . $filename; // add date & time
  81.  
  82. $myTarget = $target_path . $filename; // full path to new file
  83.  
  84. if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) { // is the file moved to the proper folder successfully?
  85. $extendedFields['headshot'] = $filename;
  86. }
  87. else {
  88. // File not uploaded
  89. $errorMsg = 'There was a problem uploading the file.';
  90. $hook->setValue('errorMsg', $errorMsg);
  91. return false; // generate submission error
  92. }
  93. }
  94. else {
  95. // File type not allowed
  96. $errorMsg = 'Type of file not allowed.';
  97. $hook->setValue('errorMsg', $errorMsg);
  98. return false; // generate submission error
  99. }
  100. // if no file, don't error, but return blank
  101. }
  102. }
  103.  
  104. if (!empty($extendedFields)) { $profile->set('extended', $extendedFields); }
  105. $user->addOne($profile);
  106. $user->save();
  107. if ($usertype == 'Student') { $user->joinGroup('Student', 'Member'); }
  108. if ($usertype == 'Teacher') { $user->joinGroup('Teacher', 'Member'); }
  109. $url = $modx->makeUrl(4,'',array('msg' => $msg));
  110. $modx->sendRedirect($url);
  111. }
  112. else {
  113. return false;
  114. }
Add Comment
Please, Sign In to add comment