$partnerId = (int) $argv[1]; $date = strftime('%Y-%m-%d', strtotime($argv[2] ?: 'now')); echo "User agents for {$partnerId} on {$date}\n"; mysqlConnect(MYSQL_SLAVE); $sql = "SELECT lsm.user_agent AS user_agent FROM log_sessions ls LEFT JOIN log_session_meta lsm ON (lsm.log_session_id=ls.id) WHERE ls.time_firstaction >= '{$date}' AND ls.time_firstaction < TIMESTAMPADD(DAY, 1, '{$date}') AND ls.partner_id={$partnerId};"; $select = mysql_query($sql); $uas = array(); while ($row = mysql_fetch_assoc($select)) { $uas[$row['user_agent']]++; } $browsers = array(); $parser = new \UAS\Parser(); $parser->SetCacheDir(sys_get_temp_dir() . "/uascache/"); foreach ($uas as $ua => $count) { $browser = 'unknown'; if ($ret = $parser->parse($ua)) { $browser = "{$ret['typ']} - {$ret['ua_family']}"; } $browsers[$browser] += $count; } ksort($browsers); $total = $max1 = $max2 = 0; foreach ($browsers as $browser => $count) { $max1 = max($max1, strlen($browser)); $max2 = max($max2, strlen($count)); $total += $count; } $max2 = max($max2, strlen($total)); foreach ($browsers as $browser => $count) { $pct = number_format($count / $total * 100.0, 2, '.', ''); echo str_pad($browser, $max1, ' ', STR_PAD_RIGHT);