Личный опыт разработки ПО

Сборник рецептов

Записи с меткой ‘myStat’

WordPress, myStat и проблемы с RSS

2 комментария »

Сегодня прикручивая к блогу подписку по RSS обнаружил, что записи не проходят валидацию. Валидатор ругался на следующий кусок:

<img style='margin:0;padding:0;border:0;' width='1px' height='1px'
src="http://www.devexp.ru/.../plugins/mystat/mystat.php?act=time_load&id=123&rnd=123456789" />

Из чего несложно догадаться, что виновником является плагин myStat. Поиск решения в интернете успехом не увенчался, не удалось связаться и с автором — Смышляевым Евгением, так как на его сайте к сожалению нет ни адреса электронной почты, ни другой контактной информации. Но мы так просто не отступаем и я полез в код. Очевидно, что приведенный фрагмент отвечает за работу счетчика, пользователю показывают невидимую картинку, тем самым накапливая статистику, что в рассылке совершенно не требуется, а значит от этого там можно безболезненно избавиться. Сходу удалось найти место где формируется данный HTML код — это функция myStat_footer() в файле mystat.php:

1
2
3
4
5
function myStat_footer(){
	global $cmn;
	if($cmn->getParam("myStat_debug")==1){$cmn->setDebug('FOOTER LOAD');};
	echo "<img style='margin:0;padding:0;border:0;' width='1px' height='1px' src=\"".WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))."/mystat.php"."?act=time_load&id=".$GLOBALS['myStat_id']."&rnd=".rand()."\" />";
}

Небольшие исправления:

1
2
3
4
5
6
7
function myStat_footer(){
	if(!is_feed()){
		global $cmn;
		if($cmn->getParam("myStat_debug")==1){$cmn->setDebug('FOOTER LOAD');};
		echo "<img style='margin:0;padding:0;border:0;' width='1px' height='1px' src=\"".WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))."/mystat.php"."?act=time_load&id=".$GLOBALS['myStat_id']."&rnd=".rand()."\" />";
	}
}

И проблема решена.

30th Ноябрь 2009
1:11

Рубрика: Интернет

Метки: ,