Changeset 10243
- Timestamp:
- 09/09/2020 09:53:10 PM (4 years ago)
- Location:
- sites/trunk/wordpress.org/public_html/wp-content/plugins/theme-directory
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/theme-directory/admin-edit.php
r10240 r10243 44 44 'label_count' => _n_noop( 'Suspended <span class="count">(%s)</span>', 'Suspended <span class="count">(%s)</span>', 'wporg-themes' ), 45 45 ) ); 46 47 // Themes can be "delisted" to hide them from search, but allow them to be uploaded.48 register_post_status( 'delist', array(49 'label' => __( 'Delisted', 'wporg-themes' ),50 'protected' => false,51 'public' => true,52 'exclude_from_search' => true,53 'label_count' => _n_noop( 'Delisted <span class="count">(%s)</span>', 'Delisted <span class="count">(%s)</span>', 'wporg-themes' ),54 ) );55 46 } 56 47 add_action( 'init', 'wporg_themes_post_status' ); … … 134 125 } 135 126 136 if ( current_user_can( 'suspend_theme', $post->ID ) && 'publish' == $post->post_status ) {137 $links[] = sprintf( '<a class="submit-delist_theme submitdelete" title="%1$s" href="%2$s">%3$s</a>', esc_attr__( 'Delist this item', 'wporg-themes' ), esc_url( wporg_themes_get_delist_url( $post ) ), __( 'Delist', 'wporg-themes' ) );138 }139 elseif ( current_user_can( 'reinstate_theme', $post->ID ) && 'delist' == $post->post_status ) {140 $links[] = sprintf( '<a class="submit-relist_theme" title="%1$s" href="%2$s">%3$s</a>', esc_attr__( 'Relist this item', 'wporg-themes' ), esc_url( wporg_themes_get_relist_url( $post ) ), __( 'Relist', 'wporg-themes' ) );141 }142 143 127 if ( ! empty( $links ) ) { 144 128 echo '<div class="misc-pub-section">' . implode( ' | ', $links ) . '</div>'; … … 201 185 wporg_themes_remove_wpthemescom( $post->post_name ); 202 186 203 wp_redirect( add_query_arg( 'suspended', 1, remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids', 'reinstated' , 'delisted', 'relisted'), wp_get_referer() ) ) );187 wp_redirect( add_query_arg( 'suspended', 1, remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids', 'reinstated' ), wp_get_referer() ) ) ); 204 188 exit(); 205 189 } … … 244 228 add_post_meta( $post_id, '_wporg_themes_reinstated', true ); 245 229 246 wp_redirect( add_query_arg( 'reinstated', 1, remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids', 'suspended' , 'delisted', 'relisted'), wp_get_referer() ) ) );230 wp_redirect( add_query_arg( 'reinstated', 1, remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids', 'suspended' ), wp_get_referer() ) ) ); 247 231 exit(); 248 232 } 249 233 add_filter( 'admin_action_reinstate', 'wporg_themes_reinstate_theme' ); 250 251 /**252 * Action link to delist a theme.253 *254 * @param WP_Post $post255 * @return string URL256 */257 function wporg_themes_get_delist_url( $post ) {258 return wp_nonce_url( add_query_arg( 'action', 'delist', admin_url( sprintf( get_post_type_object( $post->post_type )->_edit_link, $post->ID ) ) ), "delist-post_{$post->ID}" );259 }260 261 /**262 * Action link to relist a theme.263 *264 * @param WP_Post $post265 * @return string URL266 */267 function wporg_themes_get_relist_url( $post ) {268 return wp_nonce_url( add_query_arg( 'action', 'relist', admin_url( sprintf( get_post_type_object( $post->post_type )->_edit_link, $post->ID ) ) ), "relist-post_{$post->ID}" );269 }270 271 /**272 * Delist a theme.273 */274 function wporg_themes_delist_theme() {275 $post_id = isset( $_GET['post'] ) ? (int) $_GET['post'] : 0;276 277 if ( ! $post_id ) {278 wp_redirect( admin_url( 'edit.php' ) );279 exit();280 }281 282 check_admin_referer( 'delist-post_' . $post_id );283 284 $post = get_post( $post_id );285 286 if ( 'delist' == $post->post_status ) {287 wp_die( __( 'This item has already been delisted.', 'wporg-themes' ) );288 }289 290 if ( ! get_post_type_object( $post->post_type ) ) {291 wp_die( __( 'Unknown post type.', 'wporg-themes' ) );292 }293 294 if ( ! current_user_can( 'suspend_theme', $post_id ) || 'repopackage' != $post->post_type ) {295 wp_die( __( 'You are not allowed to delist this item.', 'wporg-themes' ) );296 }297 298 wp_update_post( array(299 'ID' => $post_id,300 'post_status' => 'delist',301 ) );302 303 wp_redirect( add_query_arg( 'delisted', 1, remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids', 'reinstated', 'delisted', 'relisted' ), wp_get_referer() ) ) );304 exit();305 }306 add_filter( 'admin_action_delist', 'wporg_themes_delist_theme' );307 308 /**309 * Reinstate a theme.310 */311 function wporg_themes_relist_theme() {312 $post_id = isset( $_GET['post'] ) ? (int) $_GET['post'] : 0;313 314 if ( ! $post_id ) {315 wp_redirect( admin_url( 'edit.php' ) );316 exit();317 }318 319 check_admin_referer( 'relist-post_' . $post_id );320 321 $post = get_post( $post_id );322 323 if ( 'delist' != $post->post_status ) {324 wp_die( __( 'This item has already been relisted.', 'wporg-themes' ) );325 }326 327 if ( ! get_post_type_object( $post->post_type ) ) {328 wp_die( __( 'Unknown post type.', 'wporg-themes' ) );329 }330 331 if ( ! current_user_can( 'reinstate_theme', $post_id ) || 'repopackage' != $post->post_type ) {332 wp_die( __( 'You are not allowed to relist this item.', 'wporg-themes' ) );333 }334 335 wp_update_post( array(336 'ID' => $post_id,337 'post_status' => 'publish',338 ) );339 340 wp_redirect( add_query_arg( 'relisted', 1, remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'ids', 'suspended', 'delisted', 'relisted' ), wp_get_referer() ) ) );341 exit();342 }343 add_filter( 'admin_action_relist', 'wporg_themes_relist_theme' );344 234 345 235 /** … … 371 261 372 262 add_settings_error( 'wporg_themes', 'reinstated', sprintf( $message, $reinstated ), 'updated' ); 373 }374 375 elseif ( ! empty( $_GET['delisted'] ) ) {376 $delisted = absint( $_GET['delisted'] );377 $message = _n( '%s theme delisted.', '%s themes delisted.', $delisted, 'wporg-themes' );378 379 add_settings_error( 'wporg_themes', 'delisted', sprintf( $message, $delisted ) );380 }381 elseif ( ! empty( $_GET['relisted'] ) ) {382 $relisted = absint( $_GET['relisted'] );383 $message = _n( '%s theme relisted.', '%s themes relisted.', $relisted, 'wporg-themes' );384 385 add_settings_error( 'wporg_themes', 'relisted', sprintf( $message, $relisted ), 'updated' );386 263 } 387 264 -
sites/trunk/wordpress.org/public_html/wp-content/plugins/theme-directory/class-themes-api.php
r10240 r10243 447 447 'name' => $this->request->slug, 448 448 'post_type' => 'repopackage', 449 'post_status' => 'publish,delist',450 449 ) ); 451 450 -
sites/trunk/wordpress.org/public_html/wp-content/plugins/theme-directory/class-wporg-themes-upload.php
r10240 r10243 488 488 * if the uploading user doesn't have have the permission to view drafts. 489 489 */ 490 'post_status' => array( 'publish', 'pending', 'draft', 'future', 'trash', 'suspend' , 'delist'),490 'post_status' => array( 'publish', 'pending', 'draft', 'future', 'trash', 'suspend' ), 491 491 'suppress_filters' => false, 492 492 ) ); -
sites/trunk/wordpress.org/public_html/wp-content/plugins/theme-directory/query-modifications.php
r10240 r10243 37 37 if ( !isset( $query->query_vars['post_status'] ) ) { 38 38 $query->query_vars['post_status'] = 'publish'; 39 }40 41 if ( !empty( $query->query_vars['name'] ) ) {42 $query->query_vars['post_status'] = 'publish,delist';43 39 } 44 40 -
sites/trunk/wordpress.org/public_html/wp-content/plugins/theme-directory/theme-directory.php
r10240 r10243 1144 1144 $noindex = true; 1145 1145 } 1146 }1147 1148 if ( !$noindex && 'delist' === $post->post_status ) {1149 $noindex = 'nosnippet';1150 1146 } 1151 1147 }
Note: See TracChangeset
for help on using the changeset viewer.