当前位置: 首页>>代码示例>>PHP>>正文


PHP repository::delete_all_for_context方法代码示例

本文整理汇总了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));
    }
开发者ID:rwijaya,项目名称:moodle,代码行数:36,代码来源:accesslib.php

示例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)));
 }
开发者ID:alanaipe2015,项目名称:moodle,代码行数:72,代码来源:repositorylib_test.php


注:本文中的repository::delete_all_for_context方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。