pkg_details.php 6.67 KB
Newer Older
1
<?php
2
3
$atype = account_from_sid($SID);
$uid = uid_from_sid($SID);
4

5
$pkgid = intval($_REQUEST['ID']);
6

7
$catarr = pkgCategories();
8

9
10
$submitter = username_from_id($row["SubmitterUID"]);
$maintainer = username_from_id($row["MaintainerUID"]);
11

12
$votes = $row['NumVotes'];
13

14
15
16
17
18
# In case of wanting to put a custom message
$msg = __('unknown');
$license = empty($row['License']) ? $msg : $row['License'];

# Print the timestamps for last updates
19
20
21
$updated_time = ($row["ModifiedTS"] == 0) ? $msg : gmdate("Y-m-d H:i", intval($row["ModifiedTS"]));
$submitted_time = ($row["SubmittedTS"] == 0) ? $msg : gmdate("Y-m-d H:i", intval($row["SubmittedTS"]));
$out_of_date_time = ($row["OutOfDateTS"] == 0) ? $msg : gmdate("Y-m-d", intval($row["OutOfDateTS"]));
22

23
$urlpath = URL_DIR . substr($row['Name'], 0, 2) . "/" . $row['Name'];
Lukas Fleischer's avatar
Lukas Fleischer committed
24

25
26
$deps = package_dependencies($row["ID"]);
$requiredby = package_required($row["Name"]);
27

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# $sources[0] = 'src';
$sources = package_sources($row["ID"]);
?>
<div id="pkgdetails" class="box">
	<h2><?php echo __('Package Details') . ': ' . htmlspecialchars($row['Name']) . ' ' . htmlspecialchars($row['Version']) ?></h2>
	<div id="detailslinks" class="listing">
		<div id="actionlist">
			<h4>Package Actions</h4>
			<ul class="small">
				<li><a href="<?php echo $urlpath ?>/PKGBUILD"><?php echo __('View PKGBUILD') ?></a></li>
				<li><a href="<?php echo $urlpath . '/' . $row['Name'] ?>.tar.gz"><?php echo __('Download tarball') ?></a></li>
				<li><span class="flagged"><?php if ($row["OutOfDateTS"] !== NULL) { echo __('Flagged out-of-date')." (${out_of_date_time})"; } ?></span></li>
			</ul>
		</div>
	</div>
43

44
45
46
47
48
49
50
51
52
53
54
	<table id="pkginfo">
		<tr>
			<th><?php echo __('Description') . ': ' ?></th>
			<td class="wrap"><?php echo htmlspecialchars($row['Description']); ?></td>
		</tr>
		<tr>
			<th>Upstream URL:</th>
			<td><a href="<?php echo htmlspecialchars($row['URL'], ENT_QUOTES) ?>" title="<?php echo __('Visit the website for') . ' ' . htmlspecialchars( $row['Name'])?>"><?php echo htmlspecialchars($row['URL'], ENT_QUOTES) ?></a></td>
		</tr>
		<tr>
			<th><?php echo __('Category') . ': ' ?></th>
55
<?php
56
57
if ($SID && ($uid == $row["MaintainerUID"] ||
	($atype == "Developer" || $atype == "Trusted User"))):
58
?>
59
			<td>
60
				<form method="post" action="<?php echo htmlspecialchars(get_pkg_uri($row['Name']), ENT_QUOTES); ?>">
61
62
					<div>
						<input type="hidden" name="action" value="do_ChangeCategory" />
Lukas Fleischer's avatar
Lukas Fleischer committed
63
64
65
						<?php if ($SID): ?>
						<input type="hidden" name="token" value="<?php echo htmlspecialchars($_COOKIE['AURSID']) ?>" />
						<?php endif; ?>
66
						<select name="category_id">
67
<?php
68
	foreach ($catarr as $cid => $catname):
69
?>
70
71
72
73
74
75
76
77
							<option value="<?php echo $cid ?>"<?php if ($cid == $row["CategoryID"]) { ?> selected="selected" <?php } ?>><?php echo $catname ?></option>
	<?php endforeach; ?>
						</select>
						<input type="submit" value="<?php echo __('Change category') ?>"/>
					</div>
				</form>
<?php else: ?>
			<td>
78
				<a href="<?php echo get_uri('/packages/'); ?>?C=<?php echo $row['CategoryID'] ?>"><?php print $row['Category'] ?></a>
79
80
81
82
83
84
85
86
<?php endif; ?>
			</td>
		<tr>
			<th><?php echo __('License') . ': ' ?></th>
			<td><?php echo htmlspecialchars($license) ?></td>
		</tr>
		<tr>
			<th><?php echo __('Submitter') .': ' ?></th>
87
<?php
88
89
if ($row["SubmitterUID"]):
	if ($SID):
90
?>
91
			<td><a href="<?php echo get_uri('/account/'); ?>?Action=AccountInfo&amp;ID=<?php echo htmlspecialchars($row['SubmitterUID'], ENT_QUOTES) ?>" title="<?php echo __('View account information for')?> <?php echo htmlspecialchars($submitter) ?>"><?php echo htmlspecialchars($submitter) ?></a></td>
92
93
94
95
96
97
98
99
<?php else: ?>
		<td><?php echo htmlspecialchars($submitter) ?></td>
	<?php endif; ?>
<?php else: ?>
			<td>None</td>
<?php endif; ?>
		<tr>
			<th><?php echo __('Maintainer') .': ' ?></th>
100
<?php
101
102
103
if ($row["MaintainerUID"]):
	if ($SID):
?>
104
			<td><a href="<?php echo get_uri('/account/'); ?>?Action=AccountInfo&amp;ID=<?php echo htmlspecialchars($row['MaintainerUID'], ENT_QUOTES) ?>" title="<?php echo __('View account information for')?> <?php echo htmlspecialchars($maintainer) ?>"><?php echo htmlspecialchars($maintainer) ?></a></td>
105
106
107
108
109
110
111
112
113
114
115
116
	<?php else: ?>
		<td><?php echo htmlspecialchars($maintainer) ?></td>
	<?php endif; ?>
<?php else: ?>
			<td>None</td>
<?php endif; ?>
		</tr>
		<tr>
			<th><?php echo __('Votes') . ': ' ?></th>
<?php
if ($atype == "Developer" || $atype == "Trusted User"):
?>
117
			<td><a href="<?php echo get_uri('/voters/'); ?>?ID=<?php echo$pkgid ?>"><?php echo $votes ?></a>
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?php else: ?>
			<td><?php echo $votes ?></td>
<?php endif; ?>
		</tr>
		<tr>
			<th><?php echo __('First Submitted') . ': ' ?></th>
			<td><?php echo $submitted_time ?></td>
		</tr>
		<tr>
			<th><?php echo __('Last Updated') . ': ' ?></th>
			<td><?php echo $updated_time ?></td>
		</tr>
	</table>

	<div id="metadata">
		<div id="pkgdeps" class="listing">
			<h3><?php echo __('Dependencies') . " (" . count($deps) . ")"?></h3>
<?php if (count($deps) > 0): ?>
			<ul>
<?php
	while (list($k, $darr) = each($deps)):
		# darr: (DepName, DepCondition, PackageID), where ID is NULL if it didn't exist
		if (!is_null($darr[2])):
?>
142
				<li><a href="<?php echo htmlspecialchars(get_pkg_uri($darr[0]), ENT_QUOTES); ?>" title="<?php echo __('View packages details for').' '.$darr[0].$darr[1]?>"><?php echo $darr[0].$darr[1]?></a></li>
143
		<?php else: ?>
144
				<li><a href="http://www.archlinux.org/packages/?q=<?php echo urlencode($darr[0])?>" title="<?php echo __('View packages details for').' '.$darr[0].$darr[1] ?>"><?php echo $darr[0].$darr[1] ?></a></li>
145
146
147
148
149
150
151
152
153
154
155
156
		<?php endif; ?>
	<?php endwhile; ?>
			</ul>
		</div>
<?php endif; ?>
		<div id="pkgreqs" class="listing">
			<h3><?php echo __('Required by') . " (" . count($requiredby) . ")"?></h3>
<?php if (count($requiredby) > 0): ?>
			<ul>
<?php
	# darr: (PackageName, PackageID)
	while (list($k, $darr) = each($requiredby)):
157
?>
158
				<li><a href="<?php echo htmlspecialchars(get_pkg_uri($darr[0]), ENT_QUOTES); ?>" title="<?php echo __('View packages details for').' '.$darr[0]?>"><?php echo $darr[0] ?></a></li>
159
160
161
162
163
164
165
166
	<?php endwhile; ?>
			</ul>
<?php endif; ?>
		</div>
		<div id="pkgfiles" class="listing">
			<h3><?php echo __('Sources') ?></h3>
		</div>
<?php if (count($sources) > 0): ?>
167
		<div>
168
169
170
171
172
			<ul>
<?php
	while (list($k, $src) = each($sources)):
		$src = explode('::', $src);
		$parsed_url = parse_url($src[0]);
173

174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
		# It is an external source
		if (isset($parsed_url['scheme']) || isset($src[1])):
?>
				<li><a href="<?php echo htmlspecialchars((isset($src[1]) ? $src[1] : $src[0]), ENT_QUOTES) ?>"><?php echo htmlspecialchars($src[0]) ?> </a></li>
<?php
		else:
			# It is presumably an internal source
			$src = $src[0];
?>
				<li><?php echo htmlspecialchars($src) ?></li>
		<?php endif; ?>
	<?php endwhile; ?>
			</ul>
		</div>
<?php endif; ?>
189
190
	</div>
</div>