Changeset 3236
- Timestamp:
- 05/26/2011 10:40:54 AM (15 years ago)
- Location:
- branches/plugin
- Files:
-
- 2 edited
-
bbp-includes/bbp-user-template.php (modified) (2 diffs)
-
bbp-themes/bbp-twentyten/bbpress/form-topic.php (modified) (2 diffs)
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 ?> -
branches/plugin/bbp-themes/bbp-twentyten/bbpress/form-topic.php
r3210 r3236 13 13 ?> 14 14 15 <?php if ( bbp_current_user_can_access_create_topic_form() ) : ?> 16 17 <?php if ( bbp_current_user_can_create_topic_in_forum() ) : ?> 15 <?php if ( bbp_current_user_can_access_create_topic_form() ) : ?> 18 16 19 17 <div id="new-topic-<?php bbp_topic_id(); ?>" class="bbp-topic-form"> … … 158 156 </div> 159 157 158 <?php else : ?> 159 160 <div id="no-topic-<?php bbp_topic_id(); ?>" class="bbp-no-topic"> 161 <div class="bbp-template-notice"> 162 <p><?php is_user_logged_in() ? _e( 'You cannot create new topics at this time.', 'bbpress' ) : _e( 'You must be logged in to create new topics.', 'bbpress' ); ?></p> 163 </div> 164 </div> 165 160 166 <?php endif; ?> 161 162 <?php else : ?>163 164 <div id="no-topic-<?php bbp_topic_id(); ?>" class="bbp-no-topic">165 <div class="bbp-template-notice">166 <p><?php is_user_logged_in() ? _e( 'You cannot create new topics at this time.', 'bbpress' ) : _e( 'You must be logged in to create new topics.', 'bbpress' ); ?></p>167 </div>168 </div>169 170 <?php endif; ?>
Note: See TracChangeset
for help on using the changeset viewer.