Simple Quotes Engine v1.3 (Обновление от 10.01.2008) Возможности самого движка: 1) Постраничный вывод цитат. 2) Выбор кол-ва выводимых цитат на страницу. 3) Редактирование имени(title) сайта. 4) Добавление цитат пользователями (стоит капча от флуда, спама и т.д.). 5) Изменение рейтинга цитаты (Посетитель может 1 раз повысить\понизить рейтинг, ведутся логи по изменениям рейтингов всех цитат). 6) 20-лучших\худших\новых цитат. 7) Статистика на главной странице (кол-во проверенных\непроверенных цитат, модераторов\администраторов). 8) Использование ЧПУ. 9) Подтверждение цитаты модератором. Возможности администраторской панели: 1) 2 уровня доступа: админ - может делать все и модератор - только редактировать цитаты. 2) Управление цитатами (изменение статуса(проверено\не проверено), редактирование, удаление). 3) Управление пользователями (выбор статуса moderator\admin, создание новых пользователей, удаление старых, редактирование текущих). 4) Изменение настроек сайта (кол-во цитат, выводимых на страницу, имя(title) сайта). 5) Быстрое добавление цитат (нету защитного кода + сразу присваивается статуc "проверено"). 6) Редактирование страницы "О сайте". 7) Редактирование правил, отображающихся при добавлении цитат. В разработке: 1) Изменение рейтинга без перезагрузки страниц. 2) Удобный инсталлятор (если вабще нужен будет). Установка (хост должен поддерживать PHP, MySQL, mod_rewrite): 1) Залить все файлы на ваш хост. 2) Изменить данные для соединения c базой данных MySQL (файл config.php). 3) Если нужно измените дизайн (в папке inc три файла: top.php, bottom.php, style.css). 4) Импортируйте dump базы данных (файл dump.sql), например через PhpMyAdmin. 5) Цитатник готов к использованию. 6) Администраторская панель находится по адрессу http://yoursite.ru/adm/, по умолчанию логин: admin пароль: qwerty (не забудьте сменить!!!) Последнее обновление: -Подправлен код (исправлены некоторые ошибки, убрано лишнее, вынесены функции в отдельный файл и т.д.) -Исправлена бага в репутации, теперь все работает. Посетитель может 1 раз нажать + и 1 раз нажать -, для каждой цитаты. -Раздел "О сайте" теперь редактируется прямо из Админки. -Исправлена ошибка, которая возникала при редактировании пользователей в Админке (неправильно выставлялся статус). -Теперь при удалении цитаты, также удаляются ее логи (имеется ввиду логи изменения рейтинга). -Добавлена возможность редактирования правил, отображающихся при добавлении цитат. -Новый раздел "20 новых" (вывод 20 последних добавленных цитат). ================================================= О всех найденных багах\ошибках\пожеланиях просьба сообщать по ICQ# 7766666 и e-mail: [email protected]. Пример движка можно посмотреть на http://quotes.lsass.us. Свежие версии всегда можно найти на http://lsass.us . ================================================= Скачать Simple Quotes Engine (lsass.us) Скачать Simple Quotes Engine (rapidshare.com) (c) lsass.exe //щас траблы с хостом, поэтому пока на рапиду залил (демо версия будет доступна позже)
Прелесть! Искал в сети цитатники недавно. Это, пожалуй, самый оптимальный вариант. Понравилось, забираем с удовольствием ,) Благодарю!
Там инхэкция есть через подмену значений X_FORWARDED_FOR и CLIENT_IP +) index.php PHP: function getip() { if(isset($HTTP_SERVER_VARS)) { if(isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) { $realip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; } elseif(isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])) { $realip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"]; } else { $realip = $HTTP_SERVER_VARS["REMOTE_ADDR"]; } .... $ip = getip(); function modrate($id,$ip) { require_once "config.php"; $query = mysql_query("SELECT `rating` FROM `quotes` WHERE `id` = '$id'"); $r = mysql_fetch_array($query); if($_GET['rating']=="plus") $r['rating']++; if($_GET['rating']=="minus") $r['rating']--; $query = mysql_query("UPDATE `quotes` SET `rating` = '$r[rating]' WHERE `id` = '$id'"); if($query) { $query = mysql_query("INSERT INTO `logs` VALUES('','$id','$ip','$_GET[rating]')"); } else return false; return true; } .... $query = mysql_query("SELECT * FROM `logs` WHERE `ip` = '$ip' AND `qid` = '$id'"); if(mysql_num_rows($query)>0) { .... лечится заменой 95 строчки в index.php на PHP: return addslashes($realip);
исправил Также добавлено: 5) Быстрое добавление цитат (нету защитного кода + сразу присваивается статуc "проверено")
Не катит, тогда уж сразу конечный $realip проверять return htmlspecialchars(stripslashes($realip)); Функция определяет ип с вероятностью 99.9% =)))) Должна по крайне мере, если я не накосячил =\
+1 ты прав, но я в своих скриптах делаю так, конечно больше кода, но привык я так =/: PHP: <?php function getip(){ if(htmlspeciachars(stripslashes(getenv('REMOTE_ADDR')))) $ip = htmlspeciachars(stripslashes(getenv('REMOTE_ADDR')));} elseif(htmlspeciachars(stripslashes(getenv('HTTP_FORWARDED_FOR')))) $ip = htmlspeciachars(stripslashes(getenv('HTTP_FORWARDED_FOR')));} elseif(htmlspeciachars(stripslashes(getenv('HTTP_X_FORWARDED_FOR')))) $ip = htmlspeciachars(stripslashes(getenv('HTTP_X_FORWARDED_FOR')));} elseif(htmlspeciachars(stripslashes(getenv('HTTP_X_COMING_FROM')))) $ip = htmlspeciachars(stripslashes(getenv('HTTP_X_COMING_FROM')));} elseif(htmlspeciachars(stripslashes(getenv('HTTP_VIA')))) $ip = htmlspeciachars(stripslashes(getenv('HTTP_VIA')));} elseif(htmlspeciachars(stripslashes(getenv('HTTP_XROXY_CONNECTION')))) $ip = htmlspeciachars(stripslashes(getenv('HTTP_XROXY_CONNECTION')));} elseif(htmlspeciachars(stripslashes(getenv('HTTP_CLIENT_IP')))) {$ip = htmlspeciachars(stripslashes(getenv('HTTP_CLIENT_IP')));} else{$ip = "unknown";} return $ip; } $ip_user = getip(); ?>
согласись это нерацианально, нет смысла проверять каждый раз, если в результате все равно получим $realip , которые првоерим 1 раз и все =)
Если оценил цитату, убери плюченги и минусенги, или хотябы пиши не "Спасибо, рейтинг успешно изменен" а "Вы это уже оценили" ИМХО
За одну цитату можно отдать один раз + и один раз -, если передумали например. На баше так по крайне мере, я решил сделать тоже самое. GreenBear это Enot показывал как он делал функцию =\ В двиге это не используется
Оооо спасибо))Давно хотел себе такой двиг на комп...Но чёто так и не дошли руки...А щас скачалЕщё раз спс