aboutsummaryrefslogtreecommitdiffstats
path: root/src/manager/controller/auth_controller.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/manager/controller/auth_controller.c')
-rw-r--r--src/manager/controller/auth_controller.c41
1 files changed, 17 insertions, 24 deletions
diff --git a/src/manager/controller/auth_controller.c b/src/manager/controller/auth_controller.c
index 68332da46..fd4a3c7a5 100644
--- a/src/manager/controller/auth_controller.c
+++ b/src/manager/controller/auth_controller.c
@@ -23,8 +23,6 @@
#include "auth_controller.h"
#include "../manager.h"
-#include <template.h>
-
#include <library.h>
@@ -46,39 +44,34 @@ struct private_auth_controller_t {
manager_t *manager;
};
-static void login(private_auth_controller_t *this,
- request_t *request, response_t *response)
+static void login(private_auth_controller_t *this, request_t *request)
{
- template_t *t = template_create("templates/auth/login.cs");
- t->set(t, "action", "check");
- t->set(t, "title", "Login");
- t->render(t, response);
- t->destroy(t);
+ request->set(request, "action", "check");
+ request->set(request, "title", "Login");
+ request->render(request, "templates/auth/login.cs");
}
-static void check(private_auth_controller_t *this,
- request_t *request, response_t *response)
+static void check(private_auth_controller_t *this, request_t *request)
{
char *username, *password;
- username = request->get_post_data(request, "username");
- password = request->get_post_data(request, "password");
+ username = request->get_query_data(request, "username");
+ password = request->get_query_data(request, "password");
if (username && password &&
this->manager->login(this->manager, username, password))
{
- response->redirect(response, "status/ikesalist");
+ request->redirect(request, "status/ikesalist");
}
else
{
- response->redirect(response, "auth/login");
+ request->redirect(request, "auth/login");
}
}
-static void logout(private_auth_controller_t *this,
- request_t *request, response_t *response)
+static void logout(private_auth_controller_t *this, request_t *request)
{
this->manager->logout(this->manager);
- response->redirect(response, "auth/login");
+ request->redirect(request, "auth/login");
}
/**
@@ -93,24 +86,24 @@ static char* get_name(private_auth_controller_t *this)
* Implementation of controller_t.handle
*/
static void handle(private_auth_controller_t *this,
- request_t *request, response_t *response, char *action)
+ request_t *request, char *action)
{
if (action)
{
if (streq(action, "login"))
{
- return login(this, request, response);
+ return login(this, request);
}
else if (streq(action, "check"))
{
- return check(this, request, response);
+ return check(this, request);
}
else if (streq(action, "logout"))
{
- return logout(this, request, response);
+ return logout(this, request);
}
}
- response->redirect(response, "auth/login");
+ request->redirect(request, "auth/login");
}
/**
@@ -129,7 +122,7 @@ controller_t *auth_controller_create(context_t *context, void *param)
private_auth_controller_t *this = malloc_thing(private_auth_controller_t);
this->public.controller.get_name = (char*(*)(controller_t*))get_name;
- this->public.controller.handle = (void(*)(controller_t*,request_t*,response_t*,char*,char*,char*,char*,char*))handle;
+ this->public.controller.handle = (void(*)(controller_t*,request_t*,char*,char*,char*,char*,char*))handle;
this->public.controller.destroy = (void(*)(controller_t*))destroy;
this->manager = (manager_t*)context;