Установка кода SAPE на phpbb 3.1.1

Поскольку великомудрые разработчики в новой версии неслабо перепилили движок форума, то закономерно встал вопрос как поставить код Sape на phpbb3.1. Памятка дабы не забыть:

0. Скачиваем с сайта сапы новый код.
1. Открываем файлы index.php, viewforum.php и viewtopic.php.
2. В самое начало добавляем код:
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'сюда копипастнуть ваш ид');
}
require_once(realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));
$o['multi_site'] = true; //это если у вас несколько сайтов
$o['charset'] = 'utf-8';
$sape = new SAPE_client($o);
unset($o);
$sapeLinks = $sape->return_links();

4. Ищем строку:
$template->assign_vars(array(
Там таких несколько, нужна та где много всяких разных присвоений массиву. После неё вставляем:
'SAPE_LINKS' => $sapeLinks,
5. В нужном месте шаблона добавляем:
{SAPE_LINKS}
6. Чистим кэш.

Если хочется выводить в разных местах и разное количество ссылок, то соответственно:

$sapeLinks1 = $sape->return_links(2);
$sapeLinks2 = $sape->return_links(2);
$sapeLinks = $sape->return_links();

и
'SAPE_LINKS1' => $sapeLinks1,
'SAPE_LINKS2' => $sapeLinks2,
'SAPE_LINKS' => $sapeLinks,

и
{SAPE_LINKS1}
{SAPE_LINKS2}
{SAPE_LINKS}

Справедливости ради надо отметить, что это не особо кошерный способ, ибо идеология новой версии не подразумевает правку кода, однако на данный момент нет расширения прямо реализующего этот функционал. Так что пока ждём и используем грязные хаки.

Установка кода SAPE на phpbb 3.1.1: 2 комментария

  • 18.06.2015 в 10:29
    Permalink

    Берем includes/functions.php и создаем там
    function smarty_function_sape($params,&$smarty){
    $linkId=isset($params[‘linkId’])?$params[‘linkId’]:»»; // Проверяем если нам передали параметр linkId, то переменной $linkId присваиваем это значение, если нет то устанавливаем ее в пустую строку
    define(‘_SAPE_USER’, ‘хххххххххххх’);
    require_once($_SERVER[‘DOCUMENT_ROOT’].’/’._SAPE_USER.’/sape.php’);
    $o[‘charset’] = ‘UTF-8’; // Кодировка сайта
    $o[‘force_show_code’] = true; // Проверка работоспособности кода
    $o[‘request_uri’] = getenv(‘REQUEST_URI’); // Делаем ссылки sape устойчивыми к GET-параметрам
    $sape = new SAPE_client($o);
    unset($o);
    return $sape->return_links();
    }

    Затем в темплайте вставляем {sape} и усе.

  • Phantom
    28.09.2015 в 02:59
    Permalink

    Уже неактуально, запилили рабочий мод: http://www.ppkbb3cker.ru/viewtopic.php?f=67&t=3931

    Чтобы скачать требуется регистрация, ну и там с файлом sape.php пошаманить надо, либо взять готовый из дистра.

Добавить комментарий