- 05, Jun 2016
- #1
Решил поделиться одним замечательным хаком. Любимые смайлы.
Версия favoritesmilies-1.0.5 была уязвима. Это версия хака favoritesmilies-1.0.6.
Во вложении хак, файлы загрузки и мой перевод. Настройки в админ-панели тоже переведены.
Хак позволяет выбирать из множества смайлов любимые, которые будут видны в редакторе в первую очередь.
Ахтунг!
Необходимо редактировать исходные файлы vBulletin!
Шаг1.
Открыть includes/functions_editor.php
Найти:
Заменить на:
Найти:
Добавить ниже:
Найти:
Добавить ниже:
Найти:
Заменить на:
Сохранить и загрузить файл.
Шаг 2.
Админ панель, шаблон USERCP_SHELL
Найти:
Добавить ниже:
Сохранить.
Шаг 3. Загрузить файлы папки upload
Шаг 4. Импортировать продукт
Шаг 5. Открыть любую группу на форуме для перестройки битовых полей Настройки хака в админ панели "Написание сообщений интерфейс" Картинки:
Ахтунг!
Необходимо редактировать исходные файлы vBulletin!
Шаг1.
Открыть includes/functions_editor.php
Найти:
$smilies = $vbulletin->db->query_read_slave("
SELECT smilieid, smilietext, smiliepath, smilie.title,
imagecategory.title AS category
FROM " . TABLE_PREFIX . "smilie AS smilie
LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)
ORDER BY imagecategory.displayorder, imagecategory.title, smilie.displayorder
");
// get total number of smilies
$totalsmilies = $vbulletin->db->num_rows($smilies);
Заменить на:
############### FAVORITE SMILIES #################
global $permissions;
if (($vbulletin->userinfo['favsmilies']) AND ($vbulletin->options['favsmiliesactive']) AND ($permissions['favsmiliepermissions'] & $vbulletin->bf_ugp_favsmiliepermissions['canusefavsmilies'])) {
$show['favsmilies'] = true;
$favsmilies = str_replace(" ", ", ", $vbulletin->userinfo['favsmilies']);
$smilies = $vbulletin->db->query_read_slave("
SELECT smilieid, smilietext, smiliepath, smilie.title,
imagecategory.title AS category
FROM " . TABLE_PREFIX . "smilie AS smilie
LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)
WHERE smilieid IN ($favsmilies)
ORDER BY imagecategory.displayorder, imagecategory.title, smilie.displayorder
");
$favsmtotal = $vbulletin->db->num_rows($smilies);
$smilietotal = $vbulletin->db->query_first("SELECT COUNT(*) as total FROM " . TABLE_PREFIX . "smilie");
$totalsmilies = $smilietotal['total'];
}
else {
$smilies = $vbulletin->db->query_read_slave("
SELECT smilieid, smilietext, smiliepath, smilie.title,
imagecategory.title AS category
FROM " . TABLE_PREFIX . "smilie AS smilie
LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)
ORDER BY imagecategory.displayorder, imagecategory.title, smilie.displayorder
");
$totalsmilies = $vbulletin->db->num_rows($smilies);
}
############### /FAVORITE SMILIES ################
Найти:
while ($smilie = $vbulletin->db->fetch_array($smilies))
{
Добавить ниже:
############### FAVORITE SMILIES #################
if ($show['favsmilies']) {$smilie['category']=$vbphrase['favorite_smilies'];}
############### /FAVORITE SMILIES #################
Найти:
else
{
$vBeditJs['smilie_options_array']["$prevcategory"][] = "\t\t'more' : '" . addslashes_js($vbphrase['show_all_smilies']) . "'\n";
break;
}
$prevcategory = $smilie['category'];
}
Добавить ниже:
############### FAVORITE SMILIES #################
if ($show['favsmilies']) {
$vBeditJs['smilie_options_array']["$smilie[category]"][] = "\t\t'more' : '" . addslashes_js($vbphrase['show_all_smilies']) . "'\n";
}
############### /FAVORITE SMILIES ################
Найти:
$show['moresmilieslink'] = iif ($totalsmilies > $vbulletin->options['smtotal'], true, false);
Заменить на:
$show['moresmilieslink'] = iif ($totalsmilies > $vbulletin->options['smtotal'], true, iif ($show['favsmilies'], true, false));
Сохранить и загрузить файл.
Шаг 2.
Админ панель, шаблон USERCP_SHELL
Найти:
<tr><td class="$navclass[ignorelist]" nowrap="nowrap"><a class="smallfont" href="profile.php?$session[sessionurl]do=ignorelist">$vbphrase[edit_ignore_list]</a></td></tr>
Добавить ниже:
<!-- favorite smilies -->
<if condition="$vbulletin->options['favsmiliesactive'] AND ($permissions['favsmiliepermissions'] & $vbulletin->bf_ugp_favsmiliepermissions['canusefavsmilies'])"><tr><td class="alt2" nowrap="nowrap"><a class="smallfont" href="misc.php?$session[sessionurl]do=editfavsmilies">$vbphrase[edit_favorite_smilies]</a></td></tr></if>
<!-- / favorite smilies -->
Сохранить.
Шаг 3. Загрузить файлы папки upload
Шаг 4. Импортировать продукт
Шаг 5. Открыть любую группу на форуме для перестройки битовых полей Настройки хака в админ панели "Написание сообщений интерфейс" Картинки: