<?php
namespace Nkey\Caribu\Mvc\Tests;
use \Nkey\Caribu\Mvc\Controller\AbstractController;
use \Nkey\Caribu\Mvc\Controller\Request;
/**
* A simple test controller
*
* @author Maik Greubel <greubel@nkey.de>
*
* This file is part of Caribu MVC package
*/
class SimpleController extends AbstractController
{
/**
* @webMethod
*
* @title Hey there page
*/
public function index()
{
echo "Hey, there!\n\n";
}
/**
* @responseType text/plain
*
* @param \Nkey\Caribu\Mvc\Controller\Request $request
*/
public function paramTest(Request $request)
{
foreach ($request->getParams() as $param => $value) {
printf("%s => %s\n", $param, $value);
}
}
public function formTest(Request $request)
{
if($request->getParam("loggedin", 'boolean')) {
printf('<a href="%ssimple/logout">logout</a>', $request->getContextPrefix());
} else {
$this->viewParams['form']['login'] = array(
"controller" => "simple",
"action" => "login",
"fields" => array(
array("name" => "username"),
array("name" => "password", "type" => "password")
),
"buttons" => array(
array("name" => "Login")
)
);
echo "{form=login}";
}
}
public function login(Request $request)
{
if($request->getParam("username") == "test" && $request->getParam("password") == "tset") {
$_SESSION['loggedin'] = true;
}
$this->response->addHeader('Location', sprintf('%ssimple/formTest', $request->getContextPrefix()));
}
public function logout(Request $request)
{
unset($_SESSION["loggedin"]);
$this->response->addHeader('Location', sprintf('%ssimple/formTest', $request->getContextPrefix()));
}
}
|