1月
23
2012

Ccenterへのcaptcha_x導入。[カスタムフォーム編]

XOOPS CubeCcenterにcaptcha_xを導入してみるテスト。」であげたコードが、
改良されてコチラのスターターパック同梱のモジュールで
使って頂いたようなんですが、早速カスタムフォームに画像認証を
表示させる方法についての質問がきていたので、実験してみました。
コチラにもレスしてありますが…一応、自分用備忘録。


 
【前提条件】
Ccenterにcaptcha_xを導入してみるテスト。」の改造が行われている事。
若しくは、コチラのスターターパック同梱のモジュール(ccenter0.97fix5)を
使用している事。
 
 
【下ごしらえ】
以下のファイルを新規作成
作成ファイル:modules/ccenter/captchadisp.php

<?php
  include "../../mainfile.php";
  include_once XOOPS_ROOT_PATH.'/modules/captcha/include/api.php';

  header("Content-type: application/x-javascript");

  if ( file_exists(XOOPS_ROOT_PATH.'/modules/captcha/include/api.php') && file_exists(XOOPS_ROOT_PATH.'/captcha.php') ) {
      include_once XOOPS_ROOT_PATH.'/modules/captcha/include/api.php';
      $captcha_api =& captcha_api::getInstance();
      $img_input = $captcha_api->make_img_input();
      $img_input = str_replace("'","\'",$img_input);
      $img_input = str_replace("\n","",$img_input);
      echo "document.write('" . $img_input .  "')";
  }
?>

 
 
【作り方】(実装の仕方)
管理画面からCcenterモジュールのカスタムフォームを使うフォーム設定の
「説明文」のところ({SUBMIT} {BACK}…等の上)に、以下のコードを入力。

[desc]<p style="text-align: center;">
<script type="text/javascript" src="captchadisp.php" charset="utf-8"></script>
</p>[/desc]

 
 
【追記】
はまったところMEMO。クォーテーションをエスケープしてあげなきゃなのは
すぐ解ったが、document.write内に改行コードがあるとダメみたい。
ココ少し悩みました;
 
あと、2012/1/24にリリースされたCcenter0.98と、
Ccenterにcaptcha_xを導入してみるテスト。及び
本エントリであげた画像認証が組み込まれたバージョンが
コチラからダウンロードできる様になりました。
マージしてくださった有識者の方に、この場を借りてお礼申し上げます。
 
 

 


コメントする

*

2017年8月
« 7月    
 123456
78910111213
14151617181920
21222324252627
28293031  

Archives

Recommended