Author: ornicar2
Date: 2010-01-20 16:45:50 +0100 (Wed, 20 Jan 2010)
New Revision: 26947
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmLog/lib/dmRequestLogView.php
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmLog/lib/dmRequestLogViewLittle.php
plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowserDetection.php
plugins/diemPlugin/trunk/dmCorePlugin/test/unit/dmBrowserTest.php
plugins/diemPlugin/trunk/dmCorePlugin/web/css/browsers.css
Log:
[Diem]
- dmBrowserDetection detects better search engine bots
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmLog/lib/dmRequestLogView.php
===================================================================
---
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmLog/lib/dmRequestLogView.php
2010-01-20 15:17:57 UTC (rev 26946)
+++
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmLog/lib/dmRequestLogView.php
2010-01-20 15:45:50 UTC (rev 26947)
@@ -26,13 +26,28 @@
protected function renderBrowser(dmRequestLogEntry $entry)
{
$browser = $entry->get('browser');
+
return sprintf('<div class="clearfix"><div class="browser browser_block %s
fleft"></div><strong class="mr10">%s %s</strong><span class="light">%s</span>',
- $browser->getName(),
+ $this->getBrowserIcon($browser),
ucfirst($browser->getName()),
$browser->getVersion(),
str_replace('Linux', '<strong>Linux</strong>', $entry->get('user_agent'))
);
}
+
+ protected function getBrowserIcon($browser)
+ {
+ if(in_array($browser->getName(), array('googlebot', 'yahoobot', 'msnbot')))
+ {
+ $icon = $browser. 'browser_bot';
+ }
+ else
+ {
+ $icon = $browser;
+ }
+
+ return $icon;
+ }
protected function renderLocation(dmRequestLogEntry $entry)
{
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmLog/lib/dmRequestLogViewLittle.php
===================================================================
---
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmLog/lib/dmRequestLogViewLittle.php
2010-01-20 15:17:57 UTC (rev 26946)
+++
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmLog/lib/dmRequestLogViewLittle.php
2010-01-20 15:45:50 UTC (rev 26947)
@@ -15,7 +15,7 @@
{
$browser = $entry->get('browser');
return sprintf('<div class="browser %s">%s<br />%s %s</div>',
- $browser->getName(),
+ $this->getBrowserIcon($browser),
($username = $entry->get('username'))
? '<strong class="mr5">'.$username.'</strong>'
: $entry->get('ip'),
Modified:
plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowserDetection.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowserDetection.php
2010-01-20 15:17:57 UTC (rev 26946)
+++ plugins/diemPlugin/trunk/dmCorePlugin/lib/browser/dmBrowserDetection.php
2010-01-20 15:45:50 UTC (rev 26947)
@@ -20,6 +20,8 @@
$this->fixIphone();
+ $this->fixYahoo();
+
return array('name' => $this->name, 'version' => $this->version);
}
@@ -76,6 +78,14 @@
}
}
+ protected function fixYahoo()
+ {
+ if (null === $this->name && strpos($this->userAgent, 'yahoo! slurp'))
+ {
+ $this->name = 'yahoobot';
+ }
+ }
+
protected function getAliases()
{
return array(
@@ -89,6 +99,6 @@
protected function getKnownBrowsers()
{
- return array('msie', 'firefox', 'safari', 'webkit', 'opera', 'netscape',
'konqueror', 'gecko', 'chrome', 'googlebot', 'iphone');
+ return array('msie', 'firefox', 'safari', 'webkit', 'opera', 'netscape',
'konqueror', 'gecko', 'chrome', 'googlebot', 'iphone', 'msnbot');
}
}
\ No newline at end of file
Modified: plugins/diemPlugin/trunk/dmCorePlugin/test/unit/dmBrowserTest.php
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/test/unit/dmBrowserTest.php
2010-01-20 15:17:57 UTC (rev 26946)
+++ plugins/diemPlugin/trunk/dmCorePlugin/test/unit/dmBrowserTest.php
2010-01-20 15:45:50 UTC (rev 26947)
@@ -4,7 +4,7 @@
$helper = new dmUnitTestHelper();
$helper->boot();
-$t = new lime_test(16);
+$t = new lime_test(17);
$browser = $helper->get('browser');
$namorokaUbuntu = 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2pre)
Gecko/20100116 Ubuntu/9.10 (karmic) Namoroka/3.6pre';
@@ -24,6 +24,7 @@
$ie6Windows = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; DigExt)';
$feedFetcherGoogle = 'Feedfetcher-Google;
(+http://www.google.com/feedfetcher.html; 2 subscribers;
feed-id=6924676383167400434)';
$iphone = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; de-de)
AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7D11';
+$yahooBot = 'Mozilla/5.0 (compatible; Yahoo! Slurp;
http://help.yahoo.com/help/us/ysearch/slurp)';
$tests = array(
$namorokaUbuntu => array('name' => 'firefox', 'version' => '3.6',
'is_unknown' => false),
@@ -31,7 +32,8 @@
$chromeMac => array('name' => 'chrome', 'version' => '4.0', 'is_unknown' =>
false),
$safariMac => array('name' => 'safari', 'version' => '4.0', 'is_unknown' =>
false),
$googleBot => array('name' => 'googlebot', 'version' => '2.1', 'is_unknown'
=> false),
- $msnBot => array('name' => null, 'version' => null, 'is_unknown' => true),
+ $msnBot => array('name' => 'msnbot', 'version' => '2.0', 'is_unknown' =>
false),
+ $yahooBot => array('name' => 'yahoobot', 'version' => null, 'is_unknown' =>
false),
$operaWindows => array('name' => 'opera', 'version' => '9.80', 'is_unknown'
=> false),
$firefoxLinux => array('name' => 'firefox', 'version' => '3.0', 'is_unknown'
=> false),
$firefoxWindows => array('name' => 'firefox', 'version' => '3.5',
'is_unknown' => false),
Modified: plugins/diemPlugin/trunk/dmCorePlugin/web/css/browsers.css
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/web/css/browsers.css 2010-01-20
15:17:57 UTC (rev 26946)
+++ plugins/diemPlugin/trunk/dmCorePlugin/web/css/browsers.css 2010-01-20
15:45:50 UTC (rev 26947)
@@ -10,4 +10,5 @@
.browser.netscape { background-position: 0 -48px; }
.browser.opera { background-position: 0 -72px; }
.browser.safari { background-position: 0 -96px; }
-.browser.msie { background-position: 0 -120px; }
\ No newline at end of file
+.browser.msie { background-position: 0 -120px; }
+.browser.browser_bot { background-position: 0 -168px; }
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.