2018-01-28 16:40:49 +00:00
< ? php
ob_start ( " ob_gzhandler " );
2018-12-13 20:37:51 +00:00
session_start ();
2020-08-29 23:21:22 +00:00
if ( empty ( $_SESSION [ 'uid' ])) {
header ( " Location: index.php " );
}
2018-12-14 11:43:50 +00:00
require_once 'config.php' ;
2020-08-29 23:21:22 +00:00
$friendadd = $_POST [ 'friendadd' ] ? ? null ;
$friendremove = $_POST [ 'friendremove' ] ? ? null ;
$friendedit = $_POST [ 'friendedit' ] ? ? null ;
$comment = $_POST [ 'comment' ] ? ? '' ;
if ( $friendadd ) {
$q = db :: c () -> query ( 'SELECT `id` FROM `users` WHERE `login` = "?s"' , $friendadd ) -> fetch_assoc ();
2018-12-14 11:43:50 +00:00
$q2 = db :: c () -> query ( 'SELECT 1 FROM `friends` WHERE `user` = ?i AND `friend` = ?i' , $_SESSION [ 'uid' ], $q [ 'id' ]);
2020-08-29 23:21:22 +00:00
if ( ! $q [ 'id' ]) {
$status = 'Персонаж не найден.' ;
} elseif ( $q [ 'id' ] == $_SESSION [ 'uid' ]) {
$status = 'Себя добавить нельзя.' ;
} elseif ( $q2 -> getNumRows ()) {
$status = 'Персонаж уже есть в списке.' ;
} else {
db :: c () -> query ( 'INSERT INTO `friends` (`user`, `friend`, `comment`) VALUES (?i,?i,"?s")' , $_SESSION [ 'uid' ], $q [ 'id' ], $comment );
2018-12-13 22:06:34 +00:00
$status = 'Контакт добавлен.' ;
2018-01-28 16:40:49 +00:00
}
}
2020-08-29 23:21:22 +00:00
if ( $friendremove ) {
$q = db :: c () -> query ( 'SELECT `id` FROM `users` WHERE `login` = "?s"' , $friendremove ) -> fetch_assoc ();
2018-12-14 11:43:50 +00:00
$q2 = db :: c () -> query ( 'SELECT 1 FROM `friends` WHERE `user` = ?i AND `friend` = ?i' , $_SESSION [ 'uid' ], $q [ 'id' ]);
2020-08-29 23:21:22 +00:00
if ( ! $q [ 'id' ] || ! $q2 -> getNumRows ()) {
$status = 'Персонаж не найден.' ;
} else {
2018-12-14 11:43:50 +00:00
db :: c () -> query ( 'DELETE FROM `friends` WHERE `user` = ?i AND `friend` = ?i' , $_SESSION [ 'uid' ], $q [ 'id' ]);
$status = 'Контакт удалён.' ;
2018-12-13 20:37:51 +00:00
}
2018-06-24 01:18:49 +00:00
}
2020-08-29 23:21:22 +00:00
if ( $friendedit ) {
$q = db :: c () -> query ( 'SELECT `id` FROM `users` WHERE `login` = "?s"' , $friendedit ) -> fetch_assoc ();
2018-12-14 11:43:50 +00:00
$q2 = db :: c () -> query ( 'SELECT 1 FROM `friends` WHERE `user` = ?i AND `friend` = ?i' , $_SESSION [ 'uid' ], $q [ 'id' ]);
2020-08-29 23:21:22 +00:00
if ( ! $q2 [ 'friend' ]) {
$status = 'Персонаж не найден.' ;
} else {
db :: c () -> query ( 'UPDATE `friends` SET `comment` = "?s" WHERE `user` = ?i AND `friend` = ?i' , $comment , $_SESSION [ 'uid' ], $q [ 'id' ]);
2018-12-14 11:43:50 +00:00
$status = 'Контакт изменён.' ;
2018-12-13 20:37:51 +00:00
}
2018-06-24 01:18:49 +00:00
}
2020-08-29 23:21:22 +00:00
$admins_list = db :: c () -> query ( 'SELECT `id` FROM `users` WHERE `admin` = 1 ORDER BY `login`' , ( time () - 60 ));
2018-12-13 22:06:34 +00:00
$contacts_list = db :: c () -> query ( 'SELECT `friend`,`comment` FROM `friends` WHERE `friend` > 0 AND `user` = ?i' , $_SESSION [ 'uid' ]);
2018-12-13 20:37:51 +00:00
?>
2018-12-14 14:44:31 +00:00
<! doctype html >
2018-12-13 20:37:51 +00:00
< HTML >
< HEAD >
< meta charset = " utf-8 " >
< link rel = stylesheet href = " css/main.css " >
2018-01-28 16:40:49 +00:00
</ HEAD >
2018-12-13 21:15:49 +00:00
< body >
2018-12-13 22:23:45 +00:00
< div style = " text-align: right " >
2018-12-14 12:11:33 +00:00
< input type = 'button' value = 'Добавить контакт' onclick = 'addcontact()' >
< input type = 'button' value = 'Удалить контакт' onclick = 'removecontact()' >
2018-12-14 11:43:50 +00:00
< input type = 'button' value = 'Обновить' style = 'width: 75px'
onclick = 'location="/contacts.php?friends=<?= mt_rand() ?>"' >
2018-12-13 22:23:45 +00:00
< input TYPE = 'button' value = 'Вернуться' style = 'width: 75px' onclick = 'location="main.php"' >
</ div >
2018-12-13 22:06:34 +00:00
< div id = hint4 class = ahint >
< ? php if ( isset ( $status )) : ?>
2018-12-13 22:23:45 +00:00
< span style = " color: darkred; " >< ? = $status ?> </span>
2018-12-13 22:06:34 +00:00
< ? php endif ; ?>
</ div >
2018-12-13 21:15:49 +00:00
< TABLE width = " 100% " >
2018-12-13 20:37:51 +00:00
< TR >
2018-12-13 22:23:45 +00:00
< TD style = " vertical-align: top; background: silver; " >
2018-12-14 12:11:33 +00:00
< TABLE cellspacing = 1 width = " 100% " >
2018-12-13 23:58:05 +00:00
< tr >
< td colspan = " 3 " >< h3 > Контакты </ h3 ></ td >
</ tr >
2018-12-13 20:37:51 +00:00
< ? php
2018-12-13 22:06:34 +00:00
while ( $row = $contacts_list -> fetch_assoc ()) :
2018-12-13 23:58:05 +00:00
$us = db :: c () -> query ( 'SELECT `id`,`login`,`room`, `invis`, (select `id` from `online` WHERE `date` >= ?i AND `id` = `users`.`id`) as `online` FROM `users` WHERE `id` = ?i' , ( time () - 60 ), $row [ 'friend' ]) -> fetch_assoc ();
2018-12-13 22:06:34 +00:00
?>
2018-12-13 20:37:51 +00:00
< TR valign = " top " >
< TD >
2018-12-13 21:15:49 +00:00
< ? php
2020-08-27 12:17:02 +00:00
if ( $us [ 'online' ] > 0 && ! $us [ " invis " ]) echo Nick :: id ( $us [ 'id' ]) -> full () . " - <i> " . $us [ 'room' ] . " </i><br> " ;
else echo " <span style='color: grey'> " . Nick :: id ( $us [ 'id' ]) -> full () . " </span><br> " ;
2018-12-13 20:37:51 +00:00
?>
</ TD >
2018-12-14 12:11:33 +00:00
< TD style = " background: darkgrey; width: 65%; padding: 0.2em 1em; border-radius: 2px; " >
2018-12-13 23:58:05 +00:00
< small >< ? = $row [ 'comment' ] ?> </small>
2018-12-13 22:23:45 +00:00
</ TD >
2018-12-13 21:15:49 +00:00
< TD width = " 1% " >
2020-08-29 23:21:22 +00:00
< input type = 'button' style = " background: darkgrey; border: 1px solid grey; border-radius: 2px; " value = " Редактировать " onclick = 'use("comment","wow")' >
<!-- editcontact ( " <?= $us['login'] ?> " , " <?= $row['comment'] ?> " ) -->
2018-12-13 20:37:51 +00:00
</ TD >
</ TR >
2018-12-13 22:06:34 +00:00
< ? endwhile ; ?>
2018-12-13 20:37:51 +00:00
</ TABLE >
</ TD >
2018-12-13 22:23:45 +00:00
< TD style = " width: 200px; vertical-align: top; background: whitesmoke; " >
< h3 > Администраторы </ h3 >
2020-08-27 12:17:02 +00:00
< ? php while ( $row = $admins_list -> fetch_assoc ()) echo Nick :: id ( $row [ 'id' ]) -> full () . " <br> " ; ?>
2018-12-13 20:37:51 +00:00
</ TD >
</ TR >
</ TABLE >
< script >
2018-12-13 23:58:05 +00:00
function editcontact ( login , comment ) {
2019-01-16 17:45:30 +00:00
let s = '<table width=250 bgcolor=CCC3AA><tr><td align=center><b>Редактировать контакт</b></td><td width=20 align=right valign=top style="cursor: hand" onclick="closehint();"><b>x</td></tr><tr><td colspan=2>' ;
2018-12-14 12:20:49 +00:00
s += '<table width=100% align=center bgcolor=FFF6DD><form action="contacts.php" method=POST>' ;
2018-12-14 11:43:50 +00:00
s += '<tr><td><input type="hidden" name="friendedit" value="' + login + '">' ;
2018-12-14 00:41:11 +00:00
s += '<input name="comment" value="' + comment + '" placeholder="Комментарий" style="width: 105px"> ' ;
2018-12-14 00:39:41 +00:00
s += '<input type="submit" value="Сохранить"></td></tr></form></table>' ;
2018-12-14 00:30:54 +00:00
s += '</td></tr></table>' ;
2018-12-13 23:58:05 +00:00
document . getElementById ( " hint4 " ) . innerHTML = s ;
document . getElementById ( " hint4 " ) . style . visibility = " visible " ;
document . getElementById ( " hint4 " ) . style . left = 100 ;
document . getElementById ( " hint4 " ) . style . top = document . body . scrollTop + 50 ;
document . getElementById ( " comment " ) . focus ();
2018-12-13 20:37:51 +00:00
Hint3Name = '' ;
}
2018-01-28 16:40:49 +00:00
2018-12-13 23:58:05 +00:00
function addcontact () {
2019-01-16 17:45:30 +00:00
let s = '<table width=250 bgcolor=CCC3AA><tr><td align=center><B>Добавить контакт</td><td width=20 align=right valign=top style="cursor: hand" onclick="closehint();"><b>x</td></tr><tr><td colspan=2>' ;
2018-12-14 12:20:49 +00:00
s += '<table width=100% bgcolor=FFF6DD align=center><form action="contacts.php" method=POST>' ;
2018-12-14 00:39:41 +00:00
s += '<tr><td><input name="friendadd" placeholder="Логин" style="width:105px"> ' ;
2018-12-14 00:36:47 +00:00
s += '<input name="comment" placeholder="Комментарий" style="width:105px"></td></tr>' ;
2018-12-14 11:43:50 +00:00
s += '<tr><td><input type="submit" value="Добавить запись"></td></tr></form></table>' ;
2018-12-14 00:30:54 +00:00
s += '</td></tr></table>' ;
2018-12-13 23:58:05 +00:00
document . getElementById ( " hint4 " ) . innerHTML = s ;
document . getElementById ( " hint4 " ) . style . visibility = " visible " ;
document . getElementById ( " hint4 " ) . style . left = 100 ;
document . getElementById ( " hint4 " ) . style . top = document . body . scrollTop + 50 ;
document . getElementById ( name ) . focus ();
2018-12-13 20:37:51 +00:00
Hint3Name = name ;
}
2018-01-28 16:40:49 +00:00
2018-12-13 23:58:05 +00:00
function removecontact () {
2019-01-16 17:45:30 +00:00
let s = '<table width=250 bgcolor=CCC3AA><tr><td align=center><b>Удалить контакт</b></td><td width=20 align=right valign=top style="cursor: hand" onclick="closehint();"><b>x</td></tr><tr><td colspan=2>' ;
2018-12-14 12:20:49 +00:00
s += '<table width=100% align=center bgcolor=FFF6DD><form action="contacts.php" method=POST>' ;
2018-12-14 11:43:50 +00:00
s += '<tr><td><input name="friendremove" placeholder="Логин" style="width: 105px"> ' ;
2018-12-14 00:39:41 +00:00
s += '<input type="submit" value="Удалить"></td></tr></form></table>' ;
2018-12-14 00:30:54 +00:00
s += '</td></tr></table>' ;
2018-12-13 23:58:05 +00:00
document . getElementById ( " hint4 " ) . innerHTML = s ;
document . getElementById ( " hint4 " ) . style . visibility = " visible " ;
document . getElementById ( " hint4 " ) . style . left = 100 ;
2018-12-14 11:43:50 +00:00
document . getElementById ( " hint4 " ) . style . top = document . body . scrollTop + 50 ;
2018-12-13 23:58:05 +00:00
document . getElementById ( name ) . focus ();
Hint3Name = name ;
2018-12-13 20:37:51 +00:00
}
2018-01-28 16:40:49 +00:00
2018-12-14 11:43:50 +00:00
function closehint () {
document . getElementById ( " hint4 " ) . style . visibility = " hidden " ;
Hint3Name = '' ;
2018-12-13 20:37:51 +00:00
}
2018-12-14 14:44:31 +00:00
function use ( option , placeholder ) {
2020-08-29 23:21:22 +00:00
document . getElementById ( option ) . innerHTML = " <form method='post'><input placeholder=' " + placeholder + " ' name=' " + option + " '><input value='Ок' type='submit'></form> " ;
2018-12-14 14:44:31 +00:00
}
2018-12-13 20:37:51 +00:00
</ script >
</ body >
2018-01-28 16:40:49 +00:00
</ HTML >