function simplenews_admin_types_form_submit in Simplenews 6.2
Same name and namespace in other branches
- 5 simplenews.module \simplenews_admin_types_form_submit()
- 6 simplenews.admin.inc \simplenews_admin_types_form_submit()
File
- includes/
simplenews.admin.inc, line 306 - Newsletter admin, subscription admin, simplenews settings
Code
function simplenews_admin_types_form_submit($form, &$form_state) {
// Redirect on a delete operation for posterity's sake.
if (isset($form_state['post']['op']) && $form_state['post']['op'] == t('Delete')) {
drupal_goto('admin/content/simplenews/types/delete/' . $term->tid);
}
// Create or update taxonomy term for this newsletter.
// When creating a term $form_state['values']['tid'] is NULL.
if (isset($form_state['values']['tid'])) {
$termdata = (array) taxonomy_get_term($form_state['values']['tid']);
// Maintain hierarchy
$parents = taxonomy_get_parents($form_state['values']['tid']);
foreach ($parents as $parent) {
$termdata['parent'][] = $parent->tid;
}
}
$termdata['vid'] = $form_state['values']['vid'];
$termdata['name'] = $form_state['values']['name'];
$termdata['description'] = $form_state['values']['description'];
$termdata['weight'] = $form_state['values']['weight'];
switch (taxonomy_save_term($termdata)) {
case SAVED_NEW:
drupal_set_message(t('Created new term %name.', array(
'%name' => $form_state['values']['name'],
)));
break;
case SAVED_UPDATED:
drupal_set_message(t('Updated term %name.', array(
'%name' => $form_state['values']['name'],
)));
break;
}
// Store newsletter specific settings.
// When editing a newsletter fieldnames have $tid suffix.
// When creating a new newsletter field names have no suffix
// and $form_state['values']['tid'] is NULL.
if (isset($form_state['values']['tid'])) {
$tid = $suffix = $form_state['values']['tid'];
}
else {
// Get the tid from the database based on the form values used above to
// create a new term.
$tid = db_result(db_query("\n SELECT t.tid\n FROM {term_data} t\n WHERE t.vid = %d\n AND t.name = '%s'\n ORDER BY t.tid DESC", $form_state['values']['vid'], $form_state['values']['name']));
$suffix = '';
}
variable_set('simplenews_from_name_' . $tid, $form_state['values']['simplenews_from_name_' . $suffix]);
variable_set('simplenews_from_address_' . $tid, $form_state['values']['simplenews_from_address_' . $suffix]);
variable_set('simplenews_email_subject_' . $tid, $form_state['values']['simplenews_email_subject_' . $suffix]);
variable_set('simplenews_hyperlinks_' . $tid, $form_state['values']['simplenews_hyperlinks_' . $suffix]);
variable_set('simplenews_new_account_' . $tid, $form_state['values']['simplenews_new_account_' . $suffix]);
variable_set('simplenews_opt_inout_' . $tid, $form_state['values']['simplenews_opt_inout_' . $suffix]);
}