Модуль "Подарки" by MoD

6.76K
.
Light in Night
Знаю, что уже не один подобный модуль был. Но так или иначе меня в них что-то не устраивало. Отсюда и решение написать свой модуль.

Модуль "Подарки" by MoD ver. 1.0
Функционал
Админский:
Создание категорий неограниченной вложенности
Добавление подарков
Удаление подарков

Пользовательский
Подарить подарок другому пользователю
Подарить подарок себе(aka значок)
Просмотр всех подарков пользователя
Удаление своих подарков

Модуль мультиязычный. В комплекте только русский.

Установка на чистый двиг
1. Распаковать архив в корень сайта
2. Перейти по адресу ваш_сайт.ру/gifts/install.php
3. Следовать инструкциям установщика

Установка, если у вас измененные файлы
1. Извлечь в корень сайта папки
gifts
imagecache
2. Извлечь в папку /images папку
gifts
3. Открыть файл /users/profile.php
4. Найти
echo '<div class="user"><p>' . functions::display_user($user, $arg) . '</p></div>';

5. Вставить перед
$lng_gifts = core::load_lng('gifts');
    $gift = mysql_fetch_assoc(mysql_query("SELECT * FROM `users_gifts` WHERE `user_id` = '" . $user['id'] . "' ORDER BY `id` DESC LIMIT 1"));
if($gift)
{
$fromw = functions::get_user($gift['from_id']);
if($user['id'] == $user_id)
{
$alt = $lng_gifts['from'] . ' ' . $fromw['name'] . (!empty($gift['text']) ? ': ' . $gift['text'] : '');
}
else
{
if($gift['type'] == 0)
$alt = $lng_gifts['from'] . ' ' . $fromw['name'] . (!empty($gift['text']) ? ': ' . $gift['text'] : '');
else
$alt = $lng_gifts['privat'];
}
echo '<div style="float: right; margin-right: 5px; margin-top: 5px;"><a href="/gifts/?user=' . $user['id'] . '"><img src="/images/gifts/'.$gift['image'].'" style="float: right;" alt="' . $alt . '" title="' . $alt . '"  width="64" height="64" /></a></div>';
}
else
{
echo '<div style="float: right; margin-right: 5px; margin-top: 5px;"><a href="/gifts/?user=' . $user['id'] . '"><img src="/images/gift.png" style="float: right;" alt="' . $lng_gifts['send'] . '" title="' . $lng_gifts['send'] . '"  width="64" height="64" /></a></div>';
}

6. Найти
$total_friends = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_contact` WHERE `user_id`='{$user['id']}' AND `type`='2' AND `friends`='1'"), 0);

7. Вставить после
$total_gifts = mysql_result(mysql_query("SELECT COUNT(*) FROM `users_gifts` WHERE `user_id`='{$user['id']}'"), 0);

8. Найти
'<div><img src="../images/users.png" width="16" height="16"/>&#160;<a href="profile.php?act=friends&amp;user=' . $user['id'] . '">' . $lng_profile['friends'] . '</a>&#160;(' . $total_friends . ')</div>' .

9. Вставить после
'<div><img src="../images/gift.png" width="16" height="16"/>&#160;<a href="/gifts/index.php?act=showall&amp;user=' . $user['id'] . '">' . $lng_gifts['showall'] . '</a>&#160;(' . $total_gifts . ')</div>' .
        '<div><img src="../images/gift.png" width="16" height="16"/>&#160;<a href="/gifts/index.php?user=' . $user['id'] . '">' . $lng_gifts['send'] . '</a></div>' .

10. Открыть файл /incfiles/languages/языковой пакет/_core.lng
11. Вставить в любое место
gifts                         =   "Подарки"

12. Извлечь в папку /images файлы
folder.png
folder_up.png
gift.png
13. Извлечь в корень файл
image.php
14. Перейти по адресу ваш_сайт.ру/gifts/install.php
15. Следовать инструкциям установщика
Прикрепленные файлы:
.
Light in Night
Скрины ниже.
Главные категории и подарок не в категории.
Прикрепленные файлы:
.
Light in Night
Вложенная категория и подарок в категории
Прикрепленные файлы:
.
Light in Night
Отправка подарка
Прикрепленные файлы:
.
Light in Night
Анкета пользователя, когда у него еще нет ни одного подарка
Прикрепленные файлы:
.
Light in Night
Анкета пользователя с подарком
Прикрепленные файлы:
.
Light in Night
Просмотр подарков пользователя(вид от самого пользователя или админа)
Прикрепленные файлы:
.
Light in Night
Просмотр подарков пользователя(вид от простого пользователя)
Прикрепленные файлы:
.
Light in Night
Планы на версию 2.0
Изменение категорий/подарков админом
Удаление категорий(как пустых, так и с вложеными категориями и подарками)
Просмотр информации по отдельновзятому подарку
Удаление подарков по времени
Ну и еще всякого по мелочам. Приветствуются пожелания.

Критика как всегда только приветствуется. За код прошу строго не судить. Давно ничего не писал =)
.
Ego vir viden
иконки категорий по меньше бы
Всего: 251