<?php 
/**
 * Система управления сайтом HostCMS v. 5.xx
 * Copyright © 2005-2010 ООО "Хостмэйк" (Hostmake LLC), http://www.hostcms.ru
 *
 * Бланк для печати отчета.
 * 
 * Файл: /admin/seo/action/form_fill_blank.php
 * 
 * @author Hostmake LLC
 * @version 5.x
 */
$Seo = new Seo();

$site = new site();
$site = $site->GetCurrentAlias(CURRENT_SITE);

$report = array();
$report_quer = array();

// Отражать в отчете PR
$pr = isset($_POST['pr']) ? 1 : 0;

// Отражать в отчете тИЦ
$tyc = isset($_POST['tyc']) ? 1 : 0;

// Число столбцов
$column_count = to_int($_POST['column_count']);

if ($column_count < 1)
{
	$column_count = 1;
}

// Отражать в отчете позиции поисковых запросов в Yandex
$position_yandex = isset($_POST['position_yandex']) ? 1 : 0;

// Отражать в отчете позиции поисковых запросов в Google
$position_google = isset($_POST['position_google']) ? 1 : 0;

// Отражать в отчете позиции поисковых запросов в Rambler
$position_rambler = isset($_POST['position_rambler']) ? 1 : 0;

// Отражать в отчете позиции поисковых запросов в Aport
$position_aport = isset($_POST['position_aport']) ? 1 : 0;

// Отражать в отчете позиции поисковых запросов в GoGo
$position_gogo = isset($_POST['position_gogo']) ? 1 : 0;

// Отражать в отчете позиции поисковых запросов в Yahoo
$position_yahoo = isset($_POST['position_yahoo']) ? 1 : 0;

// Отражать в отчете позиции поисковых запросов в Bing
$position_livesearch = isset($_POST['position_livesearch']) ? 1 : 0;

// Отражать в отчете количество ссылающихся страниц по данным Google
$links_google = isset($_POST['links_google']) ? 1 : 0;

// Отражать в отчете количество ссылающихся страниц по данным Yandex
$links_yandex = isset($_POST['links_yandex']) ? 1 : 0;

// Отражать в отчете количество ссылающихся страниц по данным Yahoo
$links_yahoo = isset($_POST['links_yahoo']) ? 1 : 0;

// Отражать в отчете количество ссылающихся страниц по данным Bing.com
$links_msn = isset($_POST['links_msn']) ? 1 : 0;

// Отражать в отчете количество индексированных страниц сервисом Aport
$indexed_aport = isset($_POST['indexed_aport']) ? 1 : 0;

// Отражать в отчете количество индексированных страниц сервисом Yandex
$indexed_yandex = isset($_POST['indexed_yandex']) ? 1 : 0;

// Отражать в отчете количество индексированных страниц сервисом Yahoo
$indexed_yahoo = isset($_POST['indexed_yahoo']) ? 1 : 0;

// Отражать в отчете количество индексированных страниц сервисом Bing.com
$indexed_msn = isset($_POST['indexed_msn']) ? 1 : 0;

// Отражать в отчете количество индексированных страниц сервисом Rambler
$indexed_rambler = isset($_POST['indexed_rambler']) ? 1 : 0;

// Отражать в отчете количество индексированных страниц сервисом Google
$indexed_google = isset($_POST['indexed_google']) ? 1 : 0;

// Отражать в отчете количество индексированных страниц сервисом Yandex
$catalog_yandex = isset($_POST['catalog_yandex']) ? 1 : 0;

// Отражать в отчете количество индексированных страниц сервисом Rambler
$catalog_rambler = isset($_POST['catalog_rambler']) ? 1 : 0;

// Отражать в отчете наличие/отсутствие сайта в каталоге Mail
$catalog_mail = isset($_POST['catalog_mail']) ? 1 : 0;

// Отражать в отчете наличие/отсутствие сайта в каталоге Dmoz
$catalog_dmoz = isset($_POST['catalog_dmoz']) ? 1 : 0;

// Отражать в отчете наличие/отсутствие сайта в каталоге Aport
$catalog_aport = isset($_POST['catalog_aport']) ? 1 : 0;

// Отражать в отчете наличие/отсутствие счетчика Rambler
$counter_rambler = isset($_POST['counter_rambler']) ? 1 : 0;

// Отражать в отчете наличие/отсутствие счетчика SpyLog
$counter_spylog = isset($_POST['counter_spylog']) ? 1 : 0;

// Отражать в отчете наличие/отсутствие счетчика HotLog
$counter_hotlog = isset($_POST['counter_hotlog']) ? 1 : 0;

// Отражать в отчете наличие/отсутствие счетчика Mail
$counter_mail = isset($_POST['counter_mail']) ? 1 : 0;

// Отражать в отчете наличие/отсутствие счетчика LiveInternet
$counter_liveinternet = isset($_POST['counter_liveinternet']) ? 1 : 0;

$DateClass = new DateClass();

// Дата с
if (isset($_POST['date_start']))
{
	$date_start = quote_smart($DateClass->datetime_format_sql(to_str($_POST['date_start'])));
}
else
{
	$date_start = date("Y-m-d H:i:s", time() - 60*60*24*31);
}

// Дата по
if (isset($_POST['date_end']))
{
	$date_end = quote_smart($DateClass->datetime_format_sql(to_str($_POST['date_end'])));
}
else
{
	$date_end = date("Y-m-d H:i:s");
}

$site_id = intval(CURRENT_SITE);

$DataBase = & singleton('DataBase');

$query = "SELECT * FROM `seo_characteristic_table`
WHERE `seo_characteristic_date_time` > '{$date_start}' 
AND `seo_characteristic_date_time` < '{$date_end}'
AND `site_id` = '{$site_id}'
ORDER BY `seo_characteristic_date_time` ASC";

$result = $DataBase->query($query);

$count = mysql_num_rows($result);

while ($row = mysql_fetch_assoc($result))
{
	$report[] = $row;
}
// Количество отображаемых столбцов
$report['column_count'] = $column_count;

// Получаем список всех запросов
$result = $Seo->GetAllQuery($site_id);

$count_quer = mysql_num_rows($result);

while ($row = mysql_fetch_assoc($result))
{
	$report_quer[] = $row;
}

$param = array();

$param['arrow'] = true;

//Формируем html-код страницы
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title><?php echo sprintf($GLOBALS['MSG_seo']['report_site'], $site) . " - " . date("d.m.Y H:i:s")?></title>
<meta http-equiv="Content-Language" content="ru">
<meta content="text/html; charset=UTF-8" http-equiv=Content-Type>
<link rel="stylesheet" type="text/css" href="/admin/css/style.css">
</head>
<body style="margin: 3.5em">

<p style="margin-bottom: 40px"><img src="/admin/images/logo.gif" alt="(^) <?php echo PRODUCT_NAME?>" title="<?php echo PRODUCT_NAME?>"></p>

<h1><?php echo sprintf($GLOBALS['MSG_seo']['report_site'], $site)?></h1>
	
<?php 
// Если в отчете должен быть тИЦ
if ($tyc)
{
	?>
	<h2><?php echo $GLOBALS['MSG_seo']['seo_add_edit_characteristic_caption_tyc']?></h2>
		
	<?php echo '<img src="/admin/seo/seo_graph.php?id='.$site_id.'&id_return=1&date_start='.rawurlencode($date_start).'&date_end='.rawurlencode($date_end).'&tyc='.$tyc.'" align="center">'?>
		
	<table border="0" cellpadding="2" cellspacing="2" width="100%">
		
	<?php 

	// Не показываем некоторые столбцы, если общее количество таковых больше максимально разрешенного
	if ($count > $report['column_count'])
	{
		$report_tyc = $Seo->BuildMassReport($report, "yc");
	}
	else
	{
		$report_tyc = $report;
	}

	// Дата
	$Seo->ShowTableTitleReport($report_tyc, "seo_characteristic_date_time");

	// тИЦ
	$Seo->ShowTableRow($report_tyc, $GLOBALS['MSG_seo']['seo_add_edit_characteristic_caption_tyc'], "seo_characteristic_yc", $param);

	?>
	</table>
	<?php 
}

//Если в отчете должен быть PageRank
if ($pr)
{
	?>	
	<h2><?php echo $GLOBALS['MSG_seo']['seo_add_edit_characteristic_caption_pr']?></h2>
				
	<?php echo '<img src="/admin/seo/seo_graph.php?id='.$site_id.'&id_return=5&date_start='.rawurlencode($date_start).'&date_end='.rawurlencode($date_end).'&pr='.$pr.'" align="center">'?>
		
	<table border="0" cellpadding="2" cellspacing="2" width="100%">
	<?php

	// Не показываем некоторые столбцы, если общее количество таковых больше максимально разрешенного
	if ($count > $report['column_count'])
	{
		$report_pr = $Seo->BuildMassReport($report, "pr");
	}
	else
	{
		$report_pr = $report;
	}

	// Дата
	$Seo->ShowTableTitleReport($report_pr, "seo_characteristic_date_time");

	// PR
	$Seo->ShowTableRow($report_pr, $GLOBALS['MSG_seo']['pr'], "seo_characteristic_pr", $param);
	?>			
	</table>
	<?php
}


//Если в отчете должны быть данные о ссылающихся страницах
if ($links_google || $links_yandex || $links_yahoo || $links_msn)
{
	?>
	<h2><?php echo $GLOBALS['MSG_seo']['report_links']?></h2>
	
	<?php echo '<img src="/admin/seo/seo_graph.php?id='.$site_id.'&id_return=2&date_start='.rawurlencode($date_start).'&date_end='.rawurlencode($date_end).'&links_google='.$links_google.'&links_yandex='.$links_yandex.'&links_yahoo='.$links_yahoo.'&links_msn='.$links_msn.'" align="center">'?>
	
	<table border="0" cellpadding="2" cellspacing="2" width="100%">
	<?php

	// Не показываем некоторые столбцы, если общее количество таковых больше максимально разрешенного
	if ($count > $report['column_count'])
	{
		$report_links = $Seo->BuildMassReport($report, "links");
	}
	else
	{
		$report_links = $report;
	}

	// Дата
	$Seo->ShowTableTitleReport($report_links, "seo_characteristic_date_time");

	// Google
	if ($links_google)
	{
		$Seo->ShowTableRow($report_links, $GLOBALS['MSG_seo']['report_google'], "seo_characteristic_links_google", $param);
	}

	// Yandex
	if ($links_yandex)
	{
		$Seo->ShowTableRow($report_links, $GLOBALS['MSG_seo']['report_yandex'], "seo_characteristic_links_yandex", $param);
	}

	// Yahoo
	if ($links_yahoo)
	{
		$Seo->ShowTableRow($report_links, $GLOBALS['MSG_seo']['report_yahoo'], "seo_characteristic_links_yahoo", $param);
	}

	// Bing.com
	if ($links_msn)
	{
		$Seo->ShowTableRow($report_links, $GLOBALS['MSG_seo']['report_msn'], "seo_characteristic_links_msn", $param);
	}
	?>
	</table>
<?php 
}

//Если в отчете должны быть данные о проиндексированных страницах
if ($indexed_aport || $indexed_yandex || $indexed_yahoo || $indexed_msn || $indexed_rambler || $indexed_google)
{
	?>
	<h2><?php echo $GLOBALS['MSG_seo']['report_indexed']?></h2>
	
	<?php echo '<img src="/admin/seo/seo_graph.php?id='.$site_id.'&id_return=3&date_start='.rawurlencode($date_start).'&date_end='.rawurlencode($date_end).'&indexed_aport='.$indexed_aport.'&indexed_yandex='.$indexed_yandex.'&indexed_yahoo='.$indexed_yahoo .'&indexed_msn='.$indexed_msn.'&indexed_rambler='.$indexed_rambler.'&indexed_google='.$indexed_google.'" align="center">'?>
	
	<table border="0" cellpadding="2" cellspacing="2" width="100%">
	<?php

	// Не показываем некоторые столбцы, если общее количество таковых больше максимально разрешенного
	if ($count > $report['column_count'])
	{
		$report_indexed = $Seo->BuildMassReport($report, "indexed");
	}
	else
	{
		$report_indexed = $report;
	}

	// Дата
	$Seo->ShowTableTitleReport($report_indexed, "seo_characteristic_date_time");

	// Yandex
	if ($indexed_yandex)
	{
		$Seo->ShowTableRow($report_indexed, $GLOBALS['MSG_seo']['report_yandex'], "seo_characteristic_indexed_yandex", $param);
	}

	// Rambler
	if ($indexed_rambler)
	{
		$Seo->ShowTableRow($report_indexed, $GLOBALS['MSG_seo']['report_rambler'], "seo_characteristic_indexed_rambler", $param);
	}

	// Google
	if ($indexed_google)
	{
		$Seo->ShowTableRow($report_indexed, $GLOBALS['MSG_seo']['report_google'], "seo_characteristic_indexed_google", $param);
	}

	// Aport
	if ($indexed_aport)
	{
		$Seo->ShowTableRow($report_indexed, $GLOBALS['MSG_seo']['report_aport'], "seo_characteristic_indexed_aport", $param);
	}

	// Yahoo
	if ($indexed_yahoo)
	{
		$Seo->ShowTableRow($report_indexed, $GLOBALS['MSG_seo']['report_yahoo'], "seo_characteristic_indexed_yahoo", $param);
	}

	// Bing.com
	if ($indexed_msn)
	{
		$Seo->ShowTableRow($report_indexed, $GLOBALS['MSG_seo']['report_msn'], "seo_characteristic_indexed_msn", $param);
	}
	?>
	</table>
<?php 
}

//Если в отчете должны быть данные о каталогах
if ($catalog_yandex || $catalog_rambler || $catalog_mail || $catalog_dmoz || $catalog_aport)
{
	$param['status'] = true;

	?>
	<h2><?php echo $GLOBALS['MSG_seo']['report_catalog']?></h2>
	
	<table border="0" cellpadding="2" cellspacing="2" width="100%">
	<?php

	// Не показываем некоторые столбцы, если общее количество таковых больше максимально разрешенного
	if ($count > $report['column_count'])
	{
		$report_catalog = $Seo->BuildMassReport($report, "catalog");
	}
	else
	{
		$report_catalog = $report;
	}

	// Дата
	$Seo->ShowTableTitleReport($report_catalog, "seo_characteristic_date_time");

	// Яндекс каталог
	if ($catalog_yandex)
	{
		$Seo->ShowTableRow($report_catalog, $GLOBALS['MSG_seo']['report_yandex'], "seo_characteristic_catalog_yandex", $param);
	}

	// Рамблер каталог
	if ($catalog_rambler)
	{
		$Seo->ShowTableRow($report_catalog, $GLOBALS['MSG_seo']['report_rambler'], "seo_characteristic_catalog_rambler", $param);
	}

	// Dmoz каталог
	if ($catalog_dmoz)
	{
		$Seo->ShowTableRow($report_catalog, $GLOBALS['MSG_seo']['report_dmoz'], "seo_characteristic_catalog_dmoz", $param);
	}

	// Апорт каталог
	if ($catalog_aport)
	{
		$Seo->ShowTableRow($report_catalog, $GLOBALS['MSG_seo']['report_aport'], "seo_characteristic_catalog_aport", $param);
	}

	// Mail каталог
	if ($catalog_mail)
	{
		$Seo->ShowTableRow($report_catalog, $GLOBALS['MSG_seo']['report_mail'], "seo_characteristic_catalog_mail", $param);
	}

	$param['status'] = false;
	?>
	</table>
<?php 
}

// Если в отчете должны быть данные о наличии счетчиков
if ($counter_rambler || $counter_spylog || $counter_hotlog || $counter_mail || $counter_liveinternet)
{
	$param['status'] = true;

	?>	
	<h2><?php echo $GLOBALS['MSG_seo']['seo_add_edit_characteristic_tab_counter']?></h2>
	
	<table border="0" cellpadding="2" cellspacing="2" width="100%">
	<?php

	// Не показываем некоторые столбцы, если общее количество таковых больше максимально разрешенного
	if ($count > $report['column_count'])
	{
		$report_counter = $Seo->BuildMassReport($report, "counter");
	}
	else
	{
		$report_counter = $report;
	}

	// Дата
	$Seo->ShowTableTitleReport($report_counter, "seo_characteristic_date_time");

	// Счетчик SpyLog
	if ($counter_spylog)
	{
		$Seo->ShowTableRow($report_counter, $GLOBALS['MSG_seo']['report_spylog'], "seo_characteristic_counter_spylog", $param);
	}

	//счетчик Rambler's top 100
	if ($counter_rambler)
	{
		$Seo->ShowTableRow($report_counter, $GLOBALS['MSG_seo']['report_rambler_top'], "seo_characteristic_counter_rambler", $param);
	}

	//счетчик HotLog
	if ($counter_hotlog)
	{
		$Seo->ShowTableRow($report_counter, $GLOBALS['MSG_seo']['report_hotlog'], "seo_characteristic_counter_hotlog", $param);
	}

	//счетчик LiveInternet
	if ($counter_liveinternet)
	{
		$Seo->ShowTableRow($report_counter, $GLOBALS['MSG_seo']['report_liveinternet'], "seo_characteristic_counter_liveinternet", $param);
	}

	//счетчик Mail.ru
	if ($counter_mail)
	{
		$Seo->ShowTableRow($report_counter, $GLOBALS['MSG_seo']['report_mail'], "seo_characteristic_counter_mail", $param);
	}

	$param['status'] = false;
	?>
	</table>
<?php 
}

//Если в отчете должны быть данные о поисковых запросах
if ($count_quer > 0 &&
($position_yandex || $position_google || $position_rambler || $position_aport || $position_gogo || $position_yahoo || $position_livesearch))
{
?>
	<h1><?php echo $GLOBALS['MSG_seo']['report_position']?></h1>
	<?php 
	for ($i = 0; $i < $count_quer; $i++)
	{
		$query_id = $report_quer[$i]['seo_search_query_id'];
		$query = "SELECT * FROM `seo_position_search_query_table`
			WHERE `seo_search_query_id` = '$query_id' 
			AND `seo_position_search_query_date_time` > '{$date_start}'
			AND `seo_position_search_query_date_time` < '{$date_end}' 
			ORDER BY `seo_position_search_query_date_time`";
		
		$result = $DataBase->query($query);

		//		$param['count'] = $count_quer_pos = mysql_num_rows($result);

		$param['inverse'] = true;

		$param['type'] = "position";

		while ($row = mysql_fetch_assoc($result))
		{
			$report_quer[$i][] = $row;
		}

		$report_quer[$i]['column_count'] = $column_count;

		?>	
		<h2><?php echo sprintf($GLOBALS['MSG_seo']['report_position_text'], $report_quer[$i]['seo_search_query_value'])?></h2>
	
		<?php echo '<img src="/admin/seo/seo_graph.php?id='.$site_id.'&id_return=4&query_id='.$query_id.'&date_start='.rawurlencode($date_start).'&date_end='.rawurlencode($date_end).'&position_yandex='.$position_yandex.'&position_google='.$position_google.'&position_rambler='.$position_rambler.'&position_aport='.$position_aport.'&position_gogo='.$position_gogo.'&position_yahoo='.$position_yahoo.'&position_livesearch='.$position_livesearch.'" align="center">'?>
		
		<table border="0" cellpadding="2" cellspacing="2" width="100%">
		<?php
		
		// Если есть элементы для отображения. -5 - пять элементов присутствуют всегда в массиве $report_quer[$i]
		if (count($report_quer[$i]) - 5 > 0)
		{
			// Не показываем некоторые столбцы, если общее количество таковых больше максимально разрешенного
			if (count($report_quer[$i]) - 5 > $report_quer[$i]['column_count'])
			{
				$report_position = $Seo->BuildMassReport($report_quer[$i], "position");
			}
			else
			{
				$report_position = $report_quer[$i];
			}

			// Дата
			$Seo->ShowTableTitleReport($report_position, "seo_position_search_query_date_time", $param);

			// Yandex
			if ($position_yandex)
			{
				$Seo->ShowTableRow($report_position, $GLOBALS['MSG_seo']['report_yandex'], "seo_position_search_query_yandex", $param);
			}

			// Rambler
			if ($position_rambler)
			{
				$Seo->ShowTableRow($report_position, $GLOBALS['MSG_seo']['report_rambler'], "seo_position_search_query_rambler", $param);
			}
			// Google
			if ($position_google)
			{
				$Seo->ShowTableRow($report_position, $GLOBALS['MSG_seo']['report_google'], "seo_position_search_query_google", $param);
			}

			// Aport
			if ($position_aport)
			{
				$Seo->ShowTableRow($report_position, $GLOBALS['MSG_seo']['report_aport'], "seo_position_search_query_aport", $param);
			}

			// GoGo
			if ($position_gogo)
			{
				$Seo->ShowTableRow($report_position, $GLOBALS['MSG_seo']['report_gogo'], "seo_position_search_query_gogo", $param);
			}

			// Yahoo
			if ($position_yahoo)
			{
				$Seo->ShowTableRow($report_position, $GLOBALS['MSG_seo']['report_yahoo'], "seo_position_search_query_yahoo", $param);
			}

			// Bing
			if ($position_livesearch)
			{
				$Seo->ShowTableRow($report_position, $GLOBALS['MSG_seo']['report_livesearch'], "seo_position_search_query_livesearch", $param);
			}
		}
		?>		
		</table>
	<?php 
	}
}
?>
<p>&nbsp;</p>

</body>
</html>
<?php 
exit();
?>