public function test_subscription_modes() { global $DB; $this->resetAfterTest(true); // Create a course, with a quora. $course = $this->getDataGenerator()->create_course(); $options = array('course' => $course->id); $quora = $this->getDataGenerator()->create_module('quora', $options); \mod_quora\subscriptions::set_subscription_mode($quora->id, FORUM_FORCESUBSCRIBE); $quora = $DB->get_record('quora', array('id' => $quora->id)); $this->assertEquals(FORUM_FORCESUBSCRIBE, \mod_quora\subscriptions::get_subscription_mode($quora)); $this->assertTrue(\mod_quora\subscriptions::is_forcesubscribed($quora)); $this->assertFalse(\mod_quora\subscriptions::is_subscribable($quora)); $this->assertFalse(\mod_quora\subscriptions::subscription_disabled($quora)); \mod_quora\subscriptions::set_subscription_mode($quora->id, FORUM_DISALLOWSUBSCRIBE); $quora = $DB->get_record('quora', array('id' => $quora->id)); $this->assertEquals(FORUM_DISALLOWSUBSCRIBE, \mod_quora\subscriptions::get_subscription_mode($quora)); $this->assertTrue(\mod_quora\subscriptions::subscription_disabled($quora)); $this->assertFalse(\mod_quora\subscriptions::is_subscribable($quora)); $this->assertFalse(\mod_quora\subscriptions::is_forcesubscribed($quora)); \mod_quora\subscriptions::set_subscription_mode($quora->id, FORUM_INITIALSUBSCRIBE); $quora = $DB->get_record('quora', array('id' => $quora->id)); $this->assertEquals(FORUM_INITIALSUBSCRIBE, \mod_quora\subscriptions::get_subscription_mode($quora)); $this->assertTrue(\mod_quora\subscriptions::is_subscribable($quora)); $this->assertFalse(\mod_quora\subscriptions::subscription_disabled($quora)); $this->assertFalse(\mod_quora\subscriptions::is_forcesubscribed($quora)); \mod_quora\subscriptions::set_subscription_mode($quora->id, FORUM_CHOOSESUBSCRIBE); $quora = $DB->get_record('quora', array('id' => $quora->id)); $this->assertEquals(FORUM_CHOOSESUBSCRIBE, \mod_quora\subscriptions::get_subscription_mode($quora)); $this->assertTrue(\mod_quora\subscriptions::is_subscribable($quora)); $this->assertFalse(\mod_quora\subscriptions::subscription_disabled($quora)); $this->assertFalse(\mod_quora\subscriptions::is_forcesubscribed($quora)); }
/** * Set the subscription mode for a quora. * * @param int $quoraid * @param mixed $value * @return bool * @deprecated since Moodle 2.8 use \mod_quora\subscriptions::set_subscription_mode() instead */ function quora_forcesubscribe($quoraid, $value = 1) { debugging("quora_forcesubscribe() has been deprecated, please use \\mod_quora\\subscriptions::set_subscription_mode() instead.", DEBUG_DEVELOPER); return \mod_quora\subscriptions::set_subscription_mode($quoraid, $value); }
redirect($returnto, get_string("everyoneisnowsubscribed", "quora"), 1); break; case FORUM_INITIALSUBSCRIBE: // 2 if ($quora->forcesubscribe != FORUM_INITIALSUBSCRIBE) { $users = \mod_quora\subscriptions::get_potential_subscribers($context, 0, 'u.id, u.email', ''); foreach ($users as $user) { \mod_quora\subscriptions::subscribe_user($user->id, $quora, $context); } } \mod_quora\subscriptions::set_subscription_mode($quora->id, FORUM_INITIALSUBSCRIBE); redirect($returnto, get_string("everyoneisnowsubscribed", "quora"), 1); break; case FORUM_DISALLOWSUBSCRIBE: // 3 \mod_quora\subscriptions::set_subscription_mode($quora->id, FORUM_DISALLOWSUBSCRIBE); redirect($returnto, get_string("noonecansubscribenow", "quora"), 1); break; default: print_error(get_string('invalidforcesubscribe', 'quora')); } } if (\mod_quora\subscriptions::is_forcesubscribed($quora)) { redirect($returnto, get_string("everyoneisnowsubscribed", "quora"), 1); } $info = new stdClass(); $info->name = fullname($user); $info->quora = format_string($quora->name); if ($issubscribed) { if (is_null($sesskey)) { // We came here via link in email.