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

  • Автор темы Ilnurftos
  • Обновлено
  • 05, Jun 2016
  • #1
Решил поделиться одним замечательным хаком. Любимые смайлы. Версия 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
			");

			// 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. Открыть любую группу на форуме для перестройки битовых полей Настройки хака в админ панели "Написание сообщений интерфейс" Картинки:






















Ilnurftos


Рег
13 Apr, 2020

Тем
90

Постов
170

Баллов
650
  • 06, Jun 2016
  • #2
Спасибище Уже попробовал. Теста для. Классный хак. Смайлов везде до фига, а пользуешься десятком. :good:
 

Wmboard


Рег
01 Jan, 2011

Тем
406

Постов
7367

Баллов
9427
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно