┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 小説PHP (v3.0) - 取扱説明書 ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 小説PHPとは、小説や論文等の階層構造ドキュメントの作成や編集をWeb上から ┃ 行うためのPHPスクリプトです。スキン(HTMLテンプレート)を変更することで、 ┃ 外観デザインを変更することができます。スキン配布しています(自作も可)。 ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ Copyright (c) 2006-2008 piyopiyoPHP. ┃ http://123.roro.jp/PPPHP/ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 目次 1. 小説PHPとは? 2. 小説PHP(複数小説対応版)とは? 3. 主な特長 4. 利用規定・動作条件 5. クイックスタート(簡単な設置手順) 6. パーミッションの設定(例) 7. 配布ファイルの概要 8. スキンを変更する方法 9. スキンHTMLファイルの概要 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 1. 小説PHPとは? ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ あなたがダウンロードしたスクリプトファイルが novel.zip ならば、 それは「小説PHP」です。本章をお読み下さい。 novel.zip でないならば、本章は読み飛ばして次章からお読み下さい。 小説PHPとは、 ┌────────────────────────────────┐ │一つの小説と、その小説の中に含まれる複数の記事(部や章や話など)│ └────────────────────────────────┘ を表示・編集することが出来るPHPスクリプトです。 小説の管理を行う場合は、 1. Webブラウザで小説PHPへアクセス。 2. 小説ページが表示されるので、管理ページへのリンクをクリック。 を行って下さい。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 2. 小説PHP(複数小説対応版)とは? ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ あなたがダウンロードしたスクリプトファイルが cabinet.zip ならば、 それは「小説PHP(複数小説対応版)」です。本章をお読み下さい。 cabinet.zip でないならば、本章は読み飛ばして下さい。 小説PHP(複数小説対応版)とは、 ┌────────────────────────────────┐ │一つの本棚と、その本棚の中に含まれる複数の小説と、 │ │それら小説の中に含まれる複数の記事(部や章や話など) │ └────────────────────────────────┘ を表示・編集することが出来るPHPスクリプトです。 本棚の管理を行う場合は、 1. Webブラウザで小説PHP(複数小説対応版)へアクセス。 2. 本棚ページが表示されるので、管理ページへのリンクをクリック。 を行って下さい。 小説の管理を行う場合は、 1. Webブラウザで小説PHP(複数小説対応版)へアクセス。 2. 本棚ページが表示されるので、任意の小説へのリンクをクリック。 3. 小説ページが表示されるので、管理ページへのリンクをクリック。 を行って下さい。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 3. 主な特長 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ・小説や論文等の階層構造ドキュメントの表示/管理が可。 ・各記事を階層的に表示可。各記事はWeb上で管理可。 ・各記事に「前の記事」「次の記事」リンクを自動生成。 ・全記事を一括表示する「全表示」リンクを自動生成。 ・スキン(HTMLテンプレート)変更で外観デザイン変更可。 ・スキンダウンロード可。スキン改造/自作も可。 ・記事全体のバックアップをWebブラウザで簡単に行える。 ・小説に限らず論文やマニュアルやFAQ等の構築可。使い道は色々。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 4. 利用規定・動作条件 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 利用規定 下記Webサイトの利用規定をお読み下さい。 http://123.roro.jp/PPPHP/ 動作条件 あなたが利用しているサーバーが次の条件を満たしている必要があります。 ・PHPに対応している。 ・PHPのバージョンが4.1.0以上である。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 5. クイックスタート(簡単な設置手順) ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. 準備 まず、スクリプト一式(zip圧縮ファイル)を解凍して下さい。 次に、config.php をテキストエディタ等で開いて 管理パスワード(ADMIN_PASSWORD)を任意の値に変更した後に、 スクリプトのディレクトリを丸ごとサーバーへアップロードして下さい。 2. パーミッションの変更 サーバー上の各ファイルのパーミッションを、 以下のように設定して下さい。 ┌───────────────────────┐ │ まず、全てのディレクトリを 705 にします。 │ │ 全てのファイルを 604 にします。 │ │ │ │ 次に、lock/ ディレクトリを 707 にします。 │ │ │ │ 次に、logs/ ディレクトリ直下にある全ての │ │ ファイルを 606 にします。 │ │ │ │ 次に、logs_off/ ディレクトリ直下にある全ての │ │ ファイルを 606 にします。 │ └───────────────────────┘ 以上の設定が完了したら、Webブラウザからサーバー上の index.php へ アクセスして下さい。 もしここで問題があるようなら、後述の「6.パーミッションの設定」を 参考にして適切なパーミッション設定を行って下さい。 以上で設置完了です。必要に応じて以下を行って下さい。 ・管理ページへのリンクをクリックして管理ページへログインし、 初期設定(タイトルやスキンの設定など)などを行って下さい。 いろいろ操作してみて小説PHPの操作に慣れて下さい。 ・もし、管理パスワード以外のスクリプト初期設定を行う場合は、 config.php の各設定値を適宜変更した後、サーバーへアップロード して下さい。 ・外観デザインを変える場合は、後述の「8.スキンを変更する方法」を 参照して下さい。 ・各ファイルや各フォルダの詳細な説明は「7.配布ファイルの概要」を 参照して下さい。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 6. パーミッションの設定(例) ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ↓パーミッション設定値(例) / [705] スクリプトのディレクトリ │ ├─ lib/ [705] スクリプトが利用するライブラリ │ │ │ ├─ admskin/ [705] 管理ページのスキン │ │ │ │ │ └─ *** [604] 直下のファイル全て │ │ │ │ │ └─ htmltemplate/ [705] HTMLテンプレートライブラリ │ │ │ └─ *** [604] 直下のファイル全て │ ├─ lock/ [707] ロックディレクトリ │ ├─ logs/ [707] 本棚ファイルまたは小説ファイルを格納 │ │ (詳細は「7.配布ファイルの概要」参照) │ │ │ └─ *** [606] 直下のファイル全て │ ├─ logs_off/ [707] 本棚ファイルまたは小説ファイルを格納 │ │ (詳細は「7.配布ファイルの概要」参照) │ │ │ └─ *** [606] 直下のファイル全て │ ├─ skins/ [705] スキンを格納 │ │ │ └─ ***/ [705] スキン │ │ │ └─ *** [604] 直下のファイル全て │ ├─ ***.php [604] PHPスクリプトファイル全て │ └─ Readme.txt [604] このファイル 末尾に / がついているものはディレクトリです。 角括弧 [] のパーミッション値はあくまで設定例です。パーミッション値は 利用しているサーバーによって異なる場合があります。むしろ異なることの ほうが多いかもしれません。上記設定で動作しない場合は、とりあえず以下 のようにしてみて下さい。 [707]を、[757] にする [705]を、[755] にする [606]を、[646] にする [604]を、[644] にする この設定でも動作しない場合は、ご利用のサーバー(プロバイダ)のFAQ等 を参照下さい。 尚、パーミッションの設定は本スクリプトを利用する皆様の責任で行って 下さい。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 7. 配布ファイルの概要 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ / スクリプトのルートディレクトリ │ ├─ lib/ スクリプトが利用するライブラリ(削除編集禁止) │ ├─ lock/ ロックディレクトリ(ファイルの排他制御で利用します) │ (削除変更禁止) │ ├─ logs/ 本棚ファイルまたは小説ファイルを格納するディレクトリ │ ├─ logs_off/ 本棚ファイルまたは小説ファイルを格納するディレクトリ │ ├─ skins/ スキンを格納するディレクトリ │ │ ・ダウンロードしたスキンはここに格納して下さい。 │ │ ・使わないスキンは残しておいても削除しても、 │ │ どちらでも構いません。 │ │ │ └─ _default_skin デフォルトスキン(削除編集禁止) │ ├─ index.php ブラウザから呼び出すPHPスクリプトのTopページ │ (削除禁止) │ ├─ config.php 初期設定を保持するPHPスクリプト(編集可/削除禁止) │ └─ *.php その他のPHPスクリプト(削除編集禁止) ※logsフォルダとlogs_offフォルダとは? logsフォルダには「サンプル表示用のログファイル」が格納されています。 logs_offフォルダには「内容無し(サイズゼロ)の初期状態のログファイル」 が格納されています。小説PHP v3.0をダウンロードして解凍し、そのまま サーバー上へアップロードし、Webブラウザでindex.phpへアクセスした 場合は、「サンプル」が表示されるようになっています。サンプル表示が 不要になったら、サーバー上のlogsフォルダの名前をlogs_sampleに変更し、 logs_offフォルダをlogsに変更し、index.phpへアクセスして下さい。 これで内容無し(記事が一つもない)の小説PHPの初期状態が表示されます。 この状態からあなたの新しい小説の構築を開始して下さい。 logs_sampleはそのまま残しておいても構いませんし、削除しても全く問題 ありません。 ※HTMLテンプレートクラス(lib/htmltemplate/*)は作者である 鮎川寛氏に著作権があります。 有用なソフトウェアをシェアして頂いた同氏に感謝します。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 8. スキンを変更する方法 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. スキン(外観デザインを決定するHTMLテンプレートファイル)を 変更したい場合は、 http://123.roro.jp/PPPHP/ からスキンのダウンロードのページへ移動して、 お好みのスキンをダウンロードして下さい。 2. ダウンロードしたスキン(zip圧縮されています)を解凍して、 スキンのディレクトリを丸ごと ./skins ディレクトリ直下へ コピーして下さい。 例えば、あなたがダウンロードしたスキンが「my_skin」だったとします。 この場合は、以下のようにコピーします。 novel/ │ └ skins/ │ ├ _default_skin/ ← デフォルトスキンは削除変更しないで下さい。 │ ├ xxx_skin/ ← 以前に使っていたスキンがある場合は、 │ 削除しても構わないですし、 │ そのまま放置しておいても構いません。 │ └ my_skin/ ← ここに my_skin のディレクトリをコピーします。 ディレクトリとファイルのパーミッション設定は _dafault_skin と同じです。 詳細は「5. パーミッションの設定」を参考にして 下さい。 3. 管理ページへログインし、初期設定ボタンを押して「スキンの選択 」を 行って下さい。もしあなたにHTMLタグやCSSの知識があるならば、既存の スキンのデザインを変更することも可能です。 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃ ┃ 9. スキンHTMLファイルの概要 ┃ ┃ - スキン改造および自作スキンを製作する場合に有用な情報 - ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ スキンHTMLの中にはPHPスクリプトが利用する独特の命令記述があります。 次の(1)~(4)の四種類の命令記述があります。 (1) <!--{each H_***--> から <!--{/each}--> まで ループ命令です。 <!--{each H_***--> から <!--{/each}--> までは繰り返し処理されます。 (2) <!--{def H_***}--> から <!--{/def}--> まで 条件判断文です。もし、H_*** が定義されて「いれば」、 <!--{def H_***}--> から <!--{/def}--> までの範囲が有効になります。 定義されて「いなければ」無効になります。 (3) <!--{ndef H_***}--> から <!--{/def}--> まで 条件判断文です。もし、H_*** が定義されて「いなければ」、 <!--{ndef H_***}--> から <!--{/def}--> までの範囲が有効になります。 定義されて「いれば」無効になります。 (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) # (小説の記事本文の表示のときは小説目次へのURL) {rval HC_IndexURL} # 小説目次表示ページの初期画面に戻るURL(常にdef) # (SKIN_TYPEが1または2のときの # 小説目次表示ページにおいて使用する) {rval HC_Title} # 小説のタイトル(常にdef) {rval HC_Comment1} # 小説のコメント1(未入力ならndef) {rval HC_Comment2} # 小説のコメント2(未入力ならndef) {rval HC_IsCabinet} # 未使用(ndef固定) {rval HC_PageCSS} # 本文表示ページの追加CSS(未入力ならndef) {rval HC_AllPagesCSS} # ページ全体の追加CSS(未入力ならndef) {rval HC_ChangeCssFile} # 任意の外部CSSファイル指定があればdef(無ければndef) #--------------------------------------------------------------------- # ↓小説の目次を表示するページの命令記述 #--------------------------------------------------------------------- <!--{def HM_MenuEnable}--> # 目次表示がある場合はdef(否ならndef) | | <!--{each HM_Menu}--> # 目次列挙の最上位ループ | | | | <!--{each HM_Menu/M4}--> # 目次階層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のときのみ有効) | | | | | | <!--{each HM_Menu/M4/M3}--> # 目次階層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} | | | | | | | | <!--{each HM_Menu/M4/M3/M2}--> # 目次階層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} | | | | | | | | | | <!--{each HM_Menu/M4/M3/M2/M1}--> # 目次階層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} | | | | | | | | | | | <!--{/each}--> # 階層Lv1ループの閉じ | | | | | | | | | <!--{/each}--> # 階層Lv2ループの閉じ | | | | | | | <!--{/each}--> # 階層Lv3ループの閉じ | | | | | <!--{/each}--> # 階層Lv4ループの閉じ | | | <!--{/each}--> # 最上位ループの閉じ | <!--{/def}--> #--------------------------------------------------------------------- # ↓小説の記事本文を表示するページの命令記述 #--------------------------------------------------------------------- <!--{def HB_BodyEnable}--> # 本文表示がある場合はdef(否ならndef) | | #----------------------------------------------------------------- | # ↓1件表示の場合 | #----------------------------------------------------------------- | | <!--{ndef HB_ShowAll}--> # 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}--> | | #----------------------------------------------------------------- | # ↓全件表示の場合 | #----------------------------------------------------------------- | | <!--{def HB_ShowAll}--> # 全件表示ならdef(1件表示ならndef) | | | | <!--{each HB_All}--> # 全件表示ループ | | | | | | {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} | | | | | <!--{/each}--> | | | <!--{/def}--> | <!--{/def}--> #--------------------------------------------------------------------- # ↓フレーム表示のインデックスファイルに記述する変数 # (SKIN_TYPE=1のときのみ有効) #--------------------------------------------------------------------- {rval HC_FrameMenuFile} # 目次を処理するPHPスクリプトURL(フレームならdef) {rval HC_FrameBlankFile} # ブランク(空白)HTML(フレームならdef) #--------------------------------------------------------------------- # ↓そのほか共通の変数 #--------------------------------------------------------------------- {rval HC_Icon} # piyopiyoPHPへのリンク - 画像(小) (常にdef) {rval HC_IconRev} # piyopiyoPHPへのリンク - 画像(小/反転) (常にdef) {rval HC_IconBig} # piyopiyoPHPへのリンク - 画像(大) (常にdef) {rval HC_IconBigRev} # piyopiyoPHPへのリンク - 画像(大/反転) (常にdef) {rval HC_IconMono} # piyopiyoPHPへのリンク - 画像(小/モノクロ) (常にdef) {rval HC_IconMonoBig} # piyopiyoPHPへのリンク - 画像(大/モノクロ) (常にdef) {rval HC_IconText} # piyopiyoPHPへのリンク - テキスト(常にdef) 以上です。