LINKS モジュール　[color=cc0000][b]ベータ版 | Beta Edition[/b][/color]

XOOPS2JP または XOOPS Cube Legacy で動作するモジュールです
v0.23よりXOOPS JPExもOKのはず、ImpressCMS動作確認しました
XOOPS2JP に付属している mylinks を改造しましたが、互換なし、インポート機能なし :-P

リンク集を設置したい時、どのモジュールを使おうか迷うのですが、リンクをただ登録するだけでは weblinks だと高機能・多機能すぎだし、mylinks にしようとするとちょっと足りない感じがしていたので、自分自身で使うのが目的で改造しました。

//---------------------------------------------------------------------------------
- altsys 必須
- D3 モジュール

- d3forum コメント統合
- RSS 2.0
- リンク登録支援の bookmarklet あり。
- WizMobile / 携帯対応レンダラー　で携帯からのアクセスと判定された場合、モバイル用のテンプレートを表示します
- XOOPSコメントは利用できません。
- 通知機能ありません。

- プラグイン
-- search
-- sitemap
-- whatsnew
-- waiting（v0.20より承認ブロックを追加）
-- d3pipes (EXTRA/xoops_trust_path/modules/d3pipes)
-- piCal (EXTRA/html/modules/piCal)

- Smarty プラグイン
-- function.my_make_uri.php [d]（URL生成）[/d]（XOOPS2用ダミーEXTRA Dir）
-- function.xoopsdhtmltarea.php （BBコード等入力支援、d3forum より）
-- function.d3comment.php（コメント統合用、d3forum より） (EXTRA Dir)
（配布アーカイブに同梱してあります）
Smarty プラグインは XCL で preload に HdXoopsTplHook.class.php が設置されている場合は {XOOPS_TRUST_PATH}/libs/smartyplugins に置くことも可能（HDより。同梱しておきます） (EXTRA Dir)

EXTRAディレクトリ内のファイルは必要に応じてサーバーへアップロードしてください。
 
[pagebreak]
 
//-------------------------------------------------------------------
URL アプローチについて

[0]クエリ・アプローチ （例）http://ne.from.tv/modules/links/index.php?c=submit&m=form
[1]セグメント・アプローチ （例）http://ne.from.tv/modules/links/index.php/submit/form.html
[2]-- mod_rewrite 1 （例）http://ne.from.tv/modules/links/submit/form.html
[3]-- mod_rewrite 2 （例）http://ne.from.tv/links/submit/form.html
mod_rewrite を利用する場合は、別途 .htaccess を設定する必要があります。

.htaccess の参考例　[2]の場合 (/modules/links/ に設置)
[code]
RewriteEngine on
RewriteCond $1 !^(module_icon\.php|admin|images|css|js|index\.php)
RewriteRule ^(.*)$ /modules/links/index.php/$1 [L]
[/code]

.htaccess の参考例　[3]の場合 (/ に.htaccessを設置)
[code]
RewriteEngine on
RewriteRule ^links/{0,1}(.*)$ /modules/links/index.php/$1 [L]
[/code]

.htaccess の参考例　[3]の場合 (/xc に.htaccessを設置 - XCLを/xc にインストールしている場合)
[code]
RewriteEngine on
RewriteRule ^links/{0,1}(.*)$ /xc/modules/links/index.php/$1 [L]
[/code]

[0] または [1] の場合はなにもしなくてもよいです。

適宜自環境に合わせて変更してください。
すでに .htaccess が設置されている場合はそのファイルに追記してください。
上記参考例は間違っている可能性もあります。mod_rewrite 詳しくないので「こうした方がいいよ」っていうのがあれば教えてくださいm(_ _)m

[3] を選んでも「メインメニュー」は変わらないので、メインメニューのテンプレート等で対応してください。

----
セグメント・アプローチの解析には、環境変数の $_SERVER['PATH_INFO'] を利用しています。うまく解析されない場合はお知らせください。

//-------------------------------------------------------------------
スクリーン・ショット（サイト・キャプチャ）について
キャッシュを利用する場合は [url=http://capture.heartrails.com/]HeartRails Capture[/url] でのサービスで作られた画像をキャッシュします。
スクリーン･ショット・サービスの表示順は (1) http://capture.heartrails.com/ , (2) http://mozshot.nemui.org/ , (3) http://img.simpleapi.net/ となっています。

「スクリーンショット画像のキャッシュ・タイム」を設定してある場合、
{XOOPS_ROOT_PATH}/uploads/{mydirname}_capture_cache ディレクトリ内に作成されます。
ディレクトリ自体が作成されない場合、手動で作成し、パーミッションを「777」に設定しておいてください。

//-------------------------------------------------------------------
カテゴリイメージなど famfamfam のアイコンです（Creative Commons Attribution 2.5 License）。
http://www.famfamfam.com/
（一部自作のものあり）

//-------------------------------------------------------------------
モバイルサイトの QRコード生成は Google Chart API を利用しています。
http://code.google.com/intl/ja/apis/chart/

//-------------------------------------------------------------------
デリゲートを3ヶ所用意しました。
- メソッドが実行される前
-- {Mydirname}.{Controller}.{Method}.{Pc|Mobile}.BeforeExec
- テンプレートが表示される前
-- {Mydirname}.{Controller}.{Method}.{Pc|Mobile}.BeforeView
- リダイレクトされる前
-- {Mydirname}.{Controller}.{Method}.{Pc|Mobile}.BeforeRedirect

//-------------------------------------------------------------------
RTLについて
参考：http://www.xugj.org/modules/d3forum/index.php?topic_id=846
サブメニューの float 部分のみ。超中途半端 orz 触りのみってことで

//-------------------------------------------------------------------
PEARについて
- URL のチェック用にいくつかのファイルがトラストパスの class ディレクトリに入れてあります。
http://pear.php.net/

//-------------------------------------------------------------------
コメント統合の利用について
- d3forum をインストールして、コメント用に１つフォーラムを作成
- links の管理画面「一般設定」で［コメント統合する d3forum の dirname］［コメント統合するフォーラムの番号］を設定
- /class/smarty/plugins/function.d3comment.php アップロード 
[d]- テンプレートの「{links}_link.html」と「{links}_single.html」の smarty のコメントアウトをはずす。[/d]
- v0.07より上記設定のみでOK。コメントアウトをはずす必要なし。
- [d]XOOPS2JPで利用する場合、「function.d3comment.php」を入れた後でモジュールアップデートをする必要あり（テンプレートがDBに登録されます）。[/d]

//-------------------------------------------------------------------
リリース履歴
[0.25] 2010-3-17
- モバイルサイトのURLに「&」がある場合に表示されるQRコードのURLが「&amp;」になっていたのを修正（THX w_typhoon さん）
- 登録データの編集時、サイトURLまたはモバイルサイトURLを削除することができなかった不具合を修正（THX w_typhoon さん）
- [0.25a] 2010-5-16 index.php?page=category&cid=1 を index.php?cid=1 でもアクセスできるように変更
- [0.25a] 2011-1-24 インストール時のエラーが発生する場合への対処
- [0.25b] 2012-1-20 インストール時のエラー対応（TYPE=MyISAMからENGINE=MyISAMへ変更）
- [0.25b] 2012-1-20 XCL2.2bata2でインストールできない不具合対応
- [0.25b] 2012-1-20 登録したリンク先を訪問する際に一般設定でフレーム表示を設定していない場合でもフレームが表示されてしまう不具合修正(THX nonn50 さん)
- [0.25c] 2012-3-16 index.php?cid=1 等にアクセス時、カテゴリーの絞り込みができていなかった不具合を修正(THX nonn50 さん)

[0.24] 2010-2-12
- テンプレート {links}_bookmarklet.html のブックマークレットのURL部分を修正
- d3forum がインストールされていないが、トラスト側に d3forum ディレクトリがある場合に起こるインストール・アップデート時の不具合をできるだけ回避してみました。
- トラスト側に残っていた 'portuguese' 言語ディレクトリを削除
-- EXTRA/xoops_trust_path/modules/links/language/portuguese のみにしました
- piCal のプラグインを用意しました
-- ご利用の場合は、EXTRA/html/modules/piCal 以下のファイルをご利用のpiCalにアップロードしてください
- basic_router.class.php の修正（THX maito さん）
- デリゲート追加（登録完了後・リダイレクト前）
-- Modules.Links.Event.Submit.InsertSuccess
- ホダ塾ディストリへのインストール不具合の修正
- [0.24a] 2010-2-16 コメント統合での不具合修正（THX leco1 さん）
- [0.24b] 2010-3-12 ルーティング処理の不具合を修正（THX kana さん）
- [0.24c] 2010-3-16 ルーティング処理の不具合を修正（THX w_typhoon さん）
- [0.24d] 2010-3-17 携帯アクセス時、登録されたモバイルサイトを訪問する場合、URLの「&」が「&amp;」になってしまい移動できなかった不具合を修正（THX w_typhoon さん）

[0.23] 2009-11-5
- 登録・編集時に利用する Smarty プラグイン「function.xoopsdhtmltarea.php」はプラグインディレクトリにあるファイルが優先されますが、入っていない場合はLinks側にあるプラグインが使われます。
-- XOOPS2 ではプラグインディレクトリにファイルがないとLinksを介さないテンプレート操作時にエラーが発生する可能性があるので、EXTRA/html/class/smarty/pluginsにあるファイルをアップロードしてください。
- リンクブロックの複製時等にテンプレートを変更できるようにしました。
- XOOPS JPEx にインストールできるようにした（v1.6で確認）
-- 目に付いた不具合は潰したけど、細かい動作確認はできていません ﾐﾅｻﾝ m(_ _)m ﾖﾛｽｸ
- ルート側/modules/links/css/style.css を変更しました
- 「リンク切れ報告」「修正リクエスト」「このサイトを評価する」が JavaScript で行なえなくなっていた不具合を修正
- 検索結果のURIの修正（searchプラグイン）
- ImpressCMS へのインストールの確認を行ないました（v1.1.3 Finalで確認）
-- 細かい動作確認はできていません ﾐﾅｻﾝ m(_ _)m ﾖﾛｽｸ
- 'portuguese' 言語ディレクトリを EXTRA へ移動
- 登録URLなどがおかしくなる不具合修正（THX cal さん）
- 訪問先をフレームに表示する場合の上部フレームの不具合修正

[0.22] 2009-10-30
- Add language file 'portuguese' (THX leco1 さん)
-- http://code.google.com/p/xoopsfiles/downloads/list
- XOOPS2 でブロックが表示されない不具合を修正
- クエリアプローチ、セグメントアプローチともに生成されるURIを短くしました。
- Smarty プラグインファイル「function.my_make_uri.php」を利用せず、URIを生成するようにしました。
-- XOOPS2 での利用時も通常使用では問題ありませんが、Linksを介さないテンプレート操作時にエラーが発生する可能性があるので、EXTRAディレクトリの「function.my_make_uri.php」（ダミー、中身はカラ）を入れてください
- コメント統合利用時、コメント統合用の Smarty プラグイン「function.d3comment.php」はプラグインディレクトリにあるファイルが優先されますが、入っていない場合はLinks側にあるプラグインが使われます。
-- XOOPS2 ではプラグインディレクトリにファイルがないとLinksを介さないテンプレート操作時にエラーが発生する可能性があるので、EXTRA/html/class/smarty/pluginsにあるファイルをアップロードしてください。

[0.21] 2009-10-5
- 言語定数若干変更
- PHP4系ではPEARを使わないように変更
- 単独ページのナビの数字を lid から通し番号にしたい場合、TRUST/modules/links/class/single_page_navi_type.inc.dist.php を「single_page_navi_type.inc.php」にリネームしください
- Alpha から Beta Edition に変更
- リンクブロックで表示形式にリスト型を選び、表示順に、アクセス数（降順）・訪問数（降順）・評価（降順）を選んだ場合、数字付きのリストになるように変更しました。また、アクセス数・訪問数・評価も表示されるようにしました。
-- block_link.html 系のテンプレートを変更しました。

[0.20] 2009-8-6
- [color=cc0000][ルート側・トラスト側のファイルをアップロード][要モジュールアップデート][/color]
- 中身を整理しました
- 「このサイトを評価する」のタイプを複数用意しました
-- 今のところ、従来の「0～10段階」と「拍手」の2タイプ、「拍手」タイプをデフォルトにしました
-- 「拍手」の場合、評価は10で登録されます
-- 「0～10段階」から途中で「拍手」タイプに変更すると0評価でも1拍手になります :-P
- 承認ブロックを追加
- Javascript でのサブメニューのオープン･クローズ途中はクリックをできなくしました
[d]- [color=cc0000]XOOPS 2.0.16aにインストールする場合[/color]
-- d3forumのコメント統合を使わない場合はテンプレートの「inc_comment.html」を削除しておいてください（またはこのテンプレートの中身をコメントアウトしておく）（コメント統合用のプラグイン[/class/smarty/plugins/function.d3comment.php]がアップロードされていれば、コメント統合を利用する・しないに関わらず、この作業不要）[/d]
- アンインストール時にサイトのキャプチャ画像がある場合は画像の削除を試みます
- [0.20a] 単独ページへのアクセス数のカウントアップをセッションでチェックするようにしました(2009-8-28)

[0.11] 2009-3-3 [color=cc0000]ルート側もアップロードしてください[/color]
- リンク切れ報告での notice を取り除きました。
- 評価がゼロの場合もランキングに表示されるようにしました。
- 「リンク切れ報告」「修正リクエスト」「このサイトを評価する」が javascript でも送信できるようにしました。
- カテゴリブロックの追加
- カテゴリ管理でのカテゴリに登録されているリンク数を承認済みの数に変更
- [0.11a] 2009-3-5
-- 編集時「0」を保存できなかった不具合を修正（thanks fujisawai さん）
- [0.11b] 2009-3-21
-- リンクブロックでカテゴリーの設定が反映されていなかった不具合を修正（THX senjiji さん）

[0.10] 2009-2-10
- 簡易登録での javascript の関数名の生成を変更
- XOOPS2JPでsmartyプラグイン「function.d3comment.php」がない状態でインストール・アップデートするとsmartyエラーで完了できない不具合を修正
- 登録・編集時のURLチェックを行なわないオプションをつけました（モジュール管理者のみ表示されます）。

[0.09] 2009-2-3
- 複数利用の時の簡易登録での javascript が機能しなかった不具合を修正 
- [0.09a] 2009-2-3
-- function.d3comment.php の存在判定部分に間違いがありました。(THX nonn50 さん)

[0.08] 2009-2-1
- 簡易登録時のサイトタイトルが空欄だったのを「簡易登録されたサイト」へ変更
- 管理画面「承認」で承認後にリダイレクト先を同じステータスのページに修正(thanks nonn50 さん)
- 編集画面でゲスト投稿された登録に「ゲスト」と表示されない不具合を修正
- [0.08a] 2009-2-1
-- [d]SQLインジェクションがありました至急アップデートしてください[/d]
--- 勘違いでした。[0.08b] 2009-2-2

[0.07] 2009-1-29
- update アイコンまわりを再修正
- コメント統合の表示順等が設定できるようにしました
- コメント統合の利用の仕方を変更。
- [0.07a] 2009-1-31
-- English の言語ファイル修正（modinfo.php）
-- URL チェック部分を若干修正
-- 携帯レンダラーで登録時、IP帯域チェックを通るようにしました。

[0.06] 2009-1-27
- IE でカテゴリ削除できない不具合を修正(THX nonn50 さん)
- update アイコンが出ていなかった不具合を修正

[0.05] 2009-1-26
- カテゴリ削除時に削除しようとしたカテゴリだけに設定された登録リンクがある場合はリスト表示するように変更
- PHP4.4系で notice が出ていたようなので修正
- 編集画面で javascript のエラーが出ていたので修正

[0.04] 2009-1-25
- javascript の衝突問題が編集部分に残っていました。
- 管理画面での不具合を修正

[0.03] 2009-1-21
- javascript の衝突問題が独自リダイレクト部分に残っていました。
-- テンプレート「header.html」修正
- カテゴリがない場合は登録フォームを表示しないように変更。
- 独自リダイレクトでリダイレクト・メッセージが消えてしまう不具合修正 [v0.03a][v0.03b][v0.03c](2009.1.22)
- 携帯でのサイト訪問時のリダイレクト不具合、管理画面でのアサイン不具合、携帯投稿時のカテゴリセレクタのマルチプル化[v0.03d](2009.1.24)(THX nonn50 さん)
- 携帯編集時のカテゴリセレクタのマルチプル化忘れてました[v0.03e](2009.1.25)

[0.02] 2009-1-18
- prototype.js と jquery が競合していて動作していなかった部分を修正

[0.01] 2009-1-11
- First Release
-- [color=cc0000]アルファ版[/color]
-- 微修正 [v0.01a](2009.1.12)
-- XOOPS 2 JP で動作するように変更 [v0.01b](2009.1.16)
-- ブロックでキャプチャが表示できなくなっていたのを修正 [v0.01c](2009.1.17)
-- 単独ページでのページナビのリンクが正しくなかったのを修正（クエリ・アプローチの場合のみ） [v0.01d](2009.1.18)


//-------------------------------------------------------------------
- 謝辞
-- http://xoops.peak.ne.jp/ GIJOE さんの gtickets.php, altsys の管理画面を利用させていただいています。ありがとうございます。
-- Wizmobile を開発した gusagiさん( http://www.gusagi.com/ )、携帯対応レンダラーを開発した nao-pon さん( http://xoops.hypweb.net/ )に感謝。