mirror of
https://github.com/claradex/nativegallery.git
synced 2025-03-25 18:58:16 +03:00
some updates
This commit is contained in:
parent
31ae91a71e
commit
e2f2452623
6 changed files with 276 additions and 106 deletions
|
@ -22,14 +22,6 @@ $(document).ready(function()
|
|||
});
|
||||
|
||||
|
||||
$(window).on('load resize', function()
|
||||
{
|
||||
var list = $('#idx-regions-list');
|
||||
var h = list.closest('table').height() - list.position().top + 40;
|
||||
list.css('height', h + 'px');
|
||||
});
|
||||
|
||||
|
||||
$('#loadmore').on('click', LoadRecentPhotos).click();
|
||||
$('#newrand' ).on('click', LoadRandomPhotos).click();
|
||||
|
||||
|
@ -71,25 +63,6 @@ $(document).ready(function()
|
|||
});
|
||||
|
||||
|
||||
$('#loginbtn').on('click', function()
|
||||
{
|
||||
var username = $('#username').val().trim();
|
||||
var password = $('#password').val().trim();
|
||||
|
||||
if (username != '' && username != '')
|
||||
{
|
||||
$('#loginbtn').prop('disabled', true).val(_text['IX_LOGGING']);
|
||||
|
||||
$.post('/api.php?action=check-login', { username: username, password: password, remember: $('#remember').is('checked') }, function(r)
|
||||
{
|
||||
if (r == 0)
|
||||
$('#loginform').submit();
|
||||
else window.location.reload();
|
||||
})
|
||||
.fail(function(jx) { if (jx.responseText != '') alert(jx.responseText); });
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('#mobile-menu').on('click', function()
|
||||
{
|
||||
|
|
12
views/pages/@footer.latte
Normal file
12
views/pages/@footer.latte
Normal file
|
@ -0,0 +1,12 @@
|
|||
{block footer}
|
||||
|
||||
<td class="footer">
|
||||
<p>Aloha, Hawaii! | PHP {phpversion()} | MySQL {$mysqlversion} | Версия {$lastcommit}</p>
|
||||
<b><a href="/">Главная</a> <a href="/lk/">Личный кабинет</a> <a href="/rules">Правила</a> <a href="/about">О сервере</a></b><br>
|
||||
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
{/block}
|
125
views/pages/@head.latte
Normal file
125
views/pages/@head.latte
Normal file
|
@ -0,0 +1,125 @@
|
|||
{block head}
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
|
||||
<meta name="viewport" content="width=1000,user-scalable=yes">
|
||||
<title>j</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=PT+Sans+Narrow:wght@400;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/static/css/fontawesome/css/all.min.css">
|
||||
<link rel="stylesheet" href="/static/css/style.css{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}">
|
||||
<link rel="stylesheet" href="/static/css/desktop.css{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}">
|
||||
<link rel="stylesheet" href="/static/css/trans.css{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}">
|
||||
<link rel="stylesheet" href="/static/css/photo.css{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}">
|
||||
<link rel="stylesheet" href="/static/css/notie.css{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}">
|
||||
<link rel="stylesheet" href="/static/css/comments.css{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}">
|
||||
<link rel="stylesheet" href="/static/css/map.css{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}">
|
||||
<link rel="stylesheet" href="/static/css/jquery-ui-1.8.20.custom.css{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}">
|
||||
<script src="/static/js/jquery.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/jquery.form.min.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/core.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/index.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/jquery-ui.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/selector.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/selector2.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/imageupload.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/progress.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/notie.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/photo.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/comments.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/newcore.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/act.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/core_lk.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<script src="/static/js/tablesort.js{if $ngallery['root']['cloudflare-caching'] === true}?{time()}{/if}"></script>
|
||||
<link href='https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css' rel='stylesheet'>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
|
||||
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
|
||||
<div class="progress-container fixed-top">
|
||||
<span class="progress-bard"></span>
|
||||
</div>
|
||||
<style>
|
||||
|
||||
.progress-container {
|
||||
width: 100%;
|
||||
background:linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.2)) var(--theme-bg-color);
|
||||
height: 5px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
:root {
|
||||
--bckgr: -1500px 0;
|
||||
--bckgr2: 1500px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
:root {
|
||||
--bckgr: -3500px 0;
|
||||
--bckgr2: 3500px 0;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes bg-move {
|
||||
0% { background-position: var(--bckgr); }
|
||||
100% { background-position: var(--bckgr2); }
|
||||
}
|
||||
@keyframes bg-move {
|
||||
0% { background-position: var(--bckgr); }
|
||||
100% { background-position: var(--bckgr2); }
|
||||
}
|
||||
|
||||
.progress-bard {
|
||||
background-color: #fff;
|
||||
width: 0%;
|
||||
display: block;
|
||||
height: inherit;
|
||||
transition: width 0.6s ease;
|
||||
background-image: linear-gradient(270deg, rgba(100, 181, 239, 0) 48.44%, var(--theme-bg-hover-color) 75.52%, rgba(100, 181, 239, 0) 100%);
|
||||
background-repeat: no-repeat;
|
||||
animation: bg-move linear 2s infinite;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script>
|
||||
notie.setOptions({
|
||||
transitionCurve: 'cubic-bezier(0.2, 0, 0.2, 1)'
|
||||
});
|
||||
var Notify = {
|
||||
noty: function(status, text) {
|
||||
|
||||
if (status == 'danger') status = 'error';
|
||||
|
||||
return notie.alert({ type: status, text: text })
|
||||
|
||||
},
|
||||
}
|
||||
function scrollProgressBarWidth(number) {
|
||||
var getMax = function() {
|
||||
return $(document).height() - $(window).height();
|
||||
};
|
||||
var progressBar = $(".progress-bard"),
|
||||
max = getMax(),
|
||||
value,
|
||||
width;
|
||||
|
||||
var setWidth = function() {
|
||||
progressBar.css({
|
||||
width: number + '%'
|
||||
});
|
||||
};
|
||||
|
||||
setWidth();
|
||||
}
|
||||
|
||||
function escapeHtml(text) {
|
||||
var map = {
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
'>': '>',
|
||||
'"': '"',
|
||||
"'": '''
|
||||
};
|
||||
|
||||
return text.replace(/[&<>"']/g, function(m) { return map[m]; });
|
||||
}
|
||||
</script>
|
||||
{/block}
|
110
views/pages/@layout.latte
Normal file
110
views/pages/@layout.latte
Normal file
|
@ -0,0 +1,110 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
|
||||
<head>
|
||||
{include "@head.latte"}
|
||||
</head>
|
||||
<body>
|
||||
<div id="backgr"></div>
|
||||
<table class="tmain">
|
||||
<tr>
|
||||
<td class="mm-bar">
|
||||
{if explode('/', $_SERVER['REQUEST_URI'])[1] === 'photo'}
|
||||
<a id="title-small" href="/"><img src="{$ngallery['root']['logo']}">{$ngallery['root']['title']}</a>
|
||||
{/if}
|
||||
<ul class="mm mm-level-1">
|
||||
<li><a href="#" onclick="return false" class="mm-item"><span class="mm-label">Дополнительно</span></a>
|
||||
<div>
|
||||
<ul class="mm-level-2">
|
||||
<li><a href="/news.php" class="mm-item"><span class="mm-label">Новости и хронология</span></a></li>
|
||||
<li><a href="/misc/" class="mm-item"><span class="mm-label">Разные фотогалереи</span></a></li>
|
||||
<li><a href="/voting.php" class="mm-item"><span class="mm-label">Фотоконкурс</span></a></li>
|
||||
<li><a href="/news2.php" class="mm-item"><span class="mm-label">Новости сайта</span></a></li>
|
||||
<li><a href="/links.php" class="mm-item"><span class="mm-label">Ссылки</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="/comments" class="mm-item"><span class="mm-label">Комментарии</span></a></li>
|
||||
<li><a href="#" onclick="return false" class="mm-item"><span class="mm-label">Обновления</span><?=$nonrw?></a>
|
||||
<div>
|
||||
<ul class="mm-level-2">
|
||||
<li><a href="/update.php?time=24" class="mm-item"><span class="mm-label">Новые фотографии</span></a></li>
|
||||
<li><a href="/feed" class="mm-item"><span class="mm-label">Лента обновлений</span></a></li>
|
||||
<li><a href="/fav_authors" class="mm-item"><span class="mm-label">Фотографии избранных авторов</span><?=$nonrw?></a></li>
|
||||
<li><a href="/update.php" class="mm-item"><span class="mm-label">Архив обновлений по датам</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="/help/" class="mm-item"><span class="mm-label">Помощь</span></a>
|
||||
<div>
|
||||
<ul class="mm-level-2">
|
||||
<li><a href="/rules/" class="mm-item"><span class="mm-label">Правила сайта</span></a></li>
|
||||
<li><a href="/rules/pub/" class="mm-item"><span class="mm-label">Критерии отбора фотографий</span></a></li>
|
||||
<li><a href="/rules/photo/" class="mm-item"><span class="mm-label">Правила подписи фотографий</span></a></li>
|
||||
<li><a href="/rules/video/" class="mm-item"><span class="mm-label">Правила видеокаталога</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="/search.php" class="mm-item"><span class="mm-label">Поиск</span></a>
|
||||
<div>
|
||||
<ul class="mm-level-2">
|
||||
<li><a href="/search.php" class="mm-item"><span class="mm-label">Поиск фотографий</span></a></li>
|
||||
<li><a href="/vsearch.php" class="mm-item"><span class="mm-label">Поиск ТС</span></a></li>
|
||||
<li><a href="/csearch.php" class="mm-item"><span class="mm-label">Поиск комментариев</span></a></li>
|
||||
<li><a href="/authors.php" class="mm-item"><span class="mm-label">Поиск авторов</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
{if App\Services\Auth::userid() <= 0}
|
||||
|
||||
<li class="mm-pad-right"><a href="/login" class="mm-item"><span class="mm-icon"><i class="fas fa-xs fa-address-card"></i></span><span class="mm-label">Войти</span></a></li>
|
||||
<li><a href="/register" class="mm-item"><span class="mm-icon"><i class="fas fa-xs fa-user"></i></span><span class="mm-label">Регистрация</span></a></li>
|
||||
{else}
|
||||
<li class="mm-pad-right mm-wide">
|
||||
<a href="/author/{$user_id}/" class="mm-item"><span class="mm-icon"><i class="fas fa-xs fa-user"></i></span><span class="mm-label">{$user->i('username')}</span>{if $nonreviewedimgs > 0 && $user->i('admin') > 0}<span class="mm-notify notify-count">{$nonreviewedimgs}</span>{/if}</a>
|
||||
<div>
|
||||
<ul class="mm-level-2">
|
||||
<li><a href="/lk/" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-info-circle"></i></span><span class="mm-label">Общая информация</span></a></li>
|
||||
{if $user->i('admin') > 0}
|
||||
<li><a href="/admin" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-info-circle"></i></span><span class="mm-label">Admin</span><?=$nonr?></a></li>
|
||||
{/if}
|
||||
{if $ngallery['root']['registration']['emailverify'] != true || $user->i('status') != 3}
|
||||
<li><a href="/lk/upload" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-plus-square"></i></span><span class="mm-label"><b>Предложить медиа</b></span></a></li>
|
||||
{/if}
|
||||
<li><a href="/lk/history" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-images"></i></span><span class="mm-label">Журнал</span></a></li>
|
||||
<li><a href="/lk/konkurs.php" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-compass"></i></span><span class="mm-label">Конкурс</span></a></li>
|
||||
<li><a href="/vehicle/edit" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-folder-plus"></i></span><span class="mm-label"><b>Правка БД</b></span></a></li>
|
||||
<li><a href="/lk/ticket.php" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-question-circle"></i></span><span class="mm-label">Мои заявки</span></a></li>
|
||||
<li><a href="/lk/profile" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-cog"></i></span><span class="mm-label">Настройки профиля</span></a></li>
|
||||
<li><a href="/search?id={$user_id}" class="mm-item"><span class="mm-icon"><i class="far fa-sm fa-fw fa-images"></i></span><span class="mm-label">Мои фотографии</span></a></li>
|
||||
<li><a href="/fav" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-star"></i></span><span class="mm-label">Избранные снимки</span></a></li>
|
||||
<li><a href="/logout" class="mm-item"><span class="mm-icon"><i class="fas fa-sm fa-fw fa-sign-out-alt"></i></span><span class="mm-label">Выход</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="mm-wide">
|
||||
<a href="/messages" class="mm-item"><span class="mm-icon"><i class="fas fa-xs fa-message"></i></span></a>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
{if explode('/', $_SERVER['REQUEST_URI'])[1] != 'photo'}
|
||||
<tr>
|
||||
<td><a href="/" id="title"><img style="width: <?=$width?>;" src="{$ngallery['root']['logo']}" alt="{$ngallery['root']['title']}"><span>{$ngallery['root']['title']}</span></a></td>
|
||||
</tr>
|
||||
{/if}
|
||||
<td class="main">
|
||||
{block content}{/block}
|
||||
</td>
|
||||
<tr>
|
||||
|
||||
{include "@footer.latte"}
|
||||
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,79 +0,0 @@
|
|||
<?php
|
||||
|
||||
use \App\Services\{Auth, DB, Date};
|
||||
use \App\Models\User;
|
||||
|
||||
?>
|
||||
<!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">
|
||||
<h1>О сервере <b><?= NGALLERY['root']['title'] ?></b></h1>
|
||||
<p><?=NGALLERY['root']['description']?></p>
|
||||
<table width="100%">
|
||||
<div class="p20">
|
||||
<h4><img src="/static/img/go-home.png">Общая информация</h4>
|
||||
<ul class="straight">
|
||||
<li>Зарегистрировано пользователей: <b><?=DB::query('SELECT COUNT(*) FROM users')[0]['COUNT(*)'];?></b></li>
|
||||
<li>Опубликовано фотографий: <b><?=DB::query('SELECT COUNT(*) FROM photos WHERE moderated=1')[0]['COUNT(*)'];?></b></li>
|
||||
<li>Пользователей онлайн: <b><?=DB::query('SELECT COUNT(*) FROM users WHERE online>=:time-300 ORDER BY online DESC', array(':time'=>time()))[0]['COUNT(*)'];?></b></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="p20">
|
||||
<h4><img src="/static/img/220.ico">Администраторы</h4>
|
||||
<ul style="list-style: none; margin: 0; padding: 0;">
|
||||
<?php
|
||||
$admins = DB::query('SELECT * FROM users WHERE admin=1');
|
||||
foreach ($admins as $a) {
|
||||
echo '<li><b><a href="/author/'.$a['id'].'/"><img onerror="this.src = `/static/img/avatar.png`; this.onerror = null;" src="'.$a['photourl'].'" width="32" style="border-radius: 3px; margin-right: 5px;">'.htmlspecialchars($a['username']).'</a></b></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="p20">
|
||||
<h4><img src="/static/img/248.ico">Фотомодераторы</h4>
|
||||
<ul style="list-style: none; margin: 0; padding: 0;">
|
||||
<?php
|
||||
$admins = DB::query('SELECT * FROM users WHERE admin=2');
|
||||
foreach ($admins as $a) {
|
||||
echo '<li><b><a href="/author/'.$a['id'].'/"><img onerror="this.src = `/static/img/avatar.png`; this.onerror = null;" src="'.$a['photourl'].'" width="32" style="border-radius: 3px; margin-right: 5px;">'.htmlspecialchars($a['username']).'</a></b></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="p20">
|
||||
<h4><img src="/static/img/152.ico">Модераторы</h4>
|
||||
<ul style="list-style: none; margin: 0; padding: 0;">
|
||||
<?php
|
||||
$admins = DB::query('SELECT * FROM users WHERE admin=3');
|
||||
foreach ($admins as $a) {
|
||||
echo '<li><b><a href="/author/'.$a['id'].'/"><img onerror="this.src = `/static/img/avatar.png`; this.onerror = null;" src="'.$a['photourl'].'" width="32" style="border-radius: 3px; margin-right: 5px;">'.htmlspecialchars($a['username']).'</a></b></li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/Footer.php'); ?>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
29
views/pages/Errors/404.latte
Normal file
29
views/pages/Errors/404.latte
Normal file
|
@ -0,0 +1,29 @@
|
|||
<!DOCTYPE html><!-- "' --></textarea></script></style></pre></xmp></a></audio></button></canvas></datalist></details></dialog></iframe></listing></meter></noembed></noframes></noscript></optgroup></option></progress></rp></select></table></template></title></video>
|
||||
<meta charset="utf-8">
|
||||
<meta name=robots content=noindex>
|
||||
<title>Server Error</title>
|
||||
|
||||
<style>
|
||||
@import url("https://rsms.me/inter/inter.css");
|
||||
body {
|
||||
font-family: Inter !important;
|
||||
}
|
||||
#tracy-error { all: initial; position: absolute; top: 0; left: 0; right: 0; height: 70vh; min-height: 400px; display: flex; align-items: center; justify-content: center; z-index: 1000 }
|
||||
#tracy-error div { all: initial; max-width: 550px; background: white; color: #333; display: block }
|
||||
#tracy-error h1 { all: initial; font-family: Inter !important; font-size: 50px; font-weight: 700; display: block; margin: 40px }
|
||||
#tracy-error p { all: initial; font-family: Inter !important; margin: 40px; display: block }
|
||||
#tracy-error pre { all: initial; font-family: Inter !important; margin: 40px; display: block }
|
||||
#tracy-error small { color: gray }
|
||||
#tracy-error small span { color: silver }
|
||||
</style>
|
||||
|
||||
<div id=tracy-error>
|
||||
<div>
|
||||
<h1>Not Found</h1>
|
||||
|
||||
<p>The requested page not found on server.</p><br>
|
||||
<pre>{$_SERVER['REQUEST_URI']}</pre>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in a new issue