function wiki_add_entry(&$wiki, &$course, $userid=0, $groupid=0) { /// Adds a new wiki entry of the specified type, unless already entered. /// No checking is done here. It is assumed that the caller has the correct /// privileges to add this entry. global $USER; /// If this wiki already has a wiki_type entry, return false. if (wiki_get_entry($wiki, $course, $userid, $groupid) !== false) { return false; } $wiki_entry = new Object(); switch ($wiki->wtype) { case 'student': $wiki_entry->wikiid = $wiki->id; $wiki_entry->userid = $userid ? $userid : $USER->id; $wiki_entry->pagename = wiki_page_name($wiki); $wiki_entry->timemodified = time(); break; case 'group': /// Get the groupmode. It's been added to the wiki object. $groupmode = groups_get_activity_groupmode($wiki); ///give the first groupid by default and try $mygroups = mygroupid($course->id); /// If there is a groupmode, get the group id. if ($groupmode) { $groupid = $groupid ? $groupid : $mygroups[0]/*mygroupid($course->id)*/; } /// If mode is 'nogroups', then groupid is zero. else { $groupid = 0; } $wiki_entry->wikiid = $wiki->id; $wiki_entry->groupid = $groupid; $wiki_entry->pagename = wiki_page_name($wiki); $wiki_entry->timemodified = time(); break; case 'teacher': /// Get the groupmode. It's been added to the wiki object. $groupmode = groups_get_activity_groupmode($wiki); /// If there is a groupmode, get the user's group id. if ($groupmode and $groupid == 0) { $mygroupid = mygroupid($course->id); $groupid = $mygroupid[0]/*mygroupid($course->id)*/; } $wiki_entry->wikiid = $wiki->id; $wiki_entry->course = $wiki->course; $wiki_entry->groupid = $groupid; $wiki_entry->pagename = wiki_page_name($wiki); $wiki_entry->timemodified = time(); break; } $wiki_entry->pagename = addslashes($wiki_entry->pagename); return insert_record("wiki_entries", $wiki_entry, true); }