Хитрости VOC++ BSE

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.833
Реакции
1.939
Баллы
113
Здесь будут выкладываться различные хитрости, доработки, дополнения, хаки для движка VOC++ BSE
 
Последнее редактирование:

stream

Support
Команда форума
Регистрация
09.09.14
Сообщения
957
Реакции
625
Баллы
93
PHP:
<?php
echo "<table>";
include("inc_common.php");
$fp = fopen($user_data_file, "r");
flock($fp, LOCK_EX);
while ($data = fgets($fp, 4096)) {
$user = str_replace("\r","",str_replace("\n","",$data));
list($t_id, $t_nickname, $t_password, $t_class, $t_show_admin) = explode("\t",$user);
if ($t_class==2047) {
echo "<tr><td><a href=\"fullinfo.php?&user_id=$t_id\">$t_nickname</a> - администратор</td></tr>";
}
elseif ($t_class<2047 and $t_class>0) {
echo "<tr><td><a href=\"fullinfo.php?&user_id=$t_id\">$t_nickname</a> - модератор</td></tr>";
}
}
flock($fp, LOCK_UN);
fclose($fp);
$sh = fopen($data_path."shamans_list.tmp", "rb");
if($sh) {
while ($data = fgets($sh, 4096)) {
$user = str_replace("\r","",str_replace("\n","",$data));
list($t_id, $t_nickname) = explode("\t",$user);
echo "<tr><td><a href=\"fullinfo.php?&user_id=$t_id\">$t_nickname</a> - шаман чата</td></tr>";
}
fclose($sh);
}
echo "</table>";
?>

PHP:
if(!$is_regist_complete) {
echo "<br><br><center>a href=".chat_url."registration_form.php>На регистрацию!</a>";
exit;}

В корневой файл quiz.php после:
PHP:
 if ($room_id == $quiz_config['room_id']) { $flood_protection = 0; $bot_nick = $quiz_config['bot_nick']; $bot_htmlnick = ($quiz_config['bot_htmlnick'] != '') ? $quiz_config['bot_htmlnick'] : $bot_nick;
вставить:
PHP:
  if (trim(strip_tags($mesg)) == '!-') { $messages_to_show = array(); $add_to_ignor = $quiz_config['bot_nick']; include($engine_path."ignor_add.php"); echo '<script>alert("'.$w_quiz_disabled.'");</script>'; exit(); }   if (trim(strip_tags($mesg)) == '!+') { $messages_to_show = array(); $remove_from_ignor = $quiz_config['bot_nick']; include($engine_path."ignor_remove.php"); echo '<script>alert("'.$w_quiz_enabled.'");</script>'; exit(); } 
..В файл languages/ru.php вставить:
PHP:
 $w_quiz_disabled = 'Викторина ОТКЛЮЧЕНА!\nТеперь Вы не будете видеть вопросов викторины.\nЧтобы отменить игнор - команда !+'; $w_quiz_enabled = 'Викторина ВКЛЮЧЕНА!\nТеперь Вы можете видеть вопросы викторины.\nЧтобы игнорировать - команда !-';
...Возможно, понадобится перезапуск викторины.

...В нужное место вставляем код:
PHP:
<?php
include("inc_common.php");
include($file_path."inc_statistic.php");
echo "Нас уже: ".stat_total_users()."<br>";
?>
Важно! В зависимости от структуры чата править путь к файлу inc_common.php!

PHP:
<?php if ($current_user->registered && $current_user->is_member) {?>
Только для vip! <?php } ?>


В chat/sender.php после:
PHP:
function addURLS($str)
{ global $chat_url; $str2 = $str; if (function_exists('preg_replace')){ $str2 = preg_replace("/(?<!<a href=\")(?<!\")(?<!\">)((http|https|ftp):\/\/[\w?=&.\/-~#-_]+)/e", "'<a href=\"".$chat_url."go.php?url='.urlencode('\\1').'\" target=\"_blank\">\\1</a>'", $str); $str2 = preg_replace("/((?<!<a href=\"mailto:)(?<!\">)(?<=(>|\s))[\w_-]+@[\w_.-]+[\w]+)/","<a href=\"mailto:\\1\">\\1</a>",$str2); } return $str2;
}
Вставляем:
PHP:
function replaceURLS($str) { global $w_no_links; $str = preg_replace("/(?<!<a href=\")(?<!\")(?<!\">)((http|https|ftp):\/\/[\w?=&.\/-~#-_]+)/e", "'[$w_no_links]'", $str); $str = preg_replace("/((?<!<a href=\"mailto:)(?<!\">)(?<=(>|\s))[\w_-]+@[\w_.-]+[\w]+)/","<a href=\"mailto:\\1\">\\1</a>", $str); return $str;
}
в этом же файле заменяем:
PHP:
$mesg = addURLS($mesg);
На этот код:
PHP:
if ($current_user->registered && $current_user->online_time > 3600) { $mesg = addURLS($mesg); } else { $mesg = replaceURLS($mesg); }
В chat/languages/ru.php добавить
Код:
$w_no_links = '[Забаньте меня... Я рекламлю!]';
3600-время в секундах, сколько должен общаться пользователь в чате, по прошествии которого он сможет отправлять в эфир ссылки.
Автор Мода: ChatMaster, если не ошибаюсь.
P.S: я в одном чате скрестил этот мод с модом редактирования Джек-Пота Казино, чтобы при потребности смены времени не лазить каждый раз на сервер, а прямо через модерку менять.
 
Последнее редактирование модератором:

stream

Support
Команда форума
Регистрация
09.09.14
Сообщения
957
Реакции
625
Баллы
93
Можно давать возможность отправлять ссылки при наличии определенной награды из Мода "Награды":
в файле sender.php после:
PHP:
 $mesg = addFaces($mesg);
вставить код:
PHP:
 if ( $current_user->nagrada_5) { $mesg = addURLS($mesg); } else { $mesg = replaceURLS($mesg); }
Должны быть установлены Мод "Награды" и прописаны приведенные выше функции replaceURLS($mesg); и $mesg = addURLS($mesg);
 

spy girl

Помощник Админа
Регистрация
04.09.14
Сообщения
504
Реакции
267
Баллы
63
Возраст
39
Автоматом даются креды и амулеты новичку при реге

Чтобы новичку автоматом давались креды, находим в корне чата файлик inc_user_class.php
открываем его, находим строчку
HTML:
var $credits = 0;
и там меняем цифру ноль на свое число

Автоматический амулет при реге делается так:
В корне чата ищем inc_users_class.php
в этой строчке
HTML:
var $rewards = "0";
прописываем вместо нуля цифру 1
 
Последнее редактирование:

spy girl

Помощник Админа
Регистрация
04.09.14
Сообщения
504
Реакции
267
Баллы
63
Возраст
39
Где ставится ограничение на набор юзеров в клан?
Находим файл inc_common.php
и в строке
HTML:
define('MAX_CLANMEMBERS',20);
число 20 меняем на свое
 
Последнее редактирование:

spy girl

Помощник Админа
Регистрация
04.09.14
Сообщения
504
Реакции
267
Баллы
63
Возраст
39
Как нарисовать рейтинг определенному юзеру чата?
1) Ищем номер (ИД) пользователя, его можно посмотреть в профиле чатланина, но смотрите не спутайте с ИД браузера.
2) Потом смотрим сколько у него рейтинга и запоминаем.
3)Зайти в data/users там папки 0,1,2
4)Если ИД до 2000, тогда смотрим папку 0, если до 4000 то 1, и т.п
5) Находим аккаунт человека которого хотим нарисовать рейтинг, например 171.user.
Правка- поиск (ctrl+F3) его текуший рейтинг,исправляем на тот рейтинг который необходим. Жмем сохранить.
Должен появиться рейтинг в анкете, но в списке рейтинге не сразу, а где-то в течение часа.
это возможно сделать не из ДиректАдмин, а через фтп клиент.
 
Последнее редактирование:

spy girl

Помощник Админа
Регистрация
04.09.14
Сообщения
504
Реакции
267
Баллы
63
Возраст
39
Как увеличить балл за фото?
Находим файлик inc_common.php и строке
HTML:
PHP:
define("MAX_PHOTO_REITING", 10);
меняем цифру 10 на нужное вам число.
 
Последнее редактирование:
Сверху Снизу