Ejemplo n.º 1
0
$view->setTemplatesDirectory('./../templates');
$view->parserOptions = array('debug' => true, 'cache' => dirname(__FILE__) . '/cache');
$view->parserExtensions = array(new \Twig_Extension_Debug(), new \Slim\Views\TwigExtension());
$app->container->singleton('v', function () {
    return new Respect\Validation\Validator();
});
/**
 * @param string $role
 * @param $entityManager
 *
 * @return Closure
 */
$authenticate = function ($role = 'USER', $entityManager) {
    return function () use($role, $entityManager) {
        $app = \Slim\Slim::getInstance();
        if (isset($_SESSION['username'])) {
            $userRepository = $entityManager->getRepository('Sarcoma\\Users\\Users');
            $user = $userRepository->findOneBy(array('username' => $_SESSION['username']));
            if (!\Sarcoma\Users\Users::auth($user->getRole(), $role)) {
                $app->flash('message', 'Login required');
                $app->redirect($app->urlFor('login'));
            }
        } else {
            $app->flash('message', 'Login required');
            $app->redirect($app->urlFor('login'));
        }
    };
};
require_once '../app/routes/routes.php';
require_once '../app/functions/cookies.php';
$app->run();
Ejemplo n.º 2
0
            $user->setActivationToken(true);
            $entityManager->persist($user);
            $entityManager->flush();
            $app->flash('message', 'User activated');
            $app->redirect($app->urlFor('message'));
        }
    }
    $app->flash('message', 'Could not activate account');
    $app->redirect($app->urlFor('message'));
})->name('activate');
$app->post('/create-user/', function () use($app, $view, $entityManager) {
    $username = trim($_POST['username']);
    $email = trim($_POST['email']);
    $password = trim($_POST['password']);
    if (functions\CSRF::check($_POST['csrf'])) {
        $user = new Users();
        $error = $user->validate($username, $email, $password);
        if (empty($error)) {
            $user->setUsername($username);
            $user->setEmail($email);
            $user->setPasswordHash($password);
            $user->setRole();
            $user->setActivationToken();
            $entityManager->persist($user);
            $entityManager->flush();
            $createUser = $user->getId() ? true : false;
            if ($createUser) {
                $link = 'http://localhost' . $app->urlFor('activate', array('token' => $user->getActivationToken(), 'hash' => $user->hashUsername($user->getUsername())));
                $message = new Email('#262729', 18);
                $message->setBodyColor('#eeeeee');
                $message->setTableColor('#e8e8e8');