┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 小説PHP ┃ ┃ Copyright (c) 2007 NiconicoPHP. ┃ http://popilol.lolipop.jp/NiconicoPHP/ ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -目次- 1. 小説PHPとは? 2. 主な特長 3. 利用規定・動作条件 4. クイックスタート(簡単な設置手順) 5. パーミッションの設定(例) 6. 配布ファイルの概要 7. スキンを変更する方法 8. スキンHTMLファイルの概要 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 1. 小説PHPとは? ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 小説PHPとは、複数の小説をweb上で表示・管理するPHPスクリプトです。 小説の作成や編集などweb上から簡単に行えます。 スキンを変更することで外観デザインを変更することができます。 ■本棚と小説とお話の関係 小説PHPでは、ひとつの小説を一冊の本に見立て、複数の小説を収める 場所を「本棚」と呼んでいます。本棚はただひとつだけ存在します。 本棚には複数の小説を収めることができ、それぞれの小説には複数の お話(部や章や話など)を収めることができます。 小説の数とお話の数に上限はありません。何個でも存在可能です。 本棚と小説とお話の関係は下図のようになっています。 ┌───────────────┐ │ │ │ 本棚 │ │ │ │ │ │ │ │ ├── 小説A │ │ │ │ │ │ │ ├─ お話A1 │ │ │ ├─ お話A2 │ │ │ │ : │ │ │ │ │ ├── 小説B │ │ │ │ │ │ │ ├─ お話B1 │ │ │ ├─ お話B2 │ │ │ │ : │ │ │ │ │ │ │ │ ├── 小説C │ │ │ : │ │ │ : │ │ : │ │ : │ │ │ └───────────────┘ もちろん、本棚を表示させずに下図のように「小説だけ」を 表示することも可能です。 ┌───────────────┐ │ │ │ 小説 │ │ │ │ │ ├── お話1 │ │ ├── お話2 │ │ ├── お話3 │ │ │ : │ │ │ : │ │ : │ │ : │ │ │ └───────────────┘ ■本棚と小説とお話の管理 本棚と小説を管理するために、それぞれに「管理ページ」が存在します。 本棚の管理ページはただひとつだけ、小説の管理ページは小説の数だけ存在します。 本棚の管理ページでは、本棚に収まる複数の小説を作成・管理します。 小説の管理ページでは、小説に収まる複数のお話を作成・管理します。 [本棚の管理ページを表示する方法] 本棚ページをブラウザで表示すると、「本棚の管理」リンクがありますので、 こちらから本棚の管理ページにログインして下さい。 [小説の管理ページを表示する方法] 小説ページをブラウザで表示すると、「小説の管理」リンクがありますので、 こちらから小説の管理ページにログインして下さい。 ■スキンにはどのようなものがあるの? 小説PHPでは、使用するスキンを変えることによって外観デザインを 変えることが出来ます。スキンには次のタイプのものがあります。 - 目次と本文を別々のウィンドウで表示するタイプ。 ┌──────────────┐ ┌──────────────┐ │ ┌───────────┐ │ │ ┌───────────┐ │ │ │目次 │ │ │ │本文 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └───────────┘ │ │ └───────────┘ │ └──────────────┘ └──────────────┘ - 目次と本文を一枚のウィンドウに一緒に表示するタイプ。 ┌──────────────┐ │ ┌───┐ ┌─────┐ │ │ │目次 │ │本文 │ │ │ │ │ │ │ │ │ └───┘ │ │ │ │ │ │ │ │ └─────┘ │ └──────────────┘ - 目次と本文を一枚のウィンドウに一緒に表示し左右をフレームで分けるタイプ。 (左右独立したスクロールバーの表示が可能) ┌──────┬───────┐ │ ┌───┐ │ ┌────┐ │ │ │目次 │ │ │ 本文 │ │ │ │ │ │ │ │ │ │ └───┘ │ │ │ │ │ │ └────┘ │ └──────┴───────┘ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 2. 主な特長 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ・複数の小説の管理(作成・編集など)がweb上から可。 ・スキン変更で外観デザイン変更が可。 スキン自作も可。 ・小説の内容(テキスト)の全件表示が可(全話を1枚のHTMLで閲覧可)。 ・小説データのバックアップが容易。データのテキスト化も可。 ・小説に限らず工夫次第で色々な使い方が可(論文等)。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 3. 利用規定・動作条件 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 利用規定 http://popilol.lolipop.jp/NiconicoPHP/ 上記サイトの利用規定をお読み下さい。 動作条件 ご利用サーバーが次の条件を満たしている必要があります。 - サーバーがPHPに対応していること。 - サーバーのPHPのバージョンが4.1.0以上であること。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 4. クイックスタート(簡単な設置手順) ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. config.php をテキストエディタ等で開き、 管理パスワード(ADMIN_PASSWORD)を任意の値に変更した後、 スクリプトのディレクトリを丸ごとサーバーへアップロードして下さい。 2. 各ファイルのパーミッションをとりあえず以下のように設定します。 ┌───────────────────────┐ │ まず、全てのディレクトリを 705 にします。 │ │ 全てのファイルを 604 にします。 │ │ │ │ 次に、lock/ ディレクトリを 707 にします。 │ │ 次に、logs/ ディレクトリを 707 にします。 │ │ │ │ 次に、logs/ ディレクトリ直下にある全ての │ │ ファイルを 606 にします。 │ └───────────────────────┘ パーミッションの設定が完了したら、 webブラウザから サーバー上の index.php ファイルにアクセスして下さい。 もし問題があるようなら、後述の「5. パーミッションの設定(例)」を 参考にし、適切なパーミッションを設定して下さい。 3. 以上で設置完了です。 管理パスワード以外の初期設定を行う場合は、 config.php をテキストエディタ等で開いて必要な初期設定行い、 サーバーへアップロードして下さい。 スキンを変更することで本棚や小説の外観を変えることが出来ます。 詳細は後述の「7. スキンを変更する方法」を参照下さい。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 5. パーミッションの設定(例) ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ↓パーミッション設定値(例) novel/ [705] スクリプトのディレクトリ │ ├─ lib/ [705] スクリプトが利用するライブラリ │ │ │ ├─ admskin/ [705] 管理ページのスキン │ │ │ │ │ └─ *** [604] 直下のファイル全て │ │ │ │ │ └─ htmltemplate/ [705] HTMLテンプレートライブラリ │ │ │ └─ *** [604] 直下のファイル全て │ ├─ lock/ [707] ロックディレクトリ │ ├─ logs/ [707] 本棚や小説のファイルを格納 │ │ │ └─ *** [606] 直下のファイル全て │ ├─ skins/ [705] スキンを格納 │ │ │ └─ ***/ [705] スキン │ │ │ └─ *** [604] 直下のファイル全て │ ├─ ***.php [604] PHPスクリプトファイル全て │ └─ Readme.txt [604] このファイル ※ 角括弧 [] の値は、パーミッションの設定値(例)です。 末尾に / がついているものはディレクトリです。 ※ 角括弧 [] のパーミッション値はあくまで設定例です。 パーミッション値は利用しているサーバーによって異なる場合があります。 むしろ異なることのほうが多いかもしれません。 上記設定で動作しない場合は、とりあえず以下のようにしてみて下さい。 [707]を、[757] にする [705]を、[755] にする [606]を、[646] にする [604]を、[644] にする この設定でも動作しない場合は、ご利用のサーバー(プロバイダ)の FAQを参照ください。尚、パーミッションの設定は、 本スクリプトを利用する皆様の責任で行ってください。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 6. 配布ファイルの概要 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ novel/ スクリプトのルートディレクトリ │ ├─ lib/ スクリプトが利用するライブラリ(削除編集禁止) │ ├─ lock/ ロックディレクトリ(ファイルの排他制御で利用します) │ (削除変更禁止) │ ├─ logs/ 本棚または小説のファイルを格納するディレクトリ │ - 本棚ファイルはただ一つしか存在しません。 │ - 小説ファイルは小説の数だけ存在します。 │ - 本棚ファイルを初期化(既存の本棚の内容を消去)するには、 │ 本棚の管理から「項目の削除」を実行するか、 │ またはサーバー上の本棚ファイルを手動で削除して下さい。 │ - 任意の小説を削除するには、 │ 本棚の管理から「項目の削除」を実行するか、 │ またはサーバー上の小説ファイルを手動で削除して下さい。 │ ├─ skins/ スキンを格納するディレクトリ │ │ - ダウンロードしたスキンはここに格納して下さい。 │ │ - 使わないスキンは残しておいても削除してもどちらでも構いません。 │ │ │ └─ _default_skin デフォルトスキン(削除編集禁止) │ ├─ index.php ブラウザから呼び出すPHPスクリプトのTopページ ├─ config.php 初期設定を保持するPHPスクリプト(編集可) │ └─ *.php その他のPHPスクリプト(削除編集禁止) ※ 配布ファイルに含まれるファイルのうち、 HTMLテンプレートクラス(lib/htmltemplate)以外の全てのファイルの 著作権は作者である NiconicoPHP が有します。 HTMLテンプレートクラス(lib/HtmlTemplat*)は作者である鮎川寛氏が 著作権を有しています。 素晴らしいソフトウェアを再配布自由な形(Artistic License ver.2.0)で 公開してくださった同氏に感謝します。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 7. スキンを変更する方法 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ スキン(外観デザインを決定するHTMLテンプレートファイル)を変更したい場合は、 http://popilol.lolipop.jp/NiconicoPHP/ から小説PHPのスキンダウンロードページに移動し、 お好みのスキンをダウンロードして下さい。 ダウンロードしたスキン(zip圧縮されています)を解凍し、 解凍されたスキンのディレクトリを ./skins ディレクトリ直下にコピーして下さい。 【例】 例えば、あなたがダウンロードしたスキンが「my_skin」だったとします。 この場合は、以下のようにコピーして下さい。 novel/ │ └ skins/ │ ├ _default_skin/ ← デフォルトスキンは削除変更しないで下さい。 │ ├ standard_skin/ ← 以前に使っていたスキンがある場合は、 │ そのまま置いておいて問題ありません。 │ └ my_skin/ ← ここにmy_skinのディレクトリをコピーします。 ディレクトリとファイルののパーミッション 設定は_dafault_skinと同じです。 詳細は「5. パーミッションの設定(例)」を参考にして下さい。 本棚の管理または小説の管理にログインし、初期設定ボタンを押して 「スキンの選択 」を行ってください。 以上でスキンの変更は完了です。 もしあなたにHTMLタグやCSSの知識があるならば、既存のスキンのデザインを 変更することも可能です。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 8. スキンHTMLファイルの概要 ┃ ┃ - スキン改造および自作スキンを製作する場合に有用な情報 - ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ スキンHTMLの中にはPHPスクリプトが利用する独特の命令記述があります。 次の四種類の命令記述があります。 (1) から まで ループ命令です。 から までは繰り返し処理されます。 (2) から まで 条件判断文です。もし、H_*** が定義されて「いれば」、 から までの範囲が有効になります。 定義されて「いなければ」無効になります。 (3) から まで 条件判断文です。もし、H_*** が定義されて「いなければ」、 から までの範囲が有効になります。 定義されて「いれば」無効になります。 (4) {rval H_***} 値です。H_*** は変数です。 この変数 H_*** の部分に必要なデータが注入されます。 小説PHPにおけるスキンHTMLの命令記述や変数の構成を以下に記します。 (詳細は、スキンHTMLファイルをテキストエディタで開いて確認して下さい) #--------------------------------------------------------------------- # ↓共通の変数 #--------------------------------------------------------------------- {rval HC_BaseURL} # スキン基準URL(常にdef) {rval HC_AdminURL} # 管理ページへのURL(常にdef) {rval HC_ThisPageURL} # 表示中のページのURL(常にdef) {rval HB_BodyAllURL} # 項目の全件表示のURL(小説の目次表示ページでのみdef) {rval HC_ReturnURL} # 上位コンテンツに戻るためのURL(常にdef) # - 本棚表示のときはconfig.phpのRETURN_URLの値 # - 小説目次表示のときは本棚へのURL # - 小説お話(本文)表示のときは小説目次へのURL {rval HC_IndexURL} # 小説目次表示ページの初期画面に戻るURL(常にdef) # (SKIN_TYPEが1または2のときの # 小説目次表示ページにおいて使用する) {rval HC_Title} # 本棚 or 小説のタイトル(常にdef) {rval HC_Comment1} # 本棚 or 小説のコメント1(未入力ならndef) {rval HC_Comment2} # 本棚 or 小説のコメント2(未入力ならndef) {rval HC_IsCabinet} # 本棚のときはdef、小説のときはndef {rval HC_PageCSS} # 小説のお話の本文表示ページの追加CSS(未入力ならndef) {rval HC_AllPagesCSS} # 本棚の目次表示ページの追加CSS(未入力ならndef)、または # 小説の目次および本文表示ページの追加CSS(未入力ならndef) {rval HC_ChangeCssFile} # 任意の外部CSSファイル指定があればdef(無ければndef) #--------------------------------------------------------------------- # ↓本棚 or 小説の目次を表示するページの命令記述 #--------------------------------------------------------------------- # 目次表示がある場合はdef(否ならndef) | | # 目次列挙の最上位ループ | | | | # 目次階層Lv4ループ | | | | | | {rval HM_Menu/M4/HB_Title} # 項目のタイトル(常にdef) | | | {rval HM_Menu/M4/HB_BodyURL} # 項目へのリンクURL(非リンクONならndef) | | | {rval HM_Menu/M4/HB_Date} # 項目の日付チェックOFF、 | | | # または未入力ならndef) | | | {rval HM_Menu/M4/HB_Comment1} # 項目のコメント1(チェックOFF、 | | | # または未入力ならndef) | | | {rval HM_Menu/M4/HB_Comment2} # 項目のコメント2(チェックOFF、 | | | # または未入力ならndef) | | | {rval HM_Menu/M4/HB_Latest} # 項目が新着ならdef(チェックOFFならndef) | | | {rval HM_Menu/M4/HB_Here} # この項目の本文が現在表示中ならdef(否ならndef) | | | # (SKIN_TYPE=2のときのみ有効) | | | | | | # 目次階層Lv3ループ | | | | | | | | | {rval HM_Menu/M4/M3/HB_Title} | | | | | {rval HM_Menu/M4/M3/HB_BodyURL} | | | | | {rval HM_Menu/M4/M3/HB_Date} | | | | | {rval HM_Menu/M4/M3/HB_Comment1} | | | | | {rval HM_Menu/M4/M3/HB_Comment2} | | | | | {rval HM_Menu/M4/M3/HB_Latest} | | | | | {rval HM_Menu/M4/M3/HB_Here} | | | | | | | | # 目次階層Lv2ループ | | | | | | | | | | | {rval HM_Menu/M4/M3/M2/HB_Title} | | | | | | {rval HM_Menu/M4/M3/M2/HB_BodyURL} | | | | | | {rval HM_Menu/M4/M3/M2/HB_Date} | | | | | | {rval HM_Menu/M4/M3/M2/HB_Comment1} | | | | | | {rval HM_Menu/M4/M3/M2/HB_Comment2} | | | | | | {rval HM_Menu/M4/M3/M2/HB_Latest} | | | | | | {rval HM_Menu/M4/M3/M2/HB_Here} | | | | | | | | | | # 目次階層Lv1ループ | | | | | | | | | | | | | {rval HM_Menu/M4/M3/M2/M1/HB_Title} | | | | | | | {rval HM_Menu/M4/M3/M2/M1/HB_BodyURL} | | | | | | | {rval HM_Menu/M4/M3/M2/M1/HB_Date} | | | | | | | {rval HM_Menu/M4/M3/M2/M1/HB_Comment1} | | | | | | | {rval HM_Menu/M4/M3/M2/M1/HB_Comment2} | | | | | | | {rval HM_Menu/M4/M3/M2/M1/HB_Latest} | | | | | | | {rval HM_Menu/M4/M3/M2/M1/HB_Here} | | | | | | | | | | | # 階層Lv1ループの閉じ | | | | | | | | | # 階層Lv2ループの閉じ | | | | | | | # 階層Lv3ループの閉じ | | | | | # 階層Lv4ループの閉じ | | | # 最上位ループの閉じ | #--------------------------------------------------------------------- # ↓小説のお話(本文)を表示するページの命令記述 #--------------------------------------------------------------------- # 本文表示がある場合はdef(否ならndef) | | #----------------------------------------------------------------- | # ↓1件表示の場合 | #----------------------------------------------------------------- | | # 1件表示ならndef(全件表示ならdef) | | | | {rval HB_M4Title} # 項目の親に階層Lv4があるならdef(否ならndef) | | {rval HB_M3Title} # 項目の親に階層Lv3があるならdef(否ならndef) | | {rval HB_M2Title} # 項目の親に階層Lv2があるならdef(否ならndef) | | {rval HB_M1Title} # 項目のタイトル(階層表示用) | | {rval HB_Title} # 項目のタイトル(常にdef) | | {rval HB_Date} # 項目の日付(未入力ならndef) | | {rval HB_Latest} # 項目が新着ならdef(否ならndef) | | {rval HB_Comment1} # 項目のコメント1(未入力ならndef) | | {rval HB_Comment2} # 項目のコメント2(未入力ならndef) | | {rval HB_Text} # 項目の本文(未入力ならndef) | | {rval HB_NextURL} # 次の項目のURL(次の項目が無ければndef) | | {rval HB_PrevURL} # 前の項目のURL(前の項目が無ければndef) | | | | | #----------------------------------------------------------------- | # ↓全件表示の場合 | #----------------------------------------------------------------- | | # 全件表示ならdef(1件表示ならndef) | | | | # 全件表示ループ | | | | | | {rval HB_All/HB_M4Title} | | | {rval HB_All/HB_M3Title} | | | {rval HB_All/HB_M2Title} | | | {rval HB_All/HB_M1Title} | | | {rval HB_All/HB_Title} | | | {rval HB_All/HB_Date} | | | {rval HB_All/HB_Latest} | | | {rval HB_All/HB_Comment1} | | | {rval HB_All/HB_Comment2} | | | {rval HB_All/HB_Text} | | | | | | | | | #--------------------------------------------------------------------- # ↓フレーム表示のインデックスファイルに記述する変数 # (SKIN_TYPE=1のときのみ有効) #--------------------------------------------------------------------- {rval HC_FrameMenuFile} # 目次を処理するPHPスクリプトURL(フレームならdef) {rval HC_FrameBlankFile} # ブランク(空白)HTML(フレームならdef) #--------------------------------------------------------------------- # ↓そのほか共通の変数 #--------------------------------------------------------------------- {rval HC_Icon} # NiconicoPHPへのリンク - 画像(小) (常にdef) {rval HC_IconRev} # NiconicoPHPへのリンク - 画像(小/反転) (常にdef) {rval HC_IconBig} # NiconicoPHPへのリンク - 画像(大) (常にdef) {rval HC_IconBigRev} # NiconicoPHPへのリンク - 画像(大/反転) (常にdef) {rval HC_IconMono} # NiconicoPHPへのリンク - 画像(小/モノクロ) (常にdef) {rval HC_IconMonoBig} # NiconicoPHPへのリンク - 画像(大/モノクロ) (常にdef) {rval HC_IconText} # NiconicoPHPへのリンク - テキスト(常にdef) 以上です。