Sponsored Link

2008年4月アーカイブ

私の使っているsoftbank携帯(912SH)では製造番号通知がデフォルトではオフのため、かんたんログインができませんでした。意外とこの問題を抱えている人は多いのではないでしょうか?

softbank3G携帯ではUIDが取得できるため、こちらを取得すればログインができるはずです。

試しに実装してみました/webapp/lib/OpenPne/KetaiID.phpの77行目

        // SoftBank
        elseif (!strncmp($ua, 'SoftBank', 8)) {
            $pieces = explode('/', $ua);
            $piece_sn = explode(' ', $pieces[4]);
            $sn = array_shift($piece_sn);
            if (!strncmp($sn, 'SN', 2)) {
                $id = $sn;
            }
        }
        // SoftBank
       elseif (!strncmp($ua, 'SoftBank', 8)) {
            $pieces = explode('/', $ua);
            $piece_sn = explode(' ', $pieces[4]);
            $sn = array_shift($piece_sn);
            if (!strncmp($sn, 'SN', 2)) {
                $id = $sn;
            }elseif (isset($_SERVER["x-jphone-uid"])){
                $id = $_SERVER["x-jphone-uid"];
            }elseif (isset($_SERVER['HTTP_X_JPHONE_UID'])){
                $id = $_SERVER['HTTP_X_JPHONE_UID'];
            }
        }


これで私の携帯でもログインできるようになりました。 UIDであれば機種変更しても変わらないため今後はこちらをメインで取得したほうがよいかもしれません。(mixiやモバゲーもUIDを取得しているはずです)今回は先にUIDを取得してしまうと現ユーザーが再設定しない限りログインできないためこうなってしまいました。バージョンは2.12までは動作確認済みです。

 
後述:
実はこのプログラムは2.12で本家のOpenPNEに
組み込んでいただくことになりました。
そのためそれ以降のバージョンには対応済みです。
自分のソースが組み込まれるのはちょっとうれしかったりします。
まあ・・たいしたソースでもないんですけどね・・・

        

OpenPNE-2.11.6を試してみました

なんとなく表示が早くなった気がしていい感じです。これはスタイルシートを使うことで大幅にコードを省略できたことが大きいのかもしれません。

SNSポータルクリエーターの機能も面白い。あと個人的に欲しいなあと思う機能は日記の外部公開選択機能かなあ。外部公開選択した日記もポータルクリエーターの項目に入れれるようなれば、よりSNSも活性化される気もします。

OpenID機能にも期待大ですね。

僕は残念ながら?しがないサラリーマンです。

 でも会社に対して感謝の気持ちを持っています。

 「入社させていただけた。」
 「こんなやりがいのある仕事をさせてもらっている。」
 「給料がもらえる」

 会社に対していつも不平不満ばかり言う人も見かけますが、そういう人に限って全く仕事をしていない人が多いように感じています。(もちろんたまに気持ちをぶつけることは大切です)

 会社に感謝の気持ちを持つだけで仕事に対する意識も違ってくるはずですよ。(愛社精神)
 僕の好きな言葉は「何事にも全力を」です。

 たとえば仕事!ダラダラと仕事をしていると時間が過ぎるのがあまりにも遅く感じてしまいます。
 でも嫌な仕事でも全力でやれば時間はあっという間に過ぎてしまいます。

 全力でやっても8時間、ダラダラとやっても8時間。どうせ同じ時間を過ごすのであれば全力でやったほうが得な気がしませんか?

1日前などを算出する関数です。さすがPHPです。便利な関数ありますねえ。Perlだとこれよりちょっとだけ複雑な作業がいるんですよ。

print date("Ymd",strtotime("-1 day"));   //1日前
print date("Ymd",strtotime("-1 week"));  //1週間前
print date("Ymd",strtotime("-1 month")); //1月前
print date("Ymd",strtotime("-1 year"));  //1年前
//
print date("Ymd",strtotime("1 day"));    //1日後
print date("Ymd",strtotime("1 week"));   //1週間後
print date("Ymd",strtotime("1 month"));  //1月後
print date("Ymd",strtotime("1 year"));   //1年後

結構便利です。


これをPerlで実現してみると

$days = 1;  //○日前を指定
($sec, $min, $hour, $day, $month, $year, $wdy, $yday, $isdst) 
= localtime(time-24*60*60*$days);
$year += 1900;
$month++;
print sprintf("%04d%02d%02d",$year,$month,$day);

って感じでしょうか。もっと簡単な方法あると思いますが・・・。