summaryrefslogtreecommitdiffstats
path: root/wp-admin/link.php
blob: 6e3056d798f1bdbabd53340a6661db8da5602f1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
require_once ('admin.php');

$wpvarstoreset = array ('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]');

for ($i = 0; $i < count($wpvarstoreset); $i += 1) {
	$wpvar = $wpvarstoreset[$i];
	if (!isset ($$wpvar)) {
		if (empty ($_POST["$wpvar"])) {
			if (empty ($_GET["$wpvar"])) {
				$$wpvar = '';
			} else {
				$$wpvar = $_GET["$wpvar"];
			}
		} else {
			$$wpvar = $_POST["$wpvar"];
		}
	}
}

if ('' != $_POST['deletebookmarks'])
	$action = 'deletebookmarks';
if ('' != $_POST['move'])
	$action = 'move';
if ('' != $_POST['linkcheck'])
	$linkcheck = $_POST[linkcheck];

$this_file = 'link-manager.php';

switch ($action) {
		case 'deletebookmarks' :
		check_admin_referer('bulk-bookmarks');

		// check the current user's level first.
		if (!current_user_can('manage_links'))
			die(__("Cheatin' uh ?"));

		//for each link id (in $linkcheck[]) change category to selected value
		if (count($linkcheck) == 0) {
			header('Location: '.$this_file);
			exit;
		}

		$deleted = 0;
		foreach ($linkcheck as $link_id) {
			$link_id = (int) $link_id;
			
			if ( wp_delete_link($link_id) )
				$deleted++;
		}

		header("Location: $this_file?deleted=$deleted");
		break;

	case 'move' :
		check_admin_referer('bulk-bookmarks');

		// check the current user's level first.
		if (!current_user_can('manage_links'))
			die(__("Cheatin' uh ?"));

		//for each link id (in $linkcheck[]) change category to selected value
		if (count($linkcheck) == 0) {
			header('Location: '.$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)");

		header('Location: '.$this_file);
		break;

	case 'add' :
		check_admin_referer('add-bookmark');

		add_link();

		header('Location: '.$_SERVER['HTTP_REFERER'].'?added=true');
		break;

	case 'save' :
		$link_id = (int) $_POST['link_id'];
		check_admin_referer('update-bookmark_' . $link_id);

		edit_link($link_id);

		wp_redirect($this_file);
		exit;
		break;

	case 'delete' :
		$link_id = (int) $_GET['link_id'];
		check_admin_referer('delete-bookmark_' . $link_id);

		if (!current_user_can('manage_links'))
			die(__("Cheatin' uh ?"));

		wp_delete_link($link_id);

		wp_redirect($this_file);
		break;

	case 'edit' :
		wp_enqueue_script( array('xfn', 'dbx-admin-key?pagenow=link.php') );
		if ( current_user_can( 'manage_categories' ) )
			wp_enqueue_script( 'ajaxcat' );
		$parent_file = 'link-manager.php';
		$submenu_file = 'link-manager.php';
		$title = __('Edit Bookmark');
		include_once ('admin-header.php');
		if (!current_user_can('manage_links'))
			die(__('You do not have sufficient permissions to edit the bookmarks for this blog.'));

		$link_id = (int) $_GET['link_id'];

		if (!$link = get_link_to_edit($link_id))
			die(__('Link not found.'));

		include ('edit-link-form.php');
		break;

	default :
		break;
}

include ('admin-footer.php');
?>