checkPath('settings'); }catch(\Exception $e){ $systemcheck['error'][] = $e->getMessage(); } try{ $checkFolder->checkPath('settings/users'); }catch(\Exception $e){ $systemcheck['error'][] = $e->getMessage(); } try{ $checkFolder->checkPath('content'); }catch(\Exception $e){ $systemcheck['error'][] = $e->getMessage(); } try{ $checkFolder->checkPath('cache'); }catch(\Exception $e){ $systemcheck['error'][] = $e->getMessage(); } try{ $checkFolder->checkPath('media'); }catch(\Exception $e){ $systemcheck['error'][] = $e->getMessage(); } $systemcheck = empty($systemcheck) ? false : $systemcheck; return $this->render($response, 'auth/setup.twig', array( 'messages' => $systemcheck )); } public function create($request, $response, $args) { if($request->isPost()) { $params = $request->getParams(); $validate = new Validation(); $user = new User(); /* set user as admin */ $params['userrole'] = 'administrator'; /* get userroles for validation */ $userroles = $user->getUserroles(); /* validate user */ if($validate->newUser($params, $userroles)) { $userdata = array('username' => $params['username'], 'email' => $params['email'], 'userrole' => $params['userrole'], 'password' => $params['password']); /* create initial user */ $username = $user->createUser($userdata); if($username) { /* login user */ $user->login($username); # create initial settings file \Typemill\Settings::createSettings(); return $response->withRedirect($this->c->router->pathFor('setup.welcome')); } } $this->c->flash->addMessage('error', 'Please check your input and try again'); return $response->withRedirect($this->c->router->pathFor('setup.show')); } } public function welcome($request, $response, $args) { /* store updated settings */ \Typemill\Settings::updateSettings(array('welcome' => false)); return $this->render($response, 'auth/welcome.twig', array()); } }