Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Мод - Поисковые роботы на форуме

Форум для авторов модов для phpBB 2.0.x.
mymind
phpBB 1.2.0
Сообщения: 19
Стаж: 18 лет 1 месяц

Мод - Поисковые роботы на форуме

Сообщение mymind »

В общем порыскал я и ничего на эту тему толком не нашел. В итоге сел и сам написал небольшой мод, который показывает наличие поисковых роботов на форуме. Правда пока только на главной странице
Ловит 4 поисковика ( yandex, google, aport, rambler ) и выдаёт кол-во запрошеных ими страниц.

Оформление мода из рук вон плохо, но как есть :)

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

//--- выполним SQL ----

ALTER TABLE phpbb_sessions ADD session_agent VARCHAR( 250 ) NOT NULL ;

// Открыть includes/session.php

//---Найти ----------
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)
{
	global $db, $board_config;
	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

//--- Добавить после 

	global $_SERVER;
	$browser=$_SERVER['HTTP_USER_AGENT'];

//---Найти ----------

	//
	// Create or update the session
	//
	$sql = "UPDATE " . SESSIONS_TABLE . "
		SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
		WHERE session_id = '" . $session_id . "' 
			AND session_ip = '$user_ip'";

//---Найти в строке --------

session_admin = $admin

// --- Добавить после --------

, session_agent = '$browser'

//--- Найти -------------

$sql = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";

//--- Заменить на -----

$sql = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin, session_agent)
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin, '$browser')";


//---- Сохранить ---------


// Открыть language/lang_russian/lang_main.php

// ---- найти -----------

?>

// ---- перед добавить -----

$lang['search_bots'] = 'Поисковые роботы : ';
$lang['yandex'] = 'Yandex (%d) ';
$lang['rambler'] = 'Rambler (%d) ';
$lang['google'] = 'Google (%d) ';
$lang['aport'] = 'Aport (%d) ';
$lang['nobots'] = 'на форуме не найдены';


//---- сохранить ---------------


// Открыть templates/subSilver/index_body.tpl

// ---- найти -----------

<td class="row1" align="center" valign="middle" rowspan="4"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>

// ----- в строе найти 
rowspan="2"

// ----- заменить на 

rowspan="3"

*********** если у Вас там еще что-то тогда rowspan = + 1 того, что в нём


// --- найти -----------

 <tr> 
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} &nbsp; [ {L_WHOSONLINE_ADMIN} ] &nbsp; [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
 </tr>

// после добавить 

<tr> 
<td class="row1" align="left"><span class="gensmall">{TOTAL_ROBOT_ONLINE}</span></td>
</tr>

//---- сохранить ---------------


// открываем includes/page_header.php

//---- находим -----

$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip

//---- в строке находим

s.session_ip

//--- после добавляем 

,s.session_agent


//--- находим ----------------

// Skip multiple sessions for one user
			if ( $row['session_ip'] != $prev_session_ip )
			{

//---- перед добавляем --------

	$now_user_agent=$row['session_agent'];
					if (eregi("StackRambler",$now_user_agent)){
					$bots_rambler_now++;
					}
					elseif(eregi("Googlebot",$now_user_agent)){
					$bots_google_now++;
					}
					elseif(eregi("Yandex",$now_user_agent)) {
					$bots_yandex_now++;
					}
					elseif(eregi("Aport",$now_user_agent)){
					$bots_aport_now++;
					}



//------ находим ---------

$l_online_users = sprintf($l_t_user_s, $total_online_users);

//--- перед ней добавляем ----

$now_bot_online=$lang['search_bots'];
	$v_bot=false;
	
	if ($bots_rambler_now){
		$l_b_rambler = $lang['rambler'];
		$now_bot_online.= sprintf($l_b_rambler,$bots_rambler_now);
		$v_bot=true;
	}
	
	if ($bots_google_now){
		$l_b_google = $lang['google'];
		$now_bot_online.= sprintf($l_b_google,$bots_google_now);
		$v_bot=true;
	}
	
	if ($bots_yandex_now){
		$l_b_yandex = $lang['yandex'];
		$now_bot_online.= sprintf($l_b_yandex,$bots_yandex_now);
		$v_bot=true;
	}
	
	if ($bots_aport_now){
		$l_b_aport = $lang['aport'];
		$now_bot_online.= sprintf($l_b_aport,$bots_aport_now);
		$v_bot=true;
	}
	
	if ($v_bot==false){
	$now_bot_online.= $lang['nobots'];
	}

//--- найти -----------
'TOTAL_USERS_ONLINE' => $l_online_users,

//--- после добавить ------

'TOTAL_ROBOT_ONLINE' => $now_bot_online,


// ---- сохранить -------------
Пробовал уже на своём форуме. Вроде работает.

В принципе уже можно неплохую статистику забабахать. В общем пошел работать. Может более крутой мод накатаю.
Последний раз редактировалось mymind 25.06.2006 17:46, всего редактировалось 1 раз.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
mymind
phpBB 1.2.0
Сообщения: 19
Стаж: 18 лет 1 месяц

Сообщение mymind »

ну и ладно :) ... зато свой :) ... щас посмотрю, что за мод.

Ха, он мониторит поисковики. А мой просто выводи на главную что сейчас тут роботы :)
Аватара пользователя
SMM
phpBB 1.4.2
Сообщения: 70
Стаж: 17 лет 8 месяцев
Откуда: Казань

Сообщение SMM »

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

Вернуться в «Для авторов (phpBB 2.0.x)»