uid && $account->uid == $user->uid ? FALSE : TRUE; if($email && $news_vid) { if($action == 'subscribe') { simplenews_subscribe_user($email, $news_vid, $confirm); } else { simplenews_unsubscribe_user($email, $news_vid, $confirm); } } } function _webform_edit_simplenews($currfield) { if (!module_exists("simplenews")) { drupal_set_message(t("Using simplenews components in webform requires the Simpnews module."), "error"); } $edit_fields = array(); $options = array(); foreach( taxonomy_get_tree(_simplenews_get_vid()) as $newsletter) { $options[$newsletter->tid] = $newsletter->name; } $edit_fields['extra']['newsletter'] = array( '#type' => 'select', '#title' => t("Newsletter"), '#default_value' => $currfield['extra']['newsletter'], '#description' => t('Select which newsletter can be chosen'), '#required' => TRUE, '#multiple' => FALSE, '#size' => sizeof($options), '#options' => $options, ); $edit_fields['extra']['newsletter_action'] = array( '#type' => 'select', '#title' => t('Newsletter action'), '#default_value' => $currfield['extra']['newsletter_action'], '#description' => t('Defines the action to be taken on submit'), '#required' => TRUE, '#size' => 2, '#options' => array('subscribe' => t('subscribe'), 'unsubscribe' => t('unsubscribe')), ); $edit_fields['mandatory'] = array( '#type' => 'hidden', '#value' => 1, ); $edit_fields['extra']['description'] = array(); // Hide the description box return $edit_fields; } function _webform_render_simplenews($component) { $form_item[] = array( '#type' => 'hidden', '#value' => $component['extra']['newsletter'], ); $form_item[] = array( '#type' => 'hidden', '#value' => $component['extra']['newsletter_action'], ); $form_item[] = array( '#title' => htmlspecialchars($component['name'], ENT_QUOTES), '#type' => 'textfield', '#required' => 1, '#validate' => array('_webform_validate_email' => array('submitted]['. $component['cid'])), ); $form_item['#weight'] = $component['weight']; return $form_item; } function _webform_submission_display_simplenews($data, $component) { $form_item = _webform_render_hidden($component); $form_item['#value'] = $data['value']['0']; $form_item['#type'] = 'textfield'; $form_item['#title'] = htmlspecialchars($component['name'], ENT_QUOTES) ." (hidden)"; $form_item['#attributes'] = array("disabled" => "disabled"); return $form_item; } function _webform_help_simplenews($section) { switch ($section) { case 'admin/settings/webform#simplenews_description': $output = t("Subscribe to newsletters."); break; } return $output; } function _webform_analysis_rows_simplenews($component) { $query = 'SELECT data '. ' FROM {webform_submitted_data} '. ' WHERE nid = %d '. ' AND cid = %d'; $nonblanks = 0; $submissions = 0; $wordcount = 0; $result = db_query($query, $component['nid'], $component['cid']); while ($data = db_fetch_array($result)) { if ( strlen(trim($data['data'])) > 0 ) { $nonblanks++; $wordcount += str_word_count(trim($data['data'])); } $submissions++; } $rows[0] = array( t('Submissions'), $submissions); return $rows; } function _webform_table_data_simplenews($data) { return check_plain(empty($data['value']['2']) ? "" : $data['value']['2']); } function _webform_csv_headers_simplenews($component) { $header = array(); $header[0] = ''; $header[1] = ''; $header[2] = $component['name']; return $header; } function _webform_csv_data_simplenews($data) { return empty($data['value']['2']) ? "" : $data['value']['2']; } ?>