JustPaste.it

--------------------------------------------------------------------------------------------------------------------

Admin.php

<?php
namespace controllers;
use Ubiquity\controllers\admin\UbiquityMyAdminBaseController;
use Ubiquity\controllers\auth\WithAuthTrait;

class Admin extends UbiquityMyAdminBaseController{
// Error with use WithAuthTrait;
protected function getAuthController(): AuthController {
return new BaseAuthController();
}
}

-----------------------------------------------------------------------------------------------------

 

BaseAuthController.php

<?php
namespace controllers;
use Ubiquity\utils\http\USession;
use Ubiquity\utils\http\URequest;
use Ubiquity\orm\DAO;
/**
* Auth Controller BaseAuthController
**/
class BaseAuthController extends \Ubiquity\controllers\auth\AuthController{

    protected function onConnect($connected) {
            $urlParts=$this->getOriginalURL();
            USession::set($this->_getUserSessionKey(), $connected);
            if(isset($urlParts)){
                    Startup::forward(implode("/",$urlParts));
            }else{
                    Startup::forward("admin");
            }
    }

    protected function _connect() {
            if(URequest::isPost()){
                    $email=URequest::post($this->_getLoginInputName());
                    $password=URequest::post($this->_getPasswordInputName());
                    return DAO::uGetOne(User::class, "email=? and password= ?",false,[$email,$password]);
            }
            return;
    }

    /**
     * {@inheritDoc}
     * @see \Ubiquity\controllers\auth\AuthController::isValidUser()
     */
    public function _isValidUser($action=null) {
            return USession::exists($this->_getUserSessionKey());
    }

    public function _getBaseRoute() {
            return 'BaseAuthController';
    }
    /**
     * {@inheritDoc}
     * @see \Ubiquity\controllers\auth\AuthController::_getLoginInputName()
     */
    public function _getLoginInputName() {
            return "email";
    }
}