Вход Регистрация
Файл: adm_panel/user.php
Строк: 721
<?php
require( '../sys/inc/core.php' );

user_access'user_prof_edit'null'index.php?' SID );

if ( isset( 
$_GET['id'] ) )
    
$ank['id'] = intval$_GET['id'] );
else {
    
header"Location: /index.php?" SID );
    exit;
}
if ( 
db::count("SELECT COUNT(*) FROM `user` WHERE `id` = '$ank[id]' LIMIT 1") == ) {
    
header"Location: /index.php?" SID );
    exit;
}
$ank get_user$ank['id'] );
if ( 
$user['level'] <= $ank['level'] ) {
    
header"Location: /index.php?" SID );
    exit;
}
$set['title'] = 'Профиль пользователя ' $ank['nick'];

if ( isset( 
$_POST['save'] ) ) {
    if ( isset( 
$_POST['nick'] ) && $_POST['nick'] != $ank['nick'] ) {
        if ( 
db::count("SELECT COUNT(*) FROM `user` WHERE `nick` = '" my_esc$_POST['nick'] ) . "'") == )
            
$err 'Ник ' $_POST['nick'] . ' уже занят';
        elseif ( 
user_access'user_change_nick' ) ) {
            
$nick my_esc$_POST['nick'] );
            if ( !
preg_match"#^([A-zА-я0-9-_ ])+$#ui"$nick ) )
                
$err[] = 'В нике присутствуют запрещенные символы';
            if ( 
strlen2$nick ) < )
                
$err[] = 'Короткий ник';
            if ( 
strlen2$nick ) > 32 )
                
$err[] = 'Длина ника превышает 32 символа';
            if ( !isset( 
$err ) ) {
                
admin_log'Пользователи''Изменение ника'"Ник $ank[nick] изменен на $nick);
                
$ank['nick'] = $nick;
                
db::query("UPDATE `user` SET `nick` = '$nick' WHERE `id` = '$ank[id]' LIMIT 1");
            }
        } else
            
$err[] = 'У Вас нет привилегий на изменение ника пользователя';
    }
    if ( isset( 
$_POST['set_show_icon'] ) && ( $_POST['set_show_icon'] == || $_POST['set_show_icon'] == ) ) {
        
$ank['set_show_icon'] = $_POST['set_show_icon'];
        
db::query("UPDATE `user` SET `set_show_icon` = '$ank[set_show_icon]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Ошибка режима аватара';
    if ( isset( 
$_POST['set_translit'] ) && ( $_POST['set_translit'] == || $_POST['set_translit'] == ) ) {
        
$ank['set_translit'] = $_POST['set_translit'];
        
db::query("UPDATE `user` SET `set_translit` = '$ank[set_translit]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Ошибка режима транслита';
    if ( isset( 
$_POST['set_files'] ) && ( $_POST['set_files'] == || $_POST['set_files'] == ) ) {
        
$ank['set_files'] = $_POST['set_files'];
        
db::query("UPDATE `user` SET `set_files` = '$ank[set_files]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Ошибка режима файлов';
    if ( isset( 
$_POST['set_time_chat'] ) && ( is_numeric$_POST['set_time_chat'] ) && $_POST['set_time_chat'] >= && $_POST['set_time_chat'] <= 900 ) ) {
        
$ank['set_time_chat'] = $_POST['set_time_chat'];
        
db::query("UPDATE `user` SET `set_time_chat` = '$ank[set_time_chat]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Ошибка во времени автообновления';
    if ( isset( 
$_POST['set_p_str'] ) && ( is_numeric$_POST['set_p_str'] ) && $_POST['set_p_str'] > && $_POST['set_p_str'] <= 100 ) ) {
        
$ank['set_p_str'] = $_POST['set_p_str'];
        
db::query("UPDATE `user` SET `set_p_str` = '$ank[set_p_str]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Неправильное количество пунктов на страницу';
    if ( isset( 
$_POST['ank_name'] ) && preg_match'#^([A-zА-я -]*)$#ui'$_POST['ank_name'] ) ) {
        
$ank['ank_name'] = escstripcslasheshtmlspecialchars$_POST['ank_name'] ) ) );
        
db::query("UPDATE `user` SET `ank_name` = '$ank[ank_name]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Вы ошиблись в поле имя';
    if ( isset( 
$_POST['ank_d_r'] ) && ( is_numeric$_POST['ank_d_r'] ) && $_POST['ank_d_r'] > && $_POST['ank_d_r'] <= 31 || $_POST['ank_d_r'] == NULL ) ) {
        
$ank['ank_d_r'] = $_POST['ank_d_r'];
        if ( 
$ank['ank_d_r'] == null )
            
$ank['ank_d_r'] = 'null';
        
db::query("UPDATE `user` SET `ank_d_r` = $ank[ank_d_r] WHERE `id` = '$ank[id]' LIMIT 1");
        if ( 
$ank['ank_d_r'] == 'null' )
            
$ank['ank_d_r'] = NULL;
    } else
        
$err 'Неверный формат дня рождения';
    if ( isset( 
$_POST['ank_m_r'] ) && ( is_numeric$_POST['ank_m_r'] ) && $_POST['ank_m_r'] > && $_POST['ank_m_r'] <= 12 || $_POST['ank_m_r'] == NULL ) ) {
        
$ank['ank_m_r'] = $_POST['ank_m_r'];
        if ( 
$ank['ank_m_r'] == null )
            
$ank['ank_m_r'] = 'null';
        
db::query("UPDATE `user` SET `ank_m_r` = $ank[ank_m_r] WHERE `id` = '$ank[id]' LIMIT 1");
        if ( 
$ank['ank_m_r'] == 'null' )
            
$ank['ank_m_r'] = NULL;
    } else
        
$err 'Неверный формат месяца рождения';
    if ( isset( 
$_POST['ank_g_r'] ) && ( is_numeric$_POST['ank_g_r'] ) && $_POST['ank_g_r'] > && $_POST['ank_g_r'] <= date'Y' ) || $_POST['ank_g_r'] == NULL ) ) {
        
$ank['ank_g_r'] = $_POST['ank_g_r'];
        if ( 
$ank['ank_g_r'] == null )
            
$ank['ank_g_r'] = 'null';
        
db::query("UPDATE `user` SET `ank_g_r` = $ank[ank_g_r] WHERE `id` = '$ank[id]' LIMIT 1");
        if ( 
$ank['ank_g_r'] == 'null' )
            
$ank['ank_g_r'] = NULL;
    } else
        
$err 'Неверный формат года рождения';
    if ( isset( 
$_POST['ank_city'] ) && preg_match'#^([A-zА-я -]*)$#ui'$_POST['ank_city'] ) ) {
        
$ank['ank_city'] = escstripcslasheshtmlspecialchars$_POST['ank_city'] ) ) );
        
db::query("UPDATE `user` SET `ank_city` = '$ank[ank_city]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Вы ошиблись в поле город';
    if ( isset( 
$_POST['ank_icq'] ) && ( is_numeric$_POST['ank_icq'] ) && strlen$_POST['ank_icq'] ) >= && strlen$_POST['ank_icq'] ) <= || $_POST['ank_icq'] == NULL ) ) {
        
$ank['ank_icq'] = $_POST['ank_icq'];
        if ( 
$ank['ank_icq'] == null )
            
$ank['ank_icq'] = 'null';
        
db::query("UPDATE `user` SET `ank_icq` = $ank[ank_icq] WHERE `id` = '$ank[id]' LIMIT 1");
        if ( 
$ank['ank_icq'] == 'null' )
            
$ank['ank_icq'] = NULL;
    } else
        
$err 'Неверный формат ICQ';
    if ( isset( 
$_POST['ank_skype'] ) && preg_match'#^([A-z0-9 -]*)$#ui'$_POST['ank_skype'] ) ) {
        
$ank['ank_skype'] = $_POST['ank_skype'];
        if ( 
$ank['ank_skype'] == null )
            
$ank['ank_skype'] = 'null';
        
db::query("UPDATE `user` SET `ank_skype` = '" my_esc$ank['ank_skype'] ) . "' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err[] = 'Неверный логин Skype';
    if ( isset( 
$_POST['ank_n_tel'] ) && ( is_numeric$_POST['ank_n_tel'] ) && strlen$_POST['ank_n_tel'] ) >= && strlen$_POST['ank_n_tel'] ) <= 11 || $_POST['ank_n_tel'] == NULL ) ) {
        
$ank['ank_n_tel'] = $_POST['ank_n_tel'];
        
db::query("UPDATE `user` SET `ank_n_tel` = '$ank[ank_n_tel]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Неверный формат номера телефона';
    if ( isset( 
$_POST['ank_mail'] ) && ( $_POST['ank_mail'] == null || preg_match'#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui'$_POST['ank_mail'] ) ) ) {
        
$ank['ank_mail'] = $_POST['ank_mail'];
        
db::query("UPDATE `user` SET `ank_mail` = '$ank[ank_mail]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err[] = 'Неверный E-mail';
    if ( isset( 
$_POST['ank_o_sebe'] ) && preg_match'#^([A-zА-я -]*)$#ui'$_POST['ank_o_sebe'] ) ) {
        
$ank['ank_o_sebe'] = escstripcslasheshtmlspecialchars$_POST['ank_o_sebe'] ) ) );
        
db::query("UPDATE `user` SET `ank_o_sebe` = '$ank[ank_o_sebe]' WHERE `id` = '$ank[id]' LIMIT 1");
    } else
        
$err 'Вы ошиблись в поле о себе';
    if ( isset( 
$_POST['new_pass'] ) && strlen2$_POST['new_pass'] ) > ) {
        
admin_log'Пользователи''Смена пароля'"Пользователю '$ank[nick]' установлен новый пароль" );
        
db::query("UPDATE `user` SET `pass` = '" shif$_POST['new_pass'] ) . "' WHERE `id` = '$ank[id]' LIMIT 1");
    }
    if ( 
user_access'user_change_group' ) && isset( $_POST['group_access'] ) ) {
        if ( 
db::count("SELECT COUNT(*) FROM `user_group` WHERE `id` = '" intval$_POST['group_access'] ) . "' AND `level` < '$user[level]'") == ) {
            if ( 
$ank['group_access'] != intval$_POST['group_access'] ) ) {
                
admin_log'Пользователи''Изменение статуса'"Пользователь '$ank[nick]': Статус '$ank[group_name]' изменен на '" db::count("SELECT `name` FROM `user_group` WHERE `id` = '" intval$_POST['group_access'] ) . "'") . "'" );
                
$ank['group_access'] = intval$_POST['group_access'] );
                
db::query("UPDATE `user` SET `group_access` = '$ank[group_access]' WHERE `id` = '$ank[id]' LIMIT 1");
            }
        }
    }
    if ( ( 
$user['level'] >= || $ank['id'] == $user['id'] ) && isset( $_POST['balls'] ) && is_numeric$_POST['balls'] ) ) {
        
$ank['balls'] = intval$_POST['balls'] );
        
db::query("UPDATE `user` SET `balls` = '$ank[balls]' WHERE `id` = '$ank[id]' LIMIT 1");
    }
    
admin_log'Пользователи''Профиль'"Редактирование профиля пользователя '$ank[nick]' (id#$ank[id])" );
    if ( !isset( 
$err ) )
        
msg'Изменения успешно приняты' );
}
get_header_admin(); 
echo 
"<form method='post' action='user.php?id=$ank[id]'>

    Ник:<br />n<input" 
. ( user_access'user_change_nick' ) ? null ' disabled="disabled"' ) . " type='text' name='nick' value='$ank[nick]' maxlength='32' /><br />
    
    Имя в реале:<br />n<input type='text' name='ank_name' value='
$ank[ank_name]' maxlength='32' /><br />";
echo 
'Дата рождения:<br />
    <select name="ank_d_r">
    <option selected="' 
$ank['ank_d_r'] . '" value="' $ank['ank_d_r'] . '" >' $ank['ank_d_r'] . '<option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
    <option value="24">24</option>
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
    <option value="28">28</option>
    <option value="29">29</option>
    <option value="30">30</option>
    <option value="31">31</option>
    </select>'
;
echo 
'<select name="ank_m_r">
    <option selected="' 
$ank['ank_m_r'] . '" value="' $ank['ank_m_r'] . '" >' $ank['ank_m_r'] . '<option> 
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    </select>'
;
echo 
'<select name="ank_g_r">
    <option selected="' 
$ank['ank_g_r'] . '" value="' $ank['ank_g_r'] . '" >' $ank['ank_g_r'] . '<option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option><option value="1939">1939</option><option value="1938">1938</option><option value="1937">1937</option><option value="1936">1936</option><option value="1935">1935</option><option value="1934">1934</option><option value="1933">1933</option><option value="1932">1932</option><option value="1931">1931</option><option value="1930">1930</option><option value="1929">1929</option><option value="1928">1928</option><option value="1927">1927</option><option value="1926">1926</option><option value="1925">1925</option><option value="1924">1924</option><option value="1923">1923</option><option value="1922">1922</option><option value="1921">1921</option><option value="1920">1920</option>
    </select><br/>'
;
echo 
"Город:<br />n<input type='text' name='ank_city' value='$ank[ank_city]' maxlength='32' /><br />
    
    ICQ:<br />n<input type='text' name='ank_icq' value='
$ank[ank_icq]' maxlength='9' /><br />
    
    Skype логин<br />
        <input type='text' name='ank_skype' value='
$ank[ank_skype]' maxlength='16' /><br />
        
    E-mail:<br />n<input type='text' name='ank_mail' value='
$ank[ank_mail]' maxlength='32' /><br />
    
    Номер телефона:<br />n<input type='text' name='ank_n_tel' value='
$ank[ank_n_tel]' maxlength='11' /><br />
    
    О себе:<br />n<input type='text' name='ank_o_sebe' value='
$ank[ank_o_sebe]' maxlength='512' /><br />n";
echo 
"Автообновление в чате:<br />n<input type='text' name='set_time_chat' value='$ank[set_time_chat]' maxlength='3' /><br />n";
echo 
"Пунктов на страницу:<br />n<input type='text' name='set_p_str' value='$ank[set_p_str]' maxlength='3' /><br />n";
echo 
"Иконки:<br />n<select name="set_show_icon">n";
if ( 
$ank['set_show_icon'] == )
    
$sel ' selected="selected"';
else
    
$sel NULL;
echo 
"<option value="1"$sel>Показывать</option>n";
if ( 
$ank['set_show_icon'] == )
    
$sel ' selected="selected"';
else
    
$sel NULL;
echo 
"<option value="0"$sel>Скрывать</option>n";
echo 
"</select><br />n";
echo 
"Транслит:<br />n<select name="set_translit">n";
if ( 
$ank['set_translit'] == )
    
$sel ' selected="selected"';
else
    
$sel NULL;
echo 
"<option value="1"$sel>По выбору</option>n";
if ( 
$ank['set_translit'] == )
    
$sel ' selected="selected"';
else
    
$sel NULL;
echo 
"<option value="0"$sel>Никогда</option>n";
echo 
"</select><br />n";
echo 
"Выгрузка файлов:<br />n<select name="set_files">n";
if ( 
$ank['set_files'] == )
    
$sel ' selected="selected"';
else
    
$sel NULL;
echo 
"<option value="1"$sel>Показывать поле</option>n";
if ( 
$ank['set_files'] == )
    
$sel ' selected="selected"';
else
    
$sel NULL;
echo 
"<option value="0"$sel>Не использовать выгрузку</option>n";
echo 
"</select><br />n";
if ( 
$user['level'] < )
    
$dis ' disabled="disabled"';
else
    
$dis NULL;
echo 
"Баллы:<br />n<input type='text'$dis name='balls' value='$ank[balls]' /><br />n";
echo 
"Группа:<br />n<select name='group_access'" . ( user_access'user_change_group' ) ? null ' disabled="disabled"' ) . "><br />n";
$q db::query("SELECT * FROM `user_group` ORDER BY `level`,`id` ASC");
while ( 
$post =  $q->fetch_assoc() ) {
    echo 
"<option value='$post[id]'" . ( $post['level'] >= $user['level'] ? " disabled='disabled'" null ) . "" . ( $post['id'] == $ank['group_access'] ? " selected='selected'" null ) . ">" $post['name'] . "</option>n";
}
echo 
"</select><br />n";
echo 
"Новый пароль:<br />n<input type='text' name='new_pass' value='' /><br />n";
echo 
"<input type='submit' name='save' value='Сохранить' />n";
echo 
"</form>n";
echo 
"<div class='foot'>n";
echo 
"&raquo;<a href="/mail.php?id=$ank[id]">Написать сообщение</a><br />n";
echo 
"&laquo;<a href="/info.php?id=$ank[id]">В анкету</a><br />n";
if ( 
user_access'adm_panel_show' ) )
    echo 
"&laquo;<a href='/adm_panel/'>В админку</a><br />n";
echo 
"</div>n";
get_footer_admin();
Онлайн: 1
Реклама