MDL-34695 wiki: ensure the correct individual subwiki is used/created for a user
This commit is contained in:
committed by
Rossiani Wijaya
parent
67ba0081ba
commit
f2ce3d0239
@@ -49,6 +49,11 @@ if ($wid) {
|
||||
print_error('incorrectwikiid', 'wiki');
|
||||
}
|
||||
if (!$subwiki = wiki_get_subwiki_by_group($wiki->id, $currentgroup, $userid)) {
|
||||
// trap anomalous parameters that would lead to a shared subwiki being created for an individual user
|
||||
if ($wiki->wikimode == 'individual' && $userid == 0) {
|
||||
throw new coding_exception('Tried creating a shared subwiki in \'individual\' mode. This shouldn\'t happen.');
|
||||
}
|
||||
|
||||
// create subwiki if doesn't exist
|
||||
$subwikiid = wiki_add_subwiki($wiki->id, $currentgroup, $userid);
|
||||
$subwiki = wiki_get_subwiki($subwikiid);
|
||||
|
||||
@@ -947,8 +947,13 @@ class page_wiki_create extends page_wiki {
|
||||
$groupid = '0';
|
||||
}
|
||||
if (empty($this->subwiki)) {
|
||||
// trap anomalous parameters that would lead to a shared subwiki being created for an individual user
|
||||
if ($PAGE->activityrecord->wikimode == 'individual' && $this->uid == 0) {
|
||||
throw new coding_exception('Tried creating a shared subwiki in \'individual\' mode. This shouldn\'t happen.');
|
||||
}
|
||||
|
||||
// If subwiki is not set then try find one and set else create one.
|
||||
if (!$this->subwiki = wiki_get_subwiki_by_group($this->wid, $groupid)) {
|
||||
if (!$this->subwiki = wiki_get_subwiki_by_group($this->wid, $groupid, $this->uid)) {
|
||||
$swid = wiki_add_subwiki($PAGE->activityrecord->id, $groupid, $this->uid);
|
||||
$this->subwiki = wiki_get_subwiki($swid);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user