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


----

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

 Сообщение 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]
Скачиваний: 164


В дебагере может появляться такая ошибка
[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
          Вернуться наверх  
 


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

Какой код находится в строке 2455 этого файла?? Скопируйте его в свое сообщение и 5 строк выше и 5 строк ниже от строки 2455


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


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

// Absolute uri, prepend direct url...
$url = generate_board_url(true) . $url;
}
else
{
// Relative uri
$pathinfo = pathinfo($url);

if (!$disable_cd_check && !file_exists($pathinfo['dirname'] . '/'))

{
$url = str_replace('../', '', $url);
$pathinfo = pathinfo($url);

if (!file_exists($pathinfo['dirname'] . '/'))
{
// fallback to "last known user page"
// at least this way we know the user does not leave the phpBB root
$url = generate_board_url() . '/' . $user->page['page'];
$failover_flag = true;
}
}


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


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

Вообщем попробовать так, в этом файле найти строку
if (!$disable_cd_check && !file_exists($pathinfo['dirname']))
 

Заменить на
if (!$disable_cd_check && !file_exists($pathinfo['dirname'] . '/'))
 

Найти
if (!file_exists($pathinfo['dirname']))
 

Заменить на
if (!file_exists($pathinfo['dirname'] . '/'))
 

Кстати какая версия форума у вас?


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


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

Самая последняя 3.0.10


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


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

Попробуйте применить описанные выше правки, если не помогает, то у вас есть доступ к файлу php.ini на хостинге???


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


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

1. я не могу найти строку if (!$disable_cd_check && !file_exists($pathinfo['dirname']))
2. я не знаю, а как это узнать, где его искать?


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


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

1) ищите по частям, вернее в поисковой запрос вбейте часть строки
2) пишите в поддержку хостинга письмо, содержащее в себе вопрос - есть ли у меня доступ к файлу php.ini, могу ли я его самостоятельно отредактировать, не закомментирована ли в нем строка начинающаяся на open_basedir


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


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

А можно подробнее, что значит закоментирована? Я не силён в этой терминологии. О чём мне их попросить?


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


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

Закомментировать строку означает что строку, допустим
open_basedir
 

Сделали такой
//open_basedir
 

Попросите их прояснить ситуацию по своему вопросу, пусть скажут где этот файл найти и если нельзя его найти, то пусть скажут что творится со строкой open_basedir


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


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

Большое спасибо! буду разбираться. Потом напишу, расскажу. Может кому будет полезно знать как эту проблему решить


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


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

Разумеется отписывайтесь, информация никогда лишней не бывает :co_ol:


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


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

Я зделал как вы сказали, сменил строчки на Ваши. Больше ошибка не появляется, но сообщения не добавляются (хотя пишет "спасибо что разместили ваше сообщение").


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


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

Значит пишите в техподдержку


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


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

Придётся((
И когда нажимаю на ссылку "просмотреть Ваше сообщение" перехожу не на тему, а просто обновляется страница.


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


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

Значит убирайте описанные мной правки и ждите ответа от хостера


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


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

Я смог найти информацию, что у меня в файле php.ini

open_basedir:
/home/limion/limion.kh.ua/www (напротив этого стоит галочка)
/home/limion/limion.kh.ua
/home/limion
отключить

Можете что-нибудь по этим сведениям понять?


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


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

Попробуйте отключить это, я только что в свой php.ini глянул и у меня там такая строка
;open_basedir = /home/vhosts:/tmp:/var/tmp:/usr/share/doc:/usr/share/php5:/usr/lib/php5
 

Тобишь она закомментирована, а это значит, что данный пункт выключен


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


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

Ок, попробую выключить и посмотрю что получится.


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


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

Надеюсь на хороший исход)


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


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

Я тоже надеюсь. Изменил на "отключить", изменение вступит в силу только через час, поэтому можно завтра с утра продолжить. Большое спасибо за поддержку! Доброй ночи.


          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


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

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

DeaDRoMeO

209

10742

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

10 окт 2015, 15:25

DeaDRoMeO

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

DeaDRoMeO

44

2457

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

05 дек 2014, 18:10

nevod

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

DeaDRoMeO

73

11519

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

08 янв 2016, 11:22

DeaDRoMeO

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

tralan

15

2697

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

11 июн 2016, 15:25

Beksssss

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

DeaDRoMeO

21

4966

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

16 июн 2014, 05:05

DeaDRoMeO

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

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

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

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


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