diff options
Diffstat (limited to 'web/html')
-rw-r--r-- | web/html/index.php | 34 | ||||
-rw-r--r-- | web/html/packages.php | 75 | ||||
-rw-r--r-- | web/html/pkgbase.php | 82 | ||||
-rw-r--r-- | web/html/pkgdel.php | 10 | ||||
-rw-r--r-- | web/html/pkgmerge.php | 10 |
5 files changed, 108 insertions, 103 deletions
diff --git a/web/html/index.php b/web/html/index.php index e79955ec..fe74857c 100644 --- a/web/html/index.php +++ b/web/html/index.php @@ -20,6 +20,22 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) { include "./404.php"; return; } + } + + include get_route('/' . $tokens[1]); +} elseif (!empty($tokens[1]) && '/' . $tokens[1] == get_pkgbase_route()) { + if (!empty($tokens[2])) { + /* TODO: Create a proper data structure to pass variables from + * the routing framework to the individual pages instead of + * initializing arbitrary variables here. */ + $pkgbase_name = $tokens[2]; + $base_id = pkgbase_from_name($pkgbase_name); + + if (!$base_id) { + header("HTTP/1.0 404 Not Found"); + include "./404.php"; + return; + } if (!empty($tokens[3])) { /* TODO: Remove support for legacy URIs and move these @@ -65,23 +81,7 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) { return; } - $_POST['IDs'] = array(pkgid_from_name($tokens[2]) => '1'); - } - } - - include get_route('/' . $tokens[1]); -} elseif (!empty($tokens[1]) && '/' . $tokens[1] == get_pkgbase_route()) { - if (!empty($tokens[2])) { - /* TODO: Create a proper data structure to pass variables from - * the routing framework to the individual pages instead of - * initializing arbitrary variables here. */ - $pkgbase_name = $tokens[2]; - $base_id = pkgbase_from_name($pkgbase_name); - - if (!$base_id) { - header("HTTP/1.0 404 Not Found"); - include "./404.php"; - return; + $_POST['IDs'] = array(pkgbase_from_name($tokens[2]) => '1'); } } diff --git a/web/html/packages.php b/web/html/packages.php index d9c3a860..876e2c07 100644 --- a/web/html/packages.php +++ b/web/html/packages.php @@ -42,77 +42,6 @@ if (isset($_COOKIE["AURSID"])) { $atype = ""; } -# Grab the list of Package IDs to be operated on -$ids = array(); -if (isset($_POST['IDs'])) { - foreach ($_POST['IDs'] as $id => $i) { - $id = intval($id); - if ($id > 0) { - $ids[] = $id; - } - } -} - -# Determine what action to do -$ret = false; -$output = ""; -if (check_token()) { - if (current_action("do_Flag")) { - list($ret, $output) = pkg_flag($atype, $ids); - } elseif (current_action("do_UnFlag")) { - list($ret, $output) = pkg_unflag($atype, $ids); - } elseif (current_action("do_Adopt")) { - list($ret, $output) = pkg_adopt($atype, $ids, true); - } elseif (current_action("do_Disown")) { - list($ret, $output) = pkg_adopt($atype, $ids, false); - } elseif (current_action("do_Vote")) { - list($ret, $output) = pkg_vote($atype, $ids, true); - } elseif (current_action("do_UnVote")) { - list($ret, $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'])) { - list($ret, $output) = pkg_delete($atype, pkgbase_from_pkgid($ids), NULL); - unset($_GET['ID']); - } - else { - $merge_base_id = pkgbase_from_name($_POST['merge_Into']); - if ($merge_base_id) { - list($ret, $output) = pkg_delete($atype, pkgbase_from_pkgid($ids), $merge_base_id); - unset($_GET['ID']); - } - else { - $output = __("Cannot find package to merge votes and comments into."); - } - } - } - else { - $output = __("The selected packages have not been deleted, check the confirmation checkbox."); - } - } elseif (current_action("do_Notify")) { - list($ret, $output) = pkg_notify($atype, $ids); - } elseif (current_action("do_UnNotify")) { - list($ret, $output) = pkg_notify($atype, $ids, false); - } elseif (current_action("do_DeleteComment")) { - list($ret, $output) = pkg_delete_comment($atype); - } elseif (current_action("do_ChangeCategory")) { - list($ret, $output) = pkg_change_category($pkgid, $atype); - } - - if (isset($_REQUEST['comment'])) { - $uid = uid_from_sid($_COOKIE["AURSID"]); - add_package_comment($pkgid, $uid, $_REQUEST['comment']); - $ret = true; - } - - if ($ret) { - /* Redirect back to package page on success. */ - header('Location: ' . get_pkg_uri($pkgname)); - exit(); - } -} - -# Get package details after package actions have been attempted, FS#34508 $details = array(); if (isset($pkgname)) { $details = get_package_details($pkgid); @@ -121,10 +50,6 @@ if (isset($pkgname)) { html_header($title, $details); ?> -<?php if ($output): ?> - <p class="pkgoutput"><?= $output ?></p> -<?php endif; ?> - <?php if (isset($pkgid)) { include('pkg_search_form.php'); diff --git a/web/html/pkgbase.php b/web/html/pkgbase.php index e0c9af69..42705edd 100644 --- a/web/html/pkgbase.php +++ b/web/html/pkgbase.php @@ -22,7 +22,7 @@ if (!isset($base_id) || !isset($pkgbase_name)) { unset($base_id, $pkgbase_name); } - if ($base_id == 0 || $base_id == NULL || $pkgbase_name == NULL) { + if (isset($base_id) && ($base_id == 0 || $base_id == NULL || $pkgbase_name == NULL)) { header("HTTP/1.0 404 Not Found"); include "./404.php"; return; @@ -39,10 +39,90 @@ if (isset($_COOKIE["AURSID"])) { $atype = ""; } +/* Grab the list of package base IDs to be operated on. */ +$ids = array(); +if (isset($_POST['IDs'])) { + foreach ($_POST['IDs'] as $id => $i) { + $id = intval($id); + if ($id > 0) { + $ids[] = $id; + } + } +} + +/* Perform package base actions. */ +$ret = false; +$output = ""; +if (check_token()) { + if (current_action("do_Flag")) { + list($ret, $output) = pkg_flag($atype, $ids); + } elseif (current_action("do_UnFlag")) { + list($ret, $output) = pkg_unflag($atype, $ids); + } elseif (current_action("do_Adopt")) { + list($ret, $output) = pkg_adopt($atype, $ids, true); + } elseif (current_action("do_Disown")) { + list($ret, $output) = pkg_adopt($atype, $ids, false); + } elseif (current_action("do_Vote")) { + list($ret, $output) = pkg_vote($atype, $ids, true); + } elseif (current_action("do_UnVote")) { + list($ret, $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'])) { + list($ret, $output) = pkg_delete($atype, $ids, NULL); + unset($_GET['ID']); + } + else { + $merge_base_id = pkgbase_from_name($_POST['merge_Into']); + if ($merge_base_id) { + list($ret, $output) = pkg_delete($atype, $ids, $merge_base_id); + unset($_GET['ID']); + } + else { + $output = __("Cannot find package to merge votes and comments into."); + } + } + } + else { + $output = __("The selected packages have not been deleted, check the confirmation checkbox."); + } + } elseif (current_action("do_Notify")) { + list($ret, $output) = pkg_notify($atype, $ids); + } elseif (current_action("do_UnNotify")) { + list($ret, $output) = pkg_notify($atype, $ids, false); + } elseif (current_action("do_DeleteComment")) { + list($ret, $output) = pkg_delete_comment($atype); + } elseif (current_action("do_ChangeCategory")) { + list($ret, $output) = pkg_change_category($base_id, $atype); + } + + if (isset($_REQUEST['comment'])) { + $uid = uid_from_sid($_COOKIE["AURSID"]); + add_package_comment($base_id, $uid, $_REQUEST['comment']); + $ret = true; + } + + if ($ret) { + if (isset($base_id)) { + /* Redirect back to package base page on success. */ + header('Location: ' . get_pkgbase_uri($pkgbase_name)); + exit(); + } else { + /* Redirect back to package search page. */ + header('Location: ' . get_pkg_route()); + exit(); + } + } +} + $details = get_pkgbase_details($base_id); html_header($title, $details); ?> +<?php if ($output): ?> +<p class="pkgoutput"><?= $output ?></p> +<?php endif; ?> + <?php include('pkg_search_form.php'); if (isset($_COOKIE["AURSID"])) { diff --git a/web/html/pkgdel.php b/web/html/pkgdel.php index 7f244eb4..d1026ce4 100644 --- a/web/html/pkgdel.php +++ b/web/html/pkgdel.php @@ -18,17 +18,17 @@ if (isset($_COOKIE["AURSID"])) { if ($atype == "Trusted User" || $atype == "Developer"): ?> <div class="box"> - <h2><?= __('Delete Package: %s', htmlspecialchars($pkgname)) ?></h2> + <h2><?= __('Delete Package: %s', htmlspecialchars($pkgbase_name)) ?></h2> <p> <?= __('Use this form to delete the package (%s%s%s) from the AUR. ', - '<strong>', htmlspecialchars($pkgname), '</strong>'); ?> + '<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?> <?= __('Deletion of a package is permanent. '); ?> <?= __('Select the checkbox to confirm action.') ?> </p> - <form action="<?= get_uri('/packages/'); ?>" method="post"> + <form action="<?= get_uri('/pkgbase/'); ?>" method="post"> <fieldset> - <input type="hidden" name="IDs[<?= $pkgid ?>]" value="1" /> - <input type="hidden" name="ID" value="<?= $pkgid ?>" /> + <input type="hidden" name="IDs[<?= $base_id ?>]" value="1" /> + <input type="hidden" name="ID" value="<?= $base_id ?>" /> <input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" /> <p><input type="checkbox" name="confirm_Delete" value="1" /> <?= __("Confirm package deletion") ?></p> diff --git a/web/html/pkgmerge.php b/web/html/pkgmerge.php index 834d0c91..9ffd5e74 100644 --- a/web/html/pkgmerge.php +++ b/web/html/pkgmerge.php @@ -18,18 +18,18 @@ if (isset($_COOKIE["AURSID"])) { if ($atype == "Trusted User" || $atype == "Developer"): ?> <div class="box"> - <h2><?= __('Merge Package: %s', htmlspecialchars($pkgname)) ?></h2> + <h2><?= __('Merge Package: %s', htmlspecialchars($pkgbase_name)) ?></h2> <p> <?= __('Use this form to merge the package (%s%s%s) into another package. ', - '<strong>', htmlspecialchars($pkgname), '</strong>'); ?> + '<strong>', htmlspecialchars($pkgbase_name), '</strong>'); ?> <?= __('Once the package has been merged it cannot be reversed. '); ?> <?= __('Enter the package name you wish to merge the package into. '); ?> <?= __('Select the checkbox to confirm action.') ?> </p> - <form action="<?= get_uri('/packages/'); ?>" method="post"> + <form action="<?= get_uri('/pkgbase/'); ?>" method="post"> <fieldset> - <input type="hidden" name="IDs[<?= $pkgid ?>]" value="1" /> - <input type="hidden" name="ID" value="<?= $pkgid ?>" /> + <input type="hidden" name="IDs[<?= $base_id ?>]" value="1" /> + <input type="hidden" name="ID" value="<?= $base_id ?>" /> <input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" /> <p><label for="merge_Into" ><?= __("Merge into:") ?></label> <input type="text" id="merge_Into" name="merge_Into" /></p> |