diff --git a/message_subscribe_email/message_subscribe_email.module b/message_subscribe_email/message_subscribe_email.module index 25d12a0..81f4d94 100644 --- a/message_subscribe_email/message_subscribe_email.module +++ b/message_subscribe_email/message_subscribe_email.module @@ -13,7 +13,7 @@ function message_subscribe_email_flag_access($flag, $content_id, $action, $accou $entity_type = FLAG_API_VERSION == 3 ? $flag->entity_type : $flag->content_type; // Get the other flags on that same content. - $user_flags = flag_get_user_flags($entity_type, $content_id); + $user_flags = flag_get_user_flags($entity_type, $content_id, $account->uid); $name = str_replace('email_', '', $flag->name); $prefix = variable_get('message_subscribe_flag_prefix', 'subscribe') . '_'; @@ -97,13 +97,13 @@ function message_subscribe_email_message_subscribe_get_subscribers_alter(&$uids, } if (FLAG_API_VERSION == 2) { - $result = db_select('flag_content', 'f'); + $query = db_select('flag_content', 'f'); } else { - $result = db_select('flagging', 'f'); + $query = db_select('flagging', 'f'); } - $result->fields('f', array('uid')) + $result = $query->fields('f', array('uid')) ->condition('fid', $flag_ids, 'IN') ->condition('uid', array_keys($uids), 'IN') ->groupBy('uid') diff --git a/message_subscribe_email/message_subscribe_email.test b/message_subscribe_email/message_subscribe_email.test index d3599db..f4f225a 100644 --- a/message_subscribe_email/message_subscribe_email.test +++ b/message_subscribe_email/message_subscribe_email.test @@ -22,7 +22,8 @@ class MessageSubscribeEmailSubscribersTest extends DrupalWebTestCase { parent::setUp('message_subscribe_email', 'message_subscribe', 'flag'); // Create node-type. - $node_type = 'article'; + $node_type = $this->drupalCreateContentType(); + $node_type = $node_type->type; // Enable flags. $flags = flag_get_default_flags(TRUE); @@ -37,28 +38,21 @@ class MessageSubscribeEmailSubscribersTest extends DrupalWebTestCase { $flag->save(); $flag->enable(); - $flag = $flags['email_user']; - $flag->save(); - $flag->enable(); - // Reset our cache so our permissions show up. drupal_static_reset('flag_get_flags'); // Reset permissions so that permissions for this flag are available. $this->checkPermissions(array(), TRUE); - $user1 = $this->drupalCreateUser(array( + $permissions = array( 'flag subscribe_node', 'unflag subscribe_node', 'flag email_node', 'unflag email_node', - )); - $user2 = $this->drupalCreateUser(array( - 'flag subscribe_node', - 'unflag subscribe_node', - 'flag email_user', - 'unflag email_user', - )); + ); + + $user1 = $this->drupalCreateUser($permissions); + $user2 = $this->drupalCreateUser($permissions); // Create node. $settings = array(); @@ -66,16 +60,13 @@ class MessageSubscribeEmailSubscribersTest extends DrupalWebTestCase { $settings['uid'] = $user1->uid; $node = $this->drupalCreateNode($settings); - // User1 and User2 put a subscribe flag node1. flag('flag', 'subscribe_node', $node->nid, $user1); flag('flag', 'subscribe_node', $node->nid, $user2); - // User1 puts an email flag on node1 and User2 puts an email flag on User1. flag('flag', 'email_node', $node->nid, $user1); - flag('flag', 'email_user', $user1->uid, $user2); // Create a dummy message-type. - $message_type = message_type_create('foo', array('message_text' => array(LANGUAGE_NONE => array(array('value' => 'Example text.'))))); + $message_type = message_type_create('foo'); $message_type->save(); $this->node = $node; @@ -90,7 +81,7 @@ class MessageSubscribeEmailSubscribersTest extends DrupalWebTestCase { * Test getting the subscribers list. */ function testGetSubscribers() { - $message = message_create('foo', array()); + $message = message_create('foo'); $node = $this->node; $user1 = $this->user1; @@ -124,7 +115,7 @@ class MessageSubscribeEmailSubscribersTest extends DrupalWebTestCase { message_subscribe_send_message('node', $node, $message, array(), $subscribe_options); // Assert sent emails. - $emailCount = count(variable_get('drupal_test_email_collector', array())); - $this->assertEqual($emailCount, 1, 'Only one user was sent an email.'); + $email_count = count(variable_get('drupal_test_email_collector', array())); + $this->assertEqual($email_count, 1, 'Only one user was sent an email.'); } }