當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。