Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.93 KB | None | 0 0
  1. <?
  2. /*
  3. function alter_demandevis_init() {
  4. $js = "
  5. Drupal.behaviors.addSelectionEvent = function() {
  6. $('#edit-choice-selection').change(function() {
  7. if($(this).val() == 'register') {
  8. $('#userregister').fadeIn(1000);
  9. $('#logins').hide();
  10.  
  11. }
  12. else {
  13. $('#logins').fadeIn(1000);
  14. $('#userregister').hide();
  15. }
  16. });
  17. }
  18. function logmein() {
  19. $('#edit-choice-selection').val('1');
  20. $('#logins').fadeIn(1000);
  21. $('#userregister').hide();
  22. $('#edit-choice-selection').val('1');
  23. }
  24. function regmein() {
  25. $('#edit-choice-selection').val('register');
  26. $('#logins').hide();
  27. $('#userregister').fadeIn(1000);
  28. $('#edit-choice-selection').val('0');
  29. }
  30. ";
  31. drupal_add_js($js, inline);
  32. }
  33. */
  34. // Alter the Author Contact form module
  35. function alter_form_alter(&$form, &$form_state, $form_id) {
  36. if($form_id == 'demandevis_node_form') {
  37. $form['choice_selection'] = array(
  38. '#type' => 'select',
  39. '#title' => t('Choisissez dans la liste'),
  40. '#options' => array(
  41. 'register' => 'Votre premiere demande de devis',
  42. 'login' => 'Connexion de l\'utilisateur',
  43. )
  44. );
  45.  
  46. $form['auth']['username_field'] = array(
  47. '#type' => 'textfield',
  48. '#title' => t('Votre nom et prenom')
  49. );
  50.  
  51. $form['auth']['password_field'] = array(
  52. '#type' => 'password',
  53. '#title' => t('Password')
  54. );
  55.  
  56. $form['newclient']['username1_field'] = array(
  57. '#type' => 'textfield',
  58. '#title' => t('Votre nom et prenom')
  59. );
  60. /*
  61. $form['newclient']['votrenom_field'] = array(
  62. '#type' => 'textfield',
  63. '#title' => t('Votre nom')
  64. );
  65.  
  66. $form['newclient']['votreprenom_field'] = array(
  67. '#type' => 'textfield',
  68. '#title' => t('Votre prenom')
  69. );
  70.  
  71. */
  72. $form['newclient']['votrendetelephone_field'] = array(
  73. '#type' => 'textfield',
  74. '#title' => t('Votre numero de telephone')
  75. );
  76.  
  77. $form['newclient']['emailaddress_field'] = array(
  78. '#type' => 'textfield',
  79. '#title' => t('Votre addresse e-mail')
  80. );
  81.  
  82. $form['newclient']['votreadresseemail_field'] = array(
  83. '#type' => 'textfield',
  84. '#title' => t('Confirmer votre addresse e-mail')
  85. );
  86.  
  87. $form['#validate'][] = 'clientregister_login_validate';
  88.  
  89. $form['#submit'] = array('clientregister_login_submit') + $form['#submit'];
  90.  
  91. }
  92. }
  93.  
  94.  
  95. function clientregister_login_validate(&$form, &$form_state) {
  96. if(empty($form['#node']->nid) && $user->uid < 1) {
  97.  
  98. if ($form_state['values']['choice_selection'] == 'register') {
  99. $js1 = "regmein(); $('#messages').fadeIn(1000);";
  100. drupal_add_js($js1, inline);
  101. // validate username
  102. $username_exists = db_result(db_query("SELECT COUNT(uid) FROM {users} WHERE name='%s'", $form_state['values']['username1_field']));
  103. if(!empty($form_state['values']['username1_field']) && $username_exists) {
  104.  
  105. form_set_error('username_field', t('Nom de utilisateur choisi existe deja. <a href="#logins" onclick="return logmein();">Je suis deja client!</a> '));
  106. form_set_error('username1_field', '<br />');
  107. }
  108.  
  109. // validate email
  110. $valid_email = valid_email_address($form_state['values']['emailaddress_field']);
  111. if (empty($form_state['values']['emailaddress_field'])) { form_set_error('emailaddress_field', t('Le champ Adresse de email est obligatoire')); }
  112. if(!empty($form_state['values']['emailaddress_field']) && !$valid_email) {
  113. form_set_error('emailaddress_field', t('Il faut entrer une adresse de email valide'));
  114. }/*
  115. else if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $valid_email)) {
  116. form_set_error('personal][email', t('Please enter a valid email address.'));
  117. } */
  118. else {
  119. // Check if email address is already in use; redirect to login if so.
  120. $email_exists = db_result(db_query("SELECT COUNT(uid) FROM {users} WHERE mail='%s'", $form_state['values']['emailaddress_field']));
  121. if(!empty($form_state['values']['emailaddress_field']) && $email_exists) {
  122. form_set_error('emailaddress_field', t('Votre adresse de email est deja attribue,<a href="#logins" onclick="return logmein();">Identifiez-Vous<a/>'));
  123. }
  124.  
  125. else if(!empty($form_state['values']['votreadresseemail_field'])) {
  126. $em1 = $form_state['values']['emailaddress_field'];
  127. $em2 = $form_state['values']['votreadresseemail_field'];
  128. if ($em1 != $em2) { form_set_error('votreadresseemail_field', t('Les champs e-mail doit etre identique'));
  129. }
  130.  
  131. }
  132. //else { form_set_error('emailaddress_field', t('Il faut valider votre adresse de email')); }
  133. }
  134. }
  135. else if($form_state['values']['choice_selection'] == 'login') {
  136. $js1 = "logmein();";
  137. drupal_add_js($js1, inline);
  138. $user_login = array(
  139. 'name' => $form_state['values']['username_field'],
  140. 'pass' => $form_state['values']['password_field']
  141. );
  142. $account = user_load($user_login);
  143. if (!$account->uid ) { form_set_error('password_field', t('Mauvais nom utilisateur ou mot passe. '));
  144. }
  145. else {// $user = $account;
  146. }
  147. }
  148. $cpd = $form_state['values']['field_ddcodepostaldepart'][0]['value'];
  149. $cpa = $form_state['values']['field_ddcodepostalarriee'][0]['value'];
  150.  
  151. if (!empty($cpd)) { if (!is_numeric($cpd)) {
  152.  
  153. form_set_error('field_ddcodepostaldepart', t('Le code postal doit etre numerique'));
  154. }
  155. }
  156. if (!empty($cpa))
  157. {
  158. if (!is_numeric($cpa)) {
  159. form_set_error('field_ddcodepostalarrivee', t('Le code postal doit etre numerique'));
  160. }
  161. }
  162. }
  163. }
  164.  
  165. function clientregister_login_submit($form, &$form_state) {
  166. global $user;
  167. if($form_state['values']['choice_selection'] == 'register') {
  168. if(empty($form['#node']->nid) && $user->uid < 1) {
  169. $pass = user_password();
  170.  
  171. $user_attributes = array(
  172. 'name' => $form_state['values']['username1_field'],
  173. 'pass' => $pass,/*
  174. 'profile_nom' => $form_state['values']['votrenom_field'],
  175. 'profile_prenom' => $form_state['values']['votreprenom_field'],*/
  176. 'profile_telephone' => $form_state['values']['votrendetelephone_field'],
  177. 'mail' => $form_state['values']['emailaddress_field'],
  178. // /*'profile_addresseconfirm' => $form_state['values']['votreadresseemail_field'], */
  179. 'roles' => array(DRUPAL_AUTHENTICATED_RID),
  180. 'status' => TRUE,
  181. );
  182. print_r($user_attributes);
  183. $new_user = user_save(
  184. new stdClass(),
  185. $user_attributes
  186. );
  187.  
  188. //$form_state['values']['uid'] = $new_user->uid;
  189. $user = $new_user;
  190.  
  191. $params['!username'] = $new_user->name;
  192. $params['!email'] = $new_user->mail;
  193. $params['!password'] = $pass;
  194.  
  195. // Prepare and send e-mail.
  196. $user->password = $pass;
  197. //drupal_mail('user', 'register_no_approval_required', $new_user->mail, $language, $params);
  198. _user_mail_notify('register_no_approval_required', $user);
  199. }
  200. }
  201. if($form_state['values']['choice_selection'] == 'login') {
  202. if(empty($form['#node']->nid) && $user->uid < 1) {
  203. $user_login = array(
  204. 'name' => $form_state['values']['username_field'],
  205. 'pass' => $form_state['values']['password_field']
  206. );
  207. $account = user_load($user_login);
  208. $user = $account;
  209.  
  210. }
  211. //else { $user = $account; }
  212.  
  213. //$account = user_authenticate($user_login);
  214. }
  215. }
  216.  
  217.  
  218. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement