Хак: Оповещение Лс как в контакте.

Небольшие моды и хаки для форума phpBB3
Правила форума
При размещении мода/статьи взятой с другого форума/сайта обязательно необходимо указывать первоисточник сообщения.
 • Просмотры: 5309
Аватара пользователя
votept
Благодарил (а): 49 раз
Поблагодарили: 62 раза
Сообщения: 806
Зарегистрирован: 18 июл 2010, 17:57
Сообщение

Хак: Оповещение Лс как в контакте.

18 июл 2011, 13:38

Расписано для для обоих стилей, принцип один, для просильвера выделил цветом где идет расхождение в установке. Смотрим внимательно! У себя протестировал на обоих стилях.
Тестировал сам лично два раза на двух чистых движках 41 донат и 39 free работает на обоих стилях субсильвер и просильвер. Тестировал именно по данному мануалу что тут расписан. Так что у кого что не выходит сидим выпрямляем руки и внимательно читаем инфу по установке! Внимательно смотрим пути к картинкам.
Open: includes/functions.php

Find

Код: Выделить всё

$l_privmsgs_text = $l_privmsgs_text_unread = '';
	$s_privmsg_new = false;
Add after

Tip: Add these lines on a new blank line after the preceding line(s) to find.

Код: Выделить всё

//Popup Layer on New PMs
	$l_new_message_popup = $pm_popup_click = '';
Find
Tip: This may be a partial find and not the whole line.

Код: Выделить всё

$sql = 'UPDATE ' . USERS_TABLE . '
					SET user_last_privmsg = ' . $user->data['session_last_visit'] . '
					WHERE user_id = ' . $user->data['user_id'];
				$db->sql_query($sql);

				$s_privmsg_new = true;
Add after

Tip: Add these lines on a new blank line after the preceding line(s) to find.

Код: Выделить всё

//Popup Layer on New PMs
				$l_new_message_popup = ($user->data['user_new_privmsg'] == 1) ? $user->lang['YOU_NEW_PM'] : $user->lang['YOU_NEW_PMS'];
				$pm_popup_click = sprintf($user->lang['CLICK_VIEW_PRIVMSG'], '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&folder=inbox') . '">', '</a>');
Find
Tip: This may be a partial find and not the whole line.

Код: Выделить всё

'A_COOKIE_SETTINGS'		=> addslashes('; path=' . $config['cookie_path'] . ((!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain']) . ((!$config['cookie_secure']) ? '' : '; secure')),
Add after

Tip: Add these lines on a new blank line after the preceding line(s) to find.

Код: Выделить всё

//Popup Layer on New PMs
		'PM_POPUP_MESSAGE'			=> $l_new_message_popup,
		'PM_POPUP_CLICK_TO_VIEW'	=> $pm_popup_click,
Find

Код: Выделить всё

else
			{
				$s_privmsg_new = false;
			}
Add after

Код: Выделить всё

$pm_user_id           = 'u_' . $user->data['user_id'];
			$pm_user_last_privmsg = $user->data['user_last_privmsg'];	
				
			$sql = "SELECT p.msg_id, p.author_id, p.message_subject, p.message_time, u.username, u.user_avatar, u.user_avatar_type
				FROM " . PRIVMSGS_TABLE . " AS p, " . USERS_TABLE . " AS u
				WHERE p.message_time = $pm_user_last_privmsg
					AND p.author_id = u.user_id
					AND p.to_address = '$pm_user_id'";

			$result = $db->sql_query($sql);

			while( ($row = $db->sql_fetchrow($result)) && ($row['msg_id'] != '') )
			{
				if($row['user_avatar_type'] == 0)
				{
					$avatar = $row['user_avatar'];
				}
				else
				{
				function get_avatar_filename($avatar_entry)
{
	global $config;


	if ($avatar_entry[0] === 'g')
	{
		$avatar_group = true;
		$avatar_entry = substr($avatar_entry, 1);
	}
	else
	{
		$avatar_group = false;
	}
	$ext 			= substr(strrchr($avatar_entry, '.'), 1);
	$avatar_entry	= intval($avatar_entry);
	return $config['avatar_salt'] . '_' . (($avatar_group) ? 'g' : '') . $avatar_entry . '.' . $ext;
}
				       	$avatar =  $phpbb_root_path . $config['avatar_path'] . '/' . get_avatar_filename($row['user_avatar']);
				}
				// Assign specific vars
				$template->assign_vars(array(
					'S_PM_AVATAR'	=> $avatar,
					'S_PM_SENDER'	=> $row['username'],
					'S_PM_SUBJECT'	=> $row['message_subject'],
					'S_PM_DATE'		=> $user->format_date($row['message_time'], $format = 'd.m.Y, H:i'),
					)
				);
			}
			$db->sql_freeresult($result);

Open: styles/subsilver2/template/overall_header.html

Находим и удаляем код

Код: Выделить всё

<!-- IF S_USER_PM_POPUP -->
	if ({S_NEW_PM})
	{
		popup('{UA_POPUP_PM}', 400, 225, '_phpbbprivmsg');
	}
<!-- ENDIF -->

Open: styles/subsilver2/template/overall_footer.html

Find

Tip: This may be a partial find and not the whole line.
Add before

Tip: Add these lines on a new blank line before the preceding line(s) to find.

Код: Выделить всё

</div>

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
<script type="text/javascript">
setOpacity('main-block', 0.3);
</script>
<!-- ENDIF -->

Open: styles/subsilver2/theme/stylesheet.css или styles/prosilver/theme/common.css перед /* Search box
Find

Tip: This may be a partial find and not the whole line.
Add before

Tip: Add these lines on a new blank line before the preceding line(s) to find.

Код: Выделить всё

.uContent {
background-attachment: scroll;
background-clip: border-box;
background-color: transparent;
background-image: url("/images/background-pm.png");
background-origin: padding-box;
background-position: 0% 0%;
background-repeat: repeat;
background-size: auto;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
box-shadow: 0px 2px 7px;
position: fixed;
	top: 50%;
	left: 50%;
	margin-left: 200px;
	margin-top: 190px;
	width: 400px;
	z-index: 2;
	text-align: center;
margin-bottom: 10px;
padding-bottom: 7px;
padding-left: 7px;
padding-right: 7px;
padding-top: 7px;
width: 300px;
 }
.close {
height: 100px;
padding-left: 282px;
}
.ava {
padding-left: 15px;
margin-top: -9px;
}

Теперь открываем файл styles/subsilver2/template/overall_header.html
И вставляем куда вам удобнее код, лично у меня не стандартный overall_header.html так что подберете место сами =)

Код: Выделить всё

<div id="content"></div>
	
	<script>
		function show()
		{
			$.ajax({
				url: "lc.php",
				cache: false,
				success: function(html){
					$("#content").html(html);
				}
			});
		}
	
		$(document).ready(function(){
			show();
			setInterval('show()',15000);
		});
	</script>
В просильвере вставляем после

Код: Выделить всё

<script src="{PPKBB3CKER_ADDONS}js/jquery-min.js" type="text/javascript"></script>

И у вас должен быть прописан

Код: Выделить всё

<script src="{PPKBB3CKER_ADDONS}js/jquery.js" type="text/javascript"></script>
У кого его нет качаем http://upwap.ru/1614923 Прописываем после:

Код: Выделить всё

<script src="{PPKBB3CKER_ADDONS}js/ppkBB3cker.js" type="text/javascript"></script>
:|

В просильвере прописываем если нету после

Код: Выделить всё

<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>

Качаем архив и кидаем все по папкам. http://upwap.ru/1614911
Вопрос: Как установить эту опцию для всех существующих пользователей на форуме?
Ответ: Скачать данный скрипт: http://upwap.ru/1615037

Оба архива (файла) в одном: http://rghost.ru/37094021 (обновлен 19 марта 2012)

Загрузить файл set_popup.php в корень форума
Запустить в браузере set_popup.php
Должна появиться зелененькая надпись «The option has been successfully changed».
Удалить файл set_popup.php с сервера.
Итог Субсильвер:

Просильвер:

Там может что то быть лишним в коде :oops: разбирать ща нет желания. Если и есть то чуть чуть.

Спасибо Сереге-serrrios :D Помог с кодом для вывода авы и ткнул носом где другой код на вывод автора и темы лс. :drinks:

Ах да самое главное забыл :lol:

serrrios (13:32:36 18/07/2011)
СРЕДЕЧКИ БЛЕАТЬ?)))
Последний раз редактировалось votept 18 мар 2012, 22:09, всего редактировалось 1 раз.
Аватара пользователя
zip
Благодарил (а): 372 раза
Поблагодарили: 80 раз
Сообщения: 865
Зарегистрирован: 04 янв 2010, 09:11
Сообщение

Хак: Оповещение Лс как в контакте.

18 июл 2011, 17:12

Национальный Татарский BitТоррент-Трекер
Аватара пользователя
Gabriil
Откуда: Киев
Благодарил (а): 7 раз
Поблагодарили: 5 раз
Сообщения: 58
Зарегистрирован: 29 апр 2010, 22:06
Сообщение

Хак: Оповещение Лс как в контакте.

18 июл 2011, 19:38

Если ЛС придет одновременно от нескольких пользователей, как в таком случае будет выводиться аватар, автор и темы???
Аватара пользователя
votept
Благодарил (а): 49 раз
Поблагодарили: 62 раза
Сообщения: 806
Зарегистрирован: 18 июл 2010, 17:57
Сообщение

Хак: Оповещение Лс как в контакте.

18 июл 2011, 19:59

Gabriil писал(а):Если ЛС придет одновременно от нескольких пользователей
:unknown: Не было возможности такое проверить. Но я думаю выведет того, кто был последним. И напишет не вам пришло новое сообщение, а вам пришли новые личные сообщения.


Кстати косяк вылез не большой :lol: в админку нельзя попасть. Ща думаю как поправить лучше. :| Хотя опять же на денвере все нормально. Скорей всего я у себя когда ставил чет накосячил. Так что думаю все ок. Если что отпишу.
Последний раз редактировалось votept 18 июл 2011, 20:05, всего редактировалось 2 раза.
Аватара пользователя
TEK
Благодарил (а): 13 раз
Поблагодарили: 39 раз
Сообщения: 571
Зарегистрирован: 17 фев 2010, 21:23
Сообщение

Хак: Оповещение Лс как в контакте.

18 июл 2011, 20:00

зачетно, спс большое за труды, на днях поставлю на просилвер
КОГДА ТЫ РОДИЛСЯ!!! - ты плакал, а мир улыбался. Так проживи жизнь так, чтоб умирая ты улыбался, а мир плакал!!!
Аватара пользователя
votept
Благодарил (а): 49 раз
Поблагодарили: 62 раза
Сообщения: 806
Зарегистрирован: 18 июл 2010, 17:57
Сообщение

Хак: Оповещение Лс как в контакте.

18 июл 2011, 20:19

Короче с админкой косяк ток у меня наторренте. На денвере на двух движках все нормально.
Аватара пользователя
serrrios
Благодарил (а): 11 раз
Поблагодарили: 119 раз
Сообщения: 1532
Зарегистрирован: 29 май 2009, 20:22
Сообщение

Хак: Оповещение Лс как в контакте.

19 июл 2011, 15:55

votept писал(а):И у вас должен быть прописан
КОД: ВЫДЕЛИТЬ ВСЁ
<script src="{PPKBB3CKER_ADDONS}js/jquery.js" type="text/javascript"></script>
Wtf? Нафуя? джеквери и так подключен =)
http://aniproject.ru - перспектива... велком епта..
http://www.ppkbb3cker.ru/viewtopic.php?f=35&t=1042 - мои платные услуги по трекеру.
Аватара пользователя
TEK
Благодарил (а): 13 раз
Поблагодарили: 39 раз
Сообщения: 571
Зарегистрирован: 17 фев 2010, 21:23
Сообщение

Хак: Оповещение Лс как в контакте.

19 июл 2011, 18:23

два дня я промучался с установкой так и не пашет зараза :wall: :stars:

вроде ничего сложного, даже был применен метод научного тыка :lol:
мой просилвер с кучей модов жжет
КОГДА ТЫ РОДИЛСЯ!!! - ты плакал, а мир улыбался. Так проживи жизнь так, чтоб умирая ты улыбался, а мир плакал!!!
Аватара пользователя
9CaraTT
Благодарил (а): 230 раз
Поблагодарили: 228 раз
Сообщения: 3085
Зарегистрирован: 13 мар 2011, 15:23
Сообщение

Хак: Оповещение Лс как в контакте.

19 июл 2011, 19:47

мой просилвер с кучей модов жжет
возможно, я сам на локалку ставил, на чистый движок, установил со второго раза правда, всё работает, админка тоже :D
на днях votept появиться, шумани в асю, постараемся помочь ... natorrente.com тоже с модами, он как-то умудрился, ровно установить = )))
Аватара пользователя
TEK
Благодарил (а): 13 раз
Поблагодарили: 39 раз
Сообщения: 571
Зарегистрирован: 17 фев 2010, 21:23
Сообщение

Хак: Оповещение Лс как в контакте.

19 июл 2011, 22:51

DizeL85 писал(а):
мой просилвер с кучей модов жжет
возможно, я сам на локалку ставил, на чистый движок, установил со второго раза правда, всё работает, админка тоже :D
на днях votept появиться, шумани в асю, постараемся помочь ... natorrente.com тоже с модами, он как-то умудрился, ровно установить = )))
та уже с votept-om обсуждал у него сабсилвер

на локалке норм стает на чистый без проблем, а тут просто нехочет пахать
КОГДА ТЫ РОДИЛСЯ!!! - ты плакал, а мир улыбался. Так проживи жизнь так, чтоб умирая ты улыбался, а мир плакал!!!

Вернуться в «Минимоды и хаки для phpBB3»