PageRenderTime 60ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 1ms

/profile.view.php

https://bitbucket.org/DESURE/dcms
PHP | 283 lines | 212 code | 50 blank | 21 comment | 75 complexity | def0367bb23f789d63a60aa560738c2b MD5 | raw file
  1. <?php
  2. include_once 'sys/inc/start.php';
  3. $doc = new document (); // ????????????? ????????? ??? ????????
  4. $doc->title = __('??????');
  5. if (isset($_GET ['id'])) {
  6. $ank = new user((int) $_GET ['id']);
  7. } else {
  8. $ank = $user;
  9. }
  10. if (!$ank->group)
  11. $doc->access_denied(__('??? ??????'));
  12. if ($user->id && $ank->id == $user->id)
  13. $doc->title = __('??? ??????');
  14. else
  15. $doc->title = __('?????? "%s"', $ank->login);
  16. $doc->description = __('?????? "%s"', $ank->login);
  17. $doc->keywords [] = $ank->login;
  18. if ($user->group && $ank->id && $user->id != $ank->id && isset($_GET ['friend'])) {
  19. // ????????? ???????? ? "??????"
  20. $q = mysql_query("SELECT * FROM `friends` WHERE `id_user` = '$user->id' AND `id_friend` = '$ank->id' LIMIT 1");
  21. if (mysql_num_rows($q)) {
  22. $friend = mysql_fetch_assoc($q);
  23. if ($friend ['confirm']) {
  24. // ???? ?? ??? ????????? ??????
  25. if (isset($_POST ['delete'])) {
  26. // ??????? ???????????? ?? ??????
  27. mysql_query("DELETE FROM `friends` WHERE `id_user` = '{$user->id}' AND `id_friend` = '{$ank->id}' OR `id_user` = '{$ank->id}' AND `id_friend` = '{$user->id}'");
  28. $doc->msg(__('???????????? ??????? ?????? ?? ??????'));
  29. }
  30. } else {
  31. // ???? ?? ????????? ??????
  32. if (isset($_POST ['no'])) {
  33. // ?? ????????? ??????????? ??????
  34. mysql_query("DELETE FROM `friends` WHERE `id_user` = '$user->id' AND `id_friend` = '$ank->id' OR `id_user` = '$ank->id' AND `id_friend` = '$user->id'");
  35. mysql_query("UPDATE `users` SET `friend_new_count` = `friend_new_count` - '1' WHERE `id` = '{$user->id}' LIMIT 1");
  36. $doc->msg(__('??????????? ?????? ?????????'));
  37. } elseif (isset($_POST ['ok'])) {
  38. // ????????? ??????????? ??????
  39. mysql_query("UPDATE `friends` SET `confirm` = '1' WHERE `id_user` = '$user->id' AND `id_friend` = '$ank->id' LIMIT 1");
  40. mysql_query("UPDATE `users` SET `friend_new_count` = `friend_new_count` - '1' WHERE `id` = '{$user->id}' LIMIT 1");
  41. // ?? ?????? ?????? ???????? ???????? ???? (???? ??? ??? ?????? ????), ???? ??? ??? ????, ?? ????????????? ?? ?????
  42. mysql_query("INSERT INTO `friends` (`confirm`, `id_user`, `id_friend`) VALUES ('1', '$ank->id', '$user->id')");
  43. $doc->msg(__('??????????? ?????? ???????'));
  44. }
  45. }
  46. } else {
  47. if (isset($_GET ['friend']) && isset($_POST ['add'])) {
  48. // ?????????? ??????
  49. // ??????? ? ??????? ??????
  50. mysql_query("INSERT INTO `friends` (`confirm`, `id_user`, `id_friend`) VALUES ('0', '$ank->id', '$user->id'), ('1', '$user->id', '$ank->id')");
  51. mysql_query("UPDATE `users` SET `friend_new_count` = `friend_new_count` + '1' WHERE `id` = '{$ank->id}' LIMIT 1");
  52. $doc->msg(__('??????????? ?????? ??????? ??????????'));
  53. }
  54. }
  55. }
  56. if ($ank->is_ban) {
  57. $posts = array();
  58. $q = mysql_query("SELECT * FROM `ban` WHERE `id_user` = '$ank->id' AND `time_start` < '" . TIME . "' AND (`time_end` is NULL OR `time_end` > '" . TIME . "') ORDER BY `id` DESC");
  59. while ($c = mysql_fetch_assoc($q)) {
  60. $adm = new user($c ['id_adm']);
  61. $t = ($adm->group <= $user->group ? '<a href="/profile.view.php?id=' . $adm->id . '">' . $adm->nick . '</a>: ' : '') . for_value($c ['code']);
  62. $post = '';
  63. if ($c ['time_start'] && TIME < $c ['time_start']) {
  64. $post .= '[b]' . __('?????? ????????') . ':[/b]' . vremja($c ['time_start']) . "\n";
  65. }
  66. if ($c['time_end'] === NULL) {
  67. $post .= '[b]' . __('??????????? ??????????') . "[/b]\n";
  68. } elseif (TIME < $c['time_end']) {
  69. $post .= __('????????: %s', vremja($c['time_end'])) . "\n";
  70. }
  71. if ($c['link']) {
  72. $post .= __('?????? ?? ?????????: %s', $c['link']) . "\n";
  73. }
  74. $post .= __('???????????: %s', $c['comment']) . "\n";
  75. $posts [] = array('title' => $t, 'post' => output_text($post));
  76. }
  77. $show = new design ();
  78. $show->assign('post', $posts);
  79. $show->display('design.listing.tpl');
  80. }
  81. // ??????
  82. if ($path = $ank->getAvatar($doc->img_max_width())) {
  83. echo "<img class='photo' src='" . $path . "' alt='" . __('?????? %s', $ank->login) . "' /><br />\n";
  84. }
  85. // ??????
  86. if ($ank->group > 1) {
  87. echo "<b>$ank->group_name</b>";
  88. $q = mysql_query("SELECT `id_adm` FROM `log_of_user_status` WHERE `id_user` = '$ank->id' ORDER BY `id` DESC LIMIT 1");
  89. if (mysql_num_rows($q)) {
  90. $adm = new user(mysql_result($q, 0));
  91. echo ' (' . __('????????' . ($adm->sex ? '' : '?')) . ' ' . __($adm->group_name) . ' "' . $adm->nick . '")';
  92. }
  93. echo "<br />\n";
  94. } // VIP ??????
  95. elseif ($ank->is_vip) {
  96. echo '<img src="/sys/images/icons/vip.png" alt="VIP" /> VIP <a href="/faq.php?info=vip&amp;return=' . URL . '">?</a><br />';
  97. }
  98. // ???????? ???
  99. if ($ank->realname) {
  100. echo __('???') . ": {$ank->realname}<br />\n";
  101. }
  102. // ???? ???????? ? ???????
  103. if ($ank->ank_d_r && $ank->ank_m_r && $ank->ank_g_r) {
  104. echo __('???? ????????') . ': ' . $ank->ank_d_r . ' ' . rus_mes($ank->ank_m_r) . ' ' . $ank->ank_g_r . "<br />\n";
  105. echo __('???????') . ': ' . misc::get_age($ank->ank_g_r, $ank->ank_m_r, $ank->ank_d_r, true) . "<br />\n";
  106. } elseif ($ank->ank_d_r && $ank->ank_m_r)
  107. echo __('???? ????????') . ': ' . $ank->ank_d_r . ' ' . rus_mes($ank->ank_m_r) . "<br />\n";
  108. if ($ank->id) {
  109. // ????? ???????????? ?????????????
  110. $photos = new files(FILES . '/.photos');
  111. // ????? ???????? ????????????
  112. $albums_path = FILES . '/.photos/' . $ank->id;
  113. if (!@is_dir($albums_path)) {
  114. if ($albums_dir = $photos->mkdir($ank->login, $ank->id)) {
  115. $albums_dir->group_show = 0;
  116. $albums_dir->group_write = min($ank->group, 2);
  117. $albums_dir->group_edit = max($ank->group, 4);
  118. $albums_dir->id_user = $ank->id;
  119. unset($albums_dir);
  120. }
  121. }
  122. $albums_dir = new files($albums_path);
  123. $photos_count ['all'] = $albums_dir->count();
  124. if ($photos_count ['all']) {
  125. $photos_count ['new'] = $albums_dir->count(NEW_TIME);
  126. echo '<img src="/sys/images/icons/photos.png" alt="" /><a href="/photos/albums.php?id=' . $ank->id . '">' . __('??????????') . '</a> (' . $photos_count ['all'] . ')' . ($photos_count ['new'] ? ' +' . $photos_count ['new'] : null) . '<br />';
  127. }
  128. }
  129. // ?????
  130. if ($ank->icq_uin) {
  131. if ($ank->is_friend($user) || $ank->vis_icq) {
  132. echo "<img src='http://wwp.icq.com/scripts/online.dll?icq={$ank->icq_uin}&amp;img=27' alt='" . __('ICQ UIN') . "' /> {$ank->icq_uin}<br />";
  133. } else
  134. echo __('ICQ UIN') . ': <a href="/faq.php?info=hide&amp;return=' . URL . '">?</a><br />';
  135. }
  136. // ?????
  137. if ($ank->skype) {
  138. if ($ank->is_friend($user) || $ank->vis_skype)
  139. echo "<img src=\"http://mystatus.skype.com/smallicon/{$ank->skype}\" width=\"16\" height=\"16\" alt=\"" . __("??? ??????") . "\" /> <a href=\"skype:{$ank->skype}?chat\">{$ank->skype}</a><br />";
  140. else
  141. echo __('Skype') . ': <a href="/faq.php?info=hide&amp;return=' . URL . '">?</a><br />';
  142. }
  143. // ????
  144. if ($ank->email) {
  145. $doc->keywords [] = $ank->email;
  146. if ($ank->is_friend($user) || $ank->vis_email) {
  147. if (preg_match("#\@(mail|bk|inbox|list)\.ru$#i", $ank->email))
  148. echo "<img src='http://status.mail.ru/?{$ank->email}' width='13' height='13' alt='' /> <a href='mailto:{$ank->email}'>{$ank->email}</a><br />";
  149. else
  150. echo __("E-mail") . ": <a href='mailto:{$ank->email}'>{$ank->email}</a><br />";
  151. } else
  152. echo __('E-mail') . ': <a href="/faq.php?info=hide&amp;return=' . URL . '">?</a><br />';
  153. }
  154. // ??????????????? email
  155. if ($ank->reg_mail) {
  156. if ($user->group > $ank->group) {
  157. echo __("??????????????? E-mail") . ": <a href='mailto:{$ank->reg_mail}'>{$ank->reg_mail}</a><br />";
  158. }
  159. }
  160. if ($ank->wmid) {
  161. echo __("WMID") . ": <a" . ($dcms->browser_type == 'web' ? " target='_blank'" : null) . " href='http://passport.webmoney.ru/asp/certview.asp?wmid=$ank->wmid'>$ank->wmid</a> BL:<img src=\"http://stats.wmtransfer.com/Levels/pWMIDLevel.aspx?wmid=$ank->wmid&amp;w=35&amp;h=16\" width=\"35\" height=\"16\" alt=\"BL\" /><br />";
  162. }
  163. if ($ank->is_friend($user) || $ank->vis_friends) {
  164. $k_friends = mysql_result(mysql_query("SELECT COUNT(*) FROM `friends` WHERE `id_user` = '$ank->id' AND `confirm` = '1'"), 0);
  165. echo "<a href='" . ($ank->id == $user->id ? "/my.friends.php" : "/profile.friends.php?id={$ank->id}") . "'>" . __('??????') . ": " . $k_friends . '</a><br />';
  166. } else
  167. echo __('??????') . ': <a href="/faq.php?info=hide&amp;return=' . URL . '">?</a><br />';
  168. echo "<a href='/profile.reviews.php?id={$ank->id}'>" . __('???????') . ": " . $ank->rating . '</a><br />';
  169. echo __("?????") . ": {$ank->balls}<br />";
  170. if ($ank->description)
  171. echo __('? ????') . ': ' . output_text($ank->description) . "<br />";
  172. echo __('????????? ?????') . ': ' . vremja($ank->last_visit) . '<br />';
  173. echo __("????? ?????????") . ": {$ank->conversions}<br />";
  174. echo __('???? ???????????') . ': ' . date('d-m-Y', $ank->reg_date) . '<br />';
  175. $q = mysql_query("SELECT `id_user` FROM `invations` WHERE `id_invite` = '$ank->id' LIMIT 1");
  176. if (mysql_num_rows($q)) {
  177. $inv = new user(mysql_result($q, 0, 'id_user'));
  178. echo output_text(__('?? ??????????? ?? %s', '[user]' . $inv->id . '[/user]'));
  179. }
  180. if ($user->group && $ank->id && $user->id != $ank->id) {
  181. $q = mysql_query("SELECT * FROM `friends` WHERE `id_user` = '$user->id' AND `id_friend` = '$ank->id' LIMIT 1");
  182. if (mysql_num_rows($q)) {
  183. $friend = mysql_fetch_assoc($q);
  184. if ($friend ['confirm']) {
  185. // ???????????? ????????? ? ???????
  186. if (isset($_GET ['friend']) && $_GET ['friend'] == 'delete') {
  187. $form = new design ();
  188. $form->assign('method', 'post');
  189. $form->assign('action', "?id={$ank->id}&amp;friend&amp;" . passgen());
  190. $elements = array();
  191. $elements [] = array('type' => 'text', 'br' => 1, 'value' => output_text(__('????????????? ?????? ??????? ???????????? "%s" ?? ???????', $ank->login))); // ???????
  192. $elements [] = array('type' => 'submit', 'br' => 0, 'info' => array('name' => 'delete', 'value' => __('??, ???????'))); // ??????
  193. $form->assign('el', $elements);
  194. $form->display('input.form.tpl');
  195. }
  196. if (!$ank->is_friend($user))
  197. echo "<b>" . __('???????????? ??? ?? ?????????? ???? ????? ??????') . "</b><br />";
  198. $doc->act(__('??????? ?? ??????'), "?id={$ank->id}&amp;friend=delete");
  199. } else {
  200. // ???????????? ?? ? ???????
  201. $form = new design ();
  202. $form->assign('method', 'post');
  203. $form->assign('action', "?id={$ank->id}&amp;friend&amp;" . passgen());
  204. $elements = array();
  205. $elements [] = array('type' => 'text', 'br' => 1, 'value' => output_text(__('???????????? "%s" ?????????? ??? ??????', $ank->login))); // ???????
  206. $elements [] = array('type' => 'submit', 'br' => 0, 'info' => array('name' => 'ok', 'value' => __('????????'))); // ??????
  207. $elements [] = array('type' => 'submit', 'br' => 0, 'info' => array('name' => 'no', 'value' => __('?? ????????'))); // ??????
  208. $form->assign('el', $elements);
  209. $form->display('input.form.tpl');
  210. }
  211. } else {
  212. if (isset($_GET ['friend']) && $_GET ['friend'] == 'add') {
  213. $form = new design ();
  214. $form->assign('method', 'post');
  215. $form->assign('action', "?id={$ank->id}&amp;friend&amp;" . passgen());
  216. $elements = array();
  217. $elements [] = array('type' => 'text', 'br' => 1, 'value' => output_text(__('?????????? ???????????? "%s" ???????', $ank->login))); // ???????
  218. $elements [] = array('type' => 'submit', 'br' => 0, 'info' => array('name' => 'add', 'value' => __('??????????'))); // ??????
  219. $form->assign('el', $elements);
  220. $form->display('input.form.tpl');
  221. }
  222. $doc->act(__('???????? ? ??????'), "?id={$ank->id}&amp;friend=add");
  223. }
  224. }
  225. if ($user->group && $ank->id != $user->id) {
  226. $doc->act(__('???????? ?????????'), "my.mail.php?id={$ank->id}");
  227. if ($user->group > $ank->group) {
  228. $doc->act(__('????????? ????????'), "/dpanel/user.actions.php?id={$ank->id}");
  229. }
  230. }
  231. if ($user->group)
  232. $doc->ret(__('?????? ????'), '/menu.user.php');
  233. ?>