Как показала практика, многие админы ищут для своего форума модификации денежной системы (оплата за сообщения) и магазина (к примеру, магазин подарков или товаров). И я решил проанонсировать данные модификации в одном анонсе, так сказать двойной анонс.
Нам потребуется установить 2 модификации
- Ultimate Points - модификация денежной системы (оплата за сообщение) для phpbb3
- UPS Easy Shop - модификация магазина для phpbb3
A | Внимание !!! Примите к сведенью то, что UPS Easy Shop не работает без установленного Ultimate Points (который кстати нужно в первую очередь устанавливать) |
Хотелось бы отметить еще то, что модификация Ultimate Points, помимо денежной системы, содержит в себе Лотерею, Банк, модуль Грабежей, а так же предоставляет возможность перевоить средства другим пользователям. Так же данный мод может быть встроен в некоторые сторонние модификации, такие как Блоги или Галерея (Более подробный список таких модов глядите в папке мода
Впринципе описываемые модификации установлены на нашем форуме и вы можете их потестировать. Так сказать, пощупать моды.
Сами по себе моды тяжелы в установке, будьте готовы к долгой инсталляции и наберитесь терпения. Скачиваем архив и устанавливаем мод денежной системы по инструкции.
После установки, руссифицируем денежную систему (Файлы из архива распаковать в папку
[code][phpBB Debug] PHP Notice: in file /includes/functions_content.php on line : Undefined index: points_extension[/code]
Решение = открыть
[code] // Start Ultimate Points
else if ($forum_id > 0)[/code]
Заменить найденное на
[code] // Start Ultimate Points
// else if ($forum_id > 0)
else if ($forum_id > 0 && (isset($attachment['points_extension']) && isset($attachment['points_extension_costs'])))[/code]
[code][PhpBB Debug] PHP Notice: in file / includes / functions_content.php on line : Undefined index: POINTS_ATTACHMENT_COSTS [/code]
Решение = открыть
[code]'POINTS' => 'Points',[/code]
Вставить после найденного
[code]'POINTS_ATTACHMENT_COSTS' => 'Вложение <strong>%1$s</strong> стоимость которого (%2$s %3$s), вам не хватает %3$s!',[/code]
И потом руссифицируем его (Файлы из архива распаковать в папку
A | Внимание !!! Хочу обратить внимание на, то что перевод был сделан на скорую руку, могут присутствовать опечатки и неточности. В любом случае прошу вас уведомлять меня о косяках перевода, буду исправлять и делать его более лучшим |
1. Модуль начисления случайного количества Points из Ultimate Points
- Установка. Скачиваем архив Файл
Открыть файл
Код: Выделить всё
'SHOP_ITEM_BOUGHT' =>
Код: Выделить всё
'SHOP_ITEM_POINTS' => 'После покупки вы получили <strong>%s</strong> Points.',
В файле
Код: Выделить всё
$points = rand(5,15);
После этого добавляем товар в магазин. В пункте Plugin: выбираем наш плагин, в пункте Товар используется сразу же после покупки: - Да , в пунктах Пользователь может удалить этот товар: - Пользователь может продать это товар обратно в магазин: - Пользователь может показать этот товар на своей полке - Нет
Остальные настройки делаете по своему вкусу.
Для начала создаем файл со следущим названием и расширением -
Код: Выделить всё
<?php
/**
*
* @package - phpbb3 UPS Easy Shop
* @version $Id: user_color_black.php 138 2010-02-22 10:39:40Z femu $
* @copyright (c) Wuerzi (http://spieleresidenz.de), (c) femu (http://die-muellers.org)
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/*
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
class user_color_black extends item
{
function init()
{
}
function get_actions()
{
global $user;
$actions = array();
//In most cases, items that have an action with them should use the "use" action.
//To enable it, uncomment the following code:
$actions['use'] = array(
'name' => $user->lang['SHOP_ITEM_USE'],
'confirm' => sprintf($user->lang['SHOP_ITEM_CONFIRM_USE'], $this->data['name']),
'function' => 'use_item'
);
$actions = array_merge($actions, parent::get_actions());
return $actions;
}
function use_item()
{
global $user, $shop, $db, $phpEx, $phpbb_root_path;
$this->remove_item();
$color = $user->data['user_colour'] = '000000';
$sql_ary = array(
'user_colour' => $color,
);
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
WHERE user_id = ' . (int) $user->data['user_id'];
$db->sql_query($sql);
$message = sprintf($user->lang['SHOP_ITEM_NOW_USE'], $this->data['name']);
return $message;
}
}
?>
Код: Выделить всё
user_color_black
Код: Выделить всё
user_color_black
Код: Выделить всё
user_color_blue
Код: Выделить всё
$color = $user->data['user_colour'] = '000000';
Код: Выделить всё
000000
После этих действий сохраняем наш файл и закидываем на сервер в папку
Остальные настройки делаете по своему вкусу.
-Выводим описание товара при наведении мыши на картинку товара
Код: Выделить всё
if (file_exists($phpbb_root_path . 'highslide/highslide-full.js'))
{
$show_icon = '<a href="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" class="highslide" onclick="return hs.expand(this)" title="' . $user->lang['SHOP_HIGHSLIDE_CLICK'] . '"><img src="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" width="' . $icon_show_width . '" height="' . $icon_show_height . '" alt="' . $user->lang['SHOP_HIGHSLIDE_CLICK'] . '" /></a>';
}
else
{
$show_icon = '<a href="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" onclick=" window.open(this.href); return false" title="' . $user->lang['SHOP_HIGHSLIDE_CLICK'] . '"><img src="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" width="' . $icon_show_width . '" height="' . $icon_show_height . '" alt="' . $user->lang['SHOP_HIGHSLIDE_CLICK'] . '" /></a>';
}
if (file_exists($phpbb_root_path . 'highslide/highslide-full.js'))
{
$show_icon = '<a href="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" class="highslide" onclick="return hs.expand(this)" title="' . $item->data['description'] . '"><img src="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" width="' . $icon_show_width . '" height="' . $icon_show_height . '" alt="' . $item->data['description'] . '" /></a>';
}
else
{
$show_icon = '<a href="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" onclick=" window.open(this.href); return false" title="' . $item->data['description'] . '"><img src="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" width="' . $icon_show_width . '" height="' . $icon_show_height . '" alt="' . $item->data['description'] . '" /></a>';
}