Я не знаю куда заливать это, если админ может, то пусть залет в правильное место. Это скрипт для авторизации.
<?php
require_once 'forum/init.php'; //Указиваем путь к init.php файлу
$member = \IPS\Session\Front::i()->member;
$loggedIn = $member->member_group_id != \IPS\Settings::i()->guest_group;
if( $loggedIn ){
if( isset($_GET['logout']) ){
\IPS\Request::i()->setCookie( 'member_id', NULL );
\IPS\Request::i()->setCookie( 'pass_hash', NULL );
\IPS\Request::i()->setCookie( 'anon_login', NULL );
$_SESSION = array();
$params = session_get_cookie_params();
setcookie( session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"] );
session_destroy();
foreach ( \IPS\Login::handlers( TRUE ) as $k => $handler )
{
try
{
$handler->logoutAccount( $member, \IPS\Login::getDestination() );
}
catch( \BadMethodCallException $e ) {}
}
$member->memberSync( 'onLogout', [ \IPS\Login::getDestination() ] );
header('Location: /');
die;
}
?>
<?php
echo '<div class="username">'.$member->get_name().'</div>';
?>
<div class="logout"><a href="?logout">Log out</a></div>
<?php
}
else{
if( !empty($_POST['auth']) && !empty($_POST['password']) ){
$handler = \IPS\Login\LoginAbstract::load('internal');
try {
$member = $handler->authenticate($_POST);
\IPS\Session::i()->setMember($member);
if( $_POST['remember_me'] ){
$expire = new \IPS\DateTime;
$expire->add( new \DateInterval( 'P3M' ) );
\IPS\Request::i()->setCookie( 'member_id', $member->member_id, $expire );
\IPS\Request::i()->setCookie( 'pass_hash', $member->member_login_key, $expire );
$member->memberSync( 'onLogin', [ \IPS\Login::getDestination() ] );
}
header('Location: /');
die;
}catch(\IPS\Login\Exception $e){
echo $e->getMessage();
}
}
?>
<form method="post">
<input name="auth"><br />
<input name="password" type="password"><br />
<input type="checkbox" name="remember_me">
<button type="submit">Log in</button>
</form>
<?php
}
?>