예제 #1
0
파일: groupmod.php 프로젝트: mgs2/kw-forum
    // 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";
예제 #2
0
    }
    // 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";
예제 #3
0
파일: users.php 프로젝트: mgs2/kw-forum
         $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 ";
예제 #4
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;
    }
}
if ($error) {
    phorum_admin_error($error);
예제 #5
0
        // 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 ) {
예제 #6
0
         $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.