ユーザ判定・UNIX タイムスタンプ


XOOPS 使ってると、あちこちいじろうと始めてはみるんですが、作業を開始すると10分とか15分ぐらいで見通しが甘かったことが判明してあぐぐぐ、ってのの繰り返し。やっぱりコーディングできないと不自由ですわ。なんてコトをしみじみ思うここ数日でありました。

で、その途中に使ったものをメモ。

XOOPS ではテーマ中に変数を使えます。んで、その変数で条件分岐も出来るのでユーザとゲストについて別の表示を出力できたりします。

<!-- アクセス解析 [ START ] -->
< {if $xoops_isuser == "True"}><!-- 登録ユーザなのでパス -->
< {elseif $xoops_uname == "takafumi"}><!-- 特定ユーザもパス -->
< {elseif $xoops_requesturi == "/odekakex/hogehoge.php"}>
<!-- 特定アドレスでもパス -->
< {else}>
アクセス解析のコード
< {/if}>
<!-- アクセス解析 [ END ] -->

これでゲストについてだけアクセス解析のコードを出力できます。最初は登録ユーザかどうか、登録ユーザなら True が帰ってきます。2番目はユーザ名でチェックしてるんですが……これじゃ登録ユーザの判定しか帰ってきませんね。意味ないやん。そして3行目は特定のアドレスかどうか判定しています。ログインページとかを指定するといいんじゃないかと思います。テーマ中で使える変数はほかにも色々あるので XOOPSwiki を参照してみてください。

と、もうひとつ。UNIX 系のシステムでは(?)時間を1970/01/01 からの秒数で管理しています。が、そんな秒数見てもいったいいつのことだかわかりません。でも、それを表計算ソフトで扱う必要があったのでどうしたらいいのか調べたところ

=(XX+32400)/86400+DATE(1970;1;1)

でいけるみたいです。XX がタイムスタンプなので 1112687051 とかって数字が入ります。該当セルを参照してください。その後ろの +32400 で GMT+9 になってると思います。と、日付のトコのセミコロンは Exel だとコンマです。たぶん。これは OOo 用。ちょっと1個だけ調べたい、とかって時はフォームへ入力してボタンを押せば変換してくれるページとかあるので、そっちの方がはやいかも。

間違いとかあったらツッコミよろしくです。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です