2024-07-17 05:00:53 +03:00
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
use \App\Services\{Auth, DB, Date};
|
|
|
|
|
use \App\Models\User;
|
|
|
|
|
|
|
|
|
|
//$userprofile = new User(explode('/', $_SERVER['REQUEST_URI'])[2]);
|
|
|
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
2024-07-18 16:13:50 +03:00
|
|
|
|
<style>
|
|
|
|
|
#sbmt {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 2px 15px 3px;
|
|
|
|
|
height: auto;
|
|
|
|
|
text-align: center;
|
|
|
|
|
font-family: var(--narrow-font);
|
|
|
|
|
font-size: 17px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: var(--theme-fg-color);
|
|
|
|
|
background-color: #777;
|
|
|
|
|
background-color: var(--theme-bg-color);
|
|
|
|
|
transition: none;
|
|
|
|
|
border: none;
|
|
|
|
|
user-select: none;
|
|
|
|
|
-moz-user-select: none;
|
|
|
|
|
-webkit-user-select: none;
|
|
|
|
|
-ms-user-select: none;
|
|
|
|
|
border-radius: 0;
|
|
|
|
|
-webkit-border-radius: 0;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
2024-07-17 05:00:53 +03:00
|
|
|
|
<td class="main">
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<h1><b>Журнал</b></h1>
|
2024-07-17 05:00:53 +03:00
|
|
|
|
<script src="/js/diff.js"></script>
|
|
|
|
|
<script src="/js/pwrite-compare.js"></script>
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<br clear="all"><br>
|
2024-07-17 05:00:53 +03:00
|
|
|
|
<div class="p20w" style="display:block">
|
2024-07-20 23:04:27 +03:00
|
|
|
|
<table class="table">
|
2024-07-17 05:00:53 +03:00
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<th width="100">Изображение</th>
|
2024-07-20 23:04:27 +03:00
|
|
|
|
<th width="50%">Информация</th>
|
2024-07-17 05:10:14 +03:00
|
|
|
|
<th>Действия</th>
|
2024-07-17 05:00:53 +03:00
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<?php
|
2024-07-18 16:05:32 +03:00
|
|
|
|
$photos = DB::query('SELECT * FROM photos WHERE moderated=0 ORDER BY id DESC');
|
2024-07-17 05:00:53 +03:00
|
|
|
|
foreach ($photos as $p) {
|
|
|
|
|
if ($p['moderated'] === 0) {
|
|
|
|
|
$color = 's0';
|
|
|
|
|
} else if ($p['moderated'] === 2) {
|
|
|
|
|
$color = 's15';
|
|
|
|
|
} else {
|
|
|
|
|
$color = 's12';
|
|
|
|
|
}
|
|
|
|
|
$author = new User($p['user_id']);
|
2024-07-21 04:43:25 +03:00
|
|
|
|
echo ' <tr id="pht'.$p['id'].'" class="'.$color.'">
|
2024-07-20 23:04:27 +03:00
|
|
|
|
<td>
|
2024-07-17 05:00:53 +03:00
|
|
|
|
<a href="/photo/'.$p['id'].'/" target="_blank" class="prw">
|
|
|
|
|
<img src="'.$p['photourl'].'" class="f">
|
|
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
</td>
|
2024-07-20 23:04:27 +03:00
|
|
|
|
<td>
|
2024-07-17 05:00:53 +03:00
|
|
|
|
<p><span style="word-spacing:-1px"><b>'.htmlspecialchars($p['place']).'</b></span></p>
|
|
|
|
|
<p class="sm"><b>'.Date::zmdate($p['posted_at']).'</b><br>Автор: <a href="/author/'.$p['user_id'].'/">'.htmlspecialchars($author->i('username')).'</a></p>
|
|
|
|
|
|
|
|
|
|
</td>
|
2024-07-17 05:10:14 +03:00
|
|
|
|
<td class="c">
|
|
|
|
|
';
|
|
|
|
|
if ($p['moderated'] === 0) {
|
2024-07-20 23:04:27 +03:00
|
|
|
|
echo '<a href="/api/admin/images/setvisibility?id='.$p['id'].'&mod=1" class="btn btn-primary">Принять</a>
|
2024-07-20 23:09:47 +03:00
|
|
|
|
<a data-bs-toggle="modal" data-bs-target="#declinePhotoModal'.$p['id'].'" href="#" class="btn btn-danger">Отклонить</a>';
|
2024-07-17 05:10:14 +03:00
|
|
|
|
}
|
|
|
|
|
echo '
|
|
|
|
|
</td>';
|
|
|
|
|
if ($p['endmoderation'] === -1) {
|
|
|
|
|
$endm = 'На модерации';
|
|
|
|
|
}
|
2024-07-20 23:04:27 +03:00
|
|
|
|
echo '
|
2024-07-20 23:09:47 +03:00
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<div class="modal fade" id="declinePhotoModal'.$p['id'].'" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
|
|
|
|
<div class="modal-dialog">
|
|
|
|
|
<div class="modal-content">
|
|
|
|
|
<div class="modal-header">
|
|
|
|
|
<h1 class="modal-title fs-5" id="exampleModalLabel"><b>Причина отклонения</b></h1>
|
|
|
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-body">
|
|
|
|
|
<div class="form-check">
|
2024-10-06 16:03:11 +03:00
|
|
|
|
<input name="decline'.$p['id'].'" value="1" class="form-check-input" type="radio" name="flexRadioDefault" id="declineReason1">
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<label class="form-check-label" for="declineReason1">
|
2024-07-20 23:09:47 +03:00
|
|
|
|
Малоинформативный бред
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-check">
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<input name="decline'.$p['id'].'" checked value="2" class="form-check-input" type="radio" name="flexRadioDefault" id="declineReason2">
|
|
|
|
|
<label class="form-check-label" for="declineReason2">
|
2024-07-20 23:09:47 +03:00
|
|
|
|
Не подходит для сайта
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-check">
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<input name="decline'.$p['id'].'" value="3" class="form-check-input" type="radio" name="flexRadioDefault" id="declineReason3">
|
|
|
|
|
<label class="form-check-label" for="declineReason3">
|
2024-07-20 23:09:47 +03:00
|
|
|
|
Порнография
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-check">
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<input name="decline'.$p['id'].'" value="4" class="form-check-input" type="radio" name="flexRadioDefault" id="declineReason4">
|
|
|
|
|
<label class="form-check-label" for="declineReason4">
|
2024-07-20 23:09:47 +03:00
|
|
|
|
Травля/издевательство над человеком
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-check">
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<input name="decline'.$p['id'].'" value="5" class="form-check-input" type="radio" name="flexRadioDefault" id="declineReason5">
|
|
|
|
|
<label class="form-check-label" for="declineReason5">
|
2024-07-20 23:09:47 +03:00
|
|
|
|
Расчленёнка
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-footer">
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<a type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</a>'; ?>
|
|
|
|
|
<a href="#" onclick="photoAction(<?=$p['id']?>, document.querySelector(`input[name='decline<?=$p['id']?>']:checked`).value, 2); return false;" data-bs-dismiss="modal" class="btn btn-primary">Сохранить</a>
|
|
|
|
|
<?php echo '
|
2024-07-20 23:09:47 +03:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
';
|
2024-07-17 05:00:53 +03:00
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</div><br>
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
2024-07-21 04:43:25 +03:00
|
|
|
|
<script>
|
|
|
|
|
function photoAction(photo_id, decline_reason, mod) {
|
|
|
|
|
$.ajax({
|
|
|
|
|
type: "GET",
|
|
|
|
|
url: '/api/admin/images/setvisibility?id='+photo_id+'&mod='+mod+'&decline_reason='+decline_reason,
|
|
|
|
|
data: $(this).serialize(),
|
|
|
|
|
success: function(response) {
|
|
|
|
|
$('#pht'+photo_id).remove();
|
|
|
|
|
Notify.noty('success', 'OK!');
|
|
|
|
|
//$("#result").html("<div class='alert alert-successnew container mt-5' role='alert'>Успешный вход!</div>");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
</script>
|
2024-07-20 23:04:27 +03:00
|
|
|
|
|