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'])){
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']);
$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']);
}
}
...
@@ -522,7 +528,6 @@ function aggregator_form_feed_submit($form, &$form_state) {
...
@@ -522,7 +528,6 @@ function aggregator_form_feed_submit($form, &$form_state) {
unset($form_state['values']['title']);
unset($form_state['values']['title']);
}
}
aggregator_save_feed($form_state['values']);
aggregator_save_feed($form_state['values']);
menu_rebuild();
if(isset($form_state['values']['fid'])){
if(isset($form_state['values']['fid'])){
if(isset($form_state['values']['title'])){
if(isset($form_state['values']['title'])){
drupal_set_message(t('The feed %feed has been updated.',array('%feed'=>$form_state['values']['title'])));
drupal_set_message(t('The feed %feed has been updated.',array('%feed'=>$form_state['values']['title'])));
...
@@ -566,24 +571,25 @@ function aggregator_save_feed($edit) {
...
@@ -566,24 +571,25 @@ function aggregator_save_feed($edit) {
db_query("UPDATE {aggregator_feed} SET title = '%s', url = '%s', refresh = %d WHERE fid = %d",$edit['title'],$edit['url'],$edit['refresh'],$edit['fid']);
db_query("UPDATE {aggregator_feed} SET title = '%s', url = '%s', refresh = %d WHERE fid = %d",$edit['title'],$edit['url'],$edit['refresh'],$edit['fid']);
}
}
elseif(!empty($edit['fid'])){
elseif(!empty($edit['fid'])){
$items=array();
$result=db_query('SELECT iid FROM {aggregator_item} WHERE fid = %d',$edit['fid']);
$result=db_query('SELECT iid FROM {aggregator_item} WHERE fid = %d',$edit['fid']);
while($item=db_fetch_object($result)){
while($item=db_fetch_object($result)){
$items[]="iid = $item->iid";
$items[]="iid = $item->iid";
}
}
if($items){
if(!empty($items)){
db_query('DELETE FROM {aggregator_category_item} WHERE '.implode(' OR ',$items));
db_query('DELETE FROM {aggregator_category_item} WHERE '.implode(' OR ',$items));
}
}
db_query('DELETE FROM {aggregator_feed} WHERE fid = %d',$edit['fid']);
db_query('DELETE FROM {aggregator_feed} WHERE fid = %d',$edit['fid']);
db_query('DELETE FROM {aggregator_item} WHERE fid = %d',$edit['fid']);
db_query('DELETE FROM {aggregator_item} WHERE fid = %d',$edit['fid']);
return_aggregator_page_list('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_category_item} c LEFT JOIN {aggregator_item} i ON c.iid = i.iid LEFT JOIN {aggregator_feed} f ON i.fid = f.fid WHERE cid = '.$category->cid.' ORDER BY timestamp DESC, i.iid DESC',arg(3));
// It is safe to include the cid in the query because it's loaded from the
// database by aggregator_category_load.
return_aggregator_page_list('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_category_item} c LEFT JOIN {aggregator_item} i ON c.iid = i.iid LEFT JOIN {aggregator_feed} f ON i.fid = f.fid WHERE cid = '.$category['cid'].' ORDER BY timestamp DESC, i.iid DESC',arg(3));
$output.='<div class="icon">'.l($image,'node/add/blog',array('title'=>t('Comment on this news item in your personal blog.'),'class'=>'blog-it'),"iid=$item->iid",NULL,FALSE,TRUE).'</div>';
$output.='<div class="icon">'.l($image,'node/add/blog',array('attributes'=>array('title'=>t('Comment on this news item in your personal blog.'),'class'=>'blog-it'),'query'=>"iid=$item->iid",'html'=>TRUE)).'</div>';
}
}
}
}
...
@@ -1381,7 +1404,7 @@ function theme_aggregator_block_item($item, $feed = 0) {
...
@@ -1381,7 +1404,7 @@ function theme_aggregator_block_item($item, $feed = 0) {