Перекидываю форум с PHPBB на Битрикс — благо конверторы писать с нуля не придётся — спасибо Долганину Антону за его статью Переезжаем с phpBB на форум Битрикс. Экспериментирую на тестовом форуме, поэтому перед наполнением, его нужно было почистить.
Собственно реализация этой небольшой ТЗ, созданная мной буквально за 5 минут (а битрикс то весьма удобен!):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?php set_time_limit(0); ignore_user_abort(); require($_SERVER[«DOCUMENT_ROOT»].«/bitrix/modules/main/include/prolog_before.php»); if (CModule::IncludeModule(«forum»)) { // clear topics $db_res = CForumTopic::GetList(array(), array()); while ($ar_res = $db_res->Fetch()) { echo ‘deleted -‘.$ar_res[«TITLE»].‘<br>’; CForumTopic::Delete($ar_res[«ID»]); } // clear forums $db_Forum = CForumNew::GetList(array(), array()); while ($ar_Forum = $db_Forum->Fetch()) { CForumNew::Delete($ar_Forum[«ID»]); echo ‘deleted — ‘.$ar_Forum[«NAME»].‘<br>’; } //clear users (кроме меня) $rsUser = CUser::GetList($by=«ID», $order=«DESC», array()); while ($arU = $rsUser->GetNext()) { echo $arU[«NAME»].«<br>»; if($arU[«ID»]>1) { CUser::Delete($arU[«ID»]); echo «deleted<br>»; } else { echo «stay<br>»; } } } ?> |
2 комментария на «“Мой первый скрипт с Bitrix API — очистка форума”»
Антон польщён 🙂
Код можно немного оптимизировать в последней проходочке. Вот так:
//clear users (кроме меня)
$rsUser = CUser::GetList($by=»ID», $order=»DESC», array(«!ID»=>1));
while ($arU = $rsUser->GetNext()) {
echo $arU[«NAME»].»»;
CUser::Delete($arU[«ID»]);
echo «deleted»;
}
Согласен, условие сразу в фильтр запихать — было бы правильнее.
Андрей, а ты чё — мой блог читаешь ? 🙂