HEX
Server: Apache/2.4.65 (Debian)
System: Linux srv39710 6.1.0-41-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
User: root (0)
PHP: 8.4.11
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Upload Files
File: /var/www/www-root/data/www/NEWs/news.mowik.click/admin/cloak.php
<?php
$pname = 'Клоакинг';
include('inc/top.php');
include('../inc/wu_pagination.php');
?>
<!-- Контент -->

<h4>Клоакинг <button type="button" class="btn btn-success pull-right" data-toggle="modal" data-target="#modal_add">Добавить клоаку</button></h4>
<br />
<div id="modal_add" class="modal fade">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Добавление клоаки</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
</div>
<div class="modal-body">
<div class="alert alert-primary">
Вы можете добавить клоаку - это подмена одной новости на другую. То есть, по той же ссылке, где открывалась "Новость 1", будет расположена "Новость 2". 
Пример использования: вы отправили полную новость в тизерную сеть на модерацию, а после успешной модерации сменили содержимое новости с одной на другую. 
Подсказка: новость, на которую идёт клоакинг, можно скрыть, сняв галочку "Видимость".
</div>

<div class="form-group">
<label for="sel_news_1" class="form-control-label">Новость для клоакинга:</label>
<select id="sel_news_1" name="sel_news_1" class="form-control">
<option value="-1" hidden selected="selected">Выберите новость</option>
<?php
$crabs_n_q = mysqli_query($connect_db, "SELECT id,ti FROM t_news ORDER BY id ASC");
while($row_n = mysqli_fetch_assoc($crabs_n_q)) {
?>
<option value="<?php echo $row_n['id']; ?>">#<?php echo $row_n['id']; ?> - <?php echo htmlspecialchars($row_n['ti']); ?></option>
<?php } ?>
</select>
</div>

<div class="form-group">
<label for="sel_news_2" class="form-control-label">Отображаемая новость:</label>
<select id="sel_news_2" name="sel_news_2" class="form-control">
<option value="-1" hidden selected="selected">Выберите новость</option>
<?php
$crabs_n_q = mysqli_query($connect_db, "SELECT id,ti FROM t_news ORDER BY id ASC");
while($row_n = mysqli_fetch_assoc($crabs_n_q)) {
?>
<option value="<?php echo $row_n['id']; ?>">#<?php echo $row_n['id']; ?> - <?php echo htmlspecialchars($row_n['ti']); ?></option>
<?php } ?>
</select>
</div>

</div>
<div class="modal-footer">
<button type="button" id="crabs_add" class="btn btn-primary">Добавить</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Отмена</button>
</div>
</div>
</div>
</div>



<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Новость для клоакинга</th>
<th scope="col">Отображаемая новость</th>
<th scope="col">Действия</th>
</tr>
</thead>
<tbody>
<?php
$num = 30;
if (isset($_GET['page'])) { $page = intval($_GET['page']); } else { $page = 0; } if ($page==0) { $page=1; }
$qu = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT count(`id`) AS `cnt` FROM `t_cloak`"));
$co = $qu['cnt'];
$total = intval(($co - 1) / $num) + 1;
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$qr = mysqli_query($connect_db, "SELECT * FROM `t_cloak` ORDER BY id DESC LIMIT $start, $num");
if ($co > 0) {
?>
<?php
while($row = mysqli_fetch_assoc($qr)) {
?>
<tr class="table-light">
<td>

<div class="form-group">
<select id="ncl1_<?php echo $row['id']; ?>" class="form-control">
<?php
$crabs_n_q = mysqli_query($connect_db, "SELECT id,ti FROM t_news ORDER BY id ASC");
while($row_n = mysqli_fetch_assoc($crabs_n_q)) {
?>
<option value="<?php echo $row_n['id']; ?>" <?php if ($row_n['id'] == $row['nfrom']) { echo 'selected="selected"'; } ?>>#<?php echo $row_n['id']; ?> - <?php echo htmlspecialchars($row_n['ti']); ?></option>
<?php } ?>
</select>
</div>

</td>
<td>

<div class="form-group">
<select id="ncl2_<?php echo $row['id']; ?>" class="form-control">
<?php
$crabs_n_q = mysqli_query($connect_db, "SELECT id,ti FROM t_news ORDER BY id ASC");
while($row_n = mysqli_fetch_assoc($crabs_n_q)) {
?>
<option value="<?php echo $row_n['id']; ?>" <?php if ($row_n['id'] == $row['nto']) { echo 'selected="selected"'; } ?>>#<?php echo $row_n['id']; ?> - <?php echo htmlspecialchars($row_n['ti']); ?></option>
<?php } ?>
</select>
</div>

</td>
<td>
<button type="button" onclick="isave('<?php echo $row['id']; ?>');" class="btn btn-primary" data-toggle="tooltip" data-placement="bottom" data-original-title="Сохранить"><i class="fa fa-check"></i></button>
<button type="button" onclick="idel('<?php echo $row['id']; ?>');" class="btn btn-danger" data-toggle="tooltip" data-placement="bottom" data-original-title="Удалить"><i class="fa fa-trash-o"></i></button>
</td>
</tr>
<?php
}
} else {
?>
<tr class="table-light"><td colspan="3"><center>Нет данных</center></td></tr>
<?php } ?>
</tbody>
</table>
</div>
<?php
$pageNav = new SimPageNav();
$pages = ceil($co/$num);
echo $pageNav->getLinks($pages, 1, $page, 10, 'page');
?>


<script type='text/javascript'>
//Добавление
$('#crabs_add').click(function(){
var n1 = $('#sel_news_1').val();
var n2 = $('#sel_news_2').val();
$.ajax({
type: 'POST',
url: '/actions/admin_cloak_add.php',
data: {'n1': n1, 'n2': n2, 'token': crabs_tkn},
cache: false,
success: function(result){
if (result == '0') {
$.jGrowl('Выберите обе новости', { theme: 'growl-error' });
}
if (result == '2') {
$.jGrowl('Новости должны быть разные', { theme: 'growl-error' });
}
if (result == '3') {
$.jGrowl('Данная новость уже заклоачена', { theme: 'growl-error' });
}
if (result == '1') {
location.reload();
}
if (result == 'error') {
$.jGrowl('Ошибка', { theme: 'growl-error' });
}
if (result == 'demo') {
$.jGrowl('Недоступно в демо аккаунте', { theme: 'growl-error' });
}
},
error: function(){
$.jGrowl('Ошибка сервера', { theme: 'growl-error' });
}
});
});

function isave(id){
var ncl1 = $('#ncl1_'+id).val();
var ncl2 = $('#ncl2_'+id).val();
$.ajax({
type: 'POST',
url: '/actions/admin_cloak_save.php',
data: {'id': id, 'ncl1': ncl1, 'ncl2': ncl2, 'token': crabs_tkn},
cache: false,
success: function(result){
if (result == '0') {
$.jGrowl('Новости должны быть разные', { theme: 'growl-error' });
}
if (result == '2') {
$.jGrowl('Данная новость уже заклоачена', { theme: 'growl-error' });
}
if (result == '1') {
$.jGrowl('Сохранено', { theme: 'growl-success' });
}
if (result == 'error') {
$.jGrowl('Ошибка', { theme: 'growl-error' });
}
if (result == 'demo') {
$.jGrowl('Недоступно в демо аккаунте', { theme: 'growl-error' });
}
},
error: function(){
$.jGrowl('Ошибка сервера', { theme: 'growl-error' });
}
});
}

function idel(id){
if (confirm("Удалить?")) {
$.ajax({
type: 'POST',
url: '/actions/admin_cloak_del.php',
data: {'id': id, 'token': crabs_tkn},
cache: false,
success: function(result){
if (result == '1') {
location.reload();
}
if (result == 'error') {
$.jGrowl('Ошибка', { theme: 'growl-error' });
}
if (result == 'demo') {
$.jGrowl('Недоступно в демо аккаунте', { theme: 'growl-error' });
}
},
error: function(){
$.jGrowl('Ошибка сервера', { theme: 'growl-error' });
}
});
}
}
</script>

<!-- /Контент -->
<?php include('inc/bottom.php'); ?>