function aggregator_form_feed_validate in Drupal 6
Same name and namespace in other branches
- 4 modules/aggregator.module \aggregator_form_feed_validate()
- 5 modules/aggregator/aggregator.module \aggregator_form_feed_validate()
- 7 modules/aggregator/aggregator.admin.inc \aggregator_form_feed_validate()
Validate aggregator_form_feed form submissions.
File
- modules/
aggregator/ aggregator.admin.inc, line 119 - Admin page callbacks for the aggregator module.
Code
function aggregator_form_feed_validate($form, &$form_state) {
if ($form_state['values']['op'] == t('Save')) {
// Ensure URL is valid.
if (!valid_url($form_state['values']['url'], TRUE)) {
form_set_error('url', t('The URL %url is invalid. Please enter a fully-qualified URL, such as http://www.example.com/feed.xml.', array(
'%url' => $form_state['values']['url'],
)));
}
// Check for duplicate titles.
if (isset($form_state['values']['fid'])) {
$result = db_query("SELECT title, url FROM {aggregator_feed} WHERE (title = '%s' OR url = '%s') AND fid <> %d", $form_state['values']['title'], $form_state['values']['url'], $form_state['values']['fid']);
}
else {
$result = db_query("SELECT title, url FROM {aggregator_feed} WHERE title = '%s' OR url = '%s'", $form_state['values']['title'], $form_state['values']['url']);
}
while ($feed = db_fetch_object($result)) {
if (strcasecmp($feed->title, $form_state['values']['title']) == 0) {
form_set_error('title', t('A feed named %feed already exists. Please enter a unique title.', array(
'%feed' => $form_state['values']['title'],
)));
}
if (strcasecmp($feed->url, $form_state['values']['url']) == 0) {
form_set_error('url', t('A feed with this URL %url already exists. Please enter a unique URL.', array(
'%url' => $form_state['values']['url'],
)));
}
}
}
}