private function setReadWritePermissionsFromTemplate(array $ugroup_mapping) { $template = ProjectManager::instance()->getProject($this->project->getTemplate()); $template_read_accesses = $this->mediawiki_manager->getReadAccessControl($template); $template_write_accesses = $this->mediawiki_manager->getWriteAccessControl($template); $this->mediawiki_manager->saveReadAccessControl($this->project, $this->getUgroupsForProjectFromMapping($template_read_accesses, $ugroup_mapping)); $this->mediawiki_manager->saveWriteAccessControl($this->project, $this->getUgroupsForProjectFromMapping($template_write_accesses, $ugroup_mapping)); }
private function seedUGroupMappingFromTemplate(array $ugroup_mapping) { $template = ProjectManager::instance()->getProject($this->project->getTemplate()); $mapper = new MediawikiUserGroupsMapper(new MediawikiDao(), new User_ForgeUserGroupPermissionsDao()); $template_mapping = $mapper->getCurrentUserGroupMapping($template); $new_mapping = array(); foreach ($template_mapping as $mw_group => $tuleap_groups) { foreach ($tuleap_groups as $grp) { if ($grp < ProjectUGroup::DYNAMIC_UPPER_BOUNDARY) { $new_mapping[$mw_group][] = $grp; } elseif (isset($ugroup_mapping[$grp])) { $new_mapping[$mw_group][] = $ugroup_mapping[$grp]; } } } db_query($this->seedProjectUGroupMappings($this->project->getID(), $new_mapping)); }