パラメトリックJSアルバム
  • カラー画像
更新ページ
カテゴリー
パラメトリックaffiliateエリア
実際には、当ページのヘッダー部分に表示させています。
Lightbox JS v2.0
実装手順はここをクリックしてください。また、prototype.js関数を利用しています。
パラメトリックFLASH
を新設しました。戻って、押してみてください。
×をクリックすれば停止できます。


XREAで完璧XOOPS その8

※ 本ページは凍結されました。
以後、XOOPS/PukiWiki
  最新更新いたします。





副題 あの便利な Lightbox Plus を myAlbum-P 2.9 に実装しようか 

 英語化 本ページの短縮URL:

http://js2007.fs4y.com/?e=8

 本ページ本文最終更新日時:関連リンク
 2007/08/18 03:30 JST  「XOOPSの話題」へ戻す  複数サーバーで処理速度を向上 
基本順路に戻る >>「XREAで完璧XOOPS その1」


【目次】


参考デモページ

各ブラウザーでの表示例
Firefox1.5.0.11IE6Opera
Lunascape4(Gekko)Lunascape4(IE)Sleipnir
HAMSTER Site - ハム画像+ 今現在は何故かレスポンスの遅い米国の Free Web Hosting です。 移転先のXREAサーバーです。 Lightbox plus はクライアント・サイド・アプリケーションですので、データーが全て、あなたさまのブラウザーに受信してから後に、あなたさまのブラウザーが処理を実行して機能します。そのような理由ですので、レスポンスが遅いかも知れませんが、受信完了までクリックするのはお待ち願います。尚、JavaScriptファイルもブラウザーにキャッシュされますので再訪問時は改善されるかもです。まあ、デモですので、レスポンスの悪さはご容赦願います。m(__)m
さて、Lightbox Plus についての詳細な記事は、「 Lightbox Plus を使ってみる 」をご覧下さい。

当モジュールの特徴

  1. テーマの編集は無用です。
  2. MyAlbum-Pの「 photo.php 」を起動するまでは、クライアントプロセスに負荷を与えません。
  3. 画像以外をMyAlbum-Pの「 photo.php 」で表示した場合、クライアントプロセスに負荷を与えません。
つまり、画像種に限定してMyAlbum-Pの「 photo.php 」で表示した場合に Lightbox Plus 環境を自動的に構築します。

Lightbox Plus を実装した、MyAlbumモジュールの配布開始

【本Wikiページの目的】:
  1. 既存稼動中のXOOPS2モジュール「 myAlbum-P 2.9 」に簡単にアドオン導入を可能にする
  2. また、簡単にアンインストールを可能にする
  3. 既存稼動中とは別の「 myalbum8 」や「 myalbum9 」でテスト可能
  4. 無駄、無用なJavaスクリプトを発生させない。「 photo.php 」実行時に、画像ファイルの場合だけ、Lightbox Plus 環境を構築する。PDFファイルや、圧縮化ファイル時は、target=_blank となって、無用な Lightbox Plus スクリプトを発生させない。
※ 以上を達成するためにモジュール配布を行います。


必要と思われるスキルとは

※ 本Wikiでの解説では、XOOPS2のモジュールの導入については既に理解ができる方を対象にしております。また、「 myAlbum-P 2.9 」の詳細操作のご案内は割愛します。
 つまり初めて「 myAlbum-P 2.9 」をご利用になる方は、当方のインストールの前に、「 myAlbum-P 2.9 」正規配布品のダウンロードと、インストール、そして利用する為の調整を行って、「 myAlbum-P 2.9 」の操作に慣れて下さいませ。もしも文字化けが起こる場合は、本ダウンロードによって改善される場合がありますので、落胆されないように願います。


ダウンロード

PukiWikiModでご案内しております。


プレ・インストール

1.Lightbox Plus共有基本ディレクトリーの転送
 配布ディレクトリー「 modules / myalbum / LightboxPlus 」をそのまま転送願います。本段階で、何も影響しません。
2.必要なら myalbum8 ディレクトリーの転送とモジュールインストールとテスト
「 modules / myalbum8 」をそのまま転送願います。
3.必要なら myalbum9 ディレクトリーの転送とモジュールインストールとテスト
「 modules / myalbum8 」をそのまま転送願います。
※モジュール「 myalbum8 」なり「 myalbum9 」を通常のモジュールのようにインストールします。基本の「 myalbum 」と全く同じです。モジュール「 myalbum8 」なり「 myalbum9 」を利用する場合には、Lightbox Plus共有基本ディレクトリーとなる「 myalbum 」下に当配布物である「 LightboxPlus 」ディレクトリーとその下のファイル群が必須です!


モジュール「 myalbum8 」利用検証の意義

※ PHPのバージョンや、MySQLのバージョン、そして.htaccessなどの指定によって、mbstring機能の効果によって、文字化けが無いことを検証する目的のモジュールです。
つまり「 submit.php 」なり「 editphoto.php 」は、配布元のオリジナルです。さて、文字化けは起こりませんか?! 起きなければ、とても幸せなことです。「 submit.php 」なり「 editphoto.php 」の改竄は無用だと言うことです。
 筆者の経験では、Free Web Hosting の中には、mbstring変換パラメーターの設定を許可していないサーバーもありました。そのようなサーバーに遭遇しても、文字化けしないようにすることを考えることは必要でした。


モジュール「 myalbum9 」利用検証の意義

※ 筆者は、mbstringに関する指定を省くことによって、少しでもサーバー側のストレスを軽減させて、尚且つ、文字化けしない「UTF−8なXOOPS2」を目指してきました。そこで、「 myalbum8 」のオリジナル配布品のコードを改竄したのが「 myalbum9 」です。「 submit.php 」なり「 editphoto.php 」を改竄しています。mbstring変換に依存しない設定時に「 myalbum8 」のオリジナル配布品で文字化けが起こる場合に、是非「 myalbum9 」を試してみてください。
※ 改訂内容は、
 http://xoops.peak.ne.jp/modules/d3forum/index.php?...
で詳しく触れております。この当時のレポートでは、「プレビュー」機能が不備ですが、本Wikiでの配布品では当然改訂しております。

※ XREAサーバーでは、PHP4+MySQL4系統も、PHP5+MySQL5系統でも、myalbum の管理画面で、カテゴリーの登録/編集において漢字の文字化けは起こりませんが、他のサーバーではカテゴリー編集時に漢字の文字化けを起こす場合があります。そこで、myalbum / admin / index.php を改訂しました。これでカテゴリー登録も文字化け無しですね。

※ また、PHPによっては警告を表示しますので、myalbum / include / read_configs.php を改訂しました。


さあ、あなたの myAlbum-P 2.9 にインストールしましょうか

※ 文字化けがあって、改竄された「 submit.php 」なり「 editphoto.php 」を利用する筆者製の(笑) 「 myalbum9 」を利用すると、文字化けが無くなりましたか? それとも最初から文字化け無しですか? 既に myAlbum-P 2.9 を利用されているのですから、文字化け対策済みですよね。 それでも近い将来、新しいサーバーに移転する時には、思い出してみてください。「 今度は、mbstring変換プロセス抜きでスタートしますか。 」ですよね。

※ 筆者は、ここまで、mbstringに関して無指定なまま、XREAでは利用できております。 mbstring変換が無いだけ処理は早いはずですよね。 (^^)


モジュール「 myalbum8 」で文字化けなく、Lightbox Plus を利用できた場合のインストール

※ アンインストールする場合に備えて、上書きするのではなく、元ファイルはリネームしておきましょうか。それともバックアップを行ってください。
1.add_module / myalbum / photo.php を導入します。
 言語に依存しませんので、EUC-JPなXOOPS2でも利用できますよね。
2.add_module / myalbum / templates / myalbum_photo.html を導入します。
 myalbumモジュールの副番に合致したテンプレートを間違い無く選択しコピーしてください。
3.MySQL内のDBのテンプレートを更新しなければ、目的地に到達しません。
XREAで完璧XOOPS その6 - XOOPSテンプレート管理モジュール「 tplsadmin module 1.01 」の導入と更新処理 」を参照願います。順路の通りに読まれた方は、既に tplsadmin module 1.01 を利用されてますね。


モジュール「 myalbum9 」で文字化けなく、Lightbox Plus を利用できた場合のインストール

※ アンインストールする場合に備えて、上書きするのではなく、元ファイルはリネームしておきましょうか。それともバックアップを行ってください。
1.add_module / myalbum / photo.php , submit.php , editphoto.php
  add_module / myalbum / admin / index.php
  add_module / myalbum / include / read_configs.php を導入します。
 言語に依存しませんので、EUC-JPなXOOPS2でも利用できますよね。
2.add_module / myalbum / templates / myalbum_photo.html を導入します。
 myalbumモジュールの副番に合致したテンプレートを間違い無く選択しコピーしてください。
3.MySQL内のDBのテンプレートを更新しなければ、目的地に到達しません。
XREAで完璧XOOPS その6 - XOOPSテンプレート管理モジュール「 tplsadmin module 1.01 」の導入と更新処理 」を参照願います。順路の通りに読まれた方は、既に tplsadmin module 1.01 を利用されてますね。



Q&A


Q: ちょっとだけ、Lightbox Plus の機能をOFFしたいのですが、簡単ですか?

A はい簡単です!
 ディレクトリ−「 myalbum 」下に配置されたLightbox Plus共有基本ディレクトリー「 LightboxPlus 」ディレクトリーをリネームするだけです。これで、全ての「 myalbum, myalbum0 〜 myalbum9 」が自動的にオリジナルな仕様に戻ります。

Q: 独自のオーバーラップ画像との交換は可能でしょうか?

A はい簡単です。(*^^*)
 ディレクトリ−「 myalbum / LightboxPlus 」ディレクトリー下のファイル「 lightbox_plus.php 」の、JavaScript変数「 OVERIMGURL 」を変更します。初期値は以下の通りです。どこの画像でも埋め込み可能ですよ。楽しんでください。
if($photo['is_newphoto'])
 $lightbox_plus="var OVERIMGURL='".XOOPS_URL."/modules/$basedirname/images/newred.gif';";
else if($photo['is_updatedphoto'])
 $lightbox_plus="var OVERIMGURL='".XOOPS_URL."/modules/$basedirname/LightboxPlus/images/update2.png';";
else if($photo['is_popularphoto'])
 $lightbox_plus="var OVERIMGURL='".XOOPS_URL."/modules/$basedirname/images/pop.gif';";

Q: myalbumxそれぞれに異なるLightBoxを導入可能でしょうか?

A はい、可能です。
 以下は、「 photo.php 」に埋め込んだスクリプトです。参考にして下さい。PHP変数「 $basedirname=$mydirname; 」にすれば、個々の LightboxPlus を参照するようにはできますね。
/*	BEGIN	---	for Lightbox 2007/05/20 by Ujiki.oO	*/
//	$basedirname = $mydirname;
	$basedirname = "myalbum";
$file_ext = strtolower($photo['ext']);
$xoopsTpl->assign( 'file_ext' ,$file_ext ) ;
if($file_ext=='jpg'||$file_ext=='gif'||$file_ext=='png'){
 if(file_exists(XOOPS_ROOT_PATH."/modules/$basedirname/LightboxPlus/lightbox_plus.php")){
 include_once XOOPS_ROOT_PATH."/modules/$basedirname/LightboxPlus/lightbox_plus.php" ;
 if(!empty($lightbox_plus))
 $xoopsTpl->assign( 'xoops_js' ,"$lightbox_plus" ) ;
 $xoopsTpl->assign( 'Lightbox' ,'on' ) ;
 }
}
/*	END	---	for Lightbox 2007/05/20 by Ujiki.oO	*/
【 解説 】:
  1.  $basedirname
     初期値は「myalbum」固定で、「LightboxPlus」を参照します。
  2.  $file_ext
     ファイルの拡張子を代入します。
  3.  $xoopsTpl->assign( 'file_ext' ,$file_ext ) ;
     テンプレート側で「 PDF 」な場合に、_blank していたりします。
  4.  後は、テンプレートの編集ですね。photo.php が参照するテンプレートは、「 templates 」下の「 myalbumx_photo.html 」ですね。注記)xには数字が当てはまりますよね。または、myalbum_photo.html


応用

他のサイト、手打ちによる画像などの利用を禁止させる方法:

※ 今回の配布ファイルには、「 uploads / photo8, photo9 / htaccess 」ファイルがあります。是非、参考にして下さい。
  1. > 配布ファイルのURLを自分のサイトに変更する。
    配布品は「 http://hamster.byethost31.com/ 」からの接続時のみ全ての画像のみを閲覧可能な設定ですね。仮に、あなたのXOOPS2サイトが、「 http://www.abcd.co.jp/ 」なら、
SetEnvIf Referer "^http://www\.abcd\.co\.jp/" ref_ok
と、変更しましょう。Lightbox Plus の機能とあいまって、著作権利保護の方向に少し前進できるのかも知れませんね。


全てのモジュールでLightboxを利用する方法

※ 2007/06/18 「 XREAで完璧XOOPS その10 」でご案内中のインストーラーで新規インストールを行いますと、管理メニューが新設され、管理メニューとの対話だけで、全てのモジュールにおける「リンク先が画像」の場合にだけ、クライアント・プロセスである「 Lightbox Plus 」環境を自動的に構築します。

※ そこで、「 XOOPSの全てのモジュールでLightboxを利用する方法 」で、解説することと致しましょう。

PDFファイルなどを、open.window で表示させる機能も追加完了しております。



※ 順 路

XREAで完璧XOOPS その9
 XREAサーバーで簡単にSSLを利用しますか。 これで安全に個人情報を扱える宣言を行いますか 


 最上部に移動する  「XOOPSの話題」へ戻す  複数サーバーで処理速度を向上 
2007年09月04日(火) 20:39:42 Modified by mmj_aos




スマートフォン版で見る