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.


Reply via email to