Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение UPS Easy Shop и Ultimate Points phpbb3 2012-05-12

Аватар пользователя

Введение

Как показала практика, многие админы ищут для своего форума модификации денежной системы (оплата за сообщения) и магазина (к примеру, магазин подарков или товаров). И я решил проанонсировать данные модификации в одном анонсе, так сказать двойной анонс.

Нам потребуется установить 2 модификации
  • Ultimate Points - модификация денежной системы (оплата за сообщение) для phpbb3
  • UPS Easy Shop - модификация магазина для phpbb3

A Внимание !!! Примите к сведенью то, что UPS Easy Shop не работает без установленного Ultimate Points (который кстати нужно в первую очередь устанавливать)


Хотелось бы отметить еще то, что модификация Ultimate Points, помимо денежной системы, содержит в себе Лотерею, Банк, модуль Грабежей, а так же предоставляет возможность перевоить средства другим пользователям. Так же данный мод может быть встроен в некоторые сторонние модификации, такие как Блоги или Галерея (Более подробный список таких модов глядите в папке мода /contrib/AddOns/)
Впринципе описываемые модификации установлены на нашем форуме и вы можете их потестировать. Так сказать, пощупать моды.

Установка

Сами по себе моды тяжелы в установке, будьте готовы к долгой инсталляции и наберитесь терпения. Скачиваем архив и устанавливаем мод денежной системы по инструкции.

После установки, руссифицируем денежную систему (Файлы из архива распаковать в папку /language/ru/mods/)
Вложение :
Комментарий к файлу: Руссификация модификации Ultimate Points phpbb3
Lang1.zip [24.34 KiB]
Скачиваний: 163


В дебагере может появляться такая ошибка
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line : Undefined index: points_extension
 

Решение = открыть root/includes/functions_content.php и найти
 // Start Ultimate Points
            else if ($forum_id > 0)
 

Заменить найденное на
 // Start Ultimate Points
            // else if ($forum_id > 0)
               else if ($forum_id > 0 && (isset($attachment['points_extension']) && isset($attachment['points_extension_costs'])))
 


В дебагере может появляться такая ошибка
[PhpBB Debug] PHP Notice: in file / includes / functions_content.php on line : Undefined index: POINTS_ATTACHMENT_COSTS 
 

Решение = открыть root/language/ru/points.php и найти
'POINTS'                     => 'Points',
 

Вставить после найденного
'POINTS_ATTACHMENT_COSTS'         => 'Вложение <strong>%1$s</strong> стоимость которого (%2$s %3$s), вам не хватает %3$s!',
 


После руссификации устанавливаем модификацию магазина

И потом руссифицируем его (Файлы из архива распаковать в папку /language/ru/mods/)
Вложение :
Комментарий к файлу: Руссификация модификации UPS Easy Shop phpbb3
Lang2.zip [9.06 KiB]
Скачиваний: 109

На этом установка завершена, вам лишь остается настроить оба мода под свои нужды и радоваться результатам. Успехов в администрировании !!!

A Внимание !!! Хочу обратить внимание на, то что перевод был сделан на скорую руку, могут присутствовать опечатки и неточности. В любом случае прошу вас уведомлять меня о косяках перевода, буду исправлять и делать его более лучшим



----------------- Плагины для UPS Easy Shop ---------------

1. Модуль начисления случайного количества Points из Ultimate Points
-При покупке этого предмета пользователь получит случайное количество Points из Ultimate Points, предмет используется сразу после покупки.
- Установка. Скачиваем архив
Вложение :
Комментарий к файлу: Модуль случайного начисления Points из Ultimate Points
Random.zip [9.32 KiB]
Скачиваний: 17

Файл treasure.png залить в images\shop_icons\, а файл random.php положить в includes\shop\items\
Открыть файл language\ru\mods\shop.php и найти
'SHOP_ITEM_BOUGHT'            =>
 

Вставить перед найденным
 'SHOP_ITEM_POINTS'         => 'После покупки вы получили <strong>%s</strong> Points.',
 

Слово Points можно заменить на имя форумной валюты
В файле random.php кусок кода
$points    = rand(5,15);
 

Отвечает за количество Points, в данном случае начисляется от 5 до 15 Points, можете поменять эти значения под себя.
После этого добавляем товар в магазин. В пункте Plugin: выбираем наш плагин, в пункте Товар используется сразу же после покупки: - Да , в пунктах Пользователь может удалить этот товар: - Пользователь может продать это товар обратно в магазин: - Пользователь может показать этот товар на своей полке - Нет
Остальные настройки делаете по своему вкусу.


2. Товар - цвет никнейма
- При покупке данного товара у пользователя меняется цвет ника. По сути все легко делается, но для каждого цвета нужно делать следущие действия. Опишу на примере уже существующего черного цвета никнейма.
Для начала создаем файл со следущим названием и расширением - user_color_black.php, обратите внимание на окончание имени - black, при создании других цветов обязательно дописывать название этого цвета таким же образом, на английском. Файл будет иметь следущее содержимое
<?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_blue.php и следовательно кусок
user_color_black
 

Заменяем на
user_color_blue
 

Далее находим в коде
$color    = $user->data['user_colour'] = '000000';
 

В найденном заменяем
 

На HTML код своего нового цвета, этот код можно поглядеть в таблице HTML цветов, коими кишит интернет.
После этих действий сохраняем наш файл и закидываем на сервер в папку includes\shop\items\. При добавлении товара обязательно установить в пункте Plugin: - выбираем наш плагин, в пункте Товар используется сразу же после покупки: - Да , в пунктах Пользователь может удалить этот товар: - Пользователь может продать это товар обратно в магазин: - Пользователь может показать этот товар на своей полке - Нет
Остальные настройки делаете по своему вкусу.


Доработки
-Выводим описание товара при наведении мыши на картинку товара
Открыть viewtopic.php и находим
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>';
}


Вообщем ничего сложного, но перед добавлением плагина, лучше протестировать его на левом форуме (тестовом) если он есть)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!

Теги темы
UPS Easy Shop и Ultimate Points phpbb3, UPS Easy Shop , система оплаты за сообщение phpbb3, магазин подарков для phpbb3, денежная система для phpbb3, Руссификация модификации Ultimate Points phpbb3
          Вернуться наверх  
 


Аватар пользователя

Спасибо Сергей!


_________________
Подпись:
Я не понял Вашего вопроса, но я Вам на него отвечу…
          Вернуться наверх  
 


Аватар пользователя

Ковырял вообщем мод, пытался вывести ник отправителя, не вышло, выложу свои ковырялки авось кто додумает. Вообщем нашел переменную отвечающую за вывод ника отправителя - $transfer_user_name, в файле ucp_shop.php с ней возможно связаны строка
$transfer_user_name = $transfer_user['username'];
 

Открыл файл viewtopic.php и нашел кусок
$template->assign_block_vars('postrow.shelf_items_sig', array(
            'NAME'         => $item->data['name'],
            'ICON'         => $show_icon,
            'PCS'         => $item->data['quantity_user'],
         ));
 

Заменил его на
$template->assign_block_vars('postrow.shelf_items_sig', array(
         'TRANS' => $transfer_user['username'],
            'NAME'         => $item->data['name'],
            'ICON'         => $show_icon,
            'PCS'         => $item->data['quantity_user'],
         ));
 

Открыл шаблон viewtopic_body.html и нашел
{L_SHOP_PCS} 
 

Заменил на
{L_SHOP_PCS} {postrow.shelf_items_sig.TRANS}
 

В итоге получил возрастание запросов к БД на 110 штук, ничего не выводит.
Кстати подумайте еще над тем, что пользователь так же может купить себе самостоятельно подарок, не только получать их путем дарения)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Случайный аватар. Пользователю рекомендуется загрузить свой аватар в Настройках профиля

DeaDRoMeO,
В базе данных не хранится иформация об отправителе подарка... Там просто информация о том, что у пользователя есть столько-то таких-то подарков... а если ему присылают еще точно такой же подарок - то количество просто увеличивается на единицу.

А в переменную $transfer_user_name попадает имя которое вводится в поле "Пользователь:" на странице Магазин - Подарить... по этому имени определяется id пользователя, которому нужно подарить подарок.


          Вернуться наверх  
 


Аватар пользователя

Странно, я смотрел область формирования содержания ЛС, думал что именно этой переменной дается значение, ну раз так - то надо делать еще одно поле в БД и хранить в нем имя отправителя, вообщем своими средствами и логикой ничего не выйдет


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Случайный аватар. Пользователю рекомендуется загрузить свой аватар в Настройках профиля

DeaDRoMeO,
как я понял, разницы между "Покупкой" и "Подарком" нету? В любом случае пользователю добавляется товар (если товар уже есть, то просто увеличивается количество на 1), а то что это куплено или получено в подарок моду не интересно... он все лепит в одну кучу... если так, то получается в блоке "Показать подарки, полученные Пользователем", количество подарков будет не всегда равным подаренным (там отображается общее количество, напирмер 10 шт., среди которых 6 вещей он мог сам купить, а остальные ему могли подарить - будет 10 шт. а ников под подарком всего 4, многим это будет непонятно)...
кроме этого надо будет еще дорабатывать функции "Выбросить" и "Вернуть товар" - чтобы был выбор чей подарок выбросить, а чей оставить...

а в целом очень мало возможностей у магазина... можно было сделать массовую раздачу подарков (по признаку: группам, по количеству сообщений, по стажу, по полу м/ж)... сделать временные подарки (например снежок, который расстает 1 марта, или солнцезащитные очки, которые украдут 1 сентября)... сделать возможность дарить анонимно... ссылку "Ответный подарок" (будет стимулировать на то, чтобы надо бы отправить ответный подарок)... ну и еще чего-то придумать...

где-то получилось так:
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку

1,2,3 - подарки
4 - сам себе купил
5 - один куплен, один подарен

а если подариших будет человек сто, то список будет очень большой и некрасивый...

CREATE TABLE `phpbb_shop_presents` (
  `id_present` int(11) NOT NULL auto_increment,
  `present` mediumint(8) NOT NULL,
  `to_present` mediumint(8) NOT NULL,
  `from_present` mediumint(8) NOT NULL,
  `time` int(11) NOT NULL,
  PRIMARY KEY  (`id_present`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;


includes\constants.php

после
define('SHOP_CONFIG_USER_TABLE',   $table_prefix . 'shop_config_user');

вставить
define('SHOP_PRESENTS',         $table_prefix . 'shop_presents');


includes\ucp\ucp_shop.php


перед
         // Finally inform the transfer user, that he received a donation

вставить
                  $sql = 'INSERT INTO ' . SHOP_PRESENTS . ' ' . $db->sql_build_array('INSERT', array(
                     'present'   => (int) $selected_item,
                     'to_present'   => (int) $transfer_user_id,
                     'from_present'   => (int) $user->data['user_id'],
                     'time'   => time()
                  ));
                  $db->sql_query($sql);




viewtopic.php

перед
         // Generate link to users profile

вставить
         $sql = 'SELECT u.user_id, u.username, p.time
            FROM '. USERS_TABLE .' u
            JOIN '. SHOP_PRESENTS .' p ON p.from_present = u.user_id
            WHERE p.to_present ='. $poster_id.' AND p.present ='. $item->data['item'];
         $result = $db->sql_query($sql);

         $list = array();

         while ($row = $db->sql_fetchrow($result))
         {
            $list[] = '<a style="color: green;" href="'.$phpbb_root_path.'memberlist.'.$phpEx.'?mode=viewprofile&u='.$row['user_id'].'" title="'.$user->format_date($row['time']).'" >'.$row['username'].'</a>';
         }

         $list = implode(", ", $list);






в

         $template->assign_block_vars('postrow.shelf_items_sig', array(
            'NAME'         => $item->data['name'],
            'ICON'         => $show_icon,
            'PCS'         => $item->data['quantity_user'],

         ));

после
            'PCS'         => $item->data['quantity_user'],

вставить
            'LIST'         => $list,





viewtopic_body.html

вместо
                           {postrow.shelf_items_sig.PCS} {L_SHOP_PCS}
вставить
                           {postrow.shelf_items_sig.PCS} {L_SHOP_PCS}<br />
                           {postrow.shelf_items_sig.LIST}
 



Информация о редактировании
Последний раз редактировалось kulyasov 09 мар 2013, 17:59, всего редактировалось 1 раз.
          Вернуться наверх  
 


Аватар пользователя

Спасибо, перенесу в первый пост, а увеличение нагрузки не просматривали после данных правок??
Я бы рад переработать его немного (магазин), да не силен в php


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Привет всем!
Не дает покоя один вопрос: насколько денежная система на форуме и магазин нужная вещь? Какова их практическая ценность?
Просто не хотелось бы загружать форум сервисами, которыми мало кто будет пользоваться.
Можно услышать отзывы от админов, которые ставили эти моды?
Заранее благодарен.


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


Аватар пользователя

tralan писал(а):

Можно услышать отзывы от админов, которые ставили эти моды?

Я ставил эти моды. Насколько они ценны? Однозначного ответа у меня нет. Могу сказать точно, что возбуждают любопытство у форумчан. Некоторое время они пытаются зарабатывать валюту, покупают друг другу подарки. Со временем интерес уменьшается. Возможно я что-то делаю не так. Может быть нужно больше подарков (товаров) в магазин. Думаю, если придумать интересную идею (главное - на что тратить форумную валюту) и увлечь ей, то моды принесут ощутимую пользу.


_________________
Подпись:

Информация о редактировании
Последний раз редактировалось delitant 08 апр 2013, 17:19, всего редактировалось 1 раз.
          Вернуться наверх  
 


Аватар пользователя

delitant писал(а):

Некоторое время они пытаются зарабатывать валюту, покупают друг другу подарки. Со временем интерес уменьшается.

Аналогично и у меня))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Спасибо, ребята, за ваши отзывы. Очень помогли.
Да, без идеи, просто покупка подарков - не интересно.
Может быть как-то связать, например, с конкурсами: хочешь участвовать - взнос n-ой суммы и выигрыш потом n-ой суммы, или например, как в одноклассниках - покупать 5+ для фоток.
Хотя, наверное, в phpBB это реализуемо через группы и количество сообщений. Ну ... не знаю даже. Вот нет какой-то четкости использования модов.


_________________
Подпись:
В любой непонятной ситуации – ложись спать!
          Вернуться наверх  
 


Аватар пользователя

tralan писал(а):

взнос n-ой суммы и выигрыш потом n-ой суммы

Автоматизировать это не получится, придется вручную принимать взносы и награждения проводить


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Кто-нибудь сталкивался с такой проблемой, что пользователи специально спамят, что бы получить быстрее очки и потратить их в магазине пока я их не заблокирую за спам. Интересно есть ли решение этой проблемы в ultimate points или может есть свои наработки по этому поводу? Как я думаю должно быть ограничение на количество очков в день или что то в этом роде, я ничего такого не нашел.


          Вернуться наверх  
 


Аватар пользователя

А вы сделайте как я - настройте флуд контроль и пару групп в которых этот флуд контроль отрублен. Адекватных пользователей перемещаете в группы для которых не работает флуд-контроль


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Извиняюсь за вопрос, а где настраивается флуд контроль, у меня версия форума 3.0.9 покопался в админке и ничего подобного не нашел. Спасибо за ответ.


          Вернуться наверх  
 


Аватар пользователя

Админка - Общие - Размещение сообщений - и там где то будет поле для задания интервала флуд-контроля, а потом к каждому форуму и подфоруму настраиваете права доступа для каждой из групп (При настройке прав доступа жмете пункт Расширенные права и на одной из вкладок будет пункт - Может игнорировать флуд-контроль)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Очень признателен за помощь.


          Вернуться наверх  
 


Аватар пользователя

На здоровьице)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Случайный аватар. Пользователю рекомендуется загрузить свой аватар в Настройках профиля

Привет, подскажите пожалуйста, для ресайза подарков, что используете?


          Вернуться наверх  
 


Аватар пользователя

Это мод HighSlide вроде бы цепляет эти картинки или мод спойлера BB3Spoiler , честно трудно сказать


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

А почему мои подарки не видны в подписи?


_________________
Подпись:
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя User reputation points phpbb3 (Репутация)
User reputation points - модификация для phpbb3, организующая на форуме систему репутации пользователя, как графическую так и текстовую

DeaDRoMeO

209

10706

Аватар пользователя

10 окт 2015, 15:25

DeaDRoMeO

Аватар пользователя DM Easy Download System phpbb3 (Каталог файлов)
DM Easy Download System - модификация для phpbb3, организующая на форуме удобный каталог файлов, с некоторыми расширенными возможностями

DeaDRoMeO

44

2447

Аватар пользователя

05 дек 2014, 18:10

nevod

Аватар пользователя Top Stats phpbb3
Top Stats - модификация для phpbb3, организующая на главной странице форума 7 блоков с разнообразной статистикой

DeaDRoMeO

73

11464

Аватар пользователя

08 янв 2016, 11:22

DeaDRoMeO

Аватар пользователя FAQ Manager phpbb3
FAQ Manager - модификация для phpbb3, позволяющая редактировать FAQ через администраторский раздел

tralan

15

2686

Аватар пользователя

11 июн 2016, 15:25

Beksssss

Аватар пользователя BAN redirect URL phpbb3
BAN redirect URL - модификация для phpbb3, позволяющая перенаправлять заблокированных пользователей по любому адресу

DeaDRoMeO

21

4949

Аватар пользователя

16 июн 2014, 05:05

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


cron

Самая неформальная поддержка phpBB :P