[aur-dev] [PATCH 1/7] Add virtual path support for package actions
Lukas Fleischer
archlinux at cryptocrack.de
Tue Jul 17 16:47:09 EDT 2012
This allows for using following URLs:
* /package/$pkg_name/flag: Flag a package out-of-date
* /package/$pkg_name/unflag: Unflag a package
* /package/$pkg_name/notify: Enable comment notifications
* /package/$pkg_name/unnotify: Disable comment notifications
* /package/$pkg_name/vote: Vote for the package
* /package/$pkg_name/unvote: Remove vote
Note that this code is very hackish and should be refactored once we
drop support for legacy URLs.
Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
---
web/html/index.php | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/web/html/index.php b/web/html/index.php
index de38178..0af3f2d 100644
--- a/web/html/index.php
+++ b/web/html/index.php
@@ -3,14 +3,44 @@ set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');
include_once("config.inc.php");
include_once("routing.inc.php");
+include_once("aur.inc.php");
+include_once("pkgfuncs.inc.php");
$path = rtrim($_SERVER['PATH_INFO'], '/');
$tokens = explode('/', $path);
-if (isset($tokens[1]) &&'/' . $tokens[1] == get_pkg_route()) {
+if (isset($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
if (isset($tokens[2])) {
unset($_GET['ID']);
$_GET['N'] = $tokens[2];
+
+ if (isset($tokens[3])) {
+ /* TODO: Remove support for legacy URIs and move these
+ * actions to separate modules. */
+ switch ($tokens[3]) {
+ case "vote":
+ $_POST['do_Vote'] = __('Vote');
+ break;
+ case "unvote":
+ $_POST['do_UnVote'] = __('UnVote');
+ break;
+ case "notify":
+ $_POST['do_Notify'] = __('Notify');
+ break;
+ case "unnotify":
+ $_POST['do_UnNotify'] = __('UnNotify');
+ break;
+ case "flag":
+ $_POST['do_Flag'] = __('Flag');
+ break;
+ case "unflag":
+ $_POST['do_UnFlag'] = __('UnFlag');
+ break;
+ }
+
+ $_POST['token'] = $_COOKIE['AURSID'];
+ $_POST['IDs'] = array(pkgid_from_name($tokens[2]) => '1');
+ }
}
include get_route('/' . $tokens[1]);
--
1.7.11.2
More information about the aur-dev
mailing list