mirror of
https://github.com/claradex/nativegallery.git
synced 2024-11-15 11:39:07 +03:00
279 lines
No EOL
17 KiB
PHP
279 lines
No EOL
17 KiB
PHP
<?php
|
||
|
||
use \App\Services\{Auth, DB, Date};
|
||
use \App\Models\User;
|
||
|
||
$userprofile = new User(explode('/', $_SERVER['REQUEST_URI'])[2]);
|
||
?>
|
||
<!DOCTYPE html>
|
||
<html lang="ru">
|
||
|
||
<head>
|
||
<?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/LoadHead.php'); ?>
|
||
|
||
|
||
</head>
|
||
|
||
|
||
<body>
|
||
<div id="backgr"></div>
|
||
<table class="tmain">
|
||
<?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/Navbar.php'); ?>
|
||
<tr>
|
||
<td class="main">
|
||
<?php
|
||
if ((int)$userprofile->i('id') === (int)explode('/', $_SERVER['REQUEST_URI'])[2]) { ?>
|
||
<h1><?= htmlspecialchars($userprofile->i('username')) ?><?php if ($userprofile->i('admin') === 1) { echo '<img width="32" src="/static/img/star.png">'; } ?></h1>
|
||
<?php
|
||
if ($userprofile->i('admin') === 1) {
|
||
echo 'Администратор сервера';
|
||
} else if ($userprofile->i('admin') === 2) {
|
||
echo 'Фотомодератор';
|
||
}
|
||
if ($userprofile->i('id') === Auth::userid()) { ?>
|
||
<p><b><a href="/lk/profile">Редактировать мой профиль</a></b></p>
|
||
<?php } ?>
|
||
<div class="p20" style="padding-right:12px; background-color: white !important;">
|
||
<table width="100%">
|
||
<tr>
|
||
<?php if ($userprofile->content('badge') !== null) { ?>
|
||
<div style="float:left; border:solid 1px #3b7dc1; padding:6px 10px 7px; margin-bottom:13px; background-color:#0199ff44"><b><?=nl2br($userprofile->content('badge'))?></div><br>
|
||
<?php } ?>
|
||
<td style="vertical-align:top; width:100%" valign="top" width="100%">
|
||
<table style="margin-bottom: 15px;">
|
||
<colgroup><col width="170px">
|
||
</colgroup>
|
||
<col width="170px">
|
||
<?php
|
||
if ($userprofile->content('location') !== null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Откуда:</td>
|
||
<td><?= htmlspecialchars($userprofile->content('location')) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutlive']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Откуда:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutlive']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutbirthday']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">День рождения:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutbirthday']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
</col></table>
|
||
<table style="margin-bottom: 15px;">
|
||
<colgroup><col width="170px">
|
||
</colgroup>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutlangs']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Владение языками:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutlangs']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['abouttelegram']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Telegram:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['abouttelegram']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutvk']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">ВКонтакте:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutvk']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['abouttwitter']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Twitter/X:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['abouttwitter']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutyoutube']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">YouTube:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutyoutube']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutemail']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Почта:</td>
|
||
<td><a href="emailto:<?=htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutemail']['value'])?>"><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutemail']['value']) ?></a></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutinstagram']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Instagram:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutinstagram']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['abouttransphoto']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">TransPhoto:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['abouttransphoto']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutwebsite']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Личный сайт:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutwebsite']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
</table>
|
||
<table style="margin-bottom: 15px;">
|
||
<colgroup><col width="170px">
|
||
</colgroup>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutfavs_trains']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Любимые модели поездов:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutfavs_trains']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutfavs_countries']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Любимые страны:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutfavs_countries']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutfavs_cities']['value'] != null) { ?>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Любимые города:</td>
|
||
<td><?= htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutfavs_cities']['value']) ?></td>
|
||
</tr>
|
||
<?php } ?>
|
||
</table>
|
||
<table>
|
||
<colgroup><col width="170px">
|
||
</colgroup>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Дата регистрации:</td>
|
||
<td><span class="sm"><?= Date::zmdate($userprofile->content('regdate')) ?></span></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="sm" style="padding:3px 10px 3px 0">Был на сайте:</td>
|
||
<td><span class="sm"><?= Date::zmdate($userprofile->i('online')) ?> <?php if (time() - 300 <= $userprofile->i('online')) { ?>(<b>online</b>)<?php } ?></span></td>
|
||
</tr>
|
||
</table>
|
||
<br />
|
||
<div class="sm" style="float:right"><a href="/lk/ticket.php?action=add&aid=140"></a></div>
|
||
</td>
|
||
|
||
<td valign="top" align="right">
|
||
<script>
|
||
function getBodyScrollTop() {
|
||
return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
|
||
}
|
||
|
||
function showUserPhoto() {
|
||
_getID('userphoto_big_img').src = '<?= $userprofile->i('photourl') ?>';
|
||
_getID('userphoto_big_div').style.top = '' + (getBodyScrollTop() + 10) + 'px';
|
||
_getID('userphoto_big_div').style.display = 'block';
|
||
}
|
||
|
||
function hideUserPhoto() {
|
||
_getID('userphoto_big_div').style.display = 'none';
|
||
}
|
||
|
||
document.onclick = function(e) {
|
||
e = e || window.event;
|
||
E = e.target || e.srcElement;
|
||
if (E.id != 'userphoto_big_div' && E.id != 'userphoto_img') {
|
||
_getID('userphoto_big_div').style.display = 'none';
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<div id="userphoto_big_div" style="position:absolute; display:none; border:1px solid gray; padding:10px; background-color:white; margin:auto; text-align:center; right:100px; z-index:3000" class="p5 shadow"><a href="#" onclick="hideUserPhoto(); return false"><img src="" id="userphoto_big_img" border="0" style="vertical-align:middle"></a>
|
||
<div style="margin-top:8px"><a class="dot" href="#" onclick="hideUserPhoto(); return false">закрыть</a></div>
|
||
</div>
|
||
|
||
<a href="<?= $userprofile->i('photourl') ?>" onclick="showUserPhoto(); return false;"><img onerror="this.src = '/static/img/avatar.png'; this.onerror = null;" src="<?= $userprofile->i('photourl') ?>" alt="" id="userphoto_img" class="f" style="width:auto; max-width:100px"></a>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<?php
|
||
if (json_decode($userprofile->i('content'), true)['aboutmemo']['value'] != null) { ?>
|
||
<div class="p20" style="margin-top: 8px; background-color: white !important;">
|
||
<h4>О себе</h4>
|
||
<?php
|
||
$bbcode= new ChrisKonnertz\BBCode\BBCode();
|
||
|
||
$rendered = $bbcode->render(nl2br(htmlspecialchars(json_decode($userprofile->i('content'), true)['aboutmemo']['value'])));
|
||
echo $rendered;
|
||
?>
|
||
</div>
|
||
<?php } ?>
|
||
|
||
<div style="margin-top: 25px;"><b><a href="/search?id=<?=$userprofile->i('id')?>">Найти все фотографии, сделанные этим пользователем</a></b></div>
|
||
|
||
<?php
|
||
if ($userprofile->i('id') != Auth::userid()) { ?>
|
||
<script>
|
||
|
||
|
||
$(document).ready(function()
|
||
{
|
||
$('.toggle, .toggle-label').on('click', function()
|
||
{
|
||
var toggle = $('.toggle').toggleClass('on');
|
||
|
||
var subscr_cnt = $('#subscr_cnt');
|
||
var cnt = parseInt(subscr_cnt.text());
|
||
subscr_cnt.html(toggle.is('.on') ? cnt+1 : cnt-1);
|
||
|
||
$.get('/api/subscribe', { action: 'subscribe', id: <?=$userprofile->i('id')?>, subj: 'a' }, function (r)
|
||
{
|
||
if (r != 0 && r != 1)
|
||
{
|
||
toggle.toggleClass('on');
|
||
alert(r);
|
||
}
|
||
else toggle.attr('class', (r == 1) ? 'toggle on' : 'toggle');
|
||
});
|
||
});
|
||
});
|
||
|
||
|
||
</script>
|
||
<?php
|
||
if (DB::query('SELECT follower_id FROM followers WHERE user_id=:userid AND follower_id=:followerid', array(':userid' => $userprofile->i('id'), ':followerid' => Auth::userid()))) {
|
||
$class = 'on';
|
||
}
|
||
?>
|
||
<div style="margin-top: 8px;"><div class="toggle <?=$class?>"><div class="handle"></div></div> <label class="toggle-label"><b>Подписка на новые фотографии этого автора</b> (подписаны: <b id="subscr_cnt"><?=DB::query('SELECT COUNT(*) FROM followers WHERE user_id=:uid', array(':uid'=>$userprofile->i('id')))[0]['COUNT(*)'];?></b>)</label></div>
|
||
|
||
<?php } else { ?>
|
||
<div style="margin-top: 8px;">Пользователей, подписанных на мои фотографии: <b><?=DB::query('SELECT COUNT(*) FROM followers WHERE user_id=:uid', array(':uid'=>$userprofile->i('id')))[0]['COUNT(*)'];?></b></div>
|
||
<?php } ?>
|
||
<?php } else { ?>
|
||
<center><h1>Пользователь не найден</h1></center>
|
||
<center><img src="/static/img/404.jpg"></center>
|
||
<?php } ?>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/Footer.php'); ?>
|
||
</tr>
|
||
</table>
|
||
|
||
|
||
</body>
|
||
|
||
</html>
|