Перейти к содержанию

Модуль Рейтинг гильдии для "Аллоды Онлайн"


Рекомендуемые сообщения

Отредактировал модуль Рейтинг гильдии под сайт "Аллоды Онлайн"

Путем парсинга извлекает нужную информацию.

Уровень, Авторитет,рейтинг на сарвере/в мире

Файлы для замены: в \portal\wowprogress

module.php -сам модуль

russian.php - Перевод

<?php


if ( !defined('EQDKP_INC') ){

	header('HTTP/1.0 404 Not Found');exit;

}


$portal_module['wowprogress'] = array(

	'name'			=> 'Рейтинг гильдии',

	'path'			=> 'wowprogress',

	'version'		=> '2.0.0',

	'author'		=> 'Grib',

	'contact'		=> 'http://dkp.ruwow.org/',

	'description'   => 'Рейтинг гильдии для Allodov на основании данных с allods.mail.ru',

	'positions' 	=> array('left1', 'left2', 'right'),

	'install'   	=> array(

				'autoenable'    	=> '0',

				'defaultposition'   => 'right',

				'defaultnumber' 	=> '4', ),

	);



if(!function_exists(wowprogress_module))

{

	function wowprogress_module()

	{

		global $tpl, $eqdkp, $eqdkp_root_path, $conf_plus, $eqdkp_config, $user, $plang, $pdc, $urlreader;


		$out = $pdc->get('dkp.portal.modul.wowprogress',false,true);

		if (!$out) 

  		{




			switch ($conf_plus['pk_servername']) {

			case 'Владыки Астрала' : $gild_shard='?shard=1';break;

			case 'Раскол'    	: $gild_shard='?shard=2';break;

			case 'Сумерки богов' : $gild_shard='?shard=3';break;

			case 'Последний рубеж' : $gild_shard='?shard=4';break;

			case 'Вечный зов' 	: $gild_shard='?shard=5';break;

			case 'Молодая гвардия' : $gild_shard='?shard=6';break;

			case 'Горн войны' 	: $gild_shard='?shard=7';break;

			}





			/*

			1Владыки Астрала

			2Раскол

			3Сумерки богов

			4Последний рубеж

			5Вечный зов

			6Молодая гвардия

			7Горн войны

			pk_servername

			$guildtag

			$gild_shard


			*/




			//Пoиск ГИ (Ссылка)

			$pm_wowprgs_url = 'http://allods.mail.ru/guilds100.php' . $gild_shard ;	

			$pm_wowprgs_guild_url1 = $pm_wowprgs_url;




			//Скачивание

				//Странички мира

				$ch = curl_init  (); // инициализация

				curl_setopt ($ch , CURLOPT_URL , "http://allods.mail.ru/guilds100.php"); // адрес страницы для скачивания

				curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"); // каким браузером будем прикидываться

				curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // нам нужно вывести загруженную страницу в переменную

				$content = curl_exec($ch); // скачиваем страницу

				curl_close($ch); // закрываем соединение 

				preg_match_all ('|([0-9]{0,}).</b></td>[^d][^d].*<td>' . $eqdkp->config['guildtag'] . '</td>[^d].*<td>([0-9]{0,})</td>[^d].*<td>([0-9]{0,})</td>|U', $content, $search, PREG_PATTERN_ORDER); //Заполнили массивы



				//Странички сервера

				$ch = curl_init  (); // инициализация

				curl_setopt ($ch , CURLOPT_URL , 'http://allods.mail.ru/guilds100.php' . $gild_shard); // адрес страницы для скачивания

				curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"); // каким браузером будем прикидываться

				curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // нам нужно вывести загруженную страницу в переменную

				$content1 = curl_exec($ch); // скачиваем страницу

				curl_close($ch); // закрываем соединение 

				preg_match_all ('|([0-9]{0,}).</b></td>[^d][^d].*<td>' . $eqdkp->config['guildtag'] . '</td>[^d].*<td>([0-9]{0,})</td>[^d].*<td>([0-9]{0,})</td>|U', $content1, $search1, PREG_PATTERN_ORDER); //Заполнили массивы



			//Название сервера

			$out .= '<table width="100%" border="0" cellspacing="1" cellpadding="2" class="noborder">';

			$out .= '<tr class="row1" onmouseover="this.className=\'rowHover\';" onmouseout="this.className=\'row1\';"><td colspan="4">';

			$out .= $conf_plus['pk_servername'];


			//Название гильдии

			$out .= '</td></tr>';

			$out .= '<tr class="row2" onmouseover="this.className=\'rowHover\';" onmouseout="this.className=\'row2\';"><td colspan="'.($count+1).'">';

			$out .= '<a href="' . $pm_wowprgs_guild_url1 . '" target="_blank" title="&quot;' . $eqdkp->config['guildtag'] . '&quot;' . $plang['pm_wowprgs_on']  . 'Allods top 100 guilds"><b>' . $eqdkp->config['guildtag'] . '</b></a>';



			//Уровень

			$out .= '</tr>';

			$out .= '<tr class="row1" onmouseover="this.className=\'rowHover\';" onmouseout="this.className=\'row1\';"><td>' . 'Уровень: ' . $search1[2][0];

			$out .= '</td>';



			//Авторитет

			$out .= '</td></tr>';

			$out .= '<tr class="row2" onmouseover="this.className=\'rowHover\';" onmouseout="this.className=\'row2\';"><td>' .$plang['pm_wowprgs_tier'] . $search1[3][0];

			$out .= '</td>';



			//Место на сервере

			$out .= '</tr>';

			$out .= '<tr class="row1" onmouseover="this.className=\'rowHover\';" onmouseout="this.className=\'row1\';"><td>' . $plang['pm_wowprgs_realm'] . $search1[1][0];

			$out .= '</td>';



			//Масто в мире

			$out .= '</tr>';

			$out .= '<tr class="row2" onmouseover="this.className=\'rowHover\';" onmouseout="this.className=\'row2\';"><td>' . $plang['pm_wowprgs_world'] . $search[1][0];

			$out .= '</td></tr>';


			//Ссылка

			//$out .= '';

			$out .= '<tr class="row1" onmouseover="this.className=\'rowHover\';" onmouseout="this.className=\'row1\';"><td colspan=\''.($count+1).'\' align=\'center\'><a href="http://allods.mail.ru/guilds100.php" target="_blank"><small>Allods top 100 guilds</small></a></td></tr>';

			$out .= '</table>';


			$pdc->put('dkp.portal.modul.wowprogress',$out,86400,false,true);


			return $out;

  		}else 

  		{

  			return $out;

  		}

	}

}

?>

24.04.11 - Подтёр настройки

P.S. Извиняюсь за небрежность....)) Все проверил, будут ошибки могу доработать)

Копипастил все...

Изменено пользователем KUB
Ссылка на комментарий
Поделиться на другие сайты

доброго времени суток.

установил аддон. но не работает. в частности не определяется лвл гильдии и место в топе.

сервер и название прописал.

в чем может быть проблема?

Изменено пользователем Snakeen
Ссылка на комментарий
Поделиться на другие сайты

доброго времени суток.

установил аддон. но не работает. в частности не определяется лвл гильдии и место в топе.

сервер и название прописал.

в чем может быть проблема?

Ваша гильдия есть в топ гильдий на этой страничке?

аддон работает только с информацией имеющийся на страницах: вашаго сервера и мировой рейтинг.

Если хоть на одно из двух страницах ваша гильдия есть аддон покажет инфу.

P.S. Да это очень плохо что аддон только для топ гильдий

Аллоды Онлайн это — alpha версия. Наличие ошибок и тупость гарантированы :-)

Обратите на название серверов: - Есть разница строчная или заглавная! к названию гильдии тоже относится.

Владыки Астрала

Раскол

Сумерки богов

Последний рубеж

Вечный зов

Молодая гвардия

Горн войны

Изменено пользователем KUB
Ссылка на комментарий
Поделиться на другие сайты

гильдия есть в топ 100

на счет строчных и заглавных тоже учел.

ничего не помогло.

может есть вариант прописать это вручную?

Ссылка на комментарий
Поделиться на другие сайты

Есть)) после каждого коммента такого, как:

//Уровень

и т.д.

там где переменные: $search(циферка)[циферка][циферка]

вместо переменной значение свое вставьте.

Вида:

ame=\'row2\';"><td>' . $plang['pm_wowprgs_world'] . $search[1][0];

на:

ame=\'row2\';"><td>' . $plang['pm_wowprgs_world'] . '20';

Но это пипец будет если каждый раз.

Вопрос cURL у вас установлен?

скачивание происходит по этой системе:

******* $ch =curl_init (); // инициализация(объявляем чем качаем)

Если нет качаем с оф.сайта

хотя ДКП и так требует его(по инструкции)

Если не секрет то какая гильдия и сервер?

Изменено пользователем KUB
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
  • 1 месяц спустя...

При активации обновлённого модуля перестаёт открываться страница "портал", показывает просто белый лист, со старым же кодом всё нормально открывается, хоть и не работает ессно. Этот модуль сделан под какой-то конкретный скин? Нет даже возможности проверить, работает ли.

На сколько понял, аддон берет название сервера и ГИ из общих настроек, а есть ли возможность доделать его, чтобы отображал 2 гильдии (у меня в общем портале основная ГИ и академка)?

Изменено пользователем kil_q
Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

При активации обновлённого модуля перестаёт открываться страница "портал", показывает просто белый лист, со старым же кодом всё нормально открывается, хоть и не работает ессно. Этот модуль сделан под какой-то конкретный скин? Нет даже возможности проверить, работает ли.

На сколько понял, аддон берет название сервера и ГИ из общих настроек, а есть ли возможность доделать его, чтобы отображал 2 гильдии (у меня в общем портале основная ГИ и академка)?

Да аддон работает: http://pycb-ao.ru

Бывает надо все заполнить(Название сервера\гильдии), а потом заново перезаполнить(Название сервера\гильдии). Отчищаете Кэш.

Также бывает, что все поля пустые.

Я что-то изменял, возможно устранил ошибки. Файл с рабочего сайта.: module.php

Возможно использовать и 2 модуля. если названия гильдий постоянны.(Путем введения копии модуля с другим именем.)

Изменено пользователем KUB
Ссылка на комментарий
Поделиться на другие сайты

Да аддон работает: http://pycb-ao.ru - Сайт гильдии РУСЬ

Бывает надо все заполнить(Название сервера\гильдии), а потом заново перезаполнить(Название сервера\гильдии). Отчищаете Кэш.

Также бывает, что все поля пустые.

Я что-то изменял, возможно устранил ошибки. Файл с рабочего сайта.: module.php

Возможно использовать и 2 модуля. если названия гильдий постоянны.(Путем введения копии модуля с другим именем.)

З.Ы. Могу помочь: Скайп: lein-lein1

Спасибо, но всё уже перепахал под себя. Ошибка была в выключенном cURL. Вопрос с отображением 2-х гильдий (основы и академки) решил топорно, в коде аддона убрал считывание с инфы портала, а поиск сделал по строке с названием ГИ и продублировал аддон: теперь так выглядит

Изменено пользователем kil_q
Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
  • 1 год спустя...

при исправлении для новых серверов все равно была некорректная информация.

пропиши сервер вручную и название гильдии

рейтинг показывает и далее нормально

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...