packages.php 3.35 KB
Newer Older
1
<?php
pjmattal's avatar
pjmattal committed
2

3
set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');
pjmattal's avatar
pjmattal committed
4

5
6
7
8
include_once("aur.inc.php");      # access AUR common functions
set_lang();                       # this sets up the visitor's language
include_once('pkgfuncs.inc.php'); # package specific functions
check_sid();                      # see if they're still logged in
9

10
11
12
13
14
15
16
17
18
19
20
21
22
# Retrieve package ID and name, unless initialized by the routing framework
if (!isset($pkgid) || !isset($pkgname)) {
	if (isset($_GET['ID'])) {
		$pkgid = intval($_GET['ID']);
		$pkgname = pkgname_from_id($_GET['ID']);
	} else if (isset($_GET['N'])) {
		$pkgid = pkgid_from_name($_GET['N']);
		$pkgname = $_GET['N'];
	} else {
		unset($pkgid, $pkgname);
	}
}

23
# Set the title to the current query if required
24
if (isset($pkgname)) {
25
	$title = $pkgname;
26
27
} else if (!empty($_GET['K'])) {
	$title = __("Search Criteria") . ": " . $_GET['K'];
28
29
30
31
} else {
	$title = __("Packages");
}

32
# Retrieve account type
eric's avatar
eric committed
33
34
35
36
37
38
if (isset($_COOKIE["AURSID"])) {
	$atype = account_from_sid($_COOKIE["AURSID"]);
} else {
	$atype = "";
}

39
# Grab the list of Package IDs to be operated on
40
41
42
$ids = array();
if (isset($_POST['IDs'])) {
	foreach ($_POST['IDs'] as $id => $i) {
43
44
45
46
		$id = intval($id);
		if ($id > 0) {
			$ids[] = $id;
		}
47
48
	}
}
49

50
# Determine what action to do
51
$output = "";
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
if (check_token()) {
	if (current_action("do_Flag")) {
		$output = pkg_flag($atype, $ids, true);
	} elseif (current_action("do_UnFlag")) {
		$output = pkg_flag($atype, $ids, False);
	} elseif (current_action("do_Adopt")) {
		$output = pkg_adopt($atype, $ids, true);
	} elseif (current_action("do_Disown")) {
		$output = pkg_adopt($atype, $ids, False);
	} elseif (current_action("do_Vote")) {
		$output = pkg_vote($atype, $ids, true);
	} elseif (current_action("do_UnVote")) {
		$output = pkg_vote($atype, $ids, False);
	} elseif (current_action("do_Delete")) {
		if (isset($_POST['confirm_Delete'])) {
			if (!isset($_POST['merge_Into']) || empty($_POST['merge_Into'])) {
				$output = pkg_delete($atype, $ids, NULL);
69
70
71
				unset($_GET['ID']);
			}
			else {
72
73
74
75
76
77
78
79
				$mergepkgid = pkgid_from_name($_POST['merge_Into']);
				if ($mergepkgid) {
					$output = pkg_delete($atype, $ids, $mergepkgid);
					unset($_GET['ID']);
				}
				else {
					$output = __("Cannot find package to merge votes and comments into.");
				}
80
81
			}
		}
82
83
84
85
86
87
88
89
90
91
		else {
			$output = __("The selected packages have not been deleted, check the confirmation checkbox.");
		}
	} elseif (current_action("do_Notify")) {
		$output = pkg_notify($atype, $ids);
	} elseif (current_action("do_UnNotify")) {
		$output = pkg_notify($atype, $ids, False);
	} elseif (current_action("do_DeleteComment")) {
		$output = pkg_delete_comment($atype);
	} elseif (current_action("do_ChangeCategory")) {
Lukas Fleischer's avatar
Lukas Fleischer committed
92
		$output = pkg_change_category($pkgid, $atype);
93
	}
94
95
96
97
}

html_header($title);
?>
eric's avatar
eric committed
98

Loui Chang's avatar
Loui Chang committed
99
<?php if ($output): ?>
Lukas Fleischer's avatar
Lukas Fleischer committed
100
	<p class="pkgoutput"><?= $output ?></p>
Loui Chang's avatar
Loui Chang committed
101
102
103
<?php endif; ?>

<?php
104
if (isset($pkgid)) {
105
	include('pkg_search_form.php');
106
	if ($pkgid) {
107
108
109
110
111
112
		if (isset($_COOKIE["AURSID"])) {
			package_details($pkgid, $_COOKIE["AURSID"]);
		}
		else {
			package_details($pkgid, null);
		}
113
114
	} else {
		print __("Error trying to retrieve package details.")."<br />\n";
115
	}
116
} else {
117
	if (!isset($_GET['K']) && !isset($_GET['SB'])) {
118
119
120
		$_GET['SB'] = 'v';
		$_GET['SO'] = 'd';
	}
Dan McGee's avatar
Dan McGee committed
121
122
123
124
125
	if (isset($_COOKIE["AURSID"])) {
		pkg_search_page($_COOKIE["AURSID"]);
	} else {
		pkg_search_page();
	}
eric's avatar
eric committed
126
}
eric's avatar
eric committed
127

tardo's avatar
tardo committed
128
html_footer(AUR_VERSION);
129