View file ä󿪫¬/modules/games/inc/admin.php

File size: 7.39Kb
<?
only_level(3);

if (isset($_GET['act']) && ($_GET['act'] == 'edit' || $_GET['act'] == 'delete')) {
	$ID = (isset($_GET['id_apps']) ? (int) $_GET['id_apps'] : 0);
	$apps = $pdo->query(("SELECT * FROM `apps` WHERE `id` = '$ID' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
}

if (isset($_GET['act']) && $_GET['act'] == 'delete' && isset($_SESSION['sid']) && isset($_GET['sid']) && $_SESSION['sid'] == $_GET['sid'] && isset($apps['id'])) {
	$pdo->query("DELETE FROM `user_apps` WHERE `id_apps` = '$ID'");
	$pdo->query("DELETE FROM `apps` WHERE `id` = '$ID' LIMIT 1");
	$_SESSION['message'] = __('Приложение успешно удалено');
	header('Location: ?func=admin');
	exit;
}

if (isset($_POST['name']) && isset($_POST['url']) && isset($_GET['act'])){
	$name = htmlspecialchars($_POST['name']);
	$opis = htmlspecialchars($_POST['opis']);
	$url = htmlspecialchars($_POST['url']);
	$ic_small = htmlspecialchars($_POST['icon_small']);
	$ic_big = htmlspecialchars($_POST['icon_big']);
	$balls = htmlspecialchars($_POST['balls']);
	$flash = htmlspecialchars($_POST['flash']);
	
	if (utf8_strlen($name) > 128) { $err[] = __('Название слишком длинное'); }
	elseif (utf8_strlen($name) < 2) { $err[] = __('Короткое название'); }
	
	if (utf8_strlen($opis) > 512) { $err[] = __('Описание слишком длинное'); }
	elseif (utf8_strlen($opis) < 2) { $err[] = __('Короткое описание'); }
	
	if (utf8_strlen($url) > 128) { $err[] = __('Ссылка слишком длинная'); }
	elseif (utf8_strlen($url) < 2) { $err[] = __('Короткая ссылка'); }
	
	if (!isset($err)){
		if ($_GET['act'] == 'add'){
			$pdo->query("INSERT INTO `apps` (`name`, `opis`, `url`, `time`, `icon_small`, `icon_big`, `flash`, `balls`) values('$name', '$opis', '$url', '$time', '$ic_small', '$ic_big', '$flash', '$balls')");
			$_SESSION['message'] = __('Новое приложение успешно добавлено');			
		} elseif (isset($apps['id']) && $_GET['act'] == 'edit') {
			$pdo->query("UPDATE `apps` SET `name` = '$name', `opis` = '$opis', `url` = '$url', `icon_small` = '$ic_small', `icon_big` = '$ic_big', `flash` = '$flash', `balls` = '$balls' WHERE `id` = '$ID' LIMIT 1");
			$_SESSION['message'] = __('Изменения успешно приняты');			
		}
		header('Location: ?func=admin');
		exit;
	}
}

$_SESSION['sid'] = mt_rand(000, 999);
$set['title'] = __('Онлайн игры');
include_once H . 'sys/inc/thead.php';
aut(); 
err();

#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo "<a href='/modules/games/?func=list'>" . lang('Онлайн игры') . "</a>";
echo "</div>";





if (isset($_GET['act'])) {
	
	if ($_GET['act'] == 'edit') {
		?>
<div class="list-group-item">

	
		<b><?= text($apps['name'])?></b><br />
		<?= ($apps['icon_big'] ? '<img src="' . text($apps['icon_big']) . '" style="max-width: 200px;" /><br />' : '')?>
		<?= output_text($apps['opis'])?>

		
		<form name="message" action="?func=admin&amp;act=edit&amp;sid=<?= $_SESSION['sid']?>&amp;id_apps=<?= $ID?>" method="post">
		<br><?= __('Название')?><br />
		<input class="form-control" name="name" type="text" value="<?= text($apps['name'])?>" /><br />

		<?= __('URL игры')?><br />
		<input class="form-control" name="url" type="text" value="<?= text($apps['url'])?>" /><br />
		
		<?= __('Описание игры')?><br />	
		<textarea class="form-control" name="opis" placeholder="<?= __('Опишите основной смысл игры..')?>"><?= output_text($apps['opis'])?></textarea><br />

<?
echo "Тип игры:<br /><select name='flash' class='form-control' style='width: 50%;'>
<option value='0'".($apps['flash']==0?" selected='selected'":null).">Игра</option>
<option value='1'".($apps['flash']==1?" selected='selected'":null).">Flash игра</option>
<option value='2'".($apps['flash']==2?" selected='selected'":null).">HTML5 игра</option>
</select><br>";

echo "Игра на баллы?:<br /><select name='balls' class='form-control' style='width: 50%;'>
<option value='0'".($apps['balls']==0?" selected='selected'":null).">Нет</option>
<option value='1'".($apps['balls']==1?" selected='selected'":null).">Да</option>
</select><br>";
?>
		<?= __('URL маленькой иконки')?><br />
		<input class="form-control" name="icon_small" type="text" value="<?= text($apps['icon_small'])?>"/><br />
		
		<?= __('URL большой иконки')?><br />
		<input class="form-control" name="icon_big" type="text" value="<?= text($apps['icon_big'])?>" /><br />
		
		<input class="knopka" type="submit" value="<?= __('Сохранить')?>" /> 
		</form>
		
</div>		
		<?
	} elseif ($_GET['act'] == 'add') {
		
		?>
<div class="list-group-item">		
		
		<form name="message" action="?func=admin&amp;act=add&amp;sid=<?= $_SESSION['sid']?>" method="post">
		<br><?= __('Название')?><br />
		<input class="form-control" name="name" type="text" value="" /><br />

		<?= __('URL игры')?><br />
		<input class="form-control" name="url" type="text" value="" /><br />
		
		<?= __('Описание игры')?><br />	
		<textarea class="form-control" name="opis" placeholder="<?= __('Опишите основной смысл игры..')?>"></textarea><br />
Тип игры:<br /><select name='flash' class='form-control' style='width: 50%;'>
<option value='0'>Игра</option>
<option value='1'>Flash игра</option>
<option value='2'>HTML5 игра</option>
</select><br>

Игра на баллы?:<br /><select name='balls' class='form-control' style='width: 50%;'>
<option value='0'>Нет</option>
<option value='1'>Да</option>
</select><br>		
		<?= __('URL маленькой иконки')?><br />
		<input class="form-control" name="icon_small" type="text" value=""/><br />
		
		<?= __('URL большой иконки')?><br />
		<input class="form-control" name="icon_big" type="text" value="" /><br />
		
		<input class="knopka" class="submit" type="submit" value="<?= __('Добавить')?>" />
		</form>
		
		</div>
		<?
	}
	

} else {

if ($user['level'] >= 3)
{
	?>
	<div class="list-group-item"><a class='btn btn-primary btn-sm' href="?func=admin&amp;act=add"><i class='fa fa-plus fa-fw'></i> Добавить игру</a></div>
	<?	
}




	$k_post = $pdo->query(("SELECT COUNT(id) FROM `apps`"), 0)->fetchColumn();
	$k_page = k_page($k_post,$set['p_str']);
	$page = page($k_page);
	$start = ($set['p_str'] * $page) - $set['p_str'];


	if ($k_post == 0)
	{
    $doc->NoResult();
	}

	$q = $pdo->query("SELECT * FROM `apps` ORDER BY `count` DESC LIMIT $start, $set[p_str]");

	while ($apps = $q->fetch(PDO::FETCH_ASSOC)) {
		
		?>
		<div class="list-group-item">
		<a href="?func=admin&amp;id_apps=<?= $apps['id']?>&amp;act=edit"><?= ($apps['icon_small'] ? '<img src="' . text($apps['icon_small']) . '" />' : '')?> <?= text($apps['name'])?></a> <span style="float: right;"><a href="?func=admin&amp;id_apps=<?= $apps['id']?>&amp;sid=<?= $_SESSION['sid']?>&amp;act=delete"><font color=#FD786E><i class="fa fa-trash fa-lg"></i></font></a></span>
		</div>
		<?
	}

	if ($k_page > 1) {
		str('?func=admin&amp;', $k_page, $page);
	}
}	
?>
<?