diff options
Diffstat (limited to 'www/crm/wp-admin/link.php')
-rw-r--r-- | www/crm/wp-admin/link.php | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/www/crm/wp-admin/link.php b/www/crm/wp-admin/link.php new file mode 100644 index 00000000..ed293bc8 --- /dev/null +++ b/www/crm/wp-admin/link.php @@ -0,0 +1,125 @@ +<?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; +} |