<?php

class VisitsSync extends Vn\Lib\Method
{
	function run ($db)
	{
		$result = $db->query ("SELECT id, agent FROM visit_agent
			WHERE version = '0.0' OR platform = 'unknown' OR cookies IS NULL ORDER BY id DESC");

		$stmt = $db->prepare ('UPDATE visit_agent
			SET platform = ?, browser = ?, version = ?, javascript = ?, cookies = ? WHERE id = ?');

		if ($result && $stmt)
		{
			set_time_limit (0);

			$stmt->bind_param('sssiii'
				,$platform
				,$browser
				,$version
				,$javascript
				,$cookies
				,$id
			);

			// Update the visit info using browscap
			
			$count = 0;

			while ($row = $result->fetch_assoc ())
			{
				$info = get_browser ($row['agent']);
				$platform   = $info->platform;
				$browser    = $info->browser;
				$version    = $info->version;
				$javascript = $info->javascript;
				$cookies    = $info->cookies;
				$id         = $row['id'];
				$stmt->execute ();
				
				$count++;
			}
			
			echo "$count records updated\n";
		}

		if ($stmt)
			$stmt->close ();
		if ($result)
			$result->free ();
	}
}
