OSDN Git Service

First cut of emobile support. Closes #12453.
[keitairc/keitairc.git] / lib / Keitairc / ClientInfo.pm
index e6bad62..154d871 100644 (file)
@@ -1,6 +1,6 @@
 # -*-perl-*-
 # Keitairc::ClientInfo
-# $Id: ClientInfo.pm,v 1.3 2008-05-08 14:23:16 matusita Exp $
+# $Id: ClientInfo.pm,v 1.4 2008-05-13 02:53:31 matusita Exp $
 # $Source: /home/ishikawa/work/keitairc/tmp/keitairc/lib/Keitairc/ClientInfo.pm,v $
 #
 # Copyright (c) 2008 Jun Morimoto <morimoto@mrmt.net>
@@ -63,9 +63,29 @@ sub is_softbank{
 }
 
 ################################################################
+sub is_emobile{
+       my $me = shift;
+       $me->is_emobile_mobilebrowser() + $me->is_emobile_openbrowser();
+}
+
+################################################################
+sub is_emobile_mobilebrowser{
+       my $me = shift;
+       $me->{header}->{user_agent} =~ /^emobile/;
+}
+
+################################################################
+sub is_emobile_openbrowser{
+       my $me = shift;
+       # http://developer.emnet.ne.jp/useragent.html
+       $me->{header}->{user_agent} =~ /(H11T; like Gecko|\) S11HT$)/;
+}
+
+################################################################
 sub is_mobile{
        my $me = shift;
-       $me->is_ezweb() + $me->is_docomo() + $me->is_softbank();
+       $me->is_ezweb() + $me->is_docomo()
+               + $me->is_softbank() + $me->is_emobile_mobilebrowser();
 }
 
 ################################################################
@@ -101,6 +121,12 @@ sub subscribe_id{
 }
 
 ################################################################
+sub userid{
+       my $me = shift;
+       $me->{header}->{x_em_uid};
+}
+
+################################################################
 sub serial_key{
        my $me = shift;
        if($me->is_softbank()){
@@ -109,6 +135,9 @@ sub serial_key{
        if($me->is_ezweb()){
                return $me->subscribe_id();
        }
+       if($me->is_emobile()){
+               return $me->userid();
+       }
 }
 
 ################################################################