Хак любимые смайлы favoritesmilies

Kworke

Пользователь
Регистрация
27.04.16
Сообщения
43
Реакции
6
Баллы
3
Адрес
RU
Решил поделиться одним замечательным хаком. Любимые смайлы.
Версия favoritesmilies-1.0.5 была уязвима. Это версия хака favoritesmilies-1.0.6.
Во вложении хак, файлы загрузки и мой перевод. Настройки в админ-панели тоже переведены.

Хак позволяет выбирать из множества смайлов любимые, которые будут видны в редакторе в первую очередь.

Ахтунг!
Необходимо редактировать исходные файлы 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	");	$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.

Открыть любую группу на форуме для перестройки битовых полей

Настройки хака в админ панели "Написание сообщений интерфейс"

Картинки:

 

Вложения

  • favoritesmilies.zip
    6.3 KB · Просмотры: 7

Wmboard

Пользователь
Регистрация
01.01.70
Сообщения
9.274
Реакции
2.665
Баллы
28
Адрес
На wmboard
Спасибище :)
Уже попробовал. Теста для. Классный хак. Смайлов везде до фига, а пользуешься десятком. :good:
 

Статистика форума

Темы
200.483
Сообщения
380.310
Пользователи
327.890
Новый пользователь
рикитики
Сверху Снизу