--- user_titles.module 2008-12-08 14:08:57.000000000 +1100 +++ user_titles.module 2009-01-05 16:23:04.000000000 +1100 @@ -1,5 +1,5 @@ $title) { - // if no title and no value, this is a deletion and we'll skip valiation on it. - if (empty($title['value']) && empty($title['title'])) { - continue; + if ($form_state['values']['titles']) { + $used_posts = array(); + foreach ($form_state['values']['titles'] as $id => $title) { + // if no title and no value, this is a deletion and we'll skip valiation on it. + if (empty($title['value']) && empty($title['title'])) { + continue; + } + + if (!is_numeric($title['value'])) { + form_error($form['titles'][$id]['value'], t('Number of posts must be a number!')); + } + if (isset($used_posts[$title['value']])) { + form_error($form['titles'][$id]['value'], t('Number of posts must be unique per title!')); + form_error($form['titles'][$used_posts[$title['value']]]['value'], t('Number of posts must be unique per title!')); + } + $used_posts[$title['value']] = $id; } - - if (!is_numeric($title['value'])) { - form_error($form['titles'][$id]['value'], t('Number of posts must be a number!')); - } - if (isset($used_posts[$title['value']])) { - form_error($form['titles'][$id]['value'], t('Number of posts must be unique per title!')); - form_error($form['titles'][$used_posts[$title['value']]]['value'], t('Number of posts must be unique per title!')); - } - $used_posts[$title['value']] = $id; } } @@ -221,11 +223,13 @@ function user_titles_settings_form_valid */ function user_titles_settings_form_submit_handler($form, &$form_state) { $titles = array(); - foreach ($form_state['values']['titles'] as $id => $title) { - if (empty($title['value']) && empty($title['title'])) { - continue; + if ($form_state['values']['titles']) { + foreach ($form_state['values']['titles'] as $id => $title) { + if (empty($title['value']) && empty($title['title'])) { + continue; + } + $titles[] = $title; } - $titles[] = $title; } user_titles_set_titles($titles);