From a9bc9921163aafa2924a01eb3f43e89a8643f4cc Mon Sep 17 00:00:00 2001 From: Dave Reid Date: Fri, 20 Mar 2009 05:59:21 +0000 Subject: [PATCH] by Dave Reid: Fixed notice if $_SERVER['HTTP_USER_AGENT'] is undefined. --- feedburner.admin.inc | 1 + feedburner.module | 2 +- feedburner.test | 17 +++++++++++------ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/feedburner.admin.inc b/feedburner.admin.inc index c704fc2..28f325a 100644 --- a/feedburner.admin.inc +++ b/feedburner.admin.inc @@ -237,6 +237,7 @@ function feedburner_settings_form() { '#title' => t('Replace all links to burned FeedBurner feeds in the source HTML.'), '#default_value' => feedburner_var('replace_html'), '#description' => t('This option is currently experimental, but should work just fine.'), + '#disabled' => TRUE, ); $feeds = array(0 => 'None (disabled)') + _feedburner_get_feed_list('feedburner', array('key' => 'feedburner', 'fields' => 'feedburner')); diff --git a/feedburner.module b/feedburner.module index 39fa4fc..9d4dad2 100644 --- a/feedburner.module +++ b/feedburner.module @@ -469,7 +469,7 @@ function feedburner_check_redirect($path) { } $skip_redirect = (isset($_GET['redirect']) && $_GET['redirect'] == 'no'); - $skip_useragents = preg_match(feedburner_var('useragents'), $_SERVER['HTTP_USER_AGENT']); + $skip_useragents = isset($_SERVER['HTTP_USER_AGENT']) ? preg_match(feedburner_var('useragents'), $_SERVER['HTTP_USER_AGENT']) : FALSE; $feed = feedburner_load(array('path' => $path)); if (!$skip_redirect && !$skip_useragents && $feed) { diff --git a/feedburner.test b/feedburner.test index 7af5144..94a9404 100644 --- a/feedburner.test +++ b/feedburner.test @@ -80,33 +80,38 @@ class FeedBurnerTestCase extends DrupalWebTestCase { */ function testBlogFeedRedirection() { $blog_user = $this->drupalCreateUser(array('create blog entries', 'add FeedBurner feed to own blog')); + $blog_user_feed = 'blog/'. $blog_user->uid . '/feed'; + $blog_user_edit = 'user/'. $blog_user->uid . '/edit'; + $this->drupalLogin($blog_user); // Add an invalid blog feed redirection. $values = array('feedburner_feedburner' => 'invalid_feed!'); - $this->drupalPost("user/{$blog_user->uid}/edit", $values, t('Save')); + $this->drupalPost($blog_user_edit, $values, t('Save')); $this->assertText(t('Invalid FeedBurner feed name.'), t('Invalid FeedBurner feed name caught.')); // Add a valid blog feed redirection. $values = array('feedburner_feedburner' => 'example-feed'); - $this->drupalPost("user/{$blog_user->uid}/edit", $values, t('Save')); + $this->drupalPost($blog_user_edit, $values, t('Save')); $this->assertText(t('The changes have been saved.'), t('Blog feed updated.')); // Test that the blog feed is now redirected. - $this->assertRedirected("blog/{$blog_user->uid}/feed", t('Blog feed redirected.')); + $this->assertTrue(feedburner_load(array('path' => $blog_user_feed)), t('Record removed from database.')); + $this->assertRedirected($blog_user_feed, t('Blog feed redirected.')); // Remove the blog feed redirection. $values = array('feedburner_feedburner' => ''); - $this->drupalPost("user/{$blog_user->uid}/edit", $values, t('Save')); + $this->drupalPost($blog_user_edit, $values, t('Save')); $this->assertText(t('The changes have been saved.'), t('Blog feed updated to blank value.')); // Test that the blog feed is no longer redirected. - $this->assertNotRedirected("blog/{$blog_user->uid}/feed", t('Blog feed not redirected.')); + $this->assertFalse(feedburner_load(array('path' => $blog_user_feed)), t('Record removed from database.')); + $this->assertNotRedirected($blog_user_feed, t('Blog feed not redirected.')); // Test that a user without permission cannot access the form field. $no_blog_user = $this->drupalCreateUser(array('add FeedBurner feed to own blog')); $this->drupalLogin($no_blog_user); - $this->drupalGet("user/{$no_blog_user->uid}/edit"); + $this->drupalGet('user/'. $no_blog_user->uid . '/edit'); $this->assertNoFieldByName('feedburner_feedburner'); }