* @copyright 2009 Gnu Public Licence (GPL) * @subpackage webinterface */ require_once 'folksoDBconnect.php'; require_once 'folksoDBinteract.php'; require_once 'folksoFabula.php'; require_once 'folksoAdmin.php'; require_once 'folksoUser.php'; require_once 'folksoSession.php'; require_once 'folksoClient.php'; $loc = new folksoFabula(); //$dbc = $loc->locDBC(); $test_dbc = new folksoDBconnect('localhost', 'tester_dude', 'testy', 'testostonomie'); $fks = new folksoSession($test_dbc); if ($_COOKIE['folksosess']) { $fks->setSid($_COOKIE['folksosess']); } else { // warning, dev only!!!!! $fks->startSession('gustav-2009-001'); } $u = $fks->userSession(); if (!$u instanceof folksoUser) { print "Error not a logged user"; // header('Location: ' . $loc->loginPage()); exit; } $cl = new folksoClient('localhost', $loc->server_web_path . 'user.php', 'GET'); print $cl->method; $cl->set_getfields(array('folksouid' => $u->userid, 'folksogetmytags' => 1)); $cl->set_datastyle('json'); print_r($cl->build_req());
/** * Based on the request received, checks each response object is * checked to see if it is equiped to handle the request. */ public function Respond() { if (!$this->valid_method()) { // some kind of error header('HTTP/1.0 405'); print "NOT OK. Illegal request method for this resource."; return; } if (!$this->validClientAddress($_SERVER['REMOTE_HOST'], $_SERVER['REMOTE_ADDR'])) { header('HTTP/1.0 403'); print "Sorry, this not available to you"; return; } $q = new folksoQuery($_SERVER, $_GET, $_POST); $realm = 'folkso'; $loc = new folksoFabula(); $dbc = $loc->locDBC(); $fks = new folksoSession($dbc); /** * $sid: session ID */ $sid = $_COOKIE['folksosess'] ? $_COOKIE['folksosess'] : $q->get_param('session'); try { $fks->setSid($sid); } catch (badSidException $e) { if ($q->is_write_method()) { header('HTTP/1.1 403 Login required'); // redirect instead header('Location: ' . $loc->loginPage()); exit; } } /* check each response object and run the response if activatep returns true*/ $repflag = false; if (count($this->responseObjects) === 0) { trigger_error("No responseObjects available", E_USER_ERROR); } /** Walking the response objects **/ foreach ($this->responseObjects as $resp) { if ($resp->activatep($q)) { $repflag = true; $resp->Respond($q, $dbc, $fks); break; } } /** check for no valid response **/ if (!$repflag) { header('HTTP/1.1 400'); print "Client did not make a valid query. (folksoServer)"; // default response or error page... } }