Файл: wapxl.ru/admin/users/edit.php
Строк: 270
<?
if ($_GET['i']==1)echo '<b>Изменения сохранены.</b><br />';
if ($_GET['i']==2)echo '<b>Ошибка. Сообщите администрации</b><br />';
$nick = func::checkin($_REQUEST['nick']);
if (!user::user_inf($nick))func::errors('<b>Такого юзера нет!</b>');
$inf = core:: $db -> queryFetch("SELECT * FROM `users` where `id`=?;", array(user::user_inf($nick)));
if ($inf['level']>core::$user['level'] or core::$user['level']==$inf['level'] and core::$user['id']!=$inf['id'])func::errors('<b>В доступе отказано!</b>');
if (empty($act)){
echo '<form action="users.php?mod='.$mod.'&act=edit&nick='.$inf['id'].'&'.SID.'" method="post">';
if (level::dostup('nik_status')){
echo 'Ник:<br /><input name="nik" value="'.$inf['user'].'" maxlength="15" emptyok="false"/><br />';
echo 'Статус:<br /><input name="status" value="'.$inf['status'].'" emptyok="false"/><br />';
}
if (level::dostup('setting')){
if(isset($_GET['pass_off'])){
unset($_SESSION['pass']);
}
echo 'Логин:<br /><input name="ruser" value="'.$inf['ruser'].'" maxlength="15" emptyok="false"/><br />';
echo 'Мыло логин:<br /><input name="email_pass" value="'.$inf['email_pass'].'" maxlength="300" emptyok="false"/><br />';
echo 'Мыло анкета:<br /><input name="mail" value="'.$inf['mail'].'" maxlength="300" emptyok="false"/><br />';
if(isset($_SESSION['pass']))$inf['pass'] = md5(md5($_SESSION['pass']));
echo 'Пароль '.((isset($_SESSION['pass']))?'Создан:md5(md5(<input name="Name" type="text" size="'.func::utf_strlen($_SESSION['pass']).'" value="'.$_SESSION['pass'].'">))':'md5(md5(пароль))').':<br /><input name="pass" value="'.$inf['pass'].'" maxlength="300" emptyok="false"/> ';
echo '<a href="users.php?mod=passgen&nick='.$inf['id'].'&" class="href">Создание пароля</a>';
if(isset($_SESSION['pass']))echo ' | <a href="users.php?mod='.$mod.'&nick='.$inf['id'].'&pass_off" class="href">Сбросить пароль</a>';
echo '<br />';
echo 'Балланс:<br /><input name="rur" value="'.$inf['rur'].'" maxlength="15" emptyok="false"/><br />';
}
if (level::dostup('ap_level')){
echo 'Постов в форуме:<br /><input name="postsf" value="'.$inf['postsf'].'" maxlength="15" emptyok="false"/><br />';
echo 'Постов в чате:<br /><input name="postsc" value="'.$inf['postsc'].'" maxlength="15" emptyok="false"/><br />';
echo 'Постов в гостевой:<br /><input name="postsg" value="'.$inf['postsg'].'" maxlength="15" emptyok="false"/><br />';
echo 'Комментариев:<br /><input name="postsk" value="'.$inf['postsk'].'" maxlength="15" emptyok="false"/><br />';
echo 'Постов вcего:<br /><input name="posts" value="'.$inf['posts'].'" maxlength="15" emptyok="false"/><br />';
if ($inf['level']<core::$user['level']){
echo 'Уровень:<br /><select name="levela">';
echo '<option value="'.$inf['level'].'">'.$inf['level'].'-'.level::name($inf['level']).'</option>';
for($i = 0; $i <= (core::$user['level']-1); $i++) {
echo '<option value="'.$i.'">'.$i.'-'.level::name($i).'</option>';
}
echo '</select><br/>';
}
echo "Модерирует:<br /><select name="moder_razd">";
$odobr = array('forum_msg' => 'Форум', 'zc' => 'Архив файлов', 'blogs' => 'Блоги', 'php' => 'PHP Коды', 'gr' => 'Группы');
foreach($odobr as $k => $v) {
$selected = ($k == $inf['moder_razd']) ? ' selected="selected"' : '';
echo '<option value="'.$k.'"'.$selected.'>'.$v.'</option>';
}
echo '</select><br />';
echo 'Подфорум модератора:<br/>';
echo "<select name="mod_id">";
echo "<option value="0">Нет</option>";
$q = core:: $db -> query("SELECT * FROM `forum_f` ORDER BY `id` ASC");
while ($r = $q -> fetch()) {
$selected = ($r['id']== $inf['mod_id']) ? ' selected="selected"' : '';
echo '<option value="'.$r['id'].'"'.$selected.'>'.$r['name'].'</option>';
}
echo "</select><br/>";
echo 'Журналист:<br /><select name="gazeta">';
if ($inf['gazeta']==0){echo '<option value="0">Нет</option>';
echo '<option value="1">Да</option>';
}
elseif ($inf['gazeta']==1){echo '<option value="1">Да</option>';
echo '<option value="0">Нет</option>';
}
echo '</select><br/>';
}
if (level::dostup('setting')){
echo 'Гарант сайта:<br /><select name="garant">';
if ($inf['garant']==0){echo '<option value="0">Нет</option>';
echo '<option value="1">Да</option>';
}
elseif ($inf['garant']==1){echo '<option value="1">Да</option>';
echo '<option value="0">Нет</option>';
}
echo '</select><br/>';
}
echo '<br /><input type="submit" class="ibutton" value="Сохранить"/></form><br /><br />';
}else{
$nik = isset($_POST['nik']) ? func::checkin($_POST['nik']) : $inf['user'];
$status = isset($_POST['status']) ? func::checkin($_POST['status']) : $inf['status'];
$ruser = isset($_POST['ruser']) ? func::checkin($_POST['ruser']) : $inf['ruser'];
$pass = isset($_POST['pass']) ? func::checkin($_POST['pass']) : $inf['pass'];
$mail = isset($_POST['mail']) ? func::checkin($_POST['mail']) : $inf['mail'];
$email_pass = isset($_POST['email_pass']) ? func::checkin($_POST['email_pass']) : $inf['email_pass'];
unset($_SESSION['pass']);
$rur = isset($_POST['rur']) ? func::checkin($_POST['rur']) : $inf['rur'];
$moder_razd = isset($_POST['moder_razd']) ? func::checkin($_POST['moder_razd']) : $inf['moder_razd'];
$mod_id = isset($_POST['mod_id']) ? func::checkin($_POST['mod_id']) : $inf['mod_id'];
$postsf = isset($_POST['postsf']) ? func::checkin(intval($_POST['postsf'])) : $inf['postsf'];
$postsk = isset($_POST['postsk']) ? func::checkin(intval($_POST['postsk'])) : $inf['postsk'];
$postsc = isset($_POST['postsc']) ? func::checkin(intval($_POST['postsc'])) : $inf['postsc'];
$postsg = isset($_POST['postsg']) ? func::checkin(intval($_POST['postsg'])) : $inf['postsg'];
$posts = isset($_POST['posts']) ? func::checkin(intval($_POST['posts'])) : $inf['posts'];
$mod_id = isset($_POST['mod_id']) ? func::checkin(intval($_POST['mod_id'])) : $inf['mod_id'];
$garant = isset($_POST['garant']) ? func::checkin(intval($_POST['garant'])) : $inf['garant'];
$levela = isset($_POST['levela']) ? func::checkin(intval($_POST['levela'])) : $inf['levela'];
if ($inf['level']>=core::$user['level'])$levela = $inf['level'];
$gazeta = isset($_POST['gazeta']) ? func::checkin(intval($_POST['gazeta'])) : $inf['gazeta'];
$ruser = func::rus_lat(func::rus_utf_tolower($ruser));
if (empty($nik))
$error .= 'Не введён ник<br/>';
elseif (func::utf_strlen($nik) < 3 || func::utf_strlen($nik) > 15)
$error .= 'Недопустимая длина ника (От 3 до 15 символов)<br />';
// Проверка, занят ли ник
if($nik!=$inf['user']){
$b= core::$db -> queryFetch("SELECT * FROM `users` WHERE `user`=?;", array($nik));
if ($b > 0) {
$error .= 'Указанный вами ник <b>'.$nik.'</b> уже занят, выберите другой<br />';
}
}
// Проверка, занят ли ник
if($ruser!=$inf['ruser']){
$b= core::$db -> queryFetch("SELECT * FROM `users` WHERE `ruser`=?;", array($ruser));
if ($b > 0) {
$error .= 'Указанный вами логин <b>'.$ruser.'</b> уже занят, выберите другой<br />';
}
}
if (empty($error)) {
if($nik!=$inf['user']){
if (core::$user['sex']==1)$sex = 'Изменил'; else $sex = 'Изменила';
$msgp = ' '.$sex.' [b][url=http://'.$_SERVER['HTTP_HOST'].'/'.core::$user['id'].']'.core::$user['user'].'[/url][/b]';
$hist = core::$db -> prepare("INSERT INTO `user_nik_hist` SET `user_id`=?, `time`=?, `nik`=?, `izm`=?");
$hist -> execute($inf['id'],core::$realtime,$inf['user'],$msgp);
unset($hist);
}
/* Запись в логи. записываем только данные которые были изменены*/
$messs = '<b>'.user::us(core::$user['id'], 1).'</b> произвел Апдейт пользователя <b>'.user::us($inf['id'], 1).'</b><br />
'.(($nik!=$inf['user'])?'Ник <b>'.$inf['user'].'</b> -> <b>'.$nik.'</b><br /> ':'').'
'.(($status!=$inf['status'])?'Статус <b>'.$inf['status'].'</b> -> <b>'.$status.'</b><br /> ':'').'
'.(($postsf!=$inf['postsf'])?'Постов форума: <b>'.$inf['postsf'].'</b> -> <b>'.$postsf.'</b><br />':'').'
'.(($postsc!=$inf['postsc'])?'Постов чата: <b>'.$inf['postsc'].'</b> -> <b>'.$postsc.'</b><br />':'').'
'.(($postsg!=$inf['postsg'])?' Постов гостевой: <b>'.$inf['postsg'].'</b> -> <b>'.$postsg.'</b><br />':'').'
'.(($postsk!=$inf['postsk'])?' Комментариев: <b>'.$inf['postsk'].'</b> -> <b>'.$postsk.'</b><br />':'').'
'.(($posts!=$inf['posts'])?' Постов: <b>'.$inf['posts'].'</b> -> <b>'.$posts.'</b><br />':'').'
'.(($gazeta!=$inf['gazeta'])?' Журналист: <b>'.(($inf['gazeta']==1)?'Да':'Нет').'</b> -> <b>'.(($gazeta==1)?'Да':'Нет').'</b><br />':'').'
'.(($levela!=$inf['level'])?' Уровень: <b>'.level::name($inf['level']).'</b> -> <b>'.level::name($levela).'</b><br />':'').'
'.(($moder_razd!=$inf['moder_razd'])?' Модерирует: <b>'.$inf['moder_razd'].'</b> -> <b>'.$moder_razd.'</b><br />':'').'
'.(($mod_id!=$inf['mod_id'])?' Раздел форума: <b>'.$inf['mod_id'].'</b> -> <b>'.$mod_id.'</b><br />':'').'
'.(($garant!=$inf['garant'])?' Гарант сайта: <b>'.(($inf['garant']==1)?'Да':'Нет').'</b> -> <b>'.(($garant==1)?'Да':'Нет').'</b><br />':'').'
';
core::$db->query ("INSERT INTO logs (log,msg,time,user_id) VALUES (?,?,?,?)",array('edit',$messs,core::$realtime,core::$user['id']));
/*mysql_query('UPDATE `users` SET `pass` = "'.$pass.'", `user` = "'.$nik.'", `ruser` = "'.$lat_nick.'",`postsf` = "'.$postsf.'", `postsc` = "'.$postsc.'", `postsk` = "'.$postsk.'", `postsg` = "'.$postsg.'", `posts` = "'.$posts.'", `rur` = "'.$rur.'", `level` = "'.$levela.'", `status` = "'.$status.'", `gazeta` = "'.$gazeta.'", `gazetas` = "'.$gazetas.'", `moder_razd` = "'.$moder_razd.'", `mod_id` = "'.$mod_id.'" WHERE `id` = "'.$inf['id'].'"');
*/
$dbi = core::$db -> prepare('UPDATE `users` SET `pass`=?, `user`=?, `ruser`=?,`postsf`=?, `postsc`=?, `postsk`=?, `postsg`=?, `posts`=?, `rur`=?, `level`=?, `status`=?, `gazeta`=?, `moder_razd`=?, `mod_id`=?, `garant`=?, `email_pass`=?, `mail`=? WHERE `id`=?');
$dbi -> execute($pass,$nik,$ruser,$postsf,$postsc,$postsk,$postsg,$posts,$rur,$levela,$status,$gazeta,$moder_razd,$mod_id,$garant,$email_pass,$mail,$inf['id']);
header ('Location: ?mod='.$mod.'&i=1&nick='.$nick.'&'.SID); exit;
}else func::errors($error, '<a href="?mod='.$mod.'&i=1&nick='.$nick.'&" class="href">Вернуться</a>');
}
?>