if (isset($_POST["forums"])) { foreach ($_POST["forums"] as $forum_id) { $permission = 0; if (isset($group["permissions"][$forum_id])) { foreach ($group["permissions"][$forum_id] as $perm => $check) { $permission = $permission | $perm; } } $group["permissions"][$forum_id] = $permission; } } unset($group["forums"]); unset($group["delforum"]); unset($group["new_forum"]); unset($group["new_permissions"]); if (phorum_db_update_group($group)) { // clearing user-cache if needed if (isset($PHORUM['cache_users']) && $PHORUM['cache_users']) { $group_members = phorum_db_get_group_members($_POST["group_id"]); if (count($group_members)) { foreach ($group_members as $user_id => $user_status) { phorum_cache_remove('user', $user_id); } } } echo "Group Forum Permissions Saved"; } else { echo "Error Saving Group Forum Permissions"; } break; }
} echo "{$CONVERT['lbr']}Updating forum-statistics: {$CONVERT['lbr']}"; flush(); phorum_db_update_forum_stats(true); echo $CONVERT['lbr']; flush(); } } unset($forums); // storing the offsets of the forums phorum_db_update_settings(array("conversion_offsets" => $offsets)); if ($CONVERT['do_groups'] && count($CONVERT['groups'])) { // here we set the group-permissions echo "Writing group-permissions ... {$CONVERT['lbr']}"; foreach ($CONVERT['groups'] as $groupid => $groupdata) { phorum_db_update_group($groupdata); } } if ($CONVERT['do_users']) { echo "migrating users ...{$CONVERT['lbr']}"; flush(); $group_perms = phorum_convert_getUserGroups($oldlink); $res = phorum_convert_selectUsers($oldlink); if (!$res) { echo "No users found, All done now.{$CONVERT['lbr']}"; flush(); exit; } // there are users... $count = 0; $userdata["date_added"] = time();
// Find out which forums already have a moderator group available. $forum_has_moderator = array(); $groups = phorum_db_get_groups(); foreach ($groups as $id => $group) { foreach ($group['permissions'] as $forum_id => $permission) { if ($permission & PHORUM_USER_ALLOW_MODERATE_MESSAGES) { $forum_has_moderator[$forum_id] = TRUE; } } } print_r($forum_has_moderator); foreach ($forums as $forum_id => $fdata) { if (!empty($fdata['folder_flag'])) { continue; } print "> forum {$fdata['name']} "; if (!empty($forum_has_moderator[$forum_id])) { print "[USE EXISTING]\n"; continue; } $path = $fdata['forum_path']; array_unshift($path); $name = implode('::', $path); $group_id = phorum_db_add_group("Moderate {$name}"); if (!$group_id) { die("Error adding group \"{$name}\".\n"); } phorum_db_update_group(array('group_id' => $group_id, 'open' => 0, 'permissions' => array($forum_id => PHORUM_USER_ALLOW_READ | PHORUM_USER_ALLOW_REPLY | PHORUM_USER_ALLOW_NEW_TOPIC | PHORUM_USER_ALLOW_EDIT | PHORUM_USER_ALLOW_ATTACH | PHORUM_USER_ALLOW_MODERATE_MESSAGES | PHORUM_USER_ALLOW_MODERATE_USERS))); print "[CREATED GROUP]\n"; } print "\n\n";