本文整理汇总了PHP中core\event\base类的典型用法代码示例。如果您正苦于以下问题:PHP base类的具体用法?PHP base怎么用?PHP base使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了base类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: observer
/**
* Observe the events, and dispatch them if necessary.
*
* @param \core\event\base $event The event.
* @return void
*/
public static function observer(\core\event\base $event)
{
if ($event->component === 'block_xp') {
// Skip own events.
} else {
if (!$event->userid || isguestuser($event->userid) || is_siteadmin($event->userid)) {
// Skip non-logged in users and guests.
} else {
if ($event->contextlevel !== CONTEXT_COURSE && $event->contextlevel !== CONTEXT_MODULE) {
// Ignore events outside a course.
} else {
if ($event->edulevel !== \core\event\base::LEVEL_PARTICIPATING) {
// Ignore events that are not participating.
} else {
if (!has_capability('block/xp:earnxp', $event->get_context(), $event->userid)) {
// Skip the events if the user does not have the capability to earn XP, or if it is the admin.
} else {
// Keep the event, and proceed.
$manager = block_xp_manager::get($event->courseid);
$manager->capture_event($event);
}
}
}
}
}
}
开发者ID:scarletjester,项目名称:moodle-block_xp,代码行数:32,代码来源:helper.php
示例2: dispatch
/**
* Trigger new event.
*
* @internal to be used only from \core\event\base::trigger() method.
* @param \core\event\base $event
*
* @throws \coding_Exception if used directly.
*/
public static function dispatch(\core\event\base $event)
{
if (during_initial_install()) {
return;
}
if (!$event->is_triggered() or $event->is_dispatched()) {
throw new \coding_exception('Illegal event dispatching attempted.');
}
self::$buffer[] = $event;
if (self::$dispatching) {
return;
}
self::$dispatching = true;
self::process_buffers();
self::$dispatching = false;
}
开发者ID:evltuma,项目名称:moodle,代码行数:24,代码来源:manager.php
示例3: get_events_select
public function get_events_select($selectwhere, array $params, $sort, $limitfrom, $limitnum)
{
global $DB;
$sort = self::tweak_sort_by_id($sort);
$events = array();
$records = $DB->get_records_select('logstore_standard_log', $selectwhere, $params, $sort, '*', $limitfrom, $limitnum);
foreach ($records as $data) {
$extra = array('origin' => $data->origin, 'ip' => $data->ip, 'realuserid' => $data->realuserid);
$data = (array) $data;
$id = $data['id'];
$data['other'] = unserialize($data['other']);
if ($data['other'] === false) {
$data['other'] = array();
}
unset($data['origin']);
unset($data['ip']);
unset($data['realuserid']);
unset($data['id']);
$event = \core\event\base::restore($data, $extra);
// Add event to list if it's valid.
if ($event) {
$events[$id] = $event;
}
}
return $events;
}
开发者ID:janaece,项目名称:globalclassroom4_clean,代码行数:26,代码来源:store.php
示例4: observer
/**
* Observe the events, and dispatch them if necessary.
*
* @param \core\event\base $event The event.
* @return void
*/
public static function observer(\core\event\base $event)
{
global $CFG;
static $allowedcontexts = null;
if ($allowedcontexts === null) {
$allowedcontexts = array(CONTEXT_COURSE, CONTEXT_MODULE);
if (isset($CFG->block_xp_context) && $CFG->block_xp_context == CONTEXT_SYSTEM) {
$allowedcontexts[] = CONTEXT_SYSTEM;
}
}
if ($event->component === 'block_xp') {
// Skip own events.
} else {
if (!$event->userid || isguestuser($event->userid) || is_siteadmin($event->userid)) {
// Skip non-logged in users and guests.
} else {
if ($event->anonymous) {
// Skip all the events marked as anonymous.
} else {
if (!in_array($event->contextlevel, $allowedcontexts)) {
// Ignore events that are not in the right context.
} else {
if ($event->edulevel !== \core\event\base::LEVEL_PARTICIPATING) {
// Ignore events that are not participating.
} else {
if (!has_capability('block/xp:earnxp', $event->get_context(), $event->userid)) {
// Skip the events if the user does not have the capability to earn XP.
} else {
// Keep the event, and proceed.
$manager = block_xp_manager::get($event->courseid);
$manager->capture_event($event);
}
}
}
}
}
}
}
开发者ID:antoniorodrigues,项目名称:redes-digitais,代码行数:44,代码来源:helper.php
示例5: test_restore_event
public function test_restore_event()
{
$event1 = \core_tests\event\unittest_executed::create(array('context' => context_system::instance(), 'other' => array('sample' => 1, 'xx' => 10)));
$data1 = $event1->get_data();
$data1['eventname'] = '\\mod_xx\\event\\xx_yy';
$data1['component'] = 'mod_xx';
$data1['action'] = 'yy';
$data1['target'] = 'xx';
$extra1 = array('origin' => 'cli');
$event2 = \core\event\base::restore($data1, $extra1);
$data2 = $event2->get_data();
$extra2 = $event2->get_logextra();
$this->assertInstanceOf('core\\event\\unknown_logged', $event2);
$this->assertTrue($event2->is_triggered());
$this->assertTrue($event2->is_restored());
$this->assertNull($event2->get_url());
$this->assertEquals($data1, $data2);
$this->assertEquals($extra1, $extra2);
}
开发者ID:evltuma,项目名称:moodle,代码行数:19,代码来源:event_unknown_logged_test.php
示例6: buffer_event
/**
* Api to buffer events to store, to reduce db queries.
*
* @param \core\event\base $event
*/
protected function buffer_event(\core\event\base $event)
{
// If there are no subscriptions for this event do not buffer it.
if (!\tool_monitor\subscription_manager::event_has_subscriptions($event->eventname, $event->courseid)) {
return;
}
$eventdata = $event->get_data();
$eventobj = new \stdClass();
$eventobj->eventname = $eventdata['eventname'];
$eventobj->contextid = $eventdata['contextid'];
$eventobj->contextlevel = $eventdata['contextlevel'];
$eventobj->contextinstanceid = $eventdata['contextinstanceid'];
if ($event->get_url()) {
// Get link url if exists.
$eventobj->link = $event->get_url()->out();
} else {
$eventobj->link = '';
}
$eventobj->courseid = $eventdata['courseid'];
$eventobj->timecreated = $eventdata['timecreated'];
$this->buffer[] = $eventobj;
$this->count++;
}
开发者ID:alanaipe2015,项目名称:moodle,代码行数:28,代码来源:eventobservers.php
示例7: get_log_event
/**
* Returns an event from the log data.
*
* @param stdClass $data Log data
* @return \core\event\base
*/
public function get_log_event($data)
{
$extra = array('origin' => $data->origin, 'ip' => $data->ip, 'realuserid' => $data->realuserid);
$data = (array) $data;
$id = $data['id'];
$data['other'] = unserialize($data['other']);
if ($data['other'] === false) {
$data['other'] = array();
}
unset($data['origin']);
unset($data['ip']);
unset($data['realuserid']);
unset($data['id']);
if (!($event = \core\event\base::restore($data, $extra))) {
return null;
}
return $event;
}
开发者ID:evltuma,项目名称:moodle,代码行数:24,代码来源:store.php
示例8: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
*/
protected function validate_data()
{
parent::validate_data();
if ($this->contextlevel != CONTEXT_MODULE) {
throw new \coding_exception('Context level must be CONTEXT_MODULE.');
}
}
开发者ID:ninelanterns,项目名称:moodle-mod_scheduler,代码行数:12,代码来源:scheduler_base.php
示例9: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (!isset($this->other['title'])) {
throw new \coding_exception('The \'title\' value must be set in the object.');
}
}
开发者ID:unikent,项目名称:moodle-mod_qa,代码行数:13,代码来源:question_posted.php
示例10: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (!isset($this->other['subscriptionid'])) {
throw new \coding_exception('The \'subscriptionid\' value must be set in other.');
}
}
开发者ID:janaece,项目名称:globalclassroom4_clean,代码行数:13,代码来源:subscription_criteria_met.php
示例11: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (!isset($this->relateduserid)) {
throw new \coding_exception('The \'relateduserid\' must be set.');
}
}
开发者ID:advancingdesign,项目名称:moodle-local_enrolmentreminder,代码行数:13,代码来源:message_sent.php
示例12: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (!isset($this->other['itemid'])) {
throw new \coding_exception('The itemid needs to be set in $other');
}
}
开发者ID:parksandwildlife,项目名称:learning,代码行数:13,代码来源:rating_created.php
示例13: validate_data
/**
* Custom validations.
*
* @throws \coding_exception when validation fails.
* @return void
*/
protected function validate_data()
{
parent::validate_data();
// Make sure this class is never used without proper object details.
if (!$this->contextlevel === CONTEXT_MODULE) {
throw new \coding_exception('Context level must be CONTEXT_MODULE.');
}
}
开发者ID:evltuma,项目名称:moodle,代码行数:14,代码来源:content_page_viewed.php
示例14: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (!isset($this->relateduserid)) {
debugging('The \'relateduserid\' value must be specified in the event.', DEBUG_DEVELOPER);
$this->relateduserid = $this->objectid;
}
}
开发者ID:sebastianberm,项目名称:moodle-block_coupon,代码行数:14,代码来源:coupon_used.php
示例15: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (empty($this->other['mode'])) {
throw new \coding_exception('The \'mode\' value must be set in other.');
}
if (empty($this->relateduserid)) {
throw new \coding_exception('The \'relateduserid\' must be set.');
}
}
开发者ID:posttechguy,项目名称:moodle-tbst2-report_log,代码行数:16,代码来源:user_report_viewed.php
示例16: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (!isset($this->other['desc'])) {
throw new \coding_exception('The \'desc\' value must be set in other.');
}
if ($this->contextlevel != CONTEXT_MODULE) {
throw new \coding_exception('Context level must be CONTEXT_MODULE.');
}
}
开发者ID:ccle,项目名称:moodle-mod_turnitintool,代码行数:16,代码来源:delete_submission.php
示例17: validate_data
/**
* Custom validation.
*
* @throws \coding_exception when validation does not pass.
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (!isset($this->other['dataid'])) {
throw new \coding_exception('The dataid must be set in $other.');
}
if (!isset($this->other['viewid'])) {
throw new \coding_exception('The viewid must be set in $other.');
}
}
开发者ID:parksandwildlife,项目名称:learning,代码行数:16,代码来源:view_base.php
示例18: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
// Make sure this class is never used without proper object details.
if (empty($this->objectid) || empty($this->objecttable)) {
throw new \coding_exception('The course_module_viewed event must define objectid and object table.');
}
// Make sure the context level is set to module.
if ($this->contextlevel != CONTEXT_MODULE) {
throw new \coding_exception('Context level must be CONTEXT_MODULE.');
}
}
开发者ID:evltuma,项目名称:moodle,代码行数:18,代码来源:all_files_downloaded.php
示例19: validate_data
/**
* Custom validation.
*
* @throws \coding_exception
* @return void
*/
protected function validate_data()
{
parent::validate_data();
if (!isset($this->other['tourid'])) {
throw new \coding_exception('The \'tourid\' value must be set in other.');
}
if (!isset($this->other['stepindex'])) {
throw new \coding_exception('The \'stepindex\' value must be set in other.');
}
if (!isset($this->other['pageurl'])) {
throw new \coding_exception('The \'pageurl\' value must be set in other.');
}
}
开发者ID:dg711,项目名称:moodle,代码行数:19,代码来源:step_shown.php
示例20: validate_data
protected function validate_data()
{
parent::validate_data();
if (!isset($this->userid)) {
throw new \coding_exception('The user id must be set.');
}
if (!isset($this->courseid)) {
throw new \coding_exception('The course id must be set.');
}
if (!isset($this->other['quizcmid']) && !isset($this->other['qcatid'])) {
throw new \coding_exception('Either the quiz course module id or the question category id must be set.');
}
}
开发者ID:MoodleMetaData,项目名称:MoodleMetaData,代码行数:13,代码来源:questions_retrieved.php
注:本文中的core\event\base类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论