Преминаване от phpBB 3.0 към phpBB 3.1

Конвертиране от версия 3.0 към 3.1, въпроси и проблеми, споделяне на опит
Отговори
Потребителски аватар
Чими
Проклетник
Проклетник
Мнения: 6516
Регистриран: 14 сеп 2002 23:38
пол: мъж
църква: Църква на Адвентистите от седмия ден
Контакти:

Преминаване от phpBB 3.0 към phpBB 3.1

Мнение от Чими »

Преди да решите да преминете на phpBB 3.1 трябва да сте наясно, че новата версия използва съвсем различен начин на инсталиране и ползване на нови модификации. При ъпдейт всички стари модификации ще бъдат изгубени и няма да работят. Въпреки това в базата ще бъдат запазени всички таблици и данни на инсталираните вече модификации, така че ако авторите на старите модификации решат да направят нови версии и някакъв ъпдейт на своите стари модификации към новите версии, то ще е възможно да бъдат прочетени старите данни в базата.

Всички, които искат да започнат начисто, могат да изтрият всички таблици и данни в базата, инсталирани допълнително с модификациите. Най-лесно това може да стане с използване на Support Toolkit, който включва най-различни инструменти за поправка и промяна на системни настройки. В него има инструмент за изчистване на допълнително инсталираните таблици и данни, добавени при модифициране на форума.
ВНИМАНИЕ!
Бъдете внимателни какво изтривате. Освен допълнителните таблици и данни инструментът дава възможност за изтриване на допълнително въведените права, групи, ботове и други, които е добре да бъдат запазени при преминаване към новата версия.
Изтеглете от ТУК --> https://www.phpbb.com/customise/db/official_tool/stk/

Ето последователността на ъпдейт от версия 3.0 към версия 3.1

1. Направете бекъп на базата и всички файлове
2. Променете стила на ВСИЧКИ потребители, включително и своя на стил prosilver и деинсталирайте всички останали стилове, темплейти и imageset.
Преминаването към стил prosilver може да стане с помощта на споменатия по-горе Support Toolkit или с дадения по долу скрипт.
- Запишете дадения скрипт във файл с име fix.php и го копирайте в главната директория, там където е файла config.php
- Стартирайте файла fix.php във вашия браузър.

Код: Избери всички

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Default style ID
$sql = 'SELECT config_value FROM ' . CONFIG_TABLE . " WHERE config_name = 'default_style'";
$result = $db->sql_query($sql);
$default_style_id = (int) $db->sql_fetchfield('config_value');
$db->sql_freeresult($result);

// Default style name
$sql = 'SELECT style_name FROM ' . STYLES_TABLE . ' WHERE style_id = ' . $default_style_id;
$result = $db->sql_query($sql);
$default_style_name = $db->sql_fetchfield('style_name');
$db->sql_freeresult($result);

// Active styles
$sql = 'SELECT style_id, style_name, style_active FROM ' . STYLES_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
    $styles_list[] = $row;
}
$db->sql_freeresult($result);


echo 'Default style: ' . $default_style_name . ' (' . $default_style_id . ')<br />';

$exists = file_exists('./styles/' . $default_style_name . '/style.cfg');

if ($exists)
{
    echo 'Default style exists, no work to be done.';
    exit;
}

if (!file_exists('./styles/prosilver/style.cfg'))
{
    echo 'Prosilver does not exist. Please upload a copy of prosilver from the <a href="https://www.phpbb.com/downloads/">3.1.0 Full Package</a>.';
    exit;
}

$prosilver = array();
foreach ($styles_list as $style)
{
    if ($style['style_name'] == 'prosilver')
    {
        $prosilver = $style;
        break;
    }
}

// Install style if it doesn't exist
if (!sizeof($prosilver))
{
    $sql_ary = array(
        'style_name'        => 'prosilver',
        'style_copyright'    => '&copy; phpBB Group',
        'style_active'        => 1,
        'style_path'        => 'prosilver',
        'bbcode_bitfield'    => 'lNg=',
        'style_parent_id'    => '0',
        'style_parent_tree'    => '',
    );

    $sql = 'INSERT INTO ' . STYLES_TABLE . '
        ' . $db->sql_build_array('INSERT', $sql_ary);
    $db->sql_query($sql);

    $id = $db->sql_nextid();
    $prosilver = array(
        'style_name'    => 'prosilver',
        'style_id'        => $id,
        'style_active'    => 1,
    );

    echo 'Installed prosilver (' . $id . ').<br />';
}
else
{
    // Activate prosilver
    $sql = 'UPDATE ' . STYLES_TABLE . " SET style_active = 1 WHERE style_name = 'prosilver'";
    $db->sql_query($sql);
}

// Set it as the default style
$sql = 'UPDATE ' . CONFIG_TABLE . ' SET config_value = ' . $prosilver['style_id'] . " WHERE config_name = 'default_style'";
$db->sql_query($sql);
$cache->purge();
echo 'Set prosilver as the default style.<br />';

// Set all users' styles to prosilver
$sql = 'UPDATE ' . USERS_TABLE . ' SET user_style = ' . $prosilver['style_id'];
$db->sql_query($sql);
echo 'Updated user styles to prosilver.<br />';
echo 'Done.';
?>
3. Изтрийте всички файлове и папки от старата си версия с изключение на:
- файла:
config.php
- папките:
/images
/store
/files
4. Запишете новите папки и файлове от новата версия на мястото на старите. ВНИМАНИЕ! В инсталационните файлове има празен config.php файл, внимавайте да не го запишете върху стария си config.php файл.
5. Стартирайте файла /install/database_update.php
6. Изтрийте папката install
"И ето името, с което ще се нарича: Господ е наша правда."
Еремия 33:16
Отговори

Върни се в “Всичко за новата версия на форума - phpBB 3.1”