<?php /** * @package JohnCMS * @link http://johncms.com * @copyright Copyright (C) 2008-2011 JohnCMS Community * @license LICENSE.txt (see attached file) * @version VERSION.txt (see attached file) * @author http://johncms.com/about */ defined('_IN_JOHNCMS') or die('Error: restricted access'); $textl = htmlspecialchars($user['name']) . ': ' . $lng_profile['profile_edit']; require('../incfiles/head.php'); /* ----------------------------------------------------------------- Проверяем права доступа для редактирования Профиля ----------------------------------------------------------------- */ if (!empty($ban) || $user['id'] != $user_id && ($rights < 7 || $user['rights'] >= $rights)) { echo functions::display_error($lng_profile['error_rights']); require('../incfiles/end.php'); exit; } /* ----------------------------------------------------------------- Сброс настроек ----------------------------------------------------------------- */ if ($rights >= 7 && $rights > $user['rights'] && $act == 'reset') { mysql_query("UPDATE `users` SET `set_user` = '', `set_forum` = '', `set_chat` = '' WHERE `id` = '" . $user['id'] . "'"); echo '<div class="gmenu"><p>' . $lng['settings_default'] . '<br /><a href="profile.php?user=' . $user['id'] . '">' . $lng['to_form'] . '</a></p></div>'; require('../incfiles/end.php'); exit; } echo '<div class="phdr"><a href="profile.php?user=' . $user['id'] . '"><b>' . ($user['id'] != $user_id ? $lng['profile'] : $lng_profile['my_profile']) . '</b></a> | ' . $lng['edit'] . '</div>'; if (isset($_GET['delavatar'])) { /* ----------------------------------------------------------------- Удаляем аватар ----------------------------------------------------------------- */ @unlink('../files/users/avatar/' . $user['id'] . '.png'); echo '<div class="rmenu">' . $lng_profile['avatar_deleted'] . '</div>'; } elseif (isset($_GET['delphoto'])) { /* ----------------------------------------------------------------- Удаляем фото ----------------------------------------------------------------- */ @unlink('../files/users/photo/' . $user['id'] . '.jpg'); @unlink('../files/users/photo/' . $user['id'] . '_small.jpg'); echo '<div class="rmenu">' . $lng_profile['photo_deleted'] . '</div>'; } elseif (isset($_POST['submit'])) { /* ----------------------------------------------------------------- Принимаем данные из формы, проверяем и записываем в базу ----------------------------------------------------------------- */ $error = array (); $user['imname'] = isset($_POST['imname']) ? functions::check(mb_substr($_POST['imname'], 0, 25)) : ''; $user['live'] = isset($_POST['live']) ? functions::check(mb_substr($_POST['live'], 0, 50)) : ''; $user['dayb'] = isset($_POST['dayb']) ? intval($_POST['dayb']) : 0; $user['monthb'] = isset($_POST['monthb']) ? intval($_POST['monthb']) : 0; $user['yearofbirth'] = isset($_POST['yearofbirth']) ? intval($_POST['yearofbirth']) : 0; $user['sem_pol'] = isset($_POST['sem_pol']) ? intval($_POST['sem_pol']) : 0; $user['about'] = isset($_POST['about']) ? functions::check(mb_substr($_POST['about'], 0, 500)) : ''; $user['mibile'] = isset($_POST['mibile']) ? functions::check(mb_substr($_POST['mibile'], 0, 40)) : ''; $user['mail'] = isset($_POST['mail']) ? functions::check(mb_substr($_POST['mail'], 0, 40)) : ''; $user['mailvis'] = isset($_POST['mailvis']) ? 1 : 0; $user['icq'] = isset($_POST['icq']) ? intval($_POST['icq']) : 0; $user['skype'] = isset($_POST['skype']) ? functions::check(mb_substr($_POST['skype'], 0, 40)) : ''; $user['jabber'] = isset($_POST['jabber']) ? functions::check(mb_substr($_POST['jabber'], 0, 40)) : ''; $user['www'] = isset($_POST['www']) ? functions::check(mb_substr($_POST['www'], 0, 40)) : ''; // Данные юзера (для Администраторов) $user['name'] = isset($_POST['name']) ? functions::check(mb_substr($_POST['name'], 0, 20)) : $user['name']; $user['status'] = isset($_POST['status']) ? functions::check(mb_substr($_POST['status'], 0, 50)) : ''; $user['karma_off'] = isset($_POST['karma_off']) ? 1 : 0; $user['sex'] = isset($_POST['sex']) && $_POST['sex'] == 'm' ? 'm' : 'zh'; $user['rights'] = isset($_POST['rights']) ? abs(intval($_POST['rights'])) : $user['rights']; // Проводим необходимые проверки if($user['rights'] > $rights || $user['rights'] > 9 || $user['rights'] < 0) $user['rights'] = 0; if ($rights >= 7) { if (mb_strlen($user['name']) < 2 || mb_strlen($user['name']) > 20) $error[] = $lng_profile['error_nick_lenght']; $lat_nick = functions::rus_lat(mb_strtolower($user['name'])); if (preg_match("/[^0-9a-z\-\@\*\(\)\?\!\~\_\=\[\]]+/", $lat_nick)) $error[] = $lng_profile['error_nick_symbols']; } if ($user['dayb'] || $user['monthb'] || $user['yearofbirth']) { if ($user['dayb'] < 1 || $user['dayb'] > 31 || $user['monthb'] < 1 || $user['monthb'] > 12) $error[] = $lng_profile['error_birth']; } if ($user['icq'] && ($user['icq'] < 10000 || $user['icq'] > 999999999)) $error[] = $lng_profile['error_icq']; if (!$error) { mysql_query("UPDATE `users` SET `imname` = '" . $user['imname'] . "', `live` = '" . $user['live'] . "', `dayb` = '" . $user['dayb'] . "', `monthb` = '" . $user['monthb'] . "', `yearofbirth` = '" . $user['yearofbirth'] . "', `sem_pol` = '" . $user['sem_pol'] . "', `about` = '" . $user['about'] . "', `mibile` = '" . $user['mibile'] . "', `mail` = '" . $user['mail'] . "', `mailvis` = '" . $user['mailvis'] . "', `icq` = '" . $user['icq'] . "', `skype` = '" . $user['skype'] . "', `jabber` = '" . $user['jabber'] . "', `www` = '" . $user['www'] . "' WHERE `id` = '" . $user['id'] . "' "); if ($rights >= 7) { mysql_query("UPDATE `users` SET `name` = '" . $user['name'] . "', `status` = '" . $user['status'] . "', `karma_off` = '" . $user['karma_off'] . "', `sex` = '" . $user['sex'] . "', `rights` = '" . $user['rights'] . "' WHERE `id` = '" . $user['id'] . "' "); } echo '<div class="gmenu">' . $lng_profile['data_saved'] . '</div>'; } else { echo functions::display_error($error); } header('Location: profile.php?act=edit&user=' . $user['id']); exit; } /* ----------------------------------------------------------------- Форма редактирования анкеты пользователя ----------------------------------------------------------------- */ echo '<form action="profile.php?act=edit&user=' . $user['id'] . '" method="post">' . '<div class="gmenu"><p>' . $lng['login_name'] . ': <b>' . $user['name_lat'] . '</b><br />'; if ($rights >= 7) { echo $lng['nick'] . ': (' . $lng_profile['nick_lenght'] . ')<br /><input type="text" value="' . $user['name'] . '" name="name" /><br />' . $lng['status'] . ': (' . $lng_profile['status_lenght'] . ')<br /><input type="text" value="' . $user['status'] . '" name="status" /><br />'; } else { echo '<span class="gray">' . $lng['nick'] . ':</span> <b>' . $user['name'] . '</b><br />' . '<span class="gray">' . $lng['status'] . ':</span> ' . $user['status'] . '<br />'; } echo '</p><p>' . $lng['avatar'] . ':<br />'; $link = ''; if (file_exists(('../files/users/avatar/' . $user['id'] . '.png'))) { echo '<img src="../files/users/avatar/' . $user['id'] . '.png" width="32" height="32" alt="' . $user['name'] . '" /><br />'; $link = ' | <a href="profile.php?act=edit&user=' . $user['id'] . '&delavatar">' . $lng['delete'] . '</a>'; } echo '<small><a href="profile.php?act=images&mod=avatar&user=' . $user['id'] . '">' . $lng_profile['upload'] . '</a>'; if($user['id'] == $user_id) echo ' | <a href="../pages/faq.php?act=avatars">' . $lng['select'] . '</a>'; echo $link . '</small></p>'; echo '<p>' . $lng_profile['photo'] . ':<br />'; $link = ''; if (file_exists('../files/users/photo/' . $user['id'] . '_small.jpg')) { echo '<a href="../files/users/photo/' . $user['id'] . '.jpg"><img src="../files/users/photo/' . $user['id'] . '_small.jpg" alt="' . $user['name'] . '" border="0" /></a><br />'; $link = ' | <a href="profile.php?act=edit&user=' . $user['id'] . '&delphoto">' . $lng['delete'] . '</a>'; } echo '<small><a href="profile.php?act=images&mod=up_photo&user=' . $user['id'] . '">' . $lng_profile['upload'] . '</a>' . $link . '</small><br />' . '</p></div>' . '<div class="menu">' . '<p><h3><img src="../images/contacts.png" width="16" height="16" class="left" /> ' . $lng_profile['personal_data'] . '</h3>' . $lng_profile['name'] . ':<br /><input type="text" value="' . $user['imname'] . '" name="imname" /></p>' . '<p>' . $lng_profile['birth_date'] . '<br />'; if ($users['sex']=='m'){$sem = array('0' => 'Не выбрано', '1' => 'Не женат', '2' => 'Есть девушка', '3' => 'Женат', '4' => 'Всё сложно', '5' => 'В активном поиске'); } else{$sem = array('0' => 'Не выбрано', '1' => 'Не замужем', '2' => 'Есть парень', '3' => 'Замужем', '4' => 'Всё сложно', '5' => 'В активном поиске'); } $sem_pol= null; foreach ($sem as $sm1 => $smp1) { if ($ya['sem_pol'] == $sm1) $sem_pol .= '<option selected value="'.$sm1.'">'.$smp1.'</option>'; else $sem_pol .= '<option value="'.$sm1.'">'.$smp1.'</option>'; } echo '<input type="text" value="' . $user['dayb'] . '" size="2" maxlength="2" name="dayb" />.' . '<input type="text" value="' . $user['monthb'] . '" size="2" maxlength="2" name="monthb" />.' . '<input type="text" value="' . $user['yearofbirth'] . '" size="4" maxlength="4" name="yearofbirth" /></p><br/>Семейное положение<br /><p><select name="sem_pol">'.$sem_pol.'</select></p><br/><p>' . $lng_profile['city'] . ':<br /><input type="text" value="' . $user['live'] . '" name="live" /></p>' . '<p>' . $lng_profile['about'] . ':<br /><textarea rows="' . $set_user['field_h'] . '" name="about">' . strip_tags($user['about']) . '</textarea></p>' . '<p><h3><img src="../images/mail.png" width="16" height="16" class="left" /> ' . $lng_profile['communication'] . '</h3>' . $lng_profile['phone_number'] . ':<br /><input type="text" value="' . $user['mibile'] . '" name="mibile" /><br />' . '</p><p>E-mail:<br /><small>' . $lng_profile['email_warning'] . '</small><br />' . '<input type="text" value="' . $user['mail'] . '" name="mail" /><br />' . '<input name="mailvis" type="checkbox" value="1" ' . ($user['mailvis'] ? 'checked="checked"' : '') . ' /> ' . $lng_profile['show_in_profile'] . '</p>' . '<p>ICQ:<br /><input type="text" value="' . $user['icq'] . '" name="icq" size="10" maxlength="10" /></p>' . '<p>Skype:<br /><input type="text" value="' . $user['skype'] . '" name="skype" /></p>' . '<p>Jabber:<br /><input type="text" value="' . $user['jabber'] . '" name="jabber" /></p>' . '<p>' . $lng_profile['site'] . ':<br /><input type="text" value="' . $user['www'] . '" name="www" /></p>' . '</div>'; // Административные функции if ($rights >= 7) { echo '<div class="rmenu"><p><h3><img src="../images/settings.png" width="16" height="16" class="left" /> ' . $lng['settings'] . '</h3><ul>'; if ($rights == 9) { echo '<li><input name="karma_off" type="checkbox" value="1" ' . ($user['karma_off'] ? 'checked="checked"' : '') . ' /> <span class="red"><b>' . $lng_profile['deny_karma'] . '</b></span></li>'; } echo '<li><a href="profile.php?act=password&user=' . $user['id'] . '">' . $lng['change_password'] . '</a></li>'; if($rights > $user['rights']) echo '<li><a href="profile.php?act=reset&user=' . $user['id'] . '">' . $lng['reset_settings'] . '</a></li>'; echo '<li>' . $lng_profile['specify_sex'] . ':<br />' . '<input type="radio" value="m" name="sex" ' . ($user['sex'] == 'm' ? 'checked="checked"' : '') . '/> ' . $lng_profile['sex_m'] . '<br />' . '<input type="radio" value="zh" name="sex" ' . ($user['sex'] == 'zh' ? 'checked="checked"' : '') . '/> ' . $lng_profile['sex_w'] . '</li>' . '</ul></p>'; if ($user['id'] != $user_id) { echo '<p><h3><img src="../images/forbidden.png" width="16" height="16" class="left" /> ' . $lng_profile['rank'] . '</h3><ul>' . '<input type="radio" value="0" name="rights" ' . (!$user['rights'] ? 'checked="checked"' : '') . '/> <b>' . $lng_profile['rank_0'] . '</b><br />' . '<input type="radio" value="3" name="rights" ' . ($user['rights'] == 3 ? 'checked="checked"' : '') . '/> ' . $lng_profile['rank_3'] . '<br />' . '<input type="radio" value="4" name="rights" ' . ($user['rights'] == 4 ? 'checked="checked"' : '') . '/> ' . $lng_profile['rank_4'] . '<br />' . '<input type="radio" value="5" name="rights" ' . ($user['rights'] == 5 ? 'checked="checked"' : '') . '/> ' . $lng_profile['rank_5'] . '<br />' . '<input type="radio" value="6" name="rights" ' . ($user['rights'] == 6 ? 'checked="checked"' : '') . '/> ' . $lng_profile['rank_6'] . '<br />'; if ($rights == 9) { echo '<input type="radio" value="7" name="rights" ' . ($user['rights'] == 7 ? 'checked="checked"' : '') . '/> ' . $lng_profile['rank_7'] . '<br />' . '<input type="radio" value="9" name="rights" ' . ($user['rights'] == 9 ? 'checked="checked"' : '') . '/> <span class="red"><b>' . $lng_profile['rank_9'] . '</b></span><br />'; } echo '</ul></p>'; } echo '</div>'; } echo '<div class="gmenu"><input type="submit" value="' . $lng['save'] . '" name="submit" /></div>' . '</form>' . '<div class="phdr"><a href="profile.php?user=' . $user['id'] . '">' . $lng['to_form'] . '</a></div>'; ?>