summaryrefslogtreecommitdiff
path: root/web/html/packages.php
blob: 466042ac145b94e92b0fc54bcbc240d1e502fd10 (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
<?php

set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');

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

# 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 = pkg_name_from_id($_GET['ID']);
	} else if (isset($_GET['N'])) {
		$pkgid = pkg_from_name($_GET['N']);
		$pkgname = $_GET['N'];
	} else {
		unset($pkgid, $pkgname);
	}

	if (isset($pkgid) && ($pkgid == 0 || $pkgid == NULL || $pkgname == NULL)) {
		header("HTTP/1.0 404 Not Found");
		include "./404.php";
		return;
	}
}

# Set the title to the current query or package name
if (isset($pkgname)) {
	$title = $pkgname;
} else if (!empty($_GET['K'])) {
	$title = __("Search Criteria") . ": " . $_GET['K'];
} else {
	$title = __("Packages");
}

# Retrieve account type
if (isset($_COOKIE["AURSID"])) {
	$atype = account_from_sid($_COOKIE["AURSID"]);
} else {
	$atype = "";
}

$details = array();
if (isset($pkgname)) {
	$details = pkg_get_details($pkgid);
}

html_header($title, $details);
?>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
function collapseDependsList(list) {
    list = $(list);
    // Hide everything past a given limit. Don't do anything if we don't have
    // enough items, or the link already exists.
    var limit = 20,
        linkid = list.attr('id') + 'link',
        items = list.find('li').slice(limit);
    if (items.length <= 1 || $('#' + linkid).length > 0) {
        return;
    }
    items.hide();
    list.after('<p><a id="' + linkid + '" href="#">Show More…</a></p>');

    // add link and wire it up to show the hidden items
    $('#' + linkid).click(function(event) {
        event.preventDefault();
        list.find('li').show();
        // remove the full <p/> node from the DOM
        $(this).parent().remove();
    });
}

$(document).ready(function() {
    collapseDependsList("#pkgdepslist");
    collapseDependsList("#pkgreqslist");
});
</script>

<?php
if (isset($pkgid)) {
	include('pkg_search_form.php');
	if ($pkgid) {
		if (isset($_COOKIE["AURSID"])) {
			pkg_display_details($pkgid, $details, $_COOKIE["AURSID"]);
		}
		else {
			pkg_display_details($pkgid, $details, null);
		}
	} else {
		print __("Error trying to retrieve package details.")."<br />\n";
	}
} else {
	if (!isset($_GET['K']) && !isset($_GET['SB'])) {
		$_GET['SB'] = 'v';
		$_GET['SO'] = 'd';
	}
	if (isset($_COOKIE["AURSID"])) {
		pkg_search_page($_COOKIE["AURSID"]);
	} else {
		pkg_search_page();
	}
}

html_footer(AUR_VERSION);