本文整理汇总了PHP中repository::delete_all_for_context方法的典型用法代码示例。如果您正苦于以下问题:PHP repository::delete_all_for_context方法的具体用法?PHP repository::delete_all_for_context怎么用?PHP repository::delete_all_for_context使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类repository
的用法示例。
在下文中一共展示了repository::delete_all_for_context方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: delete_content
/**
* Delete all data linked to content, do not delete the context record itself
*/
public function delete_content() {
global $CFG, $DB;
blocks_delete_all_for_context($this->_id);
filter_delete_all_for_context($this->_id);
require_once($CFG->dirroot . '/comment/lib.php');
comment::delete_comments(array('contextid'=>$this->_id));
require_once($CFG->dirroot.'/rating/lib.php');
$delopt = new stdclass();
$delopt->contextid = $this->_id;
$rm = new rating_manager();
$rm->delete_ratings($delopt);
// delete all files attached to this context
$fs = get_file_storage();
$fs->delete_area_files($this->_id);
// Delete all repository instances attached to this context.
require_once($CFG->dirroot . '/repository/lib.php');
repository::delete_all_for_context($this->_id);
// delete all advanced grading data attached to this context
require_once($CFG->dirroot.'/grade/grading/lib.php');
grading_manager::delete_all_for_context($this->_id);
// now delete stuff from role related tables, role_unassign_all
// and unenrol should be called earlier to do proper cleanup
$DB->delete_records('role_assignments', array('contextid'=>$this->_id));
$DB->delete_records('role_capabilities', array('contextid'=>$this->_id));
$DB->delete_records('role_names', array('contextid'=>$this->_id));
}
示例2: test_delete_all_for_context
function test_delete_all_for_context()
{
global $DB;
$this->resetAfterTest(true);
$this->setAdminUser();
$course = $this->getDataGenerator()->create_course();
$user = $this->getDataGenerator()->create_user();
$this->getDataGenerator()->create_repository_type('flickr_public');
$this->getDataGenerator()->create_repository_type('filesystem');
$coursecontext = context_course::instance($course->id);
$usercontext = context_user::instance($user->id);
// Creating course instances.
$repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $coursecontext->id));
$courserepo1 = repository::get_repository_by_id($repo->id, $coursecontext);
$this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id)));
$repo = $this->getDataGenerator()->create_repository('filesystem', array('contextid' => $coursecontext->id));
$courserepo2 = repository::get_repository_by_id($repo->id, $coursecontext);
$this->assertEquals(2, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id)));
// Creating user instances.
$repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $usercontext->id));
$userrepo1 = repository::get_repository_by_id($repo->id, $usercontext);
$this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $usercontext->id)));
$repo = $this->getDataGenerator()->create_repository('filesystem', array('contextid' => $usercontext->id));
$userrepo2 = repository::get_repository_by_id($repo->id, $usercontext);
$this->assertEquals(2, $DB->count_records('repository_instances', array('contextid' => $usercontext->id)));
// Simulation of course deletion.
repository::delete_all_for_context($coursecontext->id);
$this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id)));
$this->assertEquals(0, $DB->count_records('repository_instances', array('id' => $courserepo1->id)));
$this->assertEquals(0, $DB->count_records('repository_instances', array('id' => $courserepo2->id)));
$this->assertEquals(0, $DB->count_records('repository_instance_config', array('instanceid' => $courserepo1->id)));
$this->assertEquals(0, $DB->count_records('repository_instance_config', array('instanceid' => $courserepo2->id)));
// Simulation of user deletion.
repository::delete_all_for_context($usercontext->id);
$this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $usercontext->id)));
$this->assertEquals(0, $DB->count_records('repository_instances', array('id' => $userrepo1->id)));
$this->assertEquals(0, $DB->count_records('repository_instances', array('id' => $userrepo2->id)));
$this->assertEquals(0, $DB->count_records('repository_instance_config', array('instanceid' => $userrepo1->id)));
$this->assertEquals(0, $DB->count_records('repository_instance_config', array('instanceid' => $userrepo2->id)));
// Checking deletion upon course context deletion.
$course = $this->getDataGenerator()->create_course();
$coursecontext = context_course::instance($course->id);
$repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $coursecontext->id));
$courserepo = repository::get_repository_by_id($repo->id, $coursecontext);
$this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id)));
$coursecontext->delete();
$this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id)));
// Checking deletion upon user context deletion.
$user = $this->getDataGenerator()->create_user();
$usercontext = context_user::instance($user->id);
$repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $usercontext->id));
$userrepo = repository::get_repository_by_id($repo->id, $usercontext);
$this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $usercontext->id)));
$usercontext->delete();
$this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $usercontext->id)));
// Checking deletion upon course deletion.
$course = $this->getDataGenerator()->create_course();
$coursecontext = context_course::instance($course->id);
$repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $coursecontext->id));
$courserepo = repository::get_repository_by_id($repo->id, $coursecontext);
$this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id)));
delete_course($course, false);
$this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $coursecontext->id)));
// Checking deletion upon user deletion.
$user = $this->getDataGenerator()->create_user();
$usercontext = context_user::instance($user->id);
$repo = $this->getDataGenerator()->create_repository('flickr_public', array('contextid' => $usercontext->id));
$userrepo = repository::get_repository_by_id($repo->id, $usercontext);
$this->assertEquals(1, $DB->count_records('repository_instances', array('contextid' => $usercontext->id)));
delete_user($user);
$this->assertEquals(0, $DB->count_records('repository_instances', array('contextid' => $usercontext->id)));
}