Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function mynews_menu() {
- $items['newsletter'] = array(
- 'title' => 'Newsletter registration page',
- 'page callback' => '_mynews_newsletter_registration_page',
- 'page arguments' => array(1),
- 'access callback' => TRUE,
- );
- return $items;
- }
- function _mynews_newsletter_registration_page() {
- // NOTE: on the second loading on this page,
- // the $_POST variable is empty.
- // This happens only when the block is called from
- // the 'newsletter' page.
- dpm($_POST);
- dpm($_POST['mail']);
- $retval = "";
- $retval .= "<pre>";
- $retval .= print_r($_POST['mail'], TRUE);
- $retval .= "</pre>";
- return $retval;
- }
- function mynews_block_info() {
- $blocks['mynews'] = array(
- 'info' => t('My news'),
- );
- return $blocks;
- }
- function mynews_block_view($delta = '') {
- $block = array();
- // The $delta parameter tells us which block is being requested.
- switch ($delta) {
- case 'mynews':
- $block['subject'] = t('My news');
- $block['content'] = drupal_get_form('mynews_form');
- break;
- }
- return $block;
- }
- function mynews_form() {
- $form['#action'] = 'newsletter';
- $form['mail'] = array(
- '#type' => 'textfield',
- '#maxlength' => 255,
- '#size' => 25,
- '#element_validate' => array('mynews_email_validate'),
- '#attributes' => array('class' => array('edit-mail')),
- );
- $form['submit'] = array(
- '#type' => 'submit',
- '#value' => 'Subscribe',
- );
- return $form;
- }
- function mynews_email_validate($element, &$form_state, $form) {
- if (empty($element['#value']) || !valid_email_address($element['#value'])) {
- form_set_error($element['#name'],
- t("Invalid e-mail address '@submitted_email'. Please verify your syntax.",
- array('@submitted_email' => check_plain($element['#value'])))
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement