} $header->registerJsFunction('function check_login(frm)' . '{' . 'if (!frm.login_usr.value||!frm.login_pwd.value)' . 'return false;' . 'return true;' . '}'); function loginHandler($p) { $session = SessionHandler::getInstance(); if ($session->id) { dp('HACK user ' . $session->name . ' (' . $session->id . ') tried to login user ' . $p['usr']); return false; } if ($session->login($p['usr'], $p['pwd'])) { $session->showStartPage(); } return true; } $form = new XhtmlForm('login'); $form->cssTable(''); $u_img = new XhtmlComponentImage(); $u_img->src = $page->getRelativeCoreDevUrl() . 'gfx/icon_user.png'; $i = new XhtmlComponentInput(); $i->name = 'usr'; $form->add($i, t('Username'), $u_img); $p_img = new XhtmlComponentImage(); $p_img->src = $page->getRelativeCoreDevUrl() . 'gfx/icon_keys.png'; $i = new XhtmlComponentPassword(); $i->name = 'pwd'; $form->add($i, t('Password'), $p_img); $form->addSubmit('Log in', 'font-weight:bold'); $form->setFocus('usr'); $form->onSubmit('return check_login(this);'); $form->setHandler(__NAMESPACE__ . '\\loginHandler'); echo $form->render();