Advertisement
Guest User

Untitled

a guest
Jul 26th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. <?php
  2.  
  3. function mynews_menu() {
  4. $items['newsletter'] = array(
  5. 'title' => 'Newsletter registration page',
  6. 'page callback' => '_mynews_newsletter_registration_page',
  7. 'page arguments' => array(1),
  8. 'access callback' => TRUE,
  9. );
  10.  
  11. return $items;
  12. }
  13.  
  14. function _mynews_newsletter_registration_page() {
  15. // NOTE: on the second loading on this page,
  16. // the $_POST variable is empty.
  17. // This happens only when the block is called from
  18. // the 'newsletter' page.
  19. dpm($_POST);
  20. dpm($_POST['mail']);
  21. $retval = "";
  22. $retval .= "<pre>";
  23. $retval .= print_r($_POST['mail'], TRUE);
  24. $retval .= "</pre>";
  25. return $retval;
  26. }
  27.  
  28. function mynews_block_info() {
  29. $blocks['mynews'] = array(
  30. 'info' => t('My news'),
  31. );
  32.  
  33. return $blocks;
  34. }
  35.  
  36. function mynews_block_view($delta = '') {
  37. $block = array();
  38. // The $delta parameter tells us which block is being requested.
  39. switch ($delta) {
  40. case 'mynews':
  41. $block['subject'] = t('My news');
  42. $block['content'] = drupal_get_form('mynews_form');
  43. break;
  44. }
  45. return $block;
  46. }
  47.  
  48. function mynews_form() {
  49. $form['#action'] = 'newsletter';
  50.  
  51. $form['mail'] = array(
  52. '#type' => 'textfield',
  53. '#maxlength' => 255,
  54. '#size' => 25,
  55. '#element_validate' => array('mynews_email_validate'),
  56. '#attributes' => array('class' => array('edit-mail')),
  57. );
  58.  
  59. $form['submit'] = array(
  60. '#type' => 'submit',
  61. '#value' => 'Subscribe',
  62. );
  63.  
  64. return $form;
  65. }
  66.  
  67. function mynews_email_validate($element, &$form_state, $form) {
  68. if (empty($element['#value']) || !valid_email_address($element['#value'])) {
  69. form_set_error($element['#name'],
  70. t("Invalid e-mail address '@submitted_email'. Please verify your syntax.",
  71. array('@submitted_email' => check_plain($element['#value'])))
  72. );
  73. }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement