| [ Index ] |
|
Code source de Phorum 5.1.25 |
1 <?php 2 3 //////////////////////////////////////////////////////////////////////////////// 4 // // 5 // Copyright (C) 2006 Phorum Development Team // 6 // http://www.phorum.org // 7 // // 8 // This program is free software. You can redistribute it and/or modify // 9 // it under the terms of either the current Phorum License (viewable at // 10 // phorum.org) or the Phorum License that was distributed with this file // 11 // // 12 // This program is distributed in the hope that it will be useful, // 13 // but WITHOUT ANY WARRANTY, without even the implied warranty of // 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // 15 // // 16 // You should have received a copy of the Phorum License // 17 // along with this program. // 18 //////////////////////////////////////////////////////////////////////////////// 19 20 if(!defined("PHORUM_ADMIN")) return; 21 22 $error=""; 23 24 if(count($_POST)){ 25 26 if( isset($_POST['action']) && $_POST['action'] == "deleteGroups") { 27 28 $count=0; 29 foreach($_POST['deleteIds'] as $id => $deluid) { 30 phorum_db_delete_group($deluid); 31 $count++; 32 } 33 echo "$count Group(s) deleted.<br />"; 34 35 } 36 37 switch ($_POST["section"]) { 38 39 case "add": 40 $group_id=0; 41 $_POST["group_name"]=trim($_POST["group_name"]); 42 if(!empty($_POST["group_name"])){ 43 $group_id=phorum_db_add_group($_POST["group_name"]); 44 } 45 if(!$group_id){ 46 echo "Error adding group<br />"; 47 } else { 48 echo "Group added<br />"; 49 } 50 break; 51 52 case "edit": 53 $group = array("group_id" => $_POST["group_id"], "name" => $_POST["name"], "open" => $_POST["open"]); 54 55 if(phorum_db_save_group($group)){ 56 echo "Group Saved"; 57 } else { 58 echo "Error Saving Group Name"; 59 } 60 break; 61 62 case "forums": 63 $group=$_POST; 64 if($_POST["new_forum"]){ 65 if(!is_array($_POST["new_permissions"])){ 66 $permission=0; 67 } else { 68 $permission = 0; 69 foreach($_POST["new_permissions"] as $perm=>$check){ 70 $permission = $permission | $perm; 71 } 72 } 73 74 $group["permissions"][$_POST["new_forum"]]=$permission; 75 } 76 77 if(isset($_POST["delforum"])){ 78 foreach($_POST["delforum"] as $fid=>$val){ 79 unset($group["permissions"][$fid]); 80 unset($_POST["forums"][$fid]); 81 } 82 } 83 84 85 if(isset($_POST["forums"])){ 86 foreach($_POST["forums"] as $forum_id){ 87 $permission=0; 88 89 if(isset($group["permissions"][$forum_id])){ 90 foreach($group["permissions"][$forum_id] as $perm=>$check){ 91 $permission = $permission | $perm; 92 } 93 } 94 95 $group["permissions"][$forum_id]=$permission; 96 } 97 } 98 99 unset($group["forums"]); 100 unset($group["delforum"]); 101 unset($group["new_forum"]); 102 unset($group["new_permissions"]); 103 104 if(phorum_db_save_group($group)){ 105 // clearing user-cache if needed 106 if(isset($PHORUM['cache_users']) && $PHORUM['cache_users']) { 107 $group_members=phorum_db_get_group_members($_POST["group_id"]); 108 109 if(count($group_members)) { 110 foreach($group_members as $user_id => $user_status) { 111 phorum_cache_remove('user',$user_id); 112 } 113 } 114 115 } 116 117 118 echo "Group Forum Permissions Saved"; 119 } else { 120 echo "Error Saving Group Forum Permissions"; 121 } 122 123 124 break; 125 126 } 127 128 } 129 130 if($error){ 131 phorum_admin_error($error); 132 } 133 134 include_once "./include/admin/PhorumInputForm.php"; 135 $groups=phorum_db_get_groups(); 136 137 $forums=phorum_db_get_forums(); 138 139 if(isset($_GET["edit"])){ 140 $_GET['group_id']=(int)$_GET["group_id"]; 141 142 $group=$groups[$_GET["group_id"]]; 143 144 $frm =& new PhorumInputForm ("", "post"); 145 146 $frm->addbreak("Edit Group"); 147 148 $frm->hidden("module", "groups"); 149 150 $frm->hidden("section", "edit"); 151 152 $frm->hidden("group_id", $_GET["group_id"]); 153 154 $open_options = array(PHORUM_GROUP_CLOSED => "No", 155 PHORUM_GROUP_OPEN => "Yes", 156 PHORUM_GROUP_REQUIRE_APPROVAL => "Yes (require Group Moderator approval)"); 157 $frm->addrow("Name:", $frm->text_box("name", $group["name"], 50)); 158 $frm->addrow("Allow Membership Requests:", $frm->select_tag("open", $open_options, $group["open"], "")); 159 $frm->show(); 160 161 echo "<br /><hr class=\"PhorumAdminHR\" /><br />"; 162 163 164 $frm =& new PhorumInputForm ("", "post", "Update"); 165 166 $frm->hidden("module", "groups"); 167 168 $frm->hidden("section", "forums"); 169 170 $frm->hidden("group_id", $_GET["group_id"]); 171 172 $row=$frm->addbreak("Edit Forum Permissions"); 173 174 $frm->addhelp($row, "Forum Permissions", "Permissions given to groups overwrite any permissions granted by the forum properties. Also, if a user is granted permissions directly to a forum in the user admin, any group permissions he has for that forum will be ignored. If the user is a member of two or more groups that have permissions in the same forum, the permissions will be combined. (eg. If group A allows read and reply and group B allows create and moderate, the user will receive all four permissions.)"); 175 176 $forumpaths = phorum_get_forum_info(1); 177 178 $perm_frm = $frm->checkbox("new_permissions[".PHORUM_USER_ALLOW_READ."]", 1, "Read")." ". 179 $frm->checkbox("new_permissions[".PHORUM_USER_ALLOW_REPLY."]", 1, "Reply")." ". 180 $frm->checkbox("new_permissions[".PHORUM_USER_ALLOW_NEW_TOPIC."]", 1, "Create New Topics")." ". 181 $frm->checkbox("new_permissions[".PHORUM_USER_ALLOW_EDIT."]", 1, "Edit Their Posts")."<br />". 182 $frm->checkbox("new_permissions[".PHORUM_USER_ALLOW_ATTACH."]", 1, "Attach Files")."<br />". 183 $frm->checkbox("new_permissions[".PHORUM_USER_ALLOW_MODERATE_MESSAGES."]", 1, "Moderate Messages")." ". 184 $frm->checkbox("new_permissions[".PHORUM_USER_ALLOW_MODERATE_USERS."]", 1, "Moderate Users")." "; 185 186 187 $arr[]="Add A Forum..."; 188 foreach($forumpaths as $forum_id=>$forumname){ 189 if(empty($group["permissions"][$forum_id]) && $forums[$forum_id]['folder_flag'] == 0) 190 $arr[$forum_id]=$forumname; 191 } 192 193 if(count($arr)>1) 194 $frm->addrow($frm->select_tag("new_forum", $arr), $perm_frm); 195 196 197 ksort($group["permissions"]); 198 if(is_array($group["permissions"])){ 199 foreach($group["permissions"] as $forum_id=>$perms){ 200 $perm_frm = $frm->checkbox("permissions[$forum_id][".PHORUM_USER_ALLOW_READ."]", 1, "Read", $perms & PHORUM_USER_ALLOW_READ)." ". 201 $frm->checkbox("permissions[$forum_id][".PHORUM_USER_ALLOW_REPLY."]", 1, "Reply", $perms & PHORUM_USER_ALLOW_REPLY)." ". 202 $frm->checkbox("permissions[$forum_id][".PHORUM_USER_ALLOW_NEW_TOPIC."]", 1, "Create New Topics", $perms & PHORUM_USER_ALLOW_NEW_TOPIC)." ". 203 $frm->checkbox("permissions[$forum_id][".PHORUM_USER_ALLOW_EDIT."]", 1, "Edit Their Posts", $perms & PHORUM_USER_ALLOW_EDIT)."<br />". 204 $frm->checkbox("permissions[$forum_id][".PHORUM_USER_ALLOW_ATTACH."]", 1, "Attach Files", $perms & PHORUM_USER_ALLOW_ATTACH)."<br />". 205 $frm->checkbox("permissions[$forum_id][".PHORUM_USER_ALLOW_MODERATE_MESSAGES."]", 1, "Moderate Messages", $perms & PHORUM_USER_ALLOW_MODERATE_MESSAGES)." ". 206 $frm->checkbox("permissions[$forum_id][".PHORUM_USER_ALLOW_MODERATE_USERS."]", 1, "Moderate Users", $perms & PHORUM_USER_ALLOW_MODERATE_USERS)." ". 207 208 $frm->hidden("forums[$forum_id]", $forum_id); 209 210 $row=$frm->addrow($forums[$forum_id]["name"]."<br />".$frm->checkbox("delforum[$forum_id]", 1, "Delete"), $perm_frm); 211 212 } 213 } 214 215 $frm->show(); 216 217 } 218 219 if(empty($_REQUEST["edit"])){ 220 221 $frm =& new PhorumInputForm ("", "post"); 222 223 $frm->addbreak("Phorum Group Admin"); 224 225 $frm->hidden("module", "groups"); 226 227 $frm->hidden("section", "add"); 228 229 $frm->addrow("Add A Group:", $frm->text_box("group_name", "", 50)); 230 231 $frm->show(); 232 233 echo "<hr class=\"PhorumAdminHR\" />"; 234 echo "<form action=\"{$PHORUM["admin_http_path"]}\" method=\"post\">\n"; 235 echo "<input type=\"hidden\" name=\"module\" value=\"groups\">\n"; 236 echo "<input type=\"hidden\" name=\"action\" value=\"deleteGroups\">\n"; 237 echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" class=\"PhorumAdminTable\" width=\"100%\">\n"; 238 echo "<tr>\n"; 239 echo " <td class=\"PhorumAdminTableHead\">Group</td>\n"; 240 echo " <td class=\"PhorumAdminTableHead\">Delete</td>\n"; 241 echo "</tr>\n"; 242 243 foreach($groups as $group){ 244 echo "<tr>\n"; 245 echo " <td class=\"PhorumAdminTableRow\"><a href=\"{$PHORUM["admin_http_path"]}?module=groups&edit=1&group_id={$group['group_id']}\">".htmlspecialchars($group['name'])."</a></td>\n"; 246 echo " <td class=\"PhorumAdminTableRow\">Delete? <input type=\"checkbox\" name=\"deleteIds[]\" value=\"{$group['group_id']}\"></td>\n"; 247 echo "</tr>\n"; 248 } 249 echo "<tr><td colspan=\"2\" align=\"right\"><input type=\"submit\" name=\"submit\" value=\"Delete Selected\"></td></tr>"; 250 echo "</table></form>\n"; 251 252 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Thu Nov 29 12:22:27 2007 | par Balluche grâce à PHPXref 0.7 |
|