mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-12 13:44:21 +01:00
aaf99e6913
WordPress' code just... wasn't. This is now dealt with. Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS. Fixes #41057. Built from https://develop.svn.wordpress.org/trunk@42343 git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
126 lines
2.7 KiB
PHP
126 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* Manage link administration actions.
|
|
*
|
|
* This page is accessed by the link management pages and handles the forms and
|
|
* Ajax processes for link actions.
|
|
*
|
|
* @package WordPress
|
|
* @subpackage Administration
|
|
*/
|
|
|
|
/** Load WordPress Administration Bootstrap */
|
|
require_once( dirname( __FILE__ ) . '/admin.php' );
|
|
|
|
wp_reset_vars( array( 'action', 'cat_id', 'link_id' ) );
|
|
|
|
if ( ! current_user_can( 'manage_links' ) ) {
|
|
wp_link_manager_disabled_message();
|
|
}
|
|
|
|
if ( ! empty( $_POST['deletebookmarks'] ) ) {
|
|
$action = 'deletebookmarks';
|
|
}
|
|
if ( ! empty( $_POST['move'] ) ) {
|
|
$action = 'move';
|
|
}
|
|
if ( ! empty( $_POST['linkcheck'] ) ) {
|
|
$linkcheck = $_POST['linkcheck'];
|
|
}
|
|
|
|
$this_file = admin_url( 'link-manager.php' );
|
|
|
|
switch ( $action ) {
|
|
case 'deletebookmarks':
|
|
check_admin_referer( 'bulk-bookmarks' );
|
|
|
|
// For each link id (in $linkcheck[]) change category to selected value.
|
|
if ( count( $linkcheck ) == 0 ) {
|
|
wp_redirect( $this_file );
|
|
exit;
|
|
}
|
|
|
|
$deleted = 0;
|
|
foreach ( $linkcheck as $link_id ) {
|
|
$link_id = (int) $link_id;
|
|
|
|
if ( wp_delete_link( $link_id ) ) {
|
|
$deleted++;
|
|
}
|
|
}
|
|
|
|
wp_redirect( "$this_file?deleted=$deleted" );
|
|
exit;
|
|
|
|
case 'move':
|
|
check_admin_referer( 'bulk-bookmarks' );
|
|
|
|
// For each link id (in $linkcheck[]) change category to selected value.
|
|
if ( count( $linkcheck ) == 0 ) {
|
|
wp_redirect( $this_file );
|
|
exit;
|
|
}
|
|
$all_links = join( ',', $linkcheck );
|
|
/*
|
|
* Should now have an array of links we can change:
|
|
* $q = $wpdb->query("update $wpdb->links SET link_category='$category' WHERE link_id IN ($all_links)");
|
|
*/
|
|
|
|
wp_redirect( $this_file );
|
|
exit;
|
|
|
|
case 'add':
|
|
check_admin_referer( 'add-bookmark' );
|
|
|
|
$redir = wp_get_referer();
|
|
if ( add_link() ) {
|
|
$redir = add_query_arg( 'added', 'true', $redir );
|
|
}
|
|
|
|
wp_redirect( $redir );
|
|
exit;
|
|
|
|
case 'save':
|
|
$link_id = (int) $_POST['link_id'];
|
|
check_admin_referer( 'update-bookmark_' . $link_id );
|
|
|
|
edit_link( $link_id );
|
|
|
|
wp_redirect( $this_file );
|
|
exit;
|
|
|
|
case 'delete':
|
|
$link_id = (int) $_GET['link_id'];
|
|
check_admin_referer( 'delete-bookmark_' . $link_id );
|
|
|
|
wp_delete_link( $link_id );
|
|
|
|
wp_redirect( $this_file );
|
|
exit;
|
|
|
|
case 'edit':
|
|
wp_enqueue_script( 'link' );
|
|
wp_enqueue_script( 'xfn' );
|
|
|
|
if ( wp_is_mobile() ) {
|
|
wp_enqueue_script( 'jquery-touch-punch' );
|
|
}
|
|
|
|
$parent_file = 'link-manager.php';
|
|
$submenu_file = 'link-manager.php';
|
|
$title = __( 'Edit Link' );
|
|
|
|
$link_id = (int) $_GET['link_id'];
|
|
|
|
if ( ! $link = get_link_to_edit( $link_id ) ) {
|
|
wp_die( __( 'Link not found.' ) );
|
|
}
|
|
|
|
include( ABSPATH . 'wp-admin/edit-link-form.php' );
|
|
include( ABSPATH . 'wp-admin/admin-footer.php' );
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|