Changeset 3236 for branches/plugin/bbp-includes/bbp-user-template.php
- Timestamp:
- 05/26/2011 10:40:54 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/plugin/bbp-includes/bbp-user-template.php
r3221 r3236 1163 1163 if ( bbp_is_forum() ) { 1164 1164 1165 // What is the visibility of this forum 1166 switch ( bbp_get_forum_visibility() ) { 1167 1168 // Public 1169 case 'publish' : 1170 1171 // User cannot publish topics 1172 if ( current_user_can( 'publish_topics' ) ) 1173 $retval = true; 1174 1175 // Anonymous posting is allowed 1176 if ( bbp_allow_anonymous() && !is_user_logged_in() ) 1177 $retval = true; 1178 1179 break; 1180 1181 // Private forums 1182 case 'private' : 1183 if ( current_user_can( 'read_private_forums' ) ) 1184 $retval = true; 1185 1186 break; 1187 1188 // Hidden forums 1189 case 'hidden' : 1190 if ( current_user_can( 'read_hidden_forums' ) ) 1191 $retval = true; 1192 1193 break; 1165 // Forum is open 1166 if ( bbp_is_forum_open() ) { 1167 1168 // What is the visibility of this forum 1169 switch ( bbp_get_forum_visibility() ) { 1170 1171 // Public 1172 case 'publish' : 1173 1174 // User cannot publish topics 1175 if ( current_user_can( 'publish_topics' ) ) 1176 $retval = true; 1177 1178 // Anonymous posting is allowed 1179 if ( bbp_allow_anonymous() && !is_user_logged_in() ) 1180 $retval = true; 1181 1182 break; 1183 1184 // Private forums 1185 case 'private' : 1186 if ( current_user_can( 'read_private_forums' ) ) 1187 $retval = true; 1188 1189 break; 1190 1191 // Hidden forums 1192 case 'hidden' : 1193 if ( current_user_can( 'read_hidden_forums' ) ) 1194 $retval = true; 1195 1196 break; 1197 } 1194 1198 } 1195 1199 … … 1215 1219 } 1216 1220 1217 /**1218 * Performs a series of checks to ensure the current user can create topics in1219 * this specific forum or scope.1220 *1221 * @since bbPress (r3127)1222 *1223 * @uses bbp_is_forum_category()1224 * @uses bbp_is_forum_closed()1225 * @uses current_user_can()1226 * @uses bbp_get_topic_forum_id()1227 * @uses bbp_is_topic_edit()1228 *1229 * @return bool1230 */1231 function bbp_current_user_can_create_topic_in_forum() {1232 1233 // Always allow super admins1234 if ( is_super_admin() )1235 return true;1236 1237 // Users need to earn access1238 $retval = false;1239 1240 // Looking at a single forum1241 if ( bbp_is_forum() ) {1242 1243 // Forum is not a category1244 if ( !bbp_is_forum_category() ) {1245 1246 // Forum is open1247 $retval = (bool) bbp_is_forum_open();1248 }1249 1250 // Editing a single topic1251 } elseif ( bbp_is_topic_edit() ) {1252 1253 // If you can edit this forum, you can edit topics in this forum1254 if ( current_user_can( 'edit_forum', bbp_get_topic_forum_id() ) )1255 $retval = true;1256 1257 // Fallback for shortcodes1258 } elseif ( is_page() || is_single() ) {1259 1260 // Page or single post, and user can publish topics or anonymous1261 // posting is allowed.1262 if ( current_user_can( 'publish_topics' ) || ( !is_user_logged_in() && bbp_allow_anonymous() ) )1263 $retval = true;1264 1265 }1266 1267 // Allow access to be filtered1268 return apply_filters( 'bbp_current_user_can_create_topic_in_forum', $retval );1269 }1270 1271 1272 1221 ?>
Note: See TracChangeset
for help on using the changeset viewer.