} switch ($model) { case 'user': if (isset($_SESSION['user'])) { if ($_SESSION['user']->isloggedin()) { $u = $_SESSION['user']; $c = new userController($u); $c->action($action); } } elseif ($action == 'login') { $u = new user(); $c = new userController($u); $c->action('login'); } else { $u = new user(); $v = new userView($u); $v->login(); } break; case 'option': $u = $_SESSION['user']->username; $o = new option($u); $c = new optionController($o); $c->action($action); break; case 'none': break; default: print 'Unknown model: ' . $model . '<br/>'; break; }
} if (!$recordExists) { //create chat document with empty message field //to hold timestamp of last activity $doc = new chatDocument(); $doc->message = ""; $doc->username = $json->username; //apply tripcode algorithm $doc->tripcode = tripHash($json->password); list($msecs, $uts) = split(' ', microtime()); $currentMs = strval(floor(($uts + $msecs) * 1000)); $doc->timestamp = $currentMs; $doc->save(); } } if (isset($json->getUsers)) { //send back json list of users currently in the chat list($msecs, $uts) = split(' ', microtime()); $currentMs = floor(($uts + $msecs) * 1000) + 100; $startMs = $currentMs - 5000; //users are considered present in the chat if they have polled for new //messages in the last 5 seconds $doc = userView::users(array('startkey' => strval($startMs), 'endkey' => strval($currentMs))); echo json_encode($doc->rows); } } catch (phpillowResponseConflictErrorException $e) { //couchdb sometimes throws updateconflict exceptions //send the client back a json encoded error message echo '{"error":"' . $e->getMessage() . '"}'; } }
$app = new \Slim\Slim(); $app->config('debug', false); $app->post('/add', function () use($app) { $nombre = $app->request->post('nombre'); $longitud = $app->request->post('longitud'); $latitud = $app->request->post('latitud'); $tiempo = $app->request->post('tiempo'); $correo = $app->request->post('correo'); $userModel = new userModel($nombre, $correo, $longitud, $latitud, $tiempo); $userView = new userView($nombre, $correo); $userModel->add_user($nombre, $correo); $userModel->add_position($nombre, $correo, $longitud, $latitud, $tiempo); $userView->output($nombre, $correo); }); $app->post('/view', function () use($app) { $nombre = $app->request->post('nombre'); $correo = $app->request->post('correo'); $userView = new userView($nombre, $correo); $userView->output2($nombre, $correo); }); /*$app->get('/add/:nombre/:correo/:latitud/:longitud/:tiempo', function ($nombre,$correo,$latitud,$longitud,$tiempo){ $userModel = new userModel($nombre,$correo,$longitud,$latitud,$tiempo); $userModel->add_user($nombre,$correo); $userModel->add_position($nombre,$longitud,$latitud,$tiempo); }); $app->get('/view/:nombre/:correo', function ($nombre,$correo){ $userView = new userView($nombre,$correo); $userView->output($nombre,$correo); });*/ $app->run();
$app->post('/add', function () use($app) { $nombre = $app->request->post('nombre'); $correo = $app->request->post('correo'); $latitud = $app->request->post('latitud'); $longitud = $app->request->post('longitud'); $tiempo = $app->request->post('tiempo'); $userModel = new userModel($nombre, $correo, $longitud, $latitud, $tiempo); $userModel->add_user($nombre, $correo); $userModel->add_position($nombre, $longitud, $latitud, $tiempo); }); $app->post('/mostrar', function () use($app) { $nombre = $app->request->post('nombre'); $correo = $app->request->post('correo'); $userModel = new userModel($nombre, $correo, $longitud, $latitud, $tiempo); $userView = new userView($userModel); $userView->output(); }); $app->get('/insertar/:nombre/:correo/:latitud/:longitud/:tiempo', function ($nombre, $correo, $latitud, $longitud, $tiempo) { $userModel = new userModel($nombre, $correo, $longitud, $latitud, $tiempo); $userModel->add_user($nombre, $correo); $userModel->add_position($nombre, $longitud, $latitud, $tiempo); }); $app->get('/mostrar/:nombre/:correo', function ($nombre, $correo) { $userModel = new userModel($nombre, $correo, $longitud, $latitud, $tiempo); $userView = new userView($userModel); $userView->output(); }); $app->run(); ?>
public function action($action = 'main') { switch ($action) { case 'login': $rememberme = false; if (isset($_POST['remember_me'])) { $rememberme = true; } $user = new user($_POST['username']); $user->login($_POST['password'], $rememberme); if (isset($_SESSION['user'])) { header('Location: ./'); } else { $user = new user(); $v = new userView($user); $v->login(true); } break; case 'logout': $this->user->logout(); $this->user = new user(); $v = new userView($this->user); $v->login(); break; case 'main': $v = new userView($this->user); $v->main(); break; case 'updatepassword': if ($_POST['password1'] === $_POST['password2']) { $ret = $this->user->updatepassword($_POST['currentpassword'], $_POST['password1']); } else { $ret = false; } $v = new userView($this->user); if ($ret) { $v->main(); } else { $v->updatepassword(true); } break; case 'updatepassword_view': $v = new userView($this->user); $v->updatepassword(); break; case 'changeuser': if ($this->user->isgroupmember('admins')) { $v = new userView($this->user); $v->changeuser(); } break; case 'adduser': if ($this->user->isgroupmember('admins')) { $ret = new user($_POST['username'], $_POST['password'], $_POST['groupname']); } $v = new userView($this->user); $v->changeuser(); break; case 'adduser_view': if ($this->user->isgroupmember('admins')) { $v = new userView($this->user); $v->adduser(); } break; case 'deleteuser': if ($this->user->isgroupmember('admins')) { $ret = $this->user->deleteuser($_POST['username']); } $v = new userView($this->user); $v->changeuser(); break; case 'enableuser': if ($this->user->isgroupmember('admins')) { $user = new User($_POST['username']); if ($_POST['enabled'] === 'enabled') { $user->enable(true); } if ($_POST['enabled'] === 'disabled') { $user->enable(false); } } $v = new userView($this->user); $v->changeuser(); break; case 'changeusergroup': if ($this->user->isgroupmember('admins')) { $user = new User($_POST['username']); $user->updategroup($_POST['groupname']); } $v = new userView($this->user); $v->changeuser(); break; case 'changeuserpassword': if ($this->user->isgroupmember('admins')) { $this->user->resetuserpassword($_POST['username'], $_POST['password']); } $v = new userView($this->user); $v->changeuser(); break; case 'changeuserpassword_view': if ($this->user->isgroupmember('admins')) { $v = new userView($this->user); $v->changeuserpassword($_POST['username']); } break; default: die('Unkown action: ' . $action); break; } }
<?php require 'vendor/autoload.php'; include 'userModel.php'; include 'userView.php'; //require 'Slim/Slim.php'; Slim\Slim::registerAutoloader(); $app = new \Slim\Slim(); $app->config('debug', false); $app->post('/add', function () use($app) { $nombre = $app->request->post('nombre'); $longitud = $app->request->post('longitud'); $latitud = $app->request->post('latitud'); $tiempo = $app->request->post('tiempo'); $correo = $app->request->post('correo'); $userModel = new userModel($nombre, $correo, $longitud, $latitud, $tiempo); $userModel->add_user($nombre, $correo); $userModel->add_position($nombre, $correo, $longitud, $latitud, $tiempo); $app->redirect('../index.html'); }); $app->post('/view', function () use($app) { $nombre = $app->request->post('nombre'); $correo = $app->request->post('correo'); $userView = new userView($nombre, $correo); $userView->outputMap($nombre, $correo); }); $app->run();