// if the option to build a dropdown list is enabled, build the list of members that could be added if ($PHORUM["enable_dropdown_userlist"]) { $userlist = phorum_api_user_list(PHORUM_GET_ACTIVE); $PHORUM["DATA"]["NEWMEMBERS"] = array(); foreach ($userlist as $userid => $userinfo) { if (!in_array($userid, $usersingroup)) { $userinfo["username"] = htmlspecialchars($userinfo["username"], ENT_COMPAT, $PHORUM["DATA"]["HCHARSET"]); $userinfo["display_name"] = htmlspecialchars($userinfo["display_name"], ENT_COMPAT, $PHORUM["DATA"]["HCHARSET"]); $PHORUM["DATA"]["NEWMEMBERS"][] = $userinfo; } } } } else { $PHORUM["DATA"]["GROUPS"] = array(); $groups = phorum_api_user_check_group_access(PHORUM_USER_GROUP_MODERATOR, PHORUM_ACCESS_LIST); // Turn the groups into a group id => group name mapping. foreach ($groups as $id => $group) { $groups[$id] = $group['name']; } // put these things in order so the user can read them asort($groups); foreach ($groups as $groupid => $groupname) { // get the group members who are unapproved, so we can count them $members = phorum_db_get_group_members($groupid, PHORUM_USER_GROUP_UNAPPROVED); $full_members = phorum_db_get_group_members($groupid); $PHORUM["DATA"]["GROUPS"][] = array("id" => $groupid, "name" => $groupname, "unapproved" => count($members), "members" => count($full_members), "URL" => array("VIEW" => phorum_get_url(PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $groupid), "UNAPPROVED" => phorum_get_url(PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $groupid, "filter=" . PHORUM_USER_GROUP_UNAPPROVED))); } } $PHORUM["DATA"]["HEADING"] = $PHORUM["DATA"]["LANG"]["GroupMembership"]; $PHORUM["DATA"]['POST_VARS'] .= "<input type=\"hidden\" name=\"group\" value=\"{$group_id}\" />\n"; $template = "cc_groupmod";
} // if the option to build a dropdown list is enabled, build the list of members that could be added if ($PHORUM["enable_dropdown_userlist"]) { $userlist = phorum_api_user_list(PHORUM_GET_ACTIVE); $PHORUM["DATA"]["NEWMEMBERS"] = array(); foreach ($userlist as $userid => $userinfo) { if (!in_array($userid, $usersingroup)) { $userinfo["username"] = htmlspecialchars($userinfo["username"], ENT_COMPAT, $PHORUM["DATA"]["HCHARSET"]); $userinfo["display_name"] = htmlspecialchars($userinfo["display_name"], ENT_COMPAT, $PHORUM["DATA"]["HCHARSET"]); $PHORUM["DATA"]["NEWMEMBERS"][] = $userinfo; } } } } else { $PHORUM["DATA"]["GROUPS"] = array(); $groups = phorum_api_user_check_group_access(PHORUM_USER_GROUP_MODERATOR, PHORUM_ACCESS_LIST); // Turn the groups into a group id => group name mapping. foreach ($groups as $id => $group) { $groups[$id] = $group['name']; } // put these things in order so the user can read them asort($groups); foreach ($groups as $groupid => $groupname) { // get the group members who are unapproved, so we can count them $members = phorum_db_get_group_members($groupid, PHORUM_USER_GROUP_UNAPPROVED); $PHORUM["DATA"]["GROUPS"][] = array("id" => $groupid, "name" => $groupname, "unapproved" => count($members), "URL" => array("VIEW" => phorum_get_url(PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $groupid), "UNAPPROVED" => phorum_get_url(PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $groupid, "filter=" . PHORUM_USER_GROUP_UNAPPROVED))); } } $PHORUM["DATA"]["HEADING"] = $PHORUM["DATA"]["LANG"]["GroupMembership"]; $PHORUM["DATA"]['POST_VARS'] .= "<input type=\"hidden\" name=\"group\" value=\"{$group_id}\" />\n"; $template = "cc_groupmod";
$search_values[] = 0; $search_operators[] = '<'; } else { $search_values[] = (int) $_REQUEST['search_status']; $search_operators[] = '='; } } if (!empty($_REQUEST["member_of_group"])) { $groups = explode(",", $_REQUEST["member_of_group"]); foreach ($groups as $glid => $glrid) { if ($glrid < 1) { unset($groups[$glid]); } } if (count($groups)) { $db_group_members = phorum_db_get_group_members($groups); $group_members = array(); foreach ($db_group_members as $user_id => $group_status) { $group_members[] = $user_id; } $search_fields[] = 'user_id'; $search_values[] = $group_members; $search_operators[] = '()'; } } if (!empty($_REQUEST["forum_permissions"]) && !empty($_REQUEST["forum_permissions_forums"])) { $forum_permissions = explode(",", $_REQUEST["forum_permissions"]); $or_forum_permissions = ""; foreach ($forum_permissions as $forum_permission) { if (isset($forum_permissions_first)) { $or_forum_permissions .= " OR ";
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; } } if ($error) { phorum_admin_error($error);
// if moderator notifications are on and the person is a mod, lets find out if anything is new if ( $PHORUM["enable_moderator_notifications"] ) { $forummodlist = phorum_user_access_list( PHORUM_USER_ALLOW_MODERATE_MESSAGES ); if ( count( $forummodlist ) > 0 ) { $PHORUM["DATA"]["notice_messages"] = ( count( phorum_db_get_unapproved_list( $forummodlist, true ) ) > 0 ); $PHORUM["DATA"]["notice_messages_url"] = phorum_get_url( PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_UNAPPROVED ); } if ( phorum_user_access_allowed( PHORUM_USER_ALLOW_MODERATE_USERS ) ) { $PHORUM["DATA"]["notice_users"] = ( count( phorum_db_user_get_unapproved() ) > 0 ); $PHORUM["DATA"]["notice_users_url"] = phorum_get_url( PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_USERS ); } if ( phorum_user_allow_moderate_group() ) { $groups = phorum_user_get_moderator_groups(); if ( count( $groups ) > 0 ) { $PHORUM["DATA"]["notice_groups"] = count( phorum_db_get_group_members( array_keys( $groups ), PHORUM_USER_GROUP_UNAPPROVED ) ); $PHORUM["DATA"]["notice_groups_url"] = phorum_get_url( PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_GROUP_MODERATION ); } } } $PHORUM["DATA"]["notice_all"] = ( $PHORUM["enable_pm"] && phorum_page!="pm" && $PHORUM["DATA"]["NEW_PRIVATE_MESSAGES"] ) || $PHORUM["DATA"]["notice_messages"] || $PHORUM["DATA"]["notice_users"] || $PHORUM["DATA"]["notice_groups"]; // if the user has overridden thread settings, change it here. if ( !isset( $PHORUM['display_fixed'] ) || !$PHORUM['display_fixed'] ) { if ( $PHORUM["user"]["threaded_list"] == PHORUM_THREADED_ON ) { $PHORUM["threaded_list"] = true; } elseif ( $PHORUM["user"]["threaded_list"] == PHORUM_THREADED_OFF ) { $PHORUM["threaded_list"] = false; } if ( $PHORUM["user"]["threaded_read"] == PHORUM_THREADED_ON ) {
$show_notify_for_pages = array('index', 'list', 'cc'); } if (in_array(phorum_page, $show_notify_for_pages)) { if ($PHORUM["enable_moderator_notifications"]) { $forummodlist = phorum_api_user_check_access(PHORUM_USER_ALLOW_MODERATE_MESSAGES, PHORUM_ACCESS_LIST); if (count($forummodlist) > 0) { $PHORUM["user"]["NOTICE"]["MESSAGES"] = phorum_db_get_unapproved_list($forummodlist, true, 0, true) > 0; $PHORUM["DATA"]["URL"]["NOTICE"]["MESSAGES"] = phorum_get_url(PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_UNAPPROVED); } if (phorum_api_user_check_access(PHORUM_USER_ALLOW_MODERATE_USERS)) { $PHORUM["user"]["NOTICE"]["USERS"] = count(phorum_db_user_get_unapproved()) > 0; $PHORUM["DATA"]["URL"]["NOTICE"]["USERS"] = phorum_get_url(PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_USERS); } $groups = phorum_api_user_check_group_access(PHORUM_USER_GROUP_MODERATOR, PHORUM_ACCESS_LIST); if (count($groups) > 0) { $PHORUM["user"]["NOTICE"]["GROUPS"] = count(phorum_db_get_group_members(array_keys($groups), PHORUM_USER_GROUP_UNAPPROVED)); $PHORUM["DATA"]["URL"]["NOTICE"]["GROUPS"] = phorum_get_url(PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_GROUP_MODERATION); } } $PHORUM["user"]["NOTICE"]["SHOW"] = $PHORUM["user"]["NOTICE"]["MESSAGES"] || $PHORUM["user"]["NOTICE"]["USERS"] || $PHORUM["user"]["NOTICE"]["GROUPS"]; } } /* * [hook] * common * * [description] * This hook gives modules a chance to override Phorum variables * and settings near the end of the <filename>common.php</filename> * script. This can be used to override the Phorum (settings) * variables that are setup during this script.