. if (!defined('EG')) die('Direct access not allowed!'); class AdminusersController extends Controller { function __construct($model, $controller, $queryString) { parent::__construct($model, $controller, $queryString); $this->load('header_back'); $this->load('footer_back','last'); $this->helper('Menu','adminusers','panel/main'); $this->helper('Array'); $this->session('admin'); $this->model(); $this->m['AdminusersModel']->setFields('username:sanitizeAll,password:sha1','none'); $this->m['AdminusersModel']->strongConditions['update'] = array('checkAlphaNum'=>'username','checkEqual'=>'password,confirmation'); $this->m['AdminusersModel']->strongConditions['insert'] = array('checkAlphaNum'=>'username','checkEqual'=>'password,confirmation'); $this->m['AdminusersModel']->databaseConditions['insert'] = array('checkUnique'=>'username'); $this->m['AdminusersModel']->databaseConditions['update'] = array('checkUniqueCompl'=>'username'); $this->setArgKeys(array('page:forceNat'=>1,'id_group:forceInt'=>'0','token:sanitizeAll'=>'token')); Params::$nullQueryValue = '0'; } public function login() { $data['action'] = Url::getRoot('adminusers/login'); $data['notice'] = null; $this->s['admin']->checkStatus(); if ($this->s['admin']->status['status']=='logged') { $this->s['admin']->redirect('logged'); } if (isset($_POST['username']) and isset($_POST['password'])) { $username = ctype_alnum($_POST['username']) ? sanitizeAll($_POST['username']) : ''; $choice = $this->s['admin']->login($username,$_POST['password']); switch($choice) { case 'logged': $this->redirect('panel/main',3,'You are already logged...'); break; case 'accepted': $this->redirect('panel/main',3,'Hi '.$this->s['admin']->status['user'].'...'); break; case 'login-error': $data['notice'] = '
Wrong username or password
'; break; case 'wait': $data['notice'] = '
You have to wait 5 seconds before you can try to login another time
'; break; } } $this->set($data); $this->load('login'); } public function logout() { $res = $this->s['admin']->logout(); if ($res == 'not-logged') { $data['notice'] = "
You can't logout because you are not logged..
\n"; } else if ($res == 'was-logged') { $data['notice'] = "
Logout executed successfully!
\n"; } else if ($res == 'error') { } $data['login'] = Url::getRoot('adminusers/login'); $this->set($data); $this->load('logout'); } public function forceout($id) { $this->shift(1); $this->s['admin']->check(); $data['menĂ¹'] = $this->h['Menu']->render('back'); $data['notice'] = null; $id = (int)$id; if (strcmp($this->s['admin']->status['id_user'],$id) !== 0) { if ($this->s['admin']->forceOut($id)) { $data['notice'] = "
User has been forced out..
\n"; } else { $data['notice'] = "
Error..
\n"; } } $this->set($data); $this->load('forceout'); } public function main() { $this->shift(); $this->s['admin']->check(); if (!$this->s['admin']->checkCsrf($this->viewArgs['token'])) $this->redirect('panel/main/',2,'wrong token..'); $this->loadScaffold('main',array('popup'=>false)); $this->scaffold->setWhereQueryClause(array('id_group'=>$this->viewArgs['id_group'])); $this->scaffold->loadMain('adminusers:id_user,adminusers:username','adminusers:id_user','edit,del'); $this->scaffold->addItem('simpleLink','adminusers/forceout/;adminusers:id_user;',null,'ForceOut'); $this->scaffold->update('del'); $data['scaffold'] = $this->scaffold->render(); $this->set($data); $this->load('main'); } public function form($queryType = 'insert') { $this->shift(1); $this->s['admin']->check(); if (!$this->s['admin']->checkCsrf($this->viewArgs['token'])) $this->redirect('panel/main/',2,'wrong token..'); $this->m['AdminusersModel']->updateTable('insert,update'); $this->loadScaffold('form'); $this->scaffold->loadForm($queryType,"adminusers/form/$queryType"); $this->scaffold->getFormValues('sanitizeHtml'); $this->scaffold->setFormEntries('model',array('password'=>'Password')); $this->scaffold->form->setEntry('confirmation','Password'); $data['scaffold'] = $this->scaffold->render(null,'username,password,confirmation,id_user'); $this->set($data); $this->load('main'); } // public function associate() // { // $this->shift(0); // // $this->s['admin']->check(); // // if (!$this->s['admin']->checkCsrf($this->viewArgs['token'])) $this->redirect('panel/main/',2,'wrong token..'); // // $this->m['AdminusersModel']->printAssError = 'yes'; // $this->m['AdminusersModel']->updateTable('associate,dissociate'); // // $data['notice'] = $this->m['AdminusersModel']->notice; // // $data['menu'] = $this->h['Menu']->render('back'); // // $data['action'] = $this->baseUrl.'/adminusers/associate'.$this->viewStatus; // // $data['groups'] = $this->m['AdminusersModel']->getFieldArray('admingroups:id_group','admingroups:name'); // // //get the name of the user whose id is $_POST['id_user'] // $users = $this->m['AdminusersModel']->db->select('adminusers','username','id_user='.(int)$_POST['id_user']); // $data['user'] = $users[0]['adminusers']['username']; // // //get the groups inside which the user is inserted // $this->m['AdminusersModel']->setWhereQueryClause(array('id_user'=>(int)$_POST['id_user'])); // $this->m['AdminusersModel']->orderBy = 'admingroups.id_group desc'; // $data['groupsUser'] = $this->m['AdminusersModel']->getAll('Boxes'); // // echo $this->m['AdminusersModel']->getQuery(); // // $this->set($data); // $this->load('associate'); // } }