
Комментарии: 2
|
|
|
<?php
/*
* Автор - Александр Каплин (TheAlex, Саня)
* Сайт автора - Php-Zona.Ru
* Модуль "Куски PHP кода" для StrongCMS v 1.0 Stable
*/
$title = 'Просмотр кода';
include_once($_SERVER["DOCUMENT_ROOT"].'/system/core.php');
include_once($_SERVER["DOCUMENT_ROOT"].'/system/head.php');
Error_Reporting(E_ALL & ~E_NOTICE);
if($db->query("SELECT `id` FROM `phpcodes_codes` WHERE `id`='".$_GET['id']."'")->num_rows==0){
err('Кода не существует.');
}
$code = $db->super_query("SELECT * FROM `phpcodes_codes` WHERE `id`='".$_GET['id']."'");
if($code['moderation']==0 AND $user['level']<1){
err('Код на модерации.');
}
if($code['moderation']==2){
err('Код был отклонён.');
}
$folder = $db->super_query("SELECT * FROM `phpcodes_folders` WHERE `id`='".$code['folder']."'");
switch($_GET['act']){
default:
if($db->query("SELECT `id` FROM `phpcodes_views` WHERE `id_code`='".$_GET['id']."' AND `id_us`='".$user['id']."'")->num_rows==0){
$db->query("UPDATE `phpcodes_codes` SET `views`=`views`+1 WHERE `id`='".$_GET['id']."'");
$db->query("INSERT INTO `phpcodes_views` SET `id_code`='".$_GET['id']."', `id_us`='".$user['id']."'");
}
?>
<div class="title"><a href="/phpcodes">Куски PHP кода</a> | <a href="/phpcodes/folder/<?=$folder['id']?>"><?=$folder['name']?></a> | <?=$code['name']?></div>
<?if($user['level']>=1){?>
<div class="links"><a href="/phpcodes/code/<?=$_GET['id']?>/edit">Редактировать</a> | <a href="/phpcodes/code/<?=$_GET['id']?>/del">Удалить</a></div>
<?}?>
<div class="podmenu">Название: <?=$code['name']?></div>
<div class="podmenu">Описание:
<?=bb(smile($code['description']))?>
</div>
<div class="podmenu">
<?=highlight_string($code['code'], TRUE)?>
</div>
<div class="podmenu">
Добавил: <?=nick($code['us'])?> (<?=vremja($code['time'])?>)
Просмотров: <?=$code['views']?>
</div>
<div class="podmenu">
Рейтинг: <font color="green"><?=$code['plus']?></font>/<font color="red"><?=$code['minus']?></font> <a href="/phpcodes/code/<?=$_GET['id']?>/history_rating">[История изменения рейтинга]</a>
<?if($db->query("SELECT `id` FROM `phpcodes_history_rating` WHERE `id_code`='".$_GET['id']."' AND `id_us`='".$user['id']."'")->num_rows==0 AND $user['id']!=$code['us'] AND isset($user['id'])){
?>
<a href="/phpcodes/code/<?=$code['id']?>/plus">+</a> | <a href="/phpcodes/code/<?=$code['id']?>/minus">-</a>
<?
}?>
</div>
<div class="podmenu"><a href="/phpcodes/comm/<?=$code['id']?>">Комментарии</a> [<?=$db->query("SELECT `id` FROM `phpcodes_comm` WHERE `id_code`='".$code['id']."'")->num_rows?>]</div>
<?
break;
case 'edit':
level(1);
?>
<div class="title"><a href="/phpcodes">Куски PHP кода</a> | <a href="/phpcodes/folder/<?=$folder['id']?>"><?=$folder['name']?></a> | <a href="/phpcodes/code/<?=$code['id']?>"><?=$code['name']?></a> | Редактирование</div>
<?
if(isset($_POST['ok'])){
$_POST['name'] = strong($_POST['name']);
$_POST['description'] = strong($_POST['description']);
$_POST['code'] = trim($db->real_escape_string($_POST['code']));
if(mb_strlen($_POST['name'])<2 or mb_strlen($_POST['name'])>100){
err('Название кода должно содержать в себе не менее 2 и не более 100 символов.');
}elseif(mb_strlen($_POST['description'])<6 or mb_strlen($_POST['description'])>4000){
err('Описание кода должно содержать в себе не менее 6 и не более 4000 символов.');
}elseif(mb_strlen($_POST['code'])<6 or mb_strlen($_POST['code'])>4000){
err('Код должен содержать в себе не менее 6 и не более 4000 символов.');
}
$db->query("UPDATE `phpcodes_codes` SET `name`='".$_POST['name']."', `description`='".$_POST['description']."', `code`='".$_POST['code']."' WHERE `id`='".$_GET['id']."'");
if($code['us']!=$user['id']){
$db->query("INSERT INTO `lenta` SET `text`='Отредактировал ваш [url=http://".$_SERVER["DOCUMENT_ROOT"]."/code/".$_GET['id']."]код[/url].', `kto`='".$user['id']."', `komy`='".$code['us']."', `time`='".time()."', `readlen`='0'");
}
$code = $db->super_query("SELECT * FROM `phpcodes_codes` WHERE `id`='".$_GET['id']."'");
?>
<div class="podmenu"><font color="green"><b><center>Код успешно отредактирован.</center></b></font></div>
<?
}
?>
<div class="podmenu">
<form action="" method="POST">
Название:
<input type="text" name="name" value="<?=$code['name']?>">
Описание:
<textarea name="description"><?=$code['description']?></textarea>
Код:
<textarea name="code"><?=$code['code']?></textarea>
<input type="submit" name="ok" value="Сохранить">
</form>
</div>
<?
break;
case 'del':
level(1);
?>
<div class="title"><a href="/phpcodes">Куски PHP кода</a> | <a href="/phpcodes/folder/<?=$folder['id']?>"><?=$folder['name']?></a> | <a href="/phpcodes/code/<?=$code['id']?>"><?=$code['name']?></a> | Удаление</div>
<?
if(isset($_POST['ok'])){
$db->query("DELETE FROM `phpcodes_codes` WHERE `id`='".$_GET['id']."'");
$db->query("INSERT INTO `lenta` SET `text`='Удвлил ваш код (".$code['name'].")', `kto`='".$user['id']."', `komy`='".$code['us']."', `time`='".time()."', `readlen`='0'");
?>
<div class="podmenu">
<font color="green">
<b>
<center>
Код был успешно удалён.
</center>
</b>
</font>
</div>
<?
include_once($_SERVER["DOCUMENT_ROOT"].'/system/footer.php');
exit();
}elseif(isset($_POST['no'])){
header('location:/phpcodes/code/'.$_GET['id']);
}
?>
<div class="podmenu">
<form action="" method="POST">
Удалить код?
<input type="submit" name="ok" value="Да"> <input type="submit" name="no" value="Нет">
</form>
</div>
<?
break;
case 'plus':
login();
if($db->query("SELECT `id` FROM `phpcodes_history_rating` WHERE `id_code`='".$_GET['id']."' AND `id_us`='".$user['id']."'")->num_rows!=0){
err('Вы уже оценивали данный код.');
}
if($user['id']==$code['us']){
err('За свой код голосовать запрещено!');
}
$db->query("UPDATE `phpcodes_codes` SET `plus`=`plus`+1 WHERE `id`='".$_GET['id']."'");
$db->query("UPDATE `phpcodes_codes` SET `rating`=`rating`+1 WHERE `id`='".$_GET['id']."'");
$db->query("INSERT INTO `phpcodes_history_rating` SET `id_code`='".$_GET['id']."', `id_us`='".$user['id']."', `time`='".time()."', `type`='1'");
$db->query("INSERT INTO `lenta` SET `text`='Оценил [b]положительно[/b] ваш [url=http://".$_SERVER["HTTP_HOST"]."/phpcodes/code/".$_GET['id']."]код[/url]', `kto`='".$user['id']."', `komy`='".$code['us']."', `time`='".time()."', `readlen`='0'");
header('location:/phpcodes/code/'.$_GET['id']);
break;
case 'minus':
login();
if($db->query("SELECT `id` FROM `phpcodes_history_rating` WHERE `id_code`='".$_GET['id']."' AND `id_us`='".$user['id']."'")->num_rows!=0){
err('Вы уже оценивали данный код.');
}
if($user['id']==$code['us']){
err('За свой код голосовать запрещено!');
}
$db->query("UPDATE `phpcodes_codes` SET `minus`=`minus`+1 WHERE `id`='".$_GET['id']."'");
$db->query("UPDATE `phpcodes_codes` SET `rating`=`rating`-1 WHERE `id`='".$_GET['id']."'");
$db->query("INSERT INTO `phpcodes_history_rating` SET `id_code`='".$_GET['id']."', `id_us`='".$user['id']."', `time`='".time()."', `type`='2'");
$db->query("INSERT INTO `lenta` SET `text`='Оценил [b]отрицательно[/b] ваш [url=http://".$_SERVER["HTTP_HOST"]."/phpcodes/code/".$_GET['id']."]код[/url]', `kto`='".$user['id']."', `komy`='".$code['us']."', `time`='".time()."', `readlen`='0'");
header('location:/phpcodes/code/'.$_GET['id']);
break;
case 'history_rating':
?>
<div class="title"><a href="/phpcodes">Куски PHP кода</a> | <a href="/phpcodes/folder/<?=$folder['id']?>"><?=$folder['name']?></a> | <a href="/phpcodes/code/<?=$code['id']?>"><?=$code['name']?></a> | История изменения рейтинга</div>
<?
$count = $db->super_query("SELECT COUNT(*) as count FROM `phpcodes_history_rating` WHERE `id_code`='".$_GET['id']."'");
$start = nav($count['count']);
$query = $db->query("SELECT * FROM `phpcodes_history_rating` WHERE `id_code`='".$_GET['id']."' ORDER BY `id` DESC LIMIT ".$start['s'].",".$max."");
while ($rating = $db->fetch_assoc($query))
{
if($rating['type']==1){
$type = 'положительно';
}elseif($rating['type']==2){
$type = 'отрицательно';
}
?>
<div class="links"><?=nick($rating['id_us'])?> оценил(-a) код <b><?=$type?></b> (<?=vremja($rating['time'])?>) <?if($user['level']>=1){?><a href="/phpcodes/code/<?=$_GET['id']?>/del_history_rating/<?=$rating['id']?>">[Уд.]</a><?}?></div>
<?
}
/*Постраничка*/
if ($start['k_post'] < 1)
echo msg('Данный код ещё никто не оценивал.');
if ($start['k_page'] > 1)
echo str(HOME.'/phpcodes/code/'.$_GET['id'].'/history_rating/?', $start['k_page'], $start['page']);
break;
case 'del_history_rating':
level(1);
if($db->query("SELECT `id` FROM `phpcodes_history_rating` WHERE `id`='".$_GET['idr']."'")->num_rows==0){
err('Оценки не существует.');
}
$rating = $db->super_query("SELECT `id_us`, `type` FROM `phpcodes_history_rating` WHERE `id`='".$_GET['idr']."'");
?>
<div class="title"><a href="/phpcodes">Куски PHP кода</a> | <a href="/phpcodes/folder/<?=$folder['id']?>"><?=$folder['name']?></a> | <a href="/phpcodes/code/<?=$code['id']?>"><?=$code['name']?></a> | <a href="/phpcodes/code/<?=$_GET['id']?>/history/rating">История изменения рейтинга</a> | Удаление оценки</div>
<?
if(isset($_POST['ok'])){
$db->query("DELETE FROM `phpcodes_history_rating` WHERE `id`='".$_GET['idr']."'");
if($rating['type']==1){
$db->query("UPDATE `phpcodes_codes` SET `plus`=`plus`-1 WHERE `id`='".$_GET['id']."'");
}elseif($rating['type']==2){
$db->query("UPDATE `phpcodes_codes` SET `minus`=`minus`-1 WHERE `id`='".$_GET['id']."'");
}
if($code['us']!=$user['id']){
$db->query("INSERT INTO `lenta` SET `text`='Удалил вашу оценку к [url=http://".$_SERVER["DOCUMENT_ROOT"]."/phpcodes/code/".$_GET['id']."]коду[/url]', `kto`='".$user['id']."', `komy`='".$rating['id_us']."', `time`='".time()."', `readlen`='0'");
}
header('location:/phpcodes/code/'.$_GET['id'].'/history_rating');
}elseif(isset($_POST['no'])){
header('location:/phpcodes/code/'.$_GET['id'].'/history_rating');
}
?>
<div class="podmenu">
<form action="" method="POST">
Вы действительно хотите удалить оценку <?=nick($rating['id_us'])?>
<input type="submit" name="ok" value="Да"> <input type="submit" name="no" value="Нет">
</form>
</div>
<?
break;
}
include_once($_SERVER["DOCUMENT_ROOT"].'/system/footer.php');
?>