diff --git a/app/config/local.sample.yml b/app/config/local.sample.yml index ce11b05..b3094eb 100644 --- a/app/config/local.sample.yml +++ b/app/config/local.sample.yml @@ -30,7 +30,7 @@ session: statsKey: _httpcb_sess_idx prefix: _httpcb_sess_ -#sendgrid: +#sendgrid #key: value # OAuth diff --git a/app/config/routes.yml b/app/config/routes.yml index 2e905c6..71b1d67 100644 --- a/app/config/routes.yml +++ b/app/config/routes.yml @@ -4,61 +4,58 @@ router: routes: home-route: pattern: '/' - path: Index::index + path: + controller: index + action: index about-route: pattern: '/about' - path: Index::about - - # Callbacks - - cb-list: - pattern: '/callback/list' - path: Callback::list - cb-new: - pattern: '/callback/new' - path: Callback::new + path: + controller: index + action: about cb-created: pattern: '/callback/created/{id}' - path: Callback::created - cb-show: - pattern: '/callback/show/{id}' - path: Callback::show + path: + controller: callback + action: created cb-endpoint: pattern: '/cb/{id}/:params' - path: Api::endpoint - - # login - + path: + controller: api + action: endpoint login: pattern: '/login' - path: Auth::index + path: + controller: auth + action: index logout: pattern: '/logout' - path: Auth::logout + path: + controller: auth + action: logout oauth: pattern: '/login/{strategy:([a-z]+)}/:params' - path: Auth::oauth + path: + controller: auth + action: oauth oauth-disconnect: pattern: '/oauth/{provider:([a-z]+)}/disconnect' path: 'User::oauthdisconnect' oauth-disconnect-confirm: pattern: '/oauth/{provider:([a-z]+)}/disconnect/{confirm}' path: 'User::oauthdisconnect' - - # User - user-register: pattern: '/register' path: Auth::register user-settings: pattern: '/settings' - path: User::settings - user-activity-log: - pattern: '/user/activity' - path: User::activity + path: + controller: user + action: settings activation-link: pattern: '/activate/{link}' - path: Api::activationlink + path: + controller: api + action: activationlink # Backend backend-home: @@ -73,15 +70,12 @@ router: backend-user-edit: pattern: '/admin/user/{id:([0-9]+)}' path: backend::user::edit - backend-user-impersonate: - pattern: '/admin/impersonate/{id:([0-9]+)}' - path: backend::user::impersonate - backend-user-activation-email: - pattern: '/admin/user/{id:([0-9]+)}/activation' - path: backend::user::activation-email backend-user-status: - pattern: '/admin/user/{id:([0-9]+)}/status/{type}' - path: backend::user::status + pattern: '/admin/user/{id:([0-9]+)}/{type}' + path: + module: backend + controller: user + action: status backend-log: pattern: '/admin/log{page:/?([0-9]+)?}' path: backend::log::index diff --git a/app/controllers/ApiController.php b/app/controllers/ApiController.php index 1d2f3f4..50a79a8 100644 --- a/app/controllers/ApiController.php +++ b/app/controllers/ApiController.php @@ -6,7 +6,6 @@ use App\Controller\ControllerBase, App\Model\Data\Callback as CallbackModel, App\Model\Data\Request as RequestModel, App\Model\Data\RequestMeta as RequestMetaModel, - App\Model\Data\User, App\Model\Data\UserActivation; class ApiController extends ControllerBase @@ -59,7 +58,7 @@ class ApiController extends ControllerBase */ public function activationLinkAction($id) { - $link = UserActivation::findFirst(['activation_key = ?0', 'bind' => [$id]]); + $link = UserActivation::findFirst(['activation_key = ?0', 'bind' => [ $id ]]); if ($link) { if ($link->isValid()) { diff --git a/app/controllers/AuthController.php b/app/controllers/AuthController.php index 95adae8..0fb0e47 100644 --- a/app/controllers/AuthController.php +++ b/app/controllers/AuthController.php @@ -33,8 +33,8 @@ class AuthController extends ControllerBase } else { $msg = ''; @@ -47,7 +47,7 @@ class AuthController extends ControllerBase public function oauthAction($provider_name) { - $client = $this->getDI()->get('oauth', [$provider_name]); + $client = $this->getDI()->get('oauth', [ $provider_name ]); $code = $this->request->get('code'); $state = $this->request->get('state'); @@ -92,7 +92,7 @@ class AuthController extends ControllerBase // User is logged in. $this->response->redirect('/'); } - } catch (\Exception $e) { + } catch(\Exception $e) { throw $e; $this->flash->message('error', 'Failed to authenticate.'); if ($this->auth->getUser()) { @@ -118,11 +118,8 @@ class AuthController extends ControllerBase } $user = new User(); - $user->assign( - $data->toArray(), - null, - ['email', 'username', 'firstname', 'lastname'] - ); + $user->assign($data->toArray(), null, + [ 'email', 'username', 'firstname', 'lastname' ]); $form = new RegistrationForm($user); diff --git a/app/controllers/CallbackController.php b/app/controllers/CallbackController.php index 07d4994..83376ee 100644 --- a/app/controllers/CallbackController.php +++ b/app/controllers/CallbackController.php @@ -55,23 +55,24 @@ class CallbackController extends ControllerBase return $this->response->redirect(array( 'for' => 'cb-created', - 'id' => $callback->getPublicId() - )); + 'id' => $callback->getPublicId())); } else { - foreach ($callback->getMessages() as $msg) { + foreach($callback->getMessages() as $msg) { $this->flash->error($msg); } } } else { $msg = ''; $this->flash->message('error', $msg); } + + } $this->view->form = $form; @@ -84,6 +85,7 @@ class CallbackController extends ControllerBase { $row = CallbackModel::get($id); if (!$row) { + } $this->view->id = $id; } diff --git a/app/controllers/ControllerBase.php b/app/controllers/ControllerBase.php index d568744..522c8fa 100644 --- a/app/controllers/ControllerBase.php +++ b/app/controllers/ControllerBase.php @@ -18,7 +18,6 @@ class ControllerBase extends Controller protected function _forward404() { $this->dispatcher->forward(array( - 'namespace' => 'App\\Controller', 'controller' => 'error', 'action' => 'show404' )); diff --git a/app/controllers/IndexController.php b/app/controllers/IndexController.php index f0ac84f..c44cbb1 100644 --- a/app/controllers/IndexController.php +++ b/app/controllers/IndexController.php @@ -15,3 +15,4 @@ class IndexController extends ControllerBase { } } + diff --git a/app/controllers/UserController.php b/app/controllers/UserController.php index 158259f..414f406 100644 --- a/app/controllers/UserController.php +++ b/app/controllers/UserController.php @@ -44,11 +44,8 @@ class UserController extends ControllerBase ]); // Send the email. - $this->di->getMail()->send( - 'Httpcb password activation', - $user->getEmail(), - $content - ); + $this->di->getMail()->send('Httpcb password activation', + $user->getEmail(), $content); $msg = "For security reasons. Before a password can be created " . "a email has been sent to {$user->getEmail()} with " @@ -140,7 +137,7 @@ class UserController extends ControllerBase $msg = '

You are about to unlink the last OAuth provider.' . ' Your only login option will be password if you do this.

' - . '

Are you sure? Yes

'; + . '

Are you sure? Yes

'; $this->flash->message('warning', $msg); $this->response->redirect('/settings'); diff --git a/app/controllers/backend/UserController.php b/app/controllers/backend/UserController.php index bad595e..c1f8206 100644 --- a/app/controllers/backend/UserController.php +++ b/app/controllers/backend/UserController.php @@ -17,7 +17,7 @@ class UserController extends \Phalcon\Mvc\Controller */ public function indexAction($page = 1) { - $paginator = User::getPaginationList($page, 15); + $paginator = User::getPaginationList($page,15); $this->view->pagination_url = '/admin/user/list/'; $this->view->page = $paginator->paginate(); @@ -97,33 +97,4 @@ class UserController extends \Phalcon\Mvc\Controller $this->flash->success('The account was: ' . $status); $this->response->redirect('/admin'); } - - public function activationEmailAction($id) - { - $user = User::findFirstById($id); - if ($user) { - if ($user->isSuspended()) { - $this->eventsManager->fire('auth:onSentActivation', $user); - $this->flash->success('Activation email sent to: ' . $user->email); - } else { - $this->flash->error('Only suspended users can be sent activation emails.'); - } - } else { - $this->flash->error('Invalid user: ' . $id); - } - $this->response->redirect('/admin'); - } - - public function impersonateAction($id) - { - $user = User::findFirstById($id); - - try { - $this->auth->impersonate($user); - $this->response->redirect('/'); - } catch (\Exception $ex) { - $this->flash->error($ex->getMessage()); - $this->response->redirect('/admin'); - } - } } diff --git a/app/forms/CallbackCreate.php b/app/forms/CallbackCreate.php index dbf2e83..11115bb 100644 --- a/app/forms/CallbackCreate.php +++ b/app/forms/CallbackCreate.php @@ -7,14 +7,12 @@ use Phalcon\Forms\Form; /** * Element types */ - use Phalcon\Forms\Element\Text; use Phalcon\Forms\Element\Submit; /** * Validators */ - use Phalcon\Validation\Validator\StringLength; class CallbackCreate extends Form diff --git a/app/forms/Login.php b/app/forms/Login.php index fa639b3..f3c1ce0 100644 --- a/app/forms/Login.php +++ b/app/forms/Login.php @@ -7,7 +7,6 @@ use Phalcon\Forms\Form; /** * Element types */ - use Phalcon\Forms\Element\Text; use Phalcon\Forms\Element\Password; use Phalcon\Forms\Element\Submit; @@ -15,7 +14,6 @@ use Phalcon\Forms\Element\Submit; /** * Validators */ - use Phalcon\Validation\Validator\PresenceOf; use Phalcon\Validation\Validator\Email as EmailValidator; use Phalcon\Validation\Validator\StringLength; diff --git a/app/forms/Registration.php b/app/forms/Registration.php index 092b2c7..9e8d292 100644 --- a/app/forms/Registration.php +++ b/app/forms/Registration.php @@ -5,19 +5,16 @@ namespace App\Form; /** * Models */ - use App\Model\Data\User; /** * Phalcon Form */ - use Httpcb\Form as FormBase; /** * Element types */ - use Phalcon\Forms\Element\Text, Phalcon\Forms\Element\Password, Phalcon\Forms\Element\Submit; @@ -25,7 +22,6 @@ use Phalcon\Forms\Element\Text, /** * Validators */ - use Phalcon\Validation, Phalcon\Validation\Validator\Callback as CallbackValidator, Phalcon\Validation\Validator\Alnum as AlnumValidator, @@ -58,9 +54,7 @@ class Registration extends FormBase 'messageMinimum' => 'Username must be at least :min characters long.', ]), new CallbackValidator([ - 'callback' => function ($data) { - return User::findFirstByUsername($data['username']) === false; - }, + 'callback' => function($data) { return User::findFirstByUsername($data['username']) === false; }, 'message' => 'The username already exists.', 'attribute' => 'username', ]) @@ -69,7 +63,7 @@ class Registration extends FormBase $this->add($username); // Names - foreach (['first-name' => 'Firstname', 'last-name' => 'Lastname'] as $id => $label) { + foreach([ 'first-name' => 'Firstname', 'last-name' => 'Lastname' ] as $id => $label) { $name = new Text($id, array( 'class' => 'form-control', @@ -93,9 +87,7 @@ class Registration extends FormBase $email->addValidators([ new CallbackValidator([ - 'callback' => function ($data) { - return User::findFirstByEmail($data['email']) === false; - }, + 'callback' => function($data) { return User::findFirstByEmail($data['email']) === false; }, 'message' => 'This email already exist.', ]) ]); diff --git a/app/forms/UserSettings.php b/app/forms/UserSettings.php index d86459e..4eae39f 100644 --- a/app/forms/UserSettings.php +++ b/app/forms/UserSettings.php @@ -5,19 +5,16 @@ namespace App\Form; /** * Models */ - use App\Model\Data\User as UserModel; /** * Form */ - use Httpcb\Form as FormBase; /** * Element types */ - use Phalcon\Forms\Element\Text, Phalcon\Forms\Element\Password, Phalcon\Forms\Element\Submit; @@ -25,7 +22,6 @@ use Phalcon\Forms\Element\Text, /** * Validators */ - use Phalcon\Validation\Validator\Callback as CallbackValidator, Phalcon\Validation\Validator\Uniqueness as UniquenessValidator, Phalcon\Validation\Validator\Alnum as AlnumValidator, @@ -60,15 +56,15 @@ class UserSettings extends FormBase // Id if ($entity && $entity->getId()) { - $id = new Text('id', array( - 'class' => 'form-control', - 'readonly' => '', - 'disabled' => 'disabled', - )); + $id = new Text('id', array( + 'class' => 'form-control', + 'readonly' => '', + 'disabled' => 'disabled', + )); $id->addValidator(new IdenticalValidator([ 'accepted' => $entity->getId(), - 'allowEmpty' => true + 'allowEmpty' => true ])); $id->setLabel('ID'); @@ -90,7 +86,7 @@ class UserSettings extends FormBase ); if ($entity && strlen($entity->getUsername())) { - $validator_options['except'] = [$entity->getUsername()]; + $validator_options['except'] = [ $entity->getUsername() ]; } $username->addValidators([ @@ -120,12 +116,12 @@ class UserSettings extends FormBase 'class' => 'form-control', 'placeholder' => 'Email', 'readonly' => '', - 'disabled' => 'disabled', + 'disabled' => 'disabled', )); $email->addValidator(new IdenticalValidator([ 'accepted' => $entity->getEmail(), - 'allowEmpty' => true + 'allowEmpty' => true ])); } else { $email = new Text('email', array( @@ -140,7 +136,7 @@ class UserSettings extends FormBase ]; if ($entity && strlen($entity->getEmail())) { - $validator_options['except'] = [$entity->getEmail()]; + $validator_options['except'] = [ $entity->getEmail() ]; } $email->addValidators([ @@ -195,7 +191,7 @@ class UserSettings extends FormBase if ($this->_admin === false && $entity && strlen($entity->getPassword()) > 0) { $validation->add('passwordCurrent', new CallbackValidator([ - 'callback' => function ($data) { + 'callback' => function($data) { $new_pw = $data['passwordNew']; if (strlen($new_pw) > 0) { $value = $data['passwordCurrent']; diff --git a/app/library/Acl.php b/app/library/Acl.php index 8c4562b..cfaada1 100644 --- a/app/library/Acl.php +++ b/app/library/Acl.php @@ -3,7 +3,7 @@ namespace Httpcb; use Phalcon\Config, - Phalcon\Acl\Enum, + Phalcon\Acl\Enum, Phalcon\Acl\Role, Phalcon\Acl\Adapter\Memory as Adapter; @@ -40,7 +40,7 @@ class Acl $pos = strpos($resource, '/'); if ($pos !== false) { // Construct the wildcard resource. - $wildcard = substr($resource, 0, $pos + 1) . '*'; + $wildcard = substr($resource, 0, $pos+1) . '*'; // If we have this wildcard resource, check against that instead. if ($this->hasResource($wildcard)) { @@ -62,7 +62,7 @@ class Acl public function fromConfig(Config $config) { // Add roles. - foreach ($config->roles as $name => $def) { + foreach($config->roles as $name => $def) { $inherits = null; $description = null; @@ -70,6 +70,7 @@ class Acl if ($def instanceof Config) { $inherits = $def->get('inherits'); $description = $def->get('description'); + } $role = new Role($name, $description); @@ -77,33 +78,33 @@ class Acl } // Zones - foreach ($config->zones as $name => $resources) { + foreach($config->zones as $name => $resources) { if (!($resources instanceof Config)) { - $resources = new Config([$resources]); + $resources = new Config([ $resources ]); } - foreach ($resources as $resource) { + foreach($resources as $resource) { $this->_adapter->addComponent($resource, 'All'); } } // Grant access for roles and resources. - foreach ($config->roles as $name => $def) { + foreach($config->roles as $name => $def) { $zones = $def->get('allowed-zones', []); if (is_string($zones)) { - $zones = [$zones]; + $zones = [ $zones ]; } - foreach ($zones as $zone) { + foreach($zones as $zone) { $resources = $config->zones->get($zone); - if (!($resources instanceof Config)) { - $resources = new Config([$resources]); - } - foreach ($resources as $resource) { - $this->_adapter->allow($name, $resource, 'All'); + if (!($resources instanceof Config)) { + $resources = new Config([ $resources ]); + } + foreach($resources as $resource) { + $this->_adapter->allow($name, $resource, 'All'); } } } diff --git a/app/library/Auth.php b/app/library/Auth.php index 80ea7bd..7c837d0 100644 --- a/app/library/Auth.php +++ b/app/library/Auth.php @@ -10,7 +10,6 @@ use App\Model\Data\User, class Auth extends Injectable { const SESSION_KEY = 'auth'; - const IMPERSONATOR_ID = 'auth.impersonator'; /** * Login using email/user + password combination. @@ -64,11 +63,8 @@ class Auth extends Injectable $this->setIdentity($user->getId()); - $this->eventsManager->fire( - 'auth:onLogin', - $this, - "OAuth {$data->getProvider()}" - ); + $this->eventsManager->fire('auth:onLogin', $this, + "OAuth {$data->getProvider()}"); return new Result(Result::SUCCESS); @@ -87,40 +83,6 @@ class Auth extends Injectable $this->eventsManager->fire('auth:onLogin', $this, 'System'); } - public function getImpersonator() - { - $id = $this->session->get(self::IMPERSONATOR_ID); - return $id !== null ? User::findFirst($id) : null; - } - - /** - * Impersonate a user - * - * @param User $user - */ - public function impersonate(User $user) - { - $current = $this->getIdentity(); - if ($current === null) { - throw new \InvalidArgumentException("Need to be authenticated to be able to impersonate someone"); - } - - if ($current->getId() === $user->getId()) { - // Same user - throw new \DomainException("Can't impersonate yourself"); - } - - $this->session->set(self::IMPERSONATOR_ID, $current->getId()); - $this->setIdentity($user->getId()); - $this->eventsManager->fire('auth:onImpersonate', $this, $current); - } - - public function impersonateClear($imp_id) - { - $this->session->remove(self::IMPERSONATOR_ID); - $this->session->set(self::SESSION_KEY, $imp_id); - } - /** * @param $identity * @return Auth @@ -170,12 +132,7 @@ class Auth extends Injectable */ public function clearIdentity() { - $imp_id = $this->session->get(self::IMPERSONATOR_ID); - if ($imp_id !== null) { - $this->impersonateClear($imp_id); - } else { - $this->session->remove(self::SESSION_KEY); - } + $this->session->remove(self::SESSION_KEY); return $this; } } diff --git a/app/library/Debug.php b/app/library/Debug.php index f41e09a..336e7ba 100644 --- a/app/library/Debug.php +++ b/app/library/Debug.php @@ -2,13 +2,12 @@ namespace Httpcb; -class Debug -{ +class Debug { public static function dump($var, $label = null, $echo = true) { // format the label - $label = ($label === null) ? '' : rtrim($label) . ' '; + $label = ($label===null) ? '' : rtrim($label) . ' '; // var_dump the variable into a buffer and keep the output ob_start(); var_dump($var); diff --git a/app/library/Form.php b/app/library/Form.php index 80755e3..978c904 100644 --- a/app/library/Form.php +++ b/app/library/Form.php @@ -11,7 +11,7 @@ class Form extends FormBase { $options = [ 'label-class' => 'col-form-label text-end', - 'class' => ['col-sm-10'], + 'class' => [ 'col-sm-10' ], 'message' => '' ]; @@ -31,7 +31,7 @@ class Form extends FormBase if ($len === 'full') { $options['class'] = []; } else { - $options['class'] = ['col-sm-' . $len]; + $options['class'] = [ 'col-sm-' . $len ]; } unset($opt['length']); @@ -42,10 +42,10 @@ class Form extends FormBase protected function _render(AbstractElement $ele, $opt) { - $classes = ['class' => 'form-control']; - if ($ele->hasMessages()) { - $classes['class'] .= ' is-invalid'; - } + $classes = ['class' => 'form-control']; + if ($ele->hasMessages()) { + $classes['class'] .= ' is-invalid'; + } $xhtml = ''; @@ -53,17 +53,14 @@ class Form extends FormBase $xhtml .= sprintf( '', - $opt['label-class'], - $ele->getName(), - $ele->getLabel() - ); + $opt['label-class'], $ele->getName(), $ele->getLabel()); } $xhtml .= '
' . $ele->render($classes); if ($ele->hasMessages()) { - $msg = $ele->getMessages()->current(); + $msg = $ele->getMessages()->current(); $xhtml .= '' . $msg . ''; } diff --git a/app/library/Menu.php b/app/library/Menu.php index f16b462..01512fe 100644 --- a/app/library/Menu.php +++ b/app/library/Menu.php @@ -90,7 +90,7 @@ class Menu extends Tag { $xhtml = ''; - foreach ($nodes as $node) { + foreach($nodes as $node) { $xhtml .= $this->_renderNode($node, $depth, $max_depth); } @@ -126,22 +126,15 @@ class Menu extends Tag return $xhtml; } - $xhtml = self::tagHtml( - 'li', - $node->isActive() + $xhtml = self::tagHtml('li', $node->isActive() ? array('class' => $this->_activeClass) : null, - false, - false, - true - ); + false, false, true); // Generate the link. $xhtml .= self::linkTo($node->getHref(), $node->getCaption()); - if ( - $node->isActive() && $node->hasChildren() - && ($max_depth === null || $depth < $max_depth) - ) { + if ($node->isActive() && $node->hasChildren() + && ($max_depth === null || $depth < $max_depth)) { $xhtml .= $this->_renderMenu($node->getChildren(), $depth + 1, $max_depth); } diff --git a/app/library/Mvc/Model/Behavior/RandomId.php b/app/library/Mvc/Model/Behavior/RandomId.php index e5d7173..185c188 100644 --- a/app/library/Mvc/Model/Behavior/RandomId.php +++ b/app/library/Mvc/Model/Behavior/RandomId.php @@ -44,10 +44,10 @@ class RandomId extends Behavior implements BehaviorInterface */ public function notify($type, \Phalcon\Mvc\ModelInterface $model) { - switch ($type) { - case 'beforeValidationOnCreate': - $this->generateId($model); - break; + switch($type) { + case 'beforeValidationOnCreate' : + $this->generateId($model); + break; } } @@ -69,7 +69,7 @@ class RandomId extends Behavior implements BehaviorInterface if ($model->$field === null) { $random = new \Phalcon\Security\Random(); - for ($i = 0; $i < 3; $i++) { + for($i = 0; $i < 3; $i++) { $id = substr($random->base64Safe(), 0, $len); $count = $model->count(array( diff --git a/app/library/Navigation.php b/app/library/Navigation.php index 498c7c1..6050c71 100644 --- a/app/library/Navigation.php +++ b/app/library/Navigation.php @@ -11,7 +11,7 @@ class Navigation extends Navigation\Container */ public function __construct($config) { - foreach ($config as $node) { + foreach($config as $node) { $this->addChild($node); } } diff --git a/app/library/Navigation/Container.php b/app/library/Navigation/Container.php index 3495608..f7a6da7 100644 --- a/app/library/Navigation/Container.php +++ b/app/library/Navigation/Container.php @@ -38,7 +38,7 @@ class Container $node = new Node(); - foreach ($child as $k => $v) { + foreach($child as $k => $v) { if ($k == 'children') { continue; @@ -49,7 +49,7 @@ class Container if (isset($child['children'])) { - foreach ($child['children'] as $c_data) { + foreach($child['children'] as $c_data) { $node->addChild($c_data); } } @@ -75,9 +75,10 @@ class Container */ public function addChildren($children) { - foreach ($children as $child) { + foreach($children as $child) { $this->addChild($child); } return $this; } } + diff --git a/app/library/Navigation/Node.php b/app/library/Navigation/Node.php index 6fdbf7f..fb1f6b6 100644 --- a/app/library/Navigation/Node.php +++ b/app/library/Navigation/Node.php @@ -225,7 +225,7 @@ class Node extends Container } // first. Check children. - foreach ($this->getChildren() as $child) { + foreach($this->getChildren() as $child) { if ($child->isActive() == true) { $this->setActive(true); diff --git a/app/library/OAuth/Adapter/League.php b/app/library/OAuth/Adapter/League.php index ccf4ae4..e9b8829 100644 --- a/app/library/OAuth/Adapter/League.php +++ b/app/library/OAuth/Adapter/League.php @@ -61,7 +61,7 @@ class League implements AdapterInterface try { $reflection = new \ReflectionClass($this->_provider); return $reflection->getShortName(); - } catch (\ReflectionException $ex) { + } catch(\ReflectionException $ex) { return ''; } } diff --git a/app/library/Services.php b/app/library/Services.php index 1a3a625..470623e 100644 --- a/app/library/Services.php +++ b/app/library/Services.php @@ -12,12 +12,10 @@ use Phalcon\Di\FactoryDefault as DiDefault, Phalcon\Flash\Direct as FlashDirect, Phalcon\Mvc\Model\Metadata\Memory as MemoryMetaData, Phalcon\Mvc\Model\MetaData\Apc as ApcMetaData, - Phalcon\Mvc\ViewBaseInterface, + Phalcon\Mvc\ViewBaseInterface, Phalcon\Cache\Frontend\Data as FrontendDataCache, Phalcon\Cache\Backend\Apc as BackendApcCache, Phalcon\Translate\Adapter\NativeArray as TranslateAdapter, - Phalcon\Storage\AdapterFactory as StorageAdapterFactory, - Phalcon\Cache\AdapterFactory as CacheAdapterFactory, Phalcon\Logger, Phalcon\Mvc\Router; @@ -32,8 +30,7 @@ use Httpcb\Auth, use App\Listener\AccessListener, App\Listener\DispatchListener, - App\Listener\ActivityLog, - App\Listener\AuthEmailListener; + App\Listener\ActivityLog; class Services extends DiDefault { @@ -44,12 +41,13 @@ class Services extends DiDefault $reflection = new \ReflectionObject($this); $methods = $reflection->getMethods(\ReflectionMethod::IS_PROTECTED); - foreach ($methods as $method) { + foreach($methods as $method) { - if (substr($method->getName(), 0, 11) == '_initShared') { + if (substr($method->getName(),0, 11) == '_initShared') { $service = lcfirst(substr($method->getName(), 11)); $this->setShared($service, $method->getClosure($this)); - } else if (substr($method->getName(), 0, 5) == '_init') { + } + else if (substr($method->getName(),0, 5) == '_init') { $service = lcfirst(substr($method->getName(), 5)); $this->set($service, $method->getClosure($this)); } @@ -83,7 +81,7 @@ class Services extends DiDefault try { $tmp = new Config($basePath . $file); $config->merge($tmp); - } catch (\Phalcon\Config\Exception $e) { + } catch(\Phalcon\Config\Exception $e) { // Sometime went wrong. Log here? } } @@ -117,7 +115,7 @@ class Services extends DiDefault $eventsManager = new \Phalcon\Events\Manager(); - $eventsManager->attach("dispatch", function ($event, $dispatcher) { + $eventsManager->attach("dispatch", function($event, $dispatcher) { $actionName = lcfirst(\Phalcon\Text::camelize($dispatcher->getActionName(), '-_')); $dispatcher->setActionName($actionName); }); @@ -179,11 +177,8 @@ class Services extends DiDefault $options = $mdConfig['options']; $adapter = $mdConfig['adapter']; - $serializerFactory = new \Phalcon\Storage\SerializerFactory(); - $factory = new CacheAdapterFactory($serializerFactory); - $class = 'Phalcon\Mvc\Model\MetaData\\' . $adapter; - return new $class($factory, $options); + return new $class($options); } // Otherwise, default to Memory. @@ -193,25 +188,22 @@ class Services extends DiDefault protected function _initSession() { $config = $this->get('config'); - $session = new \Phalcon\Session\Manager(); + $session = new \Phalcon\Session\Manager(); if (isset($config->session)) { $data = $config->session->toArray(); $adapter_name = isset($data['adapter']) ? $data['adapter'] : 'Stream'; $options = $data['options']; - $serializerFactory = new \Phalcon\Storage\SerializerFactory(); - $factory = new StorageAdapterFactory($serializerFactory); - $class = 'Phalcon\Session\Adapter\\' . $adapter_name; - $adapter = new $class($factory, $options); + $adapter = new $class($options); } // Default to Stream else { $adapter = new \Phalcon\Session\Adapter\Stream(); } - $session->setAdapter($adapter); + $session->setAdapter($adapter); // Start session. $session->start(); @@ -227,7 +219,7 @@ class Services extends DiDefault $view = new View(); - $view->setViewsDir([$config->application->viewsDir]); + $view->setViewsDir([ $config->application->viewsDir ]); $view->setLayoutsDir('_layouts/'); $view->setPartialsDir('_partials/'); @@ -318,10 +310,10 @@ class Services extends DiDefault $config = $this->get('config')->router; // Create the router - $router = new Router(false); + $router = new Router(); $router->removeExtraSlashes($config->get('removeExtraSlashes', false)); - foreach ($config->routes as $name => $def) { + foreach($config->routes as $name => $def) { if (!($def instanceof \Phalcon\Config)) { continue; @@ -335,9 +327,6 @@ class Services extends DiDefault $router->add($def->get('pattern'), $path) ->setName($name); } - - $router->notFound(['controller' => 'error', 'action' => 'show404']); - return $router; } @@ -348,7 +337,6 @@ class Services extends DiDefault $eventsManager = new \Phalcon\Events\Manager(); $eventsManager->attach('user', $activityLog); $eventsManager->attach('auth', $activityLog); - $eventsManager->attach('auth', new AuthEmailListener); return $eventsManager; } @@ -365,10 +353,10 @@ class Services extends DiDefault protected function _initSharedLogger() { - $path = $this->get('config')->application->logDir; - return new \Phalcon\Logger('default', [ - 'main' => new \Phalcon\Logger\Adapter\Stream($path . 'app.txt') - ]); + $path = $this->get('config')->application->logDir; + return new \Phalcon\Logger('default', [ + 'main' => new \Phalcon\Logger\Adapter\Stream($path . 'app.txt') + ]); } protected function _initTemplate() @@ -378,7 +366,7 @@ class Services extends DiDefault $view = new SimpleView(); $view->setViewsDir($config->application->templateDir); $view->registerEngines([ - '.volt' => function (ViewBaseInterface $view) use ($config) { + '.volt' => function (ViewBaseInterface $view) use ($config) { $volt = new VoltEngine($view, $this); $volt->setOptions(array( diff --git a/app/library/Validation/Validator/Alpha.php b/app/library/Validation/Validator/Alpha.php index 095c75a..540766f 100644 --- a/app/library/Validation/Validator/Alpha.php +++ b/app/library/Validation/Validator/Alpha.php @@ -21,7 +21,7 @@ class Alpha extends AbstractValidator * @param string $field * @return bool */ - public function validate(\Phalcon\Validation $validation, $field): bool + public function validate(\Phalcon\Validation $validation, $field) : bool { $allowSpace = $this->getOption('allowSpace', false); @@ -44,7 +44,7 @@ class Alpha extends AbstractValidator $message = $validation->getDefaultMessage('Alpha'); } - $replace = [":field" => $label]; + $replace = [ ":field" => $label ]; $code = $this->getOption("code"); if (is_array($code)) { diff --git a/app/library/ViewHelper/AbstractHelper.php b/app/library/ViewHelper/AbstractHelper.php index a7c9617..ff5fe01 100644 --- a/app/library/ViewHelper/AbstractHelper.php +++ b/app/library/ViewHelper/AbstractHelper.php @@ -14,7 +14,7 @@ abstract class AbstractHelper implements InjectionAwareInterface * * @param DiInterface $container */ - public function setDI(DiInterface $container): void + public function setDI(DiInterface $container) : void { $this->_di = $container; } @@ -24,7 +24,7 @@ abstract class AbstractHelper implements InjectionAwareInterface * * @return DiInterface */ - public function getDI(): DiInterface + public function getDI() : DiInterface { return $this->_di; } diff --git a/app/library/ViewHelper/Icon.php b/app/library/ViewHelper/Icon.php index 18b87b8..8657d40 100644 --- a/app/library/ViewHelper/Icon.php +++ b/app/library/ViewHelper/Icon.php @@ -27,7 +27,7 @@ class Icon extends AbstractHelper if (is_array($args)) { - foreach ($args as $arg) { + foreach($args as $arg) { $classes[] .= 'fa-' . $arg; } } diff --git a/app/library/ViewHelper/ServerUrl.php b/app/library/ViewHelper/ServerUrl.php index 90acef2..51ad62e 100644 --- a/app/library/ViewHelper/ServerUrl.php +++ b/app/library/ViewHelper/ServerUrl.php @@ -33,8 +33,7 @@ class ServerUrl extends AbstractHelper // remove port if it's the default port. if (($scheme == 'http' && $port == 80) - || ($scheme == 'https' && $port == 443) - ) { + || ($scheme == 'https' && $port == 443)) { $port = null; } diff --git a/app/library/ViewHelper/Service.php b/app/library/ViewHelper/Service.php index a0662bc..1e20f72 100644 --- a/app/library/ViewHelper/Service.php +++ b/app/library/ViewHelper/Service.php @@ -16,7 +16,7 @@ class Service implements InjectionAwareInterface * * @param DiInterface $container */ - public function setDI(DiInterface $container): void + public function setDI(DiInterface $container) : void { $this->_di = $container; } @@ -26,7 +26,7 @@ class Service implements InjectionAwareInterface * * @return DiInterface */ - public function getDI(): DiInterface + public function getDI() : DiInterface { return $this->_di; } diff --git a/app/listeners/AccessListener.php b/app/listeners/AccessListener.php index 4039f8e..4f6099a 100644 --- a/app/listeners/AccessListener.php +++ b/app/listeners/AccessListener.php @@ -3,7 +3,7 @@ namespace App\Listener; use Phalcon\Di\Injectable, - Phalcon\Events\Event, + Phalcon\Events\Event, Phalcon\Mvc\Dispatcher, Phalcon\Mvc\Dispatcher\Exception as DispatcherException; @@ -22,7 +22,7 @@ class AccessListener extends Injectable * @return bool * @throws DispatcherException */ - public function beforeExecuteRoute(Event $event, Dispatcher $dispatcher): bool + public function beforeExecuteRoute(Event $event, Dispatcher $dispatcher) : bool { // If we have an identity, fetch type from authed user. if ($this->auth->hasIdentity()) { diff --git a/app/listeners/ActivityLog.php b/app/listeners/ActivityLog.php index 4f4787c..6bd6a66 100644 --- a/app/listeners/ActivityLog.php +++ b/app/listeners/ActivityLog.php @@ -23,19 +23,6 @@ class ActivityLog extends Injectable $this->_log($auth->getUser(), sprintf("Logged in (%s)", $type)); } - /** - * On Impersonate event. - * - * @param Event $event - * @param Auth $auth - * @param User $user The user Impersonating the user in $auth - */ - public function onImpersonate(Event $event, Auth $auth, User $user) - { - $imp = $auth->getUser(); - $this->_log($user, sprintf("Impersonated user (%s:%s)", $imp->getId(), $imp->getUsername())); - } - /** * @param Event $event * @param User $auth @@ -78,23 +65,11 @@ class ActivityLog extends Injectable $this->_log($user, sprintf("OAuth disconnected (%s)", $providerName)); } - /** - * Fired when a activation email is sent. - * - * @param Event $event - * @param User $user - * @param string $providerName - */ - public function onSentActivation(Event $event, User $user) - { - $this->_log($user, sprintf("Activation email sent")); - } - protected function _log(User $user, $message) { - $ip = (new \Phalcon\Http\Request())->getClientAddress(true); + $ip = (new \Phalcon\Http\Request())->getClientAddress(); - return (new ActivityLogger())->assign([ + return (new ActivityLogger())->assign([ 'user_id' => $user->getId(), 'ip' => $ip, 'message' => $message diff --git a/app/listeners/AuthEmailListener.php b/app/listeners/AuthEmailListener.php deleted file mode 100644 index 73908a0..0000000 --- a/app/listeners/AuthEmailListener.php +++ /dev/null @@ -1,25 +0,0 @@ -setUserId($user->getId()) - ->save(); - - $content = $this->di->getShared('template')->render('mail/account_activation', [ - 'link' => $activation->getActivationKey() - ]); - - $this->di->getMail()->send('Httpcb account activation', $user->getEmail(), $content); - } -} diff --git a/app/listeners/DispatchListener.php b/app/listeners/DispatchListener.php index 1be9f90..650c4e3 100644 --- a/app/listeners/DispatchListener.php +++ b/app/listeners/DispatchListener.php @@ -4,7 +4,7 @@ namespace App\Listener; use Exception, Phalcon\Events\Event, - Phalcon\Di\Injectable, + Phalcon\Di\Injectable, Phalcon\Mvc\Dispatcher, Phalcon\Mvc\Dispatcher\Exception as DispatcherException; @@ -38,11 +38,11 @@ class DispatchListener extends Injectable // was that an controller or action was not found. if ($exception instanceof DispatcherException) { switch ($exception->getCode()) { - case Dispatcher::EXCEPTION_HANDLER_NOT_FOUND: - case Dispatcher::EXCEPTION_ACTION_NOT_FOUND: - // in this case, forward to 404 page. - $dispatcher->forward($this->_route_notfound); - return false; + case Dispatcher::EXCEPTION_HANDLER_NOT_FOUND : + case Dispatcher::EXCEPTION_ACTION_NOT_FOUND : + // in this case, forward to 404 page. + $dispatcher->forward($this->_route_notfound); + return false; } } diff --git a/app/migrations/20180321115827_create_user_table.php b/app/migrations/20180321115827_create_user_table.php index 898a15c..c79e002 100644 --- a/app/migrations/20180321115827_create_user_table.php +++ b/app/migrations/20180321115827_create_user_table.php @@ -21,7 +21,7 @@ class CreateUserTable extends AbstractMigration $table->addColumn('status', 'enum', [ 'null' => false, 'default' => 'Active', - 'values' => ['Active', 'Deleted', 'Suspended'] + 'values' => [ 'Active', 'Deleted', 'Suspended'] ]); $table->addColumn('password', 'string', [ diff --git a/app/migrations/20180321131740_create_callback_table.php b/app/migrations/20180321131740_create_callback_table.php index 96e9de0..9de7884 100644 --- a/app/migrations/20180321131740_create_callback_table.php +++ b/app/migrations/20180321131740_create_callback_table.php @@ -11,11 +11,11 @@ class CreateCallbackTable extends AbstractMigration $table->addColumn('public_id', 'string', [ 'length' => 12, 'null' => false, - ])->addIndex('public_id', ['name' => 'UNIQUE_public_id', 'unique' => true]); + ])->addIndex('public_id', [ 'name' => 'UNIQUE_public_id', 'unique' => true ]); $table->addColumn('userid', 'integer', [ 'null' => true, - ])->addForeignKey('userid', 'user', ['id'], ['constraint' => 'FK_user']); + ])->addForeignKey('userid', 'user', ['id'], [ 'constraint' => 'FK_user' ]); $table->addColumn('name', 'string', [ 'length' => 64, diff --git a/app/migrations/20180321133533_create_request_meta_table.php b/app/migrations/20180321133533_create_request_meta_table.php index 249ac14..124eb5f 100644 --- a/app/migrations/20180321133533_create_request_meta_table.php +++ b/app/migrations/20180321133533_create_request_meta_table.php @@ -10,12 +10,8 @@ class CreateRequestMetaTable extends AbstractMigration $table = $this->table('request_meta'); $table->addColumn('callbackid', 'integer'); - $table->addForeignKey( - 'callbackid', - 'callback', - ['id'], - ['constraint' => 'FK_callback'] - ); + $table->addForeignKey('callbackid', 'callback', [ 'id' ], + [ 'constraint' => 'FK_callback' ]); $table->addColumn('source_ip', 'string', [ 'limit' => 50, @@ -25,7 +21,7 @@ class CreateRequestMetaTable extends AbstractMigration $table->addColumn('method', 'enum', [ 'null' => false, 'default' => 'GET', - 'values' => ['GET', 'POST'] + 'values' => [ 'GET', 'POST' ] ]); $table->addColumn('uri', 'string', [ diff --git a/app/migrations/20180321133715_create_request_object_table.php b/app/migrations/20180321133715_create_request_object_table.php index fcd422a..29aea46 100644 --- a/app/migrations/20180321133715_create_request_object_table.php +++ b/app/migrations/20180321133715_create_request_object_table.php @@ -9,12 +9,8 @@ class CreateRequestObjectTable extends AbstractMigration { $table = $this->table('request_object'); - $table->addForeignKey( - 'id', - 'request_meta', - ['id'], - ['constraint' => 'FK_request_meta'] - ); + $table->addForeignKey('id', 'request_meta', ['id'], + [ 'constraint' => 'FK_request_meta' ]); $table->addColumn('headers', 'blob', [ 'null' => true, diff --git a/app/migrations/20180611202847_password_link.php b/app/migrations/20180611202847_password_link.php index 1820c77..843dd11 100644 --- a/app/migrations/20180611202847_password_link.php +++ b/app/migrations/20180611202847_password_link.php @@ -8,11 +8,11 @@ class PasswordLink extends AbstractMigration public function up() { $this->table('password_link') - ->addColumn('public_id', 'string', ['length' => 12]) + ->addColumn('public_id', 'string', ['length' => 12 ]) ->addColumn('user_id', 'integer') - ->addForeignKey('user_id', 'user', ['id'], ['constraint' => 'FK_password_link_user']) - ->addColumn('date', 'datetime', ['default' => 'CURRENT_TIMESTAMP']) - ->addColumn('password', 'string', ['limit' => 255, 'null' => true]) + ->addForeignKey('user_id', 'user', ['id'], [ 'constraint' => 'FK_password_link_user' ]) + ->addColumn('date', 'datetime', [ 'default' => 'CURRENT_TIMESTAMP' ]) + ->addColumn('password', 'string', [ 'limit' => 255, 'null' => true ]) ->save(); } } diff --git a/app/migrations/20180814172405_user_split_name.php b/app/migrations/20180814172405_user_split_name.php index 3d2c272..f903fd1 100644 --- a/app/migrations/20180814172405_user_split_name.php +++ b/app/migrations/20180814172405_user_split_name.php @@ -12,7 +12,7 @@ class UserSplitName extends AbstractMigration // Rename "name" to "firstname" and add "lastname". $this->table('user') ->renameColumn('name', 'firstname') - ->addColumn('lastname', 'string', [ + ->addColumn('lastname','string', [ 'length' => 128, 'after' => 'firstname', 'null' => true @@ -20,7 +20,7 @@ class UserSplitName extends AbstractMigration ->save(); // Update row data, moving everything after first space to from lastname. - foreach ($this->fetchAll("SELECT `id`,`firstname` FROM `user`") as $row) { + foreach($this->fetchAll("SELECT `id`,`firstname` FROM `user`") as $row) { $builder = $this->getQueryBuilder()->update('user') ->where(['id' => $row['id']]); @@ -31,7 +31,7 @@ class UserSplitName extends AbstractMigration $pos = strpos($firstname, ' '); if ($pos !== false) { // Set everything after the first space to lastname. - $builder->set('lastname', substr($firstname, $pos + 1)); + $builder->set('lastname', substr($firstname, $pos+1)); // Remove everything after first space from firstname. $firstname = substr($firstname, 0, $pos); diff --git a/app/migrations/20181003134001_user_type.php b/app/migrations/20181003134001_user_type.php index 2825ea1..20f02b1 100644 --- a/app/migrations/20181003134001_user_type.php +++ b/app/migrations/20181003134001_user_type.php @@ -11,7 +11,7 @@ class UserType extends AbstractMigration ->addColumn('type', 'enum', [ 'null' => false, 'default' => 'user', - 'values' => ['user', 'admin'], + 'values' => [ 'user', 'admin' ], 'after' => 'regdate' ]) ->save(); diff --git a/app/models/Data/Base.php b/app/models/Data/Base.php index 23186b6..ed81300 100644 --- a/app/models/Data/Base.php +++ b/app/models/Data/Base.php @@ -18,7 +18,7 @@ class Base extends Model * @param boolean $allFields * @return bool */ - public function hasChanged($fieldName = null, bool $allFields = false): bool + public function hasChanged($fieldName = null, bool $allFields = false) : bool { return $this->hasSnapshotData() === false || parent::hasChanged($fieldName, $allFields); diff --git a/app/models/Data/Callback.php b/app/models/Data/Callback.php index a0e9825..d28c44d 100644 --- a/app/models/Data/Callback.php +++ b/app/models/Data/Callback.php @@ -216,8 +216,8 @@ class Callback extends Model */ public function initialize() { - // Set table name mapped in the model. - $this->setSource('callback'); + // Set table name mapped in the model. + $this->setSource('callback'); $this->useDynamicUpdate(true); diff --git a/app/models/Data/Request.php b/app/models/Data/Request.php index 67d379d..0d2c279 100644 --- a/app/models/Data/Request.php +++ b/app/models/Data/Request.php @@ -53,7 +53,7 @@ class Request extends Model */ public function setHeaders($headers) { - foreach ($headers as $k => $v) { + foreach($headers as $k => $v) { if (strlen($v) < 1) { unset($headers[$k]); diff --git a/app/models/Data/RequestMeta.php b/app/models/Data/RequestMeta.php index 0c4fffe..73678e8 100644 --- a/app/models/Data/RequestMeta.php +++ b/app/models/Data/RequestMeta.php @@ -161,7 +161,7 @@ class RequestMeta extends Model $query = (string) parse_url($this->getUri(), PHP_URL_QUERY); $ret = array(); - foreach (explode('&', $query) as $v) { + foreach(explode('&', $query) as $v) { @list($k, $v) = explode('=', $v, 2); if (strlen($k) > 0) { $ret[$k] = $v; @@ -211,7 +211,7 @@ class RequestMeta extends Model { $headers = $this->getHeaders(); - foreach ($headers as $k => $v) { + foreach($headers as $k => $v) { if ($k == 'Content-Length') { return $v; @@ -224,7 +224,7 @@ class RequestMeta extends Model { $headers = $this->getHeaders(); - foreach ($headers as $k => $v) { + foreach($headers as $k => $v) { if ($k == 'Content-Type') { return substr($v, strrpos($v, '/') + 1); diff --git a/app/models/Data/User.php b/app/models/Data/User.php index a4475e6..1fe205c 100644 --- a/app/models/Data/User.php +++ b/app/models/Data/User.php @@ -61,7 +61,7 @@ class User extends Base 'message' => 'The username already exists.' ]), 'email' => new CallbackValidator([ - 'callback' => function () { + 'callback' => function() { return $this->findFirstByEmail($this->getEmail()) === false; }, 'message' => 'The email address already exists.' @@ -69,7 +69,7 @@ class User extends Base ]; $validation = new Validation(); - foreach ($rules as $field => $validator) { + foreach($rules as $field => $validator) { // Only validate changed fields. if ($this->hasChanged($field)) { @@ -265,16 +265,6 @@ class User extends Base return $this->status == self::STATUS_ACTIVE; } - /** - * Returns true if this user is suspended. - * - * @return bool - */ - public function isSuspended() - { - return $this->status == self::STATUS_SUSPENDED; - } - /** * @return mixed */ @@ -292,7 +282,7 @@ class User extends Base $this->password = $password; return $this; } - + /** * @return mixed */ @@ -414,7 +404,7 @@ class User extends Base { return self::findFirst([ "(email = :v: OR username = :v:) AND status != :s:", - "bind" => ['v' => $value, 's' => self::STATUS_DELETED] + "bind" => [ 'v' => $value, 's' => self::STATUS_DELETED ] ]); } @@ -422,7 +412,7 @@ class User extends Base { return self::findFirst([ "email = :email: AND status != :s:", - "bind" => ['email' => $email, 's' => self::STATUS_DELETED] + "bind" => [ 'email' => $email, 's' => self::STATUS_DELETED ] ]); } @@ -430,7 +420,7 @@ class User extends Base { return self::findFirst([ "username = :username: AND status != :s:", - "bind" => ['username' => $username, 's' => self::STATUS_DELETED] + "bind" => [ 'username' => $username, 's' => self::STATUS_DELETED ] ]); } @@ -440,7 +430,7 @@ class User extends Base return self::findFirst([ "{$column}_id = :id: AND status != :s:", - "bind" => ['id' => $oauth->getId(), 's' => self::STATUS_DELETED] + "bind" => [ 'id' => $oauth->getId(), 's' => self::STATUS_DELETED ] ]); } diff --git a/app/models/Data/UserActivation.php b/app/models/Data/UserActivation.php index 20ffb5f..1703298 100644 --- a/app/models/Data/UserActivation.php +++ b/app/models/Data/UserActivation.php @@ -79,7 +79,7 @@ class UserActivation extends Base * @param int $id * @return PasswordLink */ - public function setId(int $id): UserActivation + public function setId(int $id) : UserActivation { $this->id = $id; return $this; @@ -97,7 +97,7 @@ class UserActivation extends Base * @param string $public_id * @return UserActivation */ - public function setActivationKey(string $key): UserActivation + public function setActivationKey(string $key) : UserActivation { $this->activation_key = $key; return $this; @@ -115,7 +115,7 @@ class UserActivation extends Base * @param int $user_id * @return UserActivation */ - public function setUserId(int $user_id): UserActivation + public function setUserId(int $user_id) : UserActivation { $this->user_id = $user_id; return $this; @@ -133,7 +133,7 @@ class UserActivation extends Base * @param string $password * @return UserActivation */ - public function setPassword(string $password): UserActivation + public function setPassword(string $password) : UserActivation { $this->password = $password; return $this; @@ -144,7 +144,7 @@ class UserActivation extends Base * * @return bool */ - public function isUsed(): bool + public function isUsed() : bool { return (bool) $this->used; } @@ -154,7 +154,7 @@ class UserActivation extends Base * * @return bool */ - public function isValid(): bool + public function isValid() : bool { // Used links are not valid. if ($this->isUsed()) { @@ -175,9 +175,9 @@ class UserActivation extends Base public function beforeCreate() { // Creating a new link automatically removes old ones. - $links = self::find(["user_id = ?0", 'bind' => [$this->user_id]]); + $links = self::find(["user_id = ?0", 'bind' => [ $this->user_id ]]); - foreach ($links as $link) { + foreach($links as $link) { $link->delete(); } } diff --git a/app/modules/Base.php b/app/modules/Base.php index 21ab532..2e2b5a3 100644 --- a/app/modules/Base.php +++ b/app/modules/Base.php @@ -39,8 +39,9 @@ abstract class Base implements ModuleDefinitionInterface $dispatcher->setDefaultNamespace($this->_controllerNamespace); $di->get('view')->setViewsDir(array_merge( - [$this->_viewDir], + [ $this->_viewDir ], (array) $di->get('view')->getViewsDir() )); } } + diff --git a/app/views/_common/_components/navigation.volt b/app/views/_common/_components/navigation.volt index 9b11888..eaf3fd7 100644 --- a/app/views/_common/_components/navigation.volt +++ b/app/views/_common/_components/navigation.volt @@ -12,8 +12,6 @@ data-bs-toggle="dropdown" role="button" aria-expanded="false"> {{ icon('solid/user') }} {{ auth.getUser().username }} - {% set imp = auth.getImpersonator() %} - {% if imp %}( {{ icon('solid/user-secret') }} {{ imp.username }} ){% endif %}