powered by nequal
Home » Net_UserAgent_Mobile_Capability » Timeline » 1750

Changeset 1750 -- 2010-03-26 15:14:49

Author
okonomi
Comment
コードを整理

Diffs

Net_UserAgent_Mobile_Capability/trunk/TODO

@@ -1,3 +1,4 @@
* TODO [2/2] [100%]
- [X] VGA判定(browser.vga)
- [X] iモードブラウザ2.0端末を考慮
+  - [X] コードの整理

Net_UserAgent_Mobile_Capability/trunk/src/Net/UserAgent/Mobile/Capability.php

@@ -18,90 +18,93 @@
*/
public function get($name)
{
+        $ua = $this->_useragent;
+        $carrier = $ua->getCarrierShortName();
+
switch ($name) {
case 'browser.html.table':
-            switch (true) {
-            case $this->_useragent->isDoCoMo():
-                return (float)$this->_useragent->getHTMLVersion() >= 6.0 || (float)$this->_useragent->getBrowserVersion() >= 2.0;
+            switch ($carrier) {
+            case 'I':
+                return (float)$ua->getHTMLVersion() >= 6.0 || (float)$ua->getBrowserVersion() >= 2.0;
-            case $this->_useragent->isSoftBank():
+            case 'S':
return true;
-            case $this->_useragent->isEZweb():
-                return $this->_useragent->isWAP2() === true;
+            case 'E':
+                return $ua->isWAP2() === true;
}
return null;
case 'browser.css':
-            switch (true) {
-            case $this->_useragent->isDoCoMo():
-                return ((float)$this->_useragent->getHTMLVersion() >= 4.0 || (float)$this->_useragent->getBrowserVersion() >= 2.0)
-                        && $this->_useragent->isFOMA();
+            switch ($carrier) {
+            case 'I':
+                return ((float)$ua->getHTMLVersion() >= 4.0 || (float)$ua->getBrowserVersion() >= 2.0)
+                        && $ua->isFOMA();
-            case $this->_useragent->isSoftBank():
-                return $this->_useragent->isType3GC();
+            case 'S':
+                return $ua->isType3GC();
-            case $this->_useragent->isEZweb():
-                return $this->_useragent->isWAP2() === true;
+            case 'E':
+                return $ua->isWAP2() === true;
}
return null;
case 'browser.css.external':
-            switch (true) {
-            case $this->_useragent->isDoCoMo():
-                return (float)$this->_useragent->getBrowserVersion() >= 2.0;
+            switch ($carrier) {
+            case 'I':
+                return (float)$ua->getBrowserVersion() >= 2.0;
-            case $this->_useragent->isSoftBank():
-                return $this->_useragent->isType3GC();
+            case 'S':
+                return $ua->isType3GC();
-            case $this->_useragent->isEZweb():
-                return $this->_useragent->isWAP2() === true;
+            case 'E':
+                return $ua->isWAP2() === true;
}
return null;
case 'browser.vga':
-            switch (true) {
-            case $this->_useragent->isDoCoMo():
+            switch ($carrier) {
+            case 'I':
// iモードブラウザ2.0のVGAモードは無視
return false;
-            case $this->_useragent->isSoftBank():
-                return $this->_useragent->getDisplay()->getWidth() >= 480;
+            case 'S':
+                return $ua->getDisplay()->getWidth() >= 480;
-            case $this->_useragent->isEZweb():
+            case 'E':
return false;
}
return null;
case 'device.flash':
// @see http://ke-tai.org/blog/2008/03/18/flashfunc/
-            switch (true) {
-            case $this->_useragent->isDoCoMo():
-                if ($this->_useragent->isFOMA()) {
-                    if ($this->_useragent->getSeries() === 'FOMA') {
+            switch ($carrier) {
+            case 'I':
+                if ($ua->isFOMA()) {
+                    if ($ua->getSeries() === 'FOMA') {
return false;
}
-                    if (in_array($this->_useragent->getModel(), array('NM850iG', 'F880iES', 'N600i', 'L600i', 'L601i', 'L602i'))) {
+                    if (in_array($ua->getModel(), array('NM850iG', 'F880iES', 'N600i', 'L600i', 'L601i', 'L602i'))) {
return false;
}
return true;
} else {
-                    return in_array($this->_useragent->getSeries(), array('505i', '506i'));
+                    return in_array($ua->getSeries(), array('505i', '506i'));
}
-            case $this->_useragent->isSoftBank():
-                if ($this->_useragent->isType3GC()) {
-                    if ($this->_useragent->getName() === 'Vodafone') {
-                        return in_array($this->_useragent->getVendor(), array('SH', 'SE'));
+            case 'S':
+                if ($ua->isType3GC()) {
+                    if ($ua->getName() === 'Vodafone') {
+                        return in_array($ua->getVendor(), array('SH', 'SE'));
}
-                    if ($this->_useragent->getName() === 'SoftBank') {
-                       return $this->_useragent->getVendor() !== 'SC';
+                    if ($ua->getName() === 'SoftBank') {
+                       return $ua->getVendor() !== 'SC';
}
}
return false;
-            case $this->_useragent->isEZweb():
-                return (int)substr($this->_useragent->getHeader('X-UP-DEVCAP-MULTIMEDIA'), 12, 1) >= 1;
+            case 'E':
+                return (int)substr($ua->getHeader('X-UP-DEVCAP-MULTIMEDIA'), 12, 1) >= 1;
}
return null;