summaryrefslogtreecommitdiffstats
path: root/wp-admin/link.php
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:56:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:56:49 +0000
commita415c29efee45520ae252d2aa28f1083a521cd7b (patch)
treef4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-admin/link.php
parentInitial commit. (diff)
downloadwordpress-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.php127
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;
+}