Jump to content
Sign in to follow this  
KUB

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

Recommended Posts

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

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

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

Файлы для замены: в \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. Извиняюсь за небрежность....)) Все проверил, будут ошибки могу доработать)

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

Edited by KUB

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by Snakeen

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

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

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

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

Раскол

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

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

Вечный зов

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

Горн войны

Edited by KUB

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

//Уровень

и т.д.

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

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

Вида:

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

на:

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

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

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

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

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

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

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

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

Edited by KUB

Share this post


Link to post
Share on other sites

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

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

Edited by kil_q

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

Edited by KUB

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

Edited by kil_q

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...