Wow, a lot of classes ) cool, haven’t seen them before.
My authorization isn’t a solution at all ) But if you insist ))
It was a PHP, and just was reworked.
<?php
if (isset($_POST['send']))
{
$connectDB = mysql_connect('arguments'); # fill it
$selctDB= mysql_select_db('arguments', $connectDB); #fill it
if($selctDB)
{
$def_user = mysql_real_escape_string ($_POST['user']);
$def_user = strip_tags($def_user);
$def_user = htmlspecialchars($def_user);
$def_user = stripslashes($def_user);
$def_user = addslashes($def_user);
$_POST['user'] = $def_user;
$def_password = mysql_real_escape_string ($_POST['password']);
$def_password = strip_tags($def_password);
$def_password = htmlspecialchars($def_password);
$def_password = stripslashes($def_password);
$def_password = addslashes($def_password);
$_POST['password'] = $def_password;
$stmt = mysql_query("SELECT name, member_group_id, members_pass_salt, members_pass_hash FROM members WHERE name='".$_POST['user']."'"); #standart IPB things
$row=mysql_fetch_array($stmt);
$password = md5(md5($row['members_pass_salt']).md5($_POST['password']));
if ($password == $row['members_pass_hash'])
{
session_start();
$_SESSION['CustomLogin'] = TRUE;
$_SESSION['CustomUserName'] = $row['name']; #setting up session for further things
$_SESSION['CustomGroupID'] = $row['member_group_id'];
$id = $modx->documentIdentifier;
$url = $modx->makeUrl($id);
$modx->sendRedirect($url);
}
else
{
$modx->setPlaceholder('errors','Wrong username or password');
}
}
}
Chunk for it :
<div class="hot-block">
<i class="cr c-tl"></i>
<h2><span>Enter the system</span></h2>
<dl class="hot-block-i">
<form action="[[~[[*id]]]]" method="post" name="loginform" id="form2">
<table align="center" width="100%">
<tr>
<td align="center" colspan="2"><div class="loginMessage"><font color="red">[[+errors]]</font></div></td>
</tr>
<tr>
<label class="loginUsernameLabel">
<td>Логин:</td>
<td><input class="loginUsername" type="text" name="user" /></td>
</label>
</tr>
<tr>
<label class="loginPasswordLabel">
<td>Пароль:</td>
<td><input class="loginPassword" type="password" name="password" /></td>
</label>
</tr>
<tr align="center">
<td>
<input type="hidden" name="send" value="true" /><input type="submit" name="submit" value="Enter" />
</td>
<td><a href="ipb/index.php?app=core&module=global§ion=lostpass">ForgotPassword?</a></td>
</tr>
<tr>
<td colspan="2"><a href="ipb/index.php?app=core&module=global§ion=register">Register</a></td>
</tr>
</table>
</form>
</dl>
<i class="b">
<i class="cr c-bl"></i>
<i class="cr c-br"></i>
</i>
</div>
[[!CustomLogin]]
Snippet that calls login or logout form :
#calling [[!CheckAuth ? &is=`lgnLogoutTpl` ¬=`CustomLogin`]]
<?php
if($_SESSION['CustomLogin'])
{
$output = $modx->parseChunk($is);
}
else
{
$output = $modx->parseChunk($not);
}
return $output;
LogOutTpl
[[!LogOutButton]]
<div class="hot-block">
<i class="cr c-tl"></i>
<h2><span>Hello, [[+CustomUserName]]</span></h2>
<dl class="hot-block-i">
<table class="hot-block-table">
<tr>
<td>Группа: [[+CustomGroupID]]</td>
</tr>
<td><a href="ipb">Forum</a></td>
</tr>
<tr>
<td><a href="[[~[[*id]]]]?logout=1">Exit</a></td>
</tr>
</table>
<br style="clear:both"/>
</dl>
<i class="b">
<i class="cr c-bl"></i>
<i class="cr c-br"></i>
</i>
</div>
LogOutButton
<?php
$id = $modx->documentIdentifier;
$url = $modx->makeUrl($id);
if (isset($_GET['logout']))
{
session_start();
$_SESSION['CustomLogin'] = NULL;
$_SESSION['CustomUserName'] = NULL;
$_SESSION['CustomGroupID'] = NULL;
$modx->sendRedirect($url);
}
$modx->setPlaceholder('CustomUserName', $_SESSION['CustomUserName']);
$modx->setPlaceholder('CustomGroupID', $_SESSION['CustomGroupID']);
Also I have reworked a LOT of snippets that are using users or checking authorization in order to make this solution work.
PS it
ISN’T a good idea to use this. It is just for working, but in this way it is cutting a
LOT of functions you might want to use. I just don’t know how to manage users right and it is really hard to understand how Login.Login works(there are a lot of functions that I don’t know).