Как создать форумы из текстового файла список.txt?
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
goshka
- phpBB 1.4.2
- Сообщения: 71
- Стаж: 12 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 3 раза
Как создать форумы из текстового файла список.txt?
Здравствуйте.
Как создать(корректировать) разделы с форумами из списка, который находится в текстовом файле?
Чтобы не создавать по-одному форуму! При большом количестве форумов на это уйдет несколько дней. А если захочешь что-то в каждый раздел добавить, то и еще куча веремени уйдет...
По идее, разработчики такие средства автоматизации должны безусловно предусматривать!
Пример. список.txt:
Раздел 1 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Форум 5 Права X
Раздел 2 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Раздел 3 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Форум 5 Права X
Раздел 4 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Форум 5 Права X
Раздел 5 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Форум 5 Права X
И т.д.
Как создать(корректировать) разделы с форумами из списка, который находится в текстовом файле?
Чтобы не создавать по-одному форуму! При большом количестве форумов на это уйдет несколько дней. А если захочешь что-то в каждый раздел добавить, то и еще куча веремени уйдет...
По идее, разработчики такие средства автоматизации должны безусловно предусматривать!
Пример. список.txt:
Раздел 1 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Форум 5 Права X
Раздел 2 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Раздел 3 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Форум 5 Права X
Раздел 4 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Форум 5 Права X
Раздел 5 Права X
Форум 1 Права X
Форум 2 Права X
Форум 3 Права X
Форум 4 Права X
Форум 5 Права X
И т.д.
-
Татьяна5
- Поддержка

- Сообщения: 13159
- Стаж: 15 лет 1 месяц
- Благодарил (а): 236 раз
- Поблагодарили: 3750 раз
Re: Как создать форумы из текстового файла список.txt?
Проект обычно начинают с одного (максимум двух) форумов, создавая другие по мере необходимости (когда наберётся не менее полусотни тем подходящей тематики). В пустые форумы пользователи не пишут. Так что автоматизация создания форумов не нужна (а для новых проектов с 1-2 темами ещё и вредна, на этих двух темах всё и остановится)
-
goshka
- phpBB 1.4.2
- Сообщения: 71
- Стаж: 12 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 3 раза
Re: Как создать форумы из текстового файла список.txt?
Спасибо.
Но в нашей задаче надо сразу. Иначе смысла не имеет...
50-70 нужных населенных пунктов (это разделы), в них по 30 одинаковых форумов.
Итого 1500-2100 форумов
Но в нашей задаче надо сразу. Иначе смысла не имеет...
50-70 нужных населенных пунктов (это разделы), в них по 30 одинаковых форумов.
Итого 1500-2100 форумов
Последний раз редактировалось goshka 25.08.2014 15:21, всего редактировалось 1 раз.
-
Татьяна5
- Поддержка

- Сообщения: 13159
- Стаж: 15 лет 1 месяц
- Благодарил (а): 236 раз
- Поблагодарили: 3750 раз
Re: Как создать форумы из текстового файла список.txt?
Итого 50-70 форумов, по числу населённых пунктов. Больше, для начала, делать не стоит. И срочно заполнять их контентом (2500-3500 тем, и хотя бы по 5-10 сообщений в каждой, это немало... а меньше смысла не имеет)
Ещё вариант - другая структура, 30 форумов с разделением на нас.пункты модом вроде Topic Prefixes
Ещё вариант - другая структура, 30 форумов с разделением на нас.пункты модом вроде Topic Prefixes
-
goshka
- phpBB 1.4.2
- Сообщения: 71
- Стаж: 12 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 3 раза
Re: Как создать форумы из текстового файла список.txt?
Татьяна, спасибо за участие.
А вот 2000 форумов (в 50 разделах) это чем плохо?
(по форумам у меня нет НИКАКОГО опыта)
Нагрузка на движок большая?
Тормозить сильно будет?
Или база затрещит?
Временные файлы большие будут?
Страница большая и не красивая?
Навигация неудобная, замедленная?
?
А вот 2000 форумов (в 50 разделах) это чем плохо?
(по форумам у меня нет НИКАКОГО опыта)
Нагрузка на движок большая?
Тормозить сильно будет?
Или база затрещит?
Временные файлы большие будут?
Страница большая и не красивая?
Навигация неудобная, замедленная?
?
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Как создать форумы из текстового файла список.txt?
Нет, просто будет выглядеть пусто. А в пустые форумы никто не пишет, они пугают новичков. Да и не нужно столько. На популярных форумах не наберётся даже сотни разделов, исключения разве что мегапопулярные торрент трекеры.
phpBBex
-
Татьяна5
- Поддержка

- Сообщения: 13159
- Стаж: 15 лет 1 месяц
- Благодарил (а): 236 раз
- Поблагодарили: 3750 раз
Re: Как создать форумы из текстового файла список.txt?
На слабых хостингах может. Особенно при редактировании одного из первых созданных форумов.goshka писал(а):Тормозить сильно будет?
-
Anvar
- Former team member
- Сообщения: 1964
- Стаж: 16 лет 5 месяцев
- Благодарил (а): 67 раз
- Поблагодарили: 800 раз
Re: Как создать форумы из текстового файла список.txt?
Мне кажется что будет очень не красиво и очень даже иногда не доступна главная форума, так как все форумы будут на одной странице.Тормозить сильно будет?
Страница большая и не красивая?
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: Как создать форумы из текстового файла список.txt?
А он список подфорумов в столбик сделает на главной (например). Немного укоротит высоту главной. Хотя и это не поможет "разбежаться" глазам. Глаукома всем обеспечена...
Делал как-то -
Категории - регионы Россеи всей
Родительские форумы - области и края в регионах
Подфорумы - районы и поселения в краях и областях.
Вышло в общей сложности вроде около 1250 подфорумов..
Но!!!!!!
При регистрации был выбор в какую группу какого региона ты регишься (есть такой мод - поищите)...
Поэтому более 80% каждая группа каждого региона на форуме просто не видела...
Гости видели все, но без варианта читания тем. (тож есть такой мод - поищите - списки тем в подфорумах гостям видно а прочитать низя)
Я не дома с ходу названия модов не смогу написать...
Делал как-то -
Категории - регионы Россеи всей
Родительские форумы - области и края в регионах
Подфорумы - районы и поселения в краях и областях.
Вышло в общей сложности вроде около 1250 подфорумов..
Но!!!!!!
При регистрации был выбор в какую группу какого региона ты регишься (есть такой мод - поищите)...
Поэтому более 80% каждая группа каждого региона на форуме просто не видела...
Гости видели все, но без варианта читания тем. (тож есть такой мод - поищите - списки тем в подфорумах гостям видно а прочитать низя)
Я не дома с ходу названия модов не смогу написать...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
goshka
- phpBB 1.4.2
- Сообщения: 71
- Стаж: 12 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 3 раза
Re: Как создать форумы из текстового файла список.txt?
Подскажите, пжлс, где хранятся права групп/пользователей, как ими можно управлять (копировать) из php скрипта и любую инфо как с ними работать...
В идеале, нужен пример (скрипт) как Форуму Х назначить (скопировать) права Форума Y.
Спасибо.
В идеале, нужен пример (скрипт) как Форуму Х назначить (скопировать) права Форума Y.
Спасибо.
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: Как создать форумы из текстового файла список.txt?
Админ. раздел > Права доступа > Копирование прав доступа
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
-
goshka
- phpBB 1.4.2
- Сообщения: 71
- Стаж: 12 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 3 раза
Re: Как создать форумы из текстового файла список.txt?
Спасибо.
Имелся в виду код (таблицы, поля, связи), инструкции по коду, скрипты из дистрибутива и сторонних разработок, примеры скриптов по копированию прав из образца. И все такое...
Имелся в виду код (таблицы, поля, связи), инструкции по коду, скрипты из дистрибутива и сторонних разработок, примеры скриптов по копированию прав из образца. И все такое...
-
goshka
- phpBB 1.4.2
- Сообщения: 71
- Стаж: 12 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 3 раза
Re: Как создать форумы из текстового файла список.txt?
Код: Выделить всё
function copy_forum_permissions($src_forum_id, $dest_forum_ids, $clear_dest_perms = true, $add_log = true) {
global $db;
// Only one forum id specified
if (!is_array($dest_forum_ids)) {
$dest_forum_ids = array($dest_forum_ids);
}
// Make sure forum ids are integers
$src_forum_id = (int) $src_forum_id;
$dest_forum_ids = array_map('intval', $dest_forum_ids);
// No source forum or no destination forums specified
if (empty($src_forum_id) || empty($dest_forum_ids)) {
return false;
}
// Check if source forum exists
$sql = 'SELECT forum_name FROM ' . FORUMS_TABLE . ' WHERE forum_id = ' . $src_forum_id;
$result = $db->sql_query($sql);
$src_forum_name = $db->sql_fetchfield('forum_name');
$db->sql_freeresult($result);
// Source forum doesn't exist
if (empty($src_forum_name)) { return false; }
// Check if destination forums exists
$sql = 'SELECT forum_id, forum_name
FROM ' . FORUMS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $dest_forum_ids);
$result = $db->sql_query($sql);
$dest_forum_ids = $dest_forum_names = array();
while ($row = $db->sql_fetchrow($result)) {
$dest_forum_ids[] = (int) $row['forum_id'];
$dest_forum_names[] = $row['forum_name'];
}
$db->sql_freeresult($result);
// No destination forum exists
if (empty($dest_forum_ids)) { return false; }
// From the mysql documentation:
// Prior to MySQL 4.0.14, the target table of the INSERT statement cannot appear
// in the FROM clause of the SELECT part of the query. This limitation is lifted in 4.0.14.
// Due to this we stay on the safe side if we do the insertion "the manual way"
// Rowsets we're going to insert
$users_sql_ary = $groups_sql_ary = array();
// Query acl users table for source forum data
$sql = 'SELECT user_id, auth_option_id, auth_role_id, auth_setting
FROM ' . ACL_USERS_TABLE . ' WHERE forum_id = ' . $src_forum_id;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) {
$row = array(
'user_id' => (int) $row['user_id'],
'auth_option_id' => (int) $row['auth_option_id'],
'auth_role_id' => (int) $row['auth_role_id'],
'auth_setting' => (int) $row['auth_setting'],
);
foreach ($dest_forum_ids as $dest_forum_id) {
$users_sql_ary[] = $row + array('forum_id' => $dest_forum_id);
}
}
$db->sql_freeresult($result);
// Query acl groups table for source forum data
$sql = 'SELECT group_id, auth_option_id, auth_role_id, auth_setting
FROM ' . ACL_GROUPS_TABLE . '
WHERE forum_id = ' . $src_forum_id;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) {
$row = array(
'group_id' => (int) $row['group_id'],
'auth_option_id' => (int) $row['auth_option_id'],
'auth_role_id' => (int) $row['auth_role_id'],
'auth_setting' => (int) $row['auth_setting'],
);
foreach ($dest_forum_ids as $dest_forum_id) {
$groups_sql_ary[] = $row + array('forum_id' => $dest_forum_id);
}
}
$db->sql_freeresult($result);
$db->sql_transaction('begin');
// Clear current permissions of destination forums
if ($clear_dest_perms) {
$sql = 'DELETE FROM ' . ACL_USERS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $dest_forum_ids);
$db->sql_query($sql);
$sql = 'DELETE FROM ' . ACL_GROUPS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $dest_forum_ids);
$db->sql_query($sql);
}
$db->sql_multi_insert(ACL_USERS_TABLE, $users_sql_ary);
$db->sql_multi_insert(ACL_GROUPS_TABLE, $groups_sql_ary);
if ($add_log) {
add_log('admin', 'LOG_FORUM_COPIED_PERMISSIONS', $src_forum_name, implode(', ', $dest_forum_names));
}
$db->sql_transaction('commit');
return true;
}

