本文整理汇总了PHP中badge::is_issued方法的典型用法代码示例。如果您正苦于以下问题:PHP badge::is_issued方法的具体用法?PHP badge::is_issued怎么用?PHP badge::is_issued使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类badge
的用法示例。
在下文中一共展示了badge::is_issued方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test_badge_awarded
/**
* Test badge awarded event.
*/
public function test_badge_awarded()
{
$systemcontext = context_system::instance();
$sink = $this->redirectEvents();
$badge = new badge($this->badgeid);
$badge->issue($this->user->id, true);
$badge->is_issued($this->user->id);
$events = $sink->get_events();
$this->assertCount(1, $events);
$event = reset($events);
$this->assertInstanceOf('\\core\\event\\badge_awarded', $event);
$this->assertEquals($this->badgeid, $event->objectid);
$this->assertEquals($this->user->id, $event->relateduserid);
$this->assertEquals($systemcontext, $event->get_context());
$sink->close();
}
示例2: badges_award_handle_manual_criteria_review
/**
* Triggered when badge is manually awarded.
*
* @param object $data
* @return boolean
*/
function badges_award_handle_manual_criteria_review(stdClass $data)
{
$criteria = $data->crit;
$userid = $data->userid;
$badge = new badge($criteria->badgeid);
if (!$badge->is_active() || $badge->is_issued($userid)) {
return true;
}
if ($criteria->review($userid)) {
$criteria->mark_complete($userid);
if ($badge->criteria[BADGE_CRITERIA_TYPE_OVERALL]->review($userid)) {
$badge->criteria[BADGE_CRITERIA_TYPE_OVERALL]->mark_complete($userid);
$badge->issue($userid);
}
}
return true;
}
示例3: profile_criteria_review
/**
* Triggered when 'user_updated' event happens.
*
* @param \core\event\user_updated $event event generated when user profile is updated.
*/
public static function profile_criteria_review(\core\event\user_updated $event)
{
global $DB, $CFG;
if (!empty($CFG->enablebadges)) {
require_once $CFG->dirroot . '/lib/badgeslib.php';
$userid = $event->objectid;
if ($rs = $DB->get_records('badge_criteria', array('criteriatype' => BADGE_CRITERIA_TYPE_PROFILE))) {
foreach ($rs as $r) {
$badge = new badge($r->badgeid);
if (!$badge->is_active() || $badge->is_issued($userid)) {
continue;
}
if ($badge->criteria[BADGE_CRITERIA_TYPE_PROFILE]->review($userid)) {
$badge->criteria[BADGE_CRITERIA_TYPE_PROFILE]->mark_complete($userid);
if ($badge->criteria[BADGE_CRITERIA_TYPE_OVERALL]->review($userid)) {
$badge->criteria[BADGE_CRITERIA_TYPE_OVERALL]->mark_complete($userid);
$badge->issue($userid);
}
}
}
}
}
}
示例4: test_badges_assertion
/**
* Test badges assertion generated when a badge is issued.
*/
public function test_badges_assertion()
{
$this->preventResetByRollback();
// Messaging is not compatible with transactions.
$badge = new badge($this->coursebadge);
$this->assertFalse($badge->is_issued($this->user->id));
$criteria_overall = award_criteria::build(array('criteriatype' => BADGE_CRITERIA_TYPE_OVERALL, 'badgeid' => $badge->id));
$criteria_overall->save(array('agg' => BADGE_CRITERIA_AGGREGATION_ANY));
$criteria_overall1 = award_criteria::build(array('criteriatype' => BADGE_CRITERIA_TYPE_PROFILE, 'badgeid' => $badge->id));
$criteria_overall1->save(array('agg' => BADGE_CRITERIA_AGGREGATION_ALL, 'field_address' => 'address'));
$this->user->address = 'Test address';
$sink = $this->redirectEmails();
user_update_user($this->user, false);
$this->assertCount(1, $sink->get_messages());
$sink->close();
// Check if badge is awarded.
$this->assertDebuggingCalled('Error baking badge image!');
$awards = $badge->get_awards();
$this->assertCount(1, $awards);
// Get assertion.
$award = reset($awards);
$assertion = new core_badges_assertion($award->uniquehash);
$testassertion = $this->assertion;
// Make sure JSON strings have the same structure.
$this->assertStringMatchesFormat($testassertion->badge, json_encode($assertion->get_badge_assertion()));
$this->assertStringMatchesFormat($testassertion->class, json_encode($assertion->get_badge_class()));
$this->assertStringMatchesFormat($testassertion->issuer, json_encode($assertion->get_issuer()));
}
示例5: test_badge_awards
public function test_badge_awards()
{
$badge = new badge($this->badgeid);
$user1 = $this->getDataGenerator()->create_user();
$badge->issue($user1->id, true);
$this->assertTrue($badge->is_issued($user1->id));
$user2 = $this->getDataGenerator()->create_user();
$badge->issue($user2->id, true);
$this->assertTrue($badge->is_issued($user2->id));
$this->assertCount(2, $badge->get_awards());
}