示例#1
0
/**
 * Return wikis on course that have last modified date for current user
 *
 * @param stdClass $course
 * @return array
 */
function ouwiki_get_ourecent_activity($course)
{
    global $CFG;
    require_once $CFG->dirroot . '/mod/ouwiki/locallib.php';
    $modinfo = get_fast_modinfo($course);
    $return = array();
    foreach ($modinfo->get_instances_of('ouwiki') as $wiki) {
        if ($wiki->uservisible) {
            $lastpostdate = ouwiki_get_last_modified($wiki, $wiki->get_course());
            if (!empty($lastpostdate)) {
                $data = new stdClass();
                $data->cm = $wiki;
                $data->text = get_string('lastmodified', 'ouwiki', userdate($lastpostdate, get_string('strftimerecent', 'ouwiki')));
                $data->date = $lastpostdate;
                $return[$data->cm->id] = $data;
            }
        }
    }
    return $return;
}
 /**
  * Simple test of last modified time returning
  */
 public function test_ouwiki_get_last_modified()
 {
     global $DB;
     $this->resetAfterTest(true);
     $this->setAdminUser();
     $user = $this->get_new_user();
     $user2 = $this->get_new_user('testouwikiuser2');
     $course = $this->get_new_course();
     $ouwiki = $this->get_new_ouwiki($course->id, OUWIKI_SUBWIKIS_SINGLE);
     $cm = get_coursemodule_from_instance('ouwiki', $ouwiki->id);
     $context = context_module::instance($cm->id);
     $result = ouwiki_get_last_modified($cm, $course);
     $this->assertEmpty($result);
     // Create page + test last modified returns something.
     $subwiki = ouwiki_get_subwiki($course, $ouwiki, $cm, $context, 0, $user2->id, true);
     $page = ouwiki_get_current_page($subwiki, 'startpage', OUWIKI_GETPAGE_CREATE);
     ouwiki_save_new_version($course, $cm, $ouwiki, $subwiki, 'startpage', 'content', -1, -1, -1);
     $result = ouwiki_get_last_modified($cm, $course, $user2->id);
     $this->assertNotEmpty($result);
     // Check other user gets a time.
     $result2 = ouwiki_get_last_modified($cm, $course, $user->id);
     $this->assertNotEmpty($result2);
     $this->assertEquals($result, $result2);
     // Check admin gets cached.
     $result = ouwiki_get_last_modified($cm, $course);
     $this->assertEmpty($result);
 }