<<
2006.7
>>
[nao-pon/blog] |
||||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 8 | |
9 | 10 | 11 | 12 | 13 | 14 | |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 29 | |
30 |
miyabi さんの gmap モジュールをベースにした のぶのぶさんの MyGmap モジュールは、住所・駅名サーチなどが便利なので、PukiWiki の googlemap2 プラグイン用の地図タグ生成に便利だと思い、Google Maps API の Version 2 に対応させてみました。
そのメモ書きです。
&font(Red){
※ FireFox(1.5.0.4), Opera(8.53) ではOKだけど、IE(6)ではNGでした。ちょっと調べてみます。};
ただ、それだとブロックのミニマップと共存できなくなる?
var mygmap_gapi_src = "http://maps.google.com/maps?file=api&v=1&datum=wgs84&key=" + mygmap_API;
を
var mygmap_gapi_src = "http://maps.google.com/maps?file=api&v=2&key=" + mygmap_API;
に変更。
冒頭近くの
//Google Map Initializing
の前に次のコードを追加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
最後のほうの
function myGmapRenderCurAddress(zoom) {
の直下に
1 |
|
を追加
本当は、ソースをV2用に書き換えるのが正攻法だとは思いますが、変更箇所が多かったので、オブジェクトのメソッドを追加して対応させてみました。
これで、とりあえず動作している模様ですが、まだ足りないメソッドや関数があるかもしれません。
ちょっと前から、いじっているサイト YouTube NAVI は、内容がワールドワイドなコンテンツなので、Amazon のアソシエイツも各国のそれに参加しています。
当初は、ブラウザが送ってくる Accept-Charset を見て判別して振り分けていたのですが、Accept-Charset はあくまでも言語指定であって、住んでる地域とは一致しないので、IPを元にアクセス元の国を判別してみようと思い立ちました。
調べてみると、 (api.hostip.info) で、APIとして公開されていたので使ってみたのですが、正しく取得できない場合があったので、自前で構築してみました。
まずは、リストの取得ですが 不正アクセスの発信地の国別統計をとろう! で Nakamura Minoru さんという方が、世界に4ヶ所ある IP アドレスを管理している組織が公開しているデータをまとめて公開されているのを発見!
そちらのデーターを元に MySQL にデータベースを作成し、PHPスクリプトで問い合わせをする関数を作ってみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
1 2 3 4 5 6 7 8 9 10 |
|
これを利用したのが Convert IP to ccTLD です。
API として利用するなら (hypweb.net) として IPを与えてください。
現状では利用にあたり制限をしていませんが、継続性は保証できません。ある日突然なくなるかもしれないので、ご了承ください。
一式諸々をパックしておきました。ご自由にお使いください。
携帯にサイトの更新通知が届かないので、おかしいな〜?って思っていたら、なんと Biglobe が Outbound Port 25 Blocking を開始していました。
7月下旬から携帯各社宛をブロックし始め、9月下旬までにすべてのメールがブロックされるようです。
「そんな、殺生な〜!」って言ってみたところで仕方ありません。最近の流れですからね。
じゃあ!ということで、biglobe の SMTPサーバーを経由して送ることにしました。
メールサーバーは XMail(Win32) を使っているので、「SMTP フォワーダ」ですべてのメールをmail.biglobe.ne.jp へ転送!
そして、SMTP クライアント認証 にログイン情報を設定。
多くのプロバイダーならこれでOK!・・・だけど Biglobe は、もうちょっと設定が必要。
Biglobeは、SMTPシェイクハンド時の MAIL FROM: を見るので、そこにBiglobeのメールアドレスを指定しなくてはいけません。
通常はメールヘッダの From: のメールアドレスに指定したアドレスが使われるようなので、これではすべてのメールがそのBiglobeのメールアドレスからしか送信できないので、それはまずい。
そこで、XMail.exe のソースをいじって、SMTPシェイクハンド時の MAIL FROM: のメールアドレスが Biglobe のアドレスになるようにしたところ、問題なく送ることができました。
ただ、送信したメールヘッダに Biglobe のアドレスが、記載されてしまうのが難点といえば、難点。
メールアドレスを公開することになってしまうので、Biglobeのスパムフィルターに頑張ってもらわないとね。*1
XMail のソースをいじって、コンパイルするには、次のアプリケーションが必要ですが、どれも無料です。
初期状態でビルドすると、多分エラーが出ます。
私の環境では、次のようにすることで正常に完了しました。
#pragma comment(lib, "winmm.lib") #pragma comment(lib, "wsock32.lib") #pragma comment(lib, "advapi32.lib")
SysSNPrintf(szRTXBuffer, sizeof(szRTXBuffer) - 1, "MAIL FROM:<%s> SIZE=%lu", pszFrom, ulMessageSize); } else SysSNPrintf(szRTXBuffer, sizeof(szRTXBuffer) - 1, "MAIL FROM:<%s>", pszFrom);
とこれで完了!結構時間が掛かりました。