protected function login_form() { if (Base_AclCommon::i_am_user() && !Base_AclCommon::i_am_sa()) { Base_User_LoginCommon::logout(); } $form = SimpleLogin::form(); return "<p>$form</p>"; }
private function logout_action() { if (isset($_GET['logout'])) { unset($_GET['logout']); Base_User_LoginCommon::logout(); $get = count($_GET) ? '?' . http_build_query($_GET) : ''; header('Location: ' . $_SERVER['PHP_SELF'] . $get); } else { $get = $_GET; $get['logout'] = 1; $this->layout->add_action_link('?' . http_build_query($get), 'Logout'); } }
public function body($tpl = null) { //check bans if (!Acl::is_user() && Base_User_LoginCommon::is_banned()) { print __('You have exceeded the number of allowed login attempts.') . '<br>'; print '<a href="' . get_epesi_url() . '">' . __('Host banned. Click here to refresh.') . '</a>'; return; } //if logged $this->theme->assign('is_logged_in', Acl::is_user()); $this->theme->assign('is_demo', DEMO_MODE); if (SUGGEST_DONATION) { $this->theme->assign('donation_note', __('If you find our software useful, please support us by making a %s.', array('<a href="http://epe.si/cost" target="_blank">' . __('donation') . '</a>')) . '<br>' . __('Your funding will help to ensure continued development of this project.')); } if (Acl::is_user()) { if ($this->get_unique_href_variable('logout')) { Base_User_LoginCommon::logout(); eval_js('document.location=\'index.php\';', false); } else { $this->theme->assign('logged_as', '<div class="logged_as">' . __('Logged as %s', array('</br><b class="green">' . Base_UserCommon::get_my_user_login() . '</b>')) . '</div>'); $this->theme->assign('logout', '<div class="logout_css3_box"><a class="logout_icon" ' . $this->create_unique_href(array('logout' => 1)) . '>' . __('Logout') . '<div class="logout_icon_img"></div></a></div>'); $this->theme->display(); } return; } if ($this->is_back()) { $this->unset_module_variable('mail_recover_pass'); } //if recover pass if ($this->get_module_variable_or_unique_href_variable('mail_recover_pass') == '1') { $this->recover_pass(); return; } if (isset($_REQUEST['password_recovered'])) { $this->theme->assign('message', __('An e-mail with a new password has been sent.') . '<br><a href="' . get_epesi_url() . '">' . __('Login') . '</a>'); $this->theme->display(); return; } if ($this->autologin()) { return; } //else just login form $form = $this->init_module('Libs/QuickForm', __('Logging in')); $form->addElement('header', 'login_header', __('Login')); if (DEMO_MODE) { global $demo_users; $form->addElement('select', 'username', __('Username'), $demo_users, array('id' => 'username', 'onChange' => 'this.form.elements["password"].value=this.options[this.selectedIndex].value;')); $form->addElement('hidden', 'password', key($demo_users)); } else { $form->addElement('text', 'username', __('Username'), array('id' => 'username')); $form->addElement('password', 'password', __('Password')); } // Display warning about storing a cookie if (Base_User_LoginCommon::is_autologin_forbidden() == false) { $warning = __('Keep this box unchecked if using a public computer'); $form->addElement('static', 'warning', null, $warning); $form->addElement('checkbox', 'autologin', '', __('Remember me')); } $form->addElement('static', 'recover_password', null, '<a ' . $this->create_unique_href(array('mail_recover_pass' => 1)) . '>' . __('Recover password') . '</a>'); $form->addElement('submit', 'submit_button', __('Login'), array('class' => 'submit')); // register and add a rule to check if user is banned $form->registerRule('check_user_banned', 'callback', 'rule_login_banned', 'Base_User_LoginCommon'); $form->addRule('username', __('You have exceeded the number of allowed login attempts for this username. Try again later.'), 'check_user_banned'); // register and add a rule to check if a username and password is ok $form->registerRule('check_login', 'callback', 'submit_login', 'Base_User_LoginCommon'); $form->addRule(array('username', 'password'), __('Login or password incorrect'), 'check_login'); $form->addRule('username', __('Field required'), 'required'); $form->addRule('password', __('Field required'), 'required'); if ($form->isSubmitted() && $form->validate()) { $user = $form->exportValue('username'); Base_User_LoginCommon::set_logged($user); if (Base_User_LoginCommon::is_autologin_forbidden() == false) { $autologin = $form->exportValue('autologin'); if ($autologin) { Base_User_LoginCommon::new_autologin_id(); } } location(array()); } else { $form->assign_theme('form', $this->theme); $this->theme->assign('mode', 'login'); $logo = $this->init_module('Base/MainModuleIndicator'); $logo->set_inline_display(); $this->theme->assign('logo', $this->get_html_of_module($logo, null, 'login_logo')); ob_start(); if (!$tpl) { $this->theme->set_inline_display(); $this->theme->display(); eval_js("focus_by_id('username')"); } else { Base_ThemeCommon::display_smarty($this->theme->get_smarty(), $tpl[0], $tpl[1]); } $ret = ob_get_clean(); if (stripos($ret, '<a href="http://www.telaxus.com">Telaxus LLC</a>') === false || stripos($ret, '<a href="http://epe.si/"><img src="images/epesi-powered.png" alt="EPESI powered" /></a>') === false) { trigger_error('Epesi terms of use have been violated', E_USER_ERROR); } print $ret; } }