XOOPSの無料登録完了用のA8FLYタグを埋め込む。
というような作業をしているのですが、これがなかなかムツカシーのでした。
たぶんuser.phpかregister.phpのソースを変更するに違いないと思い、
該当しそうなところのソースコードでいろいろググってみる。
redirect_header('user.php',5,_US_ACTLOGIN);
とか
if ($op == 'actv') {
とか、
actvとかそれらしい単語で探すのだけれど、イマイチよくわからない。
たぶんechoを使ったりするのだろうが、記述場所が良くわからない。
どっか、情報を探す。
ちなみに埋め込むタグはこれ。
<img src="https://px.a8.net/cgi-bin/a8fly/sales?pid=s0000000xxxxxxxx&so=zzz&si=10.1.10.muryoutouroku" width="1" height="1">
zzzにユーザーIDが入るようにしたいので、
$idとか、そんな感じの変数がつかえるといいなぁなんて思いつつよくわからん
あとzzzは50文字(半角)まで使えるのでリファラーとかでURLを引っ張ってくるのもいいかもしれんが、いかんせんURLが長すぎです。
ALTSYSモジュールでテンプレートに以下を記入すればいいかも、
やってませんが、最近気がついたです。
ALTSYSモジュールをインストールして、テンプレート編集>ユーザーモジュール>user_register_finish.html
の中身にタグを追加する。
<img src="https://px.a8.net/cgi-bin/a8fly/sales?pid=s0000000<{$xoops_userid}>&so=zzz&si=10.1.10.muryoutouroku" width="1" height="1">
うーん、だめっぽい
無料会員登録までのフローチャートを書いている。
1.ゲストが新規登録をクリック
2.ユーザー名、メールアドレス、パスワードなどを登録。
3.ユーザー宛てに、確認メールを送信する。
4.以下のメールが登録ユーザーに届く。
xxxxさん、こんにちは kizuki.info XOOPSとPukiWikiで100万人のコミュニティサイトを作ろうに おけるユーザ登録用メールアドレスとしてあなたのメールアドレス (xxxxxx@jpopfan.co.jp)が使用されました。 もしkizuki.info XOOPSとPukiWikiで100万人のコミュニティサイトを作ろうでの ユーザ登録に覚えがない場合はこのメールを破棄してください。 kizuki.info XOOPSとPukiWikiで100万人のコミュニティサイトを作ろうでの ユーザ登録を完了するには下記のリンクをクリックして登録の承認を行ってください。 http://www.kizuki.info/user.php?op=actv&id=xxx&actkey=xxxxxxxx
xxxは変数
5.ユーザーの人がURLをクリックすると登録確認画面が表示される
- この表示は初めて登録してログインしたときしか表示されないので、一番適していると思います。
とまぁ、そんな感じにしたいのだが、他にもっといい方法があったら誰か教えてください。
横道
yahooで「xoops テンプレート register.php」で検索かけてみるとこのようなページが出てきた。
http://jp.xoops.org/modules/newbb/viewtopic.php?topic_id=6782&forum=11&post_id=34100#forumpost34100
参考になりそうだが、求めているのとはちょっと違う気がする。
これはこれで楽しそうですが。
業者さんなのかー!
なんかいろいろ探している(「A8FLY 設置 XOOPS」で検索)とA8FLYタグの設置代行だとかいろいろしている代理店がアルっぽいのですが。
http://ecdesign.jp/plan/a8.html
http://www.bc-manage.jp/000018.html
うはぁぁぁぁ
高いななぁオイ。
というか、儲かりすぎなんだなぁ。
くっそー、頑張ろう
というか「A8FLY 設置」で探すけどなんか検索結果がイマイチ
これは業者さんの陰謀なのかー!(笑)
というか、フォローはしてくれません。
A8ネットさんはこういったタグの設置については
「あなたが自分でやってください」
というスタンスであり、どうすればいいのかとかには、原則として答えてくれません。
まぁそういう契約だからしかたがありませんね。
でも、ちょっと不親切な気もしますが、
っと文句を言ってもしかたがないので、自分で何とかしましょう。
これも勉強です。
IFRAMEで表示するようにすればOK
別のページを用意しておいて、そっちでA8FLYタグの表示をして引っ張るという作戦にしました。
/language/japanese
の中の
user.phpをいじって、
<Iframe Src="http://www.kizuki.info/a8.cgi" Width="5" Height="5" Frameborder="no" Marginwidth="0">
このページはインラインフレームを使用しております。<br />
未対応ブラウザは閲覧できませんのでご了承下さい。<br /></Iframe>
を追加します。
17行目を以下のように書き換えます。
define('_US_ACTLOGIN','アカウントを承認しました。登録の際に記入したパスワードを使用してログインしてください。<Iframe Src="http://www.kizuki.info/xxxx.cgi" Width="5" Height="5" Frameborder="no" Marginwidth="0">このページはインラインフレームを使用しております。<br />未対応ブラウザは閲覧できませんのでご了承下さい。<br /></Iframe>');
改行しないように記述してください。
そうすることで、
メールで送られてくる承認確認URLをクリックすると、以下のページが表示される(ソースを書いておきます。)ようになります。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> <meta http-equiv="Refresh" content="5; url=user.php?xoops_redirect=%2 Fuser.php%3Fop%3Dactv%26id%3D126%26actkey%3Dd841d539" /> <title></title> </head> <body> <div style="text-align:center; background-color: #EBEBEB; border-top: 1px solid #FFFFFF; border-left: 1px solid #FFFFFF; border-right: 1px solid #AAAAAA; border-bottom: 1px solid #AAAAAA; font-weight : bold;"> <h4>アカウントを承認しました。登録の際に記入したパスワードを使用してログインしてください。<br /> <Iframe Src="http://www.kizuki.info/a8.cgi" Width="5" Height="5" Frameborder="no" Marginwidth="0"> このページはインラインフレームを使用しております。<br /> 未対応ブラウザは閲覧できませんのでご了承下さい。<br /></Iframe> </h4> <p>ページが自動的に更新されない場合は <a href="user.php?xoops_redirect=%2Fuser.php%3Fop%3Dactv%26id%3D126%26actkey%3Dd841d539">ここ</a> をクリックしてください</p> </div> </body> </html>
要するに
http://www.kizuki.info/a8.cgi
っていうCGIでA8FLYのコードを生成して表示するみたいな感じなのか?
http://www.chama.ne.jp/download/etc/randum/index.htm
のようなランダムに変数を吐き出すCGIを使ってタグを生成するみたいなページを表示するわけだな。
うーんなんとかできそうな気がする、けど、できないかもしれん。
あとから変更できないように「user.php」のパーミッションを444にしておきましょう。
外注
というか、ある程度軌道にのったら外注しよう。
http://ceo.writeup.co.jp/page/2006/06/wikiwuki.html
とか、いろいろアルっぽいのです。
実際、個人情報保護とかメンドクサイっぽい気がします。
あと、ユーザー登録者数が1000人とか(今の10倍以上)になったら、やっぱり業者さんにしてもらったほうがいいと思うのですよ。
というか、こうしてある程度以上になってくると、やっぱり専門家に任せたほうがいいのだろうなぁと思ったりする。
セキュリティーだのバックアップだののスキルはやっぱりプロにおまかせしたいので、そのときが来たら営業に来てください。(誰に言ってるんだ?)
というか、タグの設置とかの業者さんもあるみたいです。
なんと申しますか、3万とか5万とかそのくらいの予算らしいです。
うーん、絶妙な価格ですな。
というか実際にXOOPSのコアとかをハックするのは、リスクとか、コストとか、高そうなので、アイフレームを使って単純にCGIを呼び込むぐらいが、身の丈にあっているのではないだろうか?
なんだか外注しそうな感じです。
業者さんにしてもらったほうがいいかもしれない。
とはいうものの、自分でもいろいろCGIとか探してみるか、
つーか明日は弟の結婚式なので、なにもできないのであった。ヽ(;´ω`)ノ
ものすごいローテクな方法、第2弾
なんだか、プロのプログラマーさんにしてみれば、しかられちゃうくらいの内容だと思うのですが、タグを表示するだけならこんなもんでも十分な気がしないでもない。
kizuki.infoではこの方法をとりました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">
<SCRIPT LANGUAGE="php">
function counter(){
$fp=fopen( "acc.txt", "r"); $count=fgets($fp,1024); fclose($fp);
$fw=fopen( "acc.txt", "w"); $cnew=$count+1;
$countnew=fputs($fw,$count+1);
echo "$cnew";
fclose($fw);
}
</SCRIPT>
</head>
<body>
<p>
<img src="https://px.a8.net/cgi-bin/a8fly/sales?pid=s0000000xxxxxxxx&so=
<?php counter(); ?>&si=10.1.10.xxxxxxxx&ts=<?php echo date("YmdHis"); ?>"
width="1" height="1">
</p>
</body>
</html>
単純にカウントアップするだけという単純なもん。
改行とかきちんとやらないと、そのまま貼り付けても動きませんので気をつけてください。
参考にしました。
Web教室カウンター設置
参考書籍
|
3日くらいでびゃびゃーと読んだら、 このくらいのプログラムは作れるようになれます。 |





