diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
commit | a415c29efee45520ae252d2aa28f1083a521cd7b (patch) | |
tree | f4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-admin/link.php | |
parent | Initial commit. (diff) | |
download | wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.tar.xz wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.zip |
Adding upstream version 6.4.3+dfsg1.upstream/6.4.3+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-admin/link.php')
-rw-r--r-- | wp-admin/link.php | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/wp-admin/link.php b/wp-admin/link.php new file mode 100644 index 0000000..f07cc58 --- /dev/null +++ b/wp-admin/link.php @@ -0,0 +1,127 @@ +<?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 __DIR__ . '/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 = implode( ',', $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'; + // Used in the HTML title tag. + $title = __( 'Edit Link' ); + + $link_id = (int) $_GET['link_id']; + + $link = get_link_to_edit( $link_id ); + if ( ! $link ) { + wp_die( __( 'Link not found.' ) ); + } + + require ABSPATH . 'wp-admin/edit-link-form.php'; + require_once ABSPATH . 'wp-admin/admin-footer.php'; + break; + + default: + break; +} |