Skip to content

Commit

Permalink
by Dave Reid: Fixed notice if $_SERVER['HTTP_USER_AGENT'] is undefined.
Browse files Browse the repository at this point in the history
  • Loading branch information
davereid committed Mar 20, 2009
1 parent b9b9e5b commit a9bc992
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
1 change: 1 addition & 0 deletions feedburner.admin.inc
Expand Up @@ -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'));
Expand Down
2 changes: 1 addition & 1 deletion feedburner.module
Expand Up @@ -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) {
Expand Down
17 changes: 11 additions & 6 deletions feedburner.test
Expand Up @@ -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');
}

Expand Down

0 comments on commit a9bc992

Please sign in to comment.