ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changes between Version 9 and Version 10 of pne-book-9-1


Ignore:
Timestamp:
Feb 21, 2008, 2:50:58 PM (12 years ago)
Author:
imoto
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • pne-book-9-1

    v9 v10  
    1212
    1313{{{
    14 root/OpenPNE/trunk
     14OpenPNE trunk
    1515http://trac.openpne.jp/browser/OpenPNE/trunk
    1616}}}
     
    1818
    1919== root ==
    20 まずはじめに、rootディレクトリです。[[BR]]
    21 このrootディレクトリはOpenPNEのディレクトリの中で一番上の階層です。[[BR]]
    22 OpenPNEをダウンロードして解凍したり、trac.openpne.jpのtrunkをみるとこのような構造になっていると思います。[[BR]]
    23 ここには、いろいろなディレクトリがあります。それぞれディレクトリについて後ほど詳しく解説するのでここでは割愛します。[[BR]]
    24 
    25 {{{
    26 root
     20
     21{{{
     22root/
    2723
    2824bin
     
    3834}}}
    3935
    40 このrootディレクトリにはその他に、2つのファイルがあります。一つがconfig.php.sampleといって設定ファイルです。もう一つはLICENSEファイルです。
     36まずはじめに、rootディレクトリです。[[BR]]
     37このrootディレクトリはOpenPNEのディレクトリの中で一番上の階層です。[[BR]]
     38OpenPNEをダウンロードして解凍したり、trac.openpne.jpのtrunkをみるとこのような構造になっていると思います。[[BR]]
     39ここには、いろいろなディレクトリがあります。それぞれディレクトリについて後ほど詳しく解説するのでここでは割愛します。[[BR]]
     40
     41このrootディレクトリにはその他に、2つのファイルがあります。一つがconfig.php.sampleという設定ファイルです。もう一つはLICENSEファイルです。
    4142
    4243簡単に2つのファイルについて説明すると、config.php.sampleは通常config.phpとリネームしてOpenPNEの設定ファイルとして使用します。この設定ファイルには、データベースの設定から、OpenPNEのAPI設定までさまざまな設定項目があります。詳しくは、実際にconfig.php.sampleを開いてどのような項目があるか確認してみてください。
     
    5556
    5657== bin ==
    57 このbinディレクトリはアプリケーションの動作には依存していない、単体で動作するスクリプトが入っています。
    58 binの中には2種類のファイルタイプがあります。一つ目はcronで、もう一つはPHPです。
    59 このcronというファイルは同名のPHPファイルと対になって存在しています。
    60 もう一つは、実際に携帯の写メール投稿や、RSSの取得などの処理を行うPHPファイルです。
    61 
    62 {{{
    63 root/bin
     58
     59{{{
     60root/bin/
    6461
    6562config.inc.php
     
    7168tool_send_birthday_mail.cron
    7269tool_send_birthday_mail.php
    73 .
    74 .
    75 .
    76 }}}
    77 
    78 この中で、cronとPHPファイルが対でないファイルが2つあります。その2つのファイルととはconfig.inc.phpとmail.phpです。簡単にこの2つのファイルについて解説します。
     70tool_send_daily_news.cron
     71tool_send_daily_news.php
     72tool_send_dairy_news.cron
     73tool_send_mail_in_queue.cron
     74tool_send_mail_in_queue.php
     75tool_send_message_in_queue.cron
     76tool_send_message_in_queue.php
     77tool_send_schedule_mail.cron
     78tool_send_schedule_mail.php
     79tool_vacuum_exec.cron
     80tool_vacuum_exec.php
     81}}}
     82
     83このbinディレクトリはアプリケーションの動作には依存していない、単体で動作するスクリプトが入っています。
     84binの中には2種類のファイルタイプがあります。一つ目はcronで、もう一つはPHPです。
     85基本的にこのcronファイルは同名のPHPファイルと対になって存在しています。
     86もう一つは、実際に携帯の写メール投稿や、RSSの取得などの処理を行うPHPファイルです。
     87
     88
     89この中に、cronとPHPファイルが対でないファイルが2つあります。その2つのファイルととはconfig.inc.phpとmail.phpです。簡単にこの2つのファイルについて解説します。
    7990
    8091まず、config.inc.phpは中を見ると分かりますが、root以下にあるconfig.phpを読み込む処理が書いています。
     
    103114
    104115== lib ==
     116
     117{{{
     118root/lib/
     119
     120include
     121smarty_plugins
     122README.txt
     123}}}
     124
    105125それでは次に、rootディレクトリ直下にあるlibディレクトリを見ていきましょう。[[BR]]
    106126このlibディレクトリの中には、includeディレクトリとincludeディレクトリがあります。このlibディレクトリには外部のライブラリが入っています。具体的にはPEARなどが入っています。
     
    110130ただし、あくまでPHPライセンスで使用できるライセンスのライブラリで、GPLなど縛りの強いライセンスは同梱していないので、PHPライセンスであれば使用しても大丈夫です。[[BR]]
    111131
    112 {{{
    113 libディレクトリ
    114 }}}
    115132
    116133
    117134 === include ===
     135 
     136 {{{
     137root/lib/include/
     138
     139Auth
     140Cache
     141Calendar
     142Crypt
     143Date
     144DB
     145HTTP
     146kcaptcha
     147Log
     148Mail
     149Net
     150PHP
     151Services
     152Smarty
     153XML
     154Auth.php
     155Cache.php
     156Date.php
     157DB.php
     158Etag.php
     159Log.php
     160Mail.php
     161PEAR.php
     162simplepie.inc
     163Snoopy.class.php
     164 }}}
     165 
    118166 このincludeディレクトリは、外部のライブラリでOpenPNEに欠かせないライブラリが揃っています。[[BR]]
    119167 このincludeディレクトリの特徴としては、このincludeディレクトリはインクルードパスに指定されていますので、ライブラリ名を指定して読み込むだけでファイルを読み込むことが出来ます。[[BR]]
     
    122170 この中でも主要なディレクトリや特徴のあるライブラリについて解説していきます。
    123171
    124 {{{
    125 includeディレクトリ
    126 }}}
    127 
    128172
    129173 まず、一番上のAuthディレクトリですが、OpenPNEの認証系には欠かせないライブラリが入っています。[[BR]]
     
    131175
    132176
    133 {{{
    134 Containerディレクトリ
     177 {{{
     178root/lib/include/Auth/Container/
     179
     180Array.php
     181DB_osc.php
     182DB.php
     183DBLite.php
     184File.php
     185IMAP.php
     186KADM5.php
     187LDAP.php
     188MDB.php
     189MDB2.php
     190Multiple.php
     191PEAR.php
     192POP3.php
     193RADIUS.php
     194SAP.php
     195SMBPasswd.php
     196SOAP.php
     197SOAP5.php
     198vpopmail.php
    135199}}}
    136200
     
    157221
    158222 === smarty_plugins ===
     223 
     224 {{{
     225root/lib/smarty_plugins/
     226   
     227modifier.date_format.php
     228}}}
     229
    159230 このsmarty_pluginsディレクトリは先ほど説明したSmartyのプラグインのためのディレクトリです。
    160231 しかし、現状はmodifier.date_format.phpというファイルしか入っていません。
     
    163234
    164235== pubic_html ==
     236
     237{{{
     238root/public_html/
     239
     240cmd
     241css
     242flash
     243img
     244js
     245modules
     246skin
     247cap.php
     248config.inc.php
     249img_skin.php
     250img.php
     251index.php
     252}}}
     253
     254
    165255それでは、WEBサーバの公開領域であるpubic_htmlディレクトリを見ていきましょう。[[BR]]
    166256このpubic_htmlディレクトリはWEBサーバから読み込まれるディレクトリなのでcssやjsなどがあります。詳しくは後ほど説明します。[[BR]]
    167257また、このpubic_htmlは公開領域であるために注意が必要な場合があります。[[BR]]
    168258このpubic_htmlディレクトリ以下のファイルはURLを直接入力された場合は誰でも見ることが出来るという特徴があります。[[BR]]
    169 例えば、会員のみに公開したい資料などをここに置いた場合でも、会員でない人がURLを直接入力してアクセスした場合は見ることが可能なので注意が必要です。[[BR]]
    170 
    171 
    172 {{{
    173 pubic_htmlディレクトリ
    174 }}}
     259例えlば、会員のみに公開したい資料などをここに置いた場合でも、会員でない人がURLを直接入力してアクセスした場合は見ることが可能なので注意が必要です。[[BR]]
     260
    175261
    176262このディレクトリにあるファイルを見ると、まずcap.phpがあります。このcap.phpはlib/includeディレクトリ以下にあるkcaptchaというライブラリを使うためにあります。[[BR]]
     
    202288
    203289 === cmd ===
     290 
     291 {{{
     292root/public_html/cmd/
     293
     294amazon.co.jp.js
     295blog-apart.com.js
     296blogcruiser.js
     297docune.jp.js
     298flipclip.net.js
     299grouper.com.js
     300jp.youtube.com.js
     301kakaku.com.js
     302livlyisland.js
     303maps.google.co.jp.js
     304maps.google.com.js
     305postpet.js
     306ppw.js
     307r.gnavi.co.jp.js
     308r.gnavi.co.jp.js.2
     309r.tabelog.com.js
     310slurl.com.js
     311sns_info.js
     312sonetphoto.js
     313tagfriends.js
     314video.google.com.js
     315vote.nifty.com.js
     316wajju.jp.js
     317watchme.js
     318www.amazon.co.jp.js
     319www.blog-apart.com.js
     320www.ebitv.jp.js
     321www.flipclip.net.js
     322www.google.co.jp.js
     323www.google.com.js
     324www.grouper.com.js
     325www.netprice.co.jp.js
     326www.nicovideo.jp.js
     327www.wajju.jp.js
     328www.watchme.tv.js
     329www.youtube.com.js
     330youtube.com.js
     331youtube.js
     332}}}
     333
    204334 このcmdディレクトリは、OpenPNEの目玉機能でもある小窓機能を実現するためのJavaScriptは入っています。小窓には通常小窓形式(CMDタグ)、URL2CMD形式(URL)と2つの形式がありますが、どちらの形式で小窓が使用されても、このcmdディレクトリにあるJavaScriptが読み込まれます。[[BR]]
    205335 このcmdディレクトリにあるファイルはすべてJavaScriptです。そのため、WEBサーバから読み込むことが出来る必要があるため公開ディレクトリに存在します。[[BR]]
    206336 cmdディレクトリにあるJavaScriptファイルの特長としては、ファイル名が「ドメイン名+.js」となっているところです。これは小窓の規約に「使用するドメインに「.js」をつけるという」とうのがあるためです。[[BR]]
    207337 
    208 {{{
    209 cmdディレクトリ
    210 }}}
    211338
    212339
     
    216343 動的に書き出す必要がないフォントの大きさなどはこのcssディレクトリに入っています。
    217344
    218 {{{
    219 cssディレクトリ
    220 }}}
     345 {{{
     346root/public_html/css/
     347
     348main
     349default.css
     350
     351}}}
     352
     353 {{{
     354root/public_html/css/main/
     355
     356commons.css
     357font.css
     358inc_info.css
     359inc_navi.css
     360inc_page_footer.css
     361inc_page_header.css
     362inc_search_box.css
     363mainframe.css
     364page_login.css
     365
     366}}}
     367
    221368
    222369 === flash ===
     370 
     371 
     372 {{{
     373root/public_html/flash/
     374
     375list.swf
     376}}}
     377
    223378 次はflashディレクトリです。[[BR]]
    224379 ここにはflashファイルが入っています。しかし、このflashディレクトリには現在1つしかファイルがありません。現在あるファイルはフレンドリストをFlashで表示するという機能のソースです。このflashのソースも公開してますので、これを編集しなおしてオリジナルのフレンドリストを作ることも可能です。[[BR]]
    225380
    226 {{{
     381 {{{
    227382Flashの使い方
    228383http://trac.openpne.jp/wiki/FlashHowTo
    229384}}}
    230385
    231 {{{
    232 flashディレクトリ
    233 }}}
    234386
    235387
    236388 === img ===
     389 
     390 {{{
     391root/public_html/img/
     392   
     393gif
     394jpg
     395png
     396.htaccess
     397index.php
     398}}}
     399
     400
    237401 次はimgディレクトリです。このimgディレクトリはデフォルトの設定では使いません。[[BR]]
    238402 この機能を使うときは、config.phpで設定します。[[BR]]
     
    240404 なぜ、このOPENPNE_IMG_CACHE_PUBLICをデフォルトの設定でtrueにしていないかというと、この画像キャッシュをpublic_html以下に置くにはmod_rewriteが必要でだからです。[[BR]]
    241405
    242 {{{
     406 {{{
     407root/config.php
     408
    243409// 画像キャッシュをpublic_html以下に置くかどうか(要mod_rewrite)
    244410define('OPENPNE_IMG_CACHE_PUBLIC', true);
     
    247413 画像の一時ファイルをvarディレクトリに入れるのではなくpublic_htmlに公開することで、ブラウザが直接アクセスできるようになるため、OpenPNEのパフォーマンスが上がります。
    248414
    249 {{{
    250 imgディレクトリ
    251 }}}
    252415
    253416 imgディレクトリの中には、画像の形式ごとにディレクトリ分けされています。[[BR]]
    254417 また、画像の大きさが決まっているので、画像の大きさごとに各ディレクトリにキャッシュされます。
    255 {{{
    256 gifディレクトリ
     418 {{{
     419root/public_html/img/gif/
     420   
     421w_h
     422w_h_raw
     423w120_h120
     424w180_h180
     425w240_h320
     426w76_h76
    257427}}}
    258428
    259429
    260430 === js ===
     431 
     432 {{{
     433root/public_html/js/
     434
     435pne.js
     436prototype.js
     437show_flash.js
     438}}}
     439
    261440 このjsディレクトリにもcmdディレクトリと同じく、JavaScriptファイルが入っています。OpenPNEには小窓以外にもJavaScriptが使われています、[[BR]]
    262441 pne.jsはURL2CMDを実現するために必要なJavaScriptファイルです。[[BR]]
     
    265444 OpenPNEでは基本的にJavaScriptを使っておらず、あくまで補助的なものとして使用しています。
    266445 
    267 {{{
    268 jsディレクトリ
    269 }}}
    270446
    271447
    272448 === modules ===
     449 {{{
     450root/public_html/modules/
     451
     452admin
     453pc
     454setup
     455}}}
     456 
     457 
    273458 このmodulesディレクトリには、admin、pc、setupと各モジュールごとに必要なファイルが入っています。例えば、adminディレクトリでは、管理画面のcssや管理画面のボタンが入っています。[[BR]]
    274459 pcディレクトリは現在空のディレクトリです。[[BR]]
    275460 setupディレクトリはsetupに必要なcssが入っています。[[BR]]
    276461
    277 {{{
    278 modulesディレクトリ
    279 }}}
    280 
    281462
    282463 === skin ===
     464 
     465 {{{
     466root/public_html/skin/
     467
     468001_openpne_red
     469002_openpne_beige
     470003_openpne_yellow
     471004_openpne_green
     472005_openpne_blue
     473006_openpne_navy
     474007_openpne_purple
     475900_openpne_ver28
     476default
     477dummy.gif
     478}}}
     479
    283480 このskinディレクトリはOpenPNE2.10系から大きく構成が変更されたディレクトリです。[[BR]]
    284481 OpenPNE2.10系から、ヘッダーやナビメニューなどのスキン画像をプリセットカラーから選択出来る機能が追加されました。[[BR]]
    285482 上から、レッド、ベージュ、イエロー、グリーン、ブルー、ネイビー、パープル用のディレクトリがあります。その下にある900_openpne_ver28ディレクトリはOpenPNE2.8系で使用されていたスキン画像は入っています。[[BR]]
    286483
    287 {{{
    288 skinディレクトリ
    289 }}}
    290484
    291485 001_openpne_redディレクトリの中を見ると、imgディレクトリとskin.iniファイルがあります。
    292 {{{
    293 001_openpne_redディレクト
    294 }}}
    295 
     486 {{{
     487root/public_html/skin/001_openpne_red/
     488   
     489img
     490skin.ini
     491}}}
    296492
    297493 このskin.iniファイルは管理画面から読み込まれる設定ファイルです。[[BR]]
    298494 captionで指定した名前が管理画面から読み込まれて表示されています。[[BR]]
    299495
    300 {{{
    301 skin.ini
     496 {{{
     497root/public_html/skin/001_openpne_red/skin.ini
    302498
    303499[skin]
    304500caption = "OpenPNEレッド"
     501
    305502}}}
    306503
     
    308505 001_openpne_redディレクトリにない、ボタン画像やアイコンはskinディレクトリ以下のdefaultディレクトリが読み込まれることになっています。同名のファイル名がない場合は、defaultディレクトリの画像が使われることになります。[[BR]]
    309506
    310 {{{
    311 defaultディレクトリ
     507 {{{
     508root/public_html/skin/001_openpne_red/img/
     509
     510skin_after_header_2.jpg
     511skin_after_header.jpg
     512skin_before_header.jpg
     513skin_login_open.jpg
     514skin_login.jpg
     515skin_navi_c_2.jpg
     516skin_navi_c.jpg
     517skin_navi_f_2.jpg
     518skin_navi_f.jpg
     519skin_navi_h_2.jpg
     520skin_navi_h.jpg
    312521}}}
    313522
     
    320529
    321530{{{
    322 setupディレクトリ
     531root/setup/
     532
     533script
     534sql
     535OpenPNE_Setup_mybox.html
     536OpenPNE_Setup_pgsql.html
     537OpenPNE_Setup.html
     538OpenPNE_Upgrade.html
    323539}}}
    324540
    325541 === script ===
     542 
     543 {{{
     544root/setup/script/
     545
     546update
     547upgrade
     548
     549}}}
     550 
    326551 scriptディレクトリですが、このディレクトリには現状は何も入っていません。2.10からこのscriptディレクトリが追加されました。[[BR]]
    327552 OpenPNE2.10で固体識別番号という大きな機能追加を行ったのですが、その時にはこのディレクトリにはPHPファイルが入っていました。[[BR]]
     
    329554 
    330555 === sql ===
     556 
     557 {{{
     558root/setup/sql/
     559
     560mysql40
     561mysql41
     562postgres74
     563README.txt
     564}}}
     565
    331566 次に、sqlディレクトリですが、このディレクトリには基本的にSQLファイルが入っています。OpenPNEは原則として画像などもデータベースに保存しているためバージョンアップの時もこのSQLを実行するだけでバージョンアップをすることが出来ます。[[BR]]
    332567 基本的にはどのディレクトリも構造は同じなのでOpenPNEが推奨しているMySQL4.1系のディレクトリを詳しく見ていきましょう。[[BR]]
    333 
    334 {{{
    335 sqlディレクトリ
    336 }}}
    337 
     568 
     569 
     570 {{{
     571root/setup/sql/mysql41/
     572
     573install
     574option
     575update
     576upgrade
     577}}}
    338578
    339579 mysql41ディレクトリにはinstall、option、update、upgradeのそれぞれの用途に合わせたSQLファイルが入っています。[[BR]]
    340580 installディレクトリにはOpenPNEを新規にインストールするためのSQLが入っています。
    341  
     581
    342582 optionには、OpenPNEの動作に必須ではないSQLが入っています。例えば、add_c_api.sqlはOpenPNEの動作には直接関係していません。つまり実行しなくてもOpenPNEは動作します。[[BR]]しかし、OpenPNEのAPIを使用する場合にはこのadd_c_api.sqlを実行する必要があります。sqlディレクトリにあるREADME.txtの用途の欄を見ればoptionの説明があります。
    343583 
     
    348588 また、各ディレクトリのSQLには大きく分けて2種類あります。create_tablesというテーブルを作るSQLとinsert_dataという初期設定値のデータを挿入するSQLがあります。 この2種類のSQLを実行することで、OpenPNEを動作させることが出来ます。
    349589
    350 {{{
    351 mysql41ディレクトリ
    352 }}}
    353 
    354 
    355 
    356590
    357591== var ==
     592
     593{{{
     594root/var/
     595
     596function_cache
     597img_cache
     598log
     599rss_cache
     600templates_c
     601tmp
     602   
     603}}}
     604
    358605このvarディレクトリには基本的には一時的なファイル、一時的なデータが入るようになります。ですので、OpenPNEをダウンロードして展開した状態だと空の状態です。
    359606
     
    370617次に、logディレクトリです。このlogディレクトリにはエラーログやメールの実行ログなどを記録するために存在します。logを有効にするためには、config.phpで設定が必要で、OPENPNE_DEBUGGINGを0にする必要があります。
    371618
    372 {{{
     619 {{{
     620root/config.php
     621   
    373622//--- オプション設定
    374623
     
    386635最後に、tmpディレクトリです。tmpディレクトリには一時画像や一時ファイルを保存しておく場所として存在します。 メールで画像を投稿するときに、チェックするために画像を保存する必要があり、一時的にこのtmpディレクトリに保存しています。
    387636
    388 {{{
    389 varディレクトリ
    390 }}}
    391 
    392637
    393638== webapp ==
     639{{{
     640root/webapp/
     641
     642lib
     643modules
     644templates
     645validate
     646init.inc
     647version.php
     648}}}
     649
     650
    394651このwebappディレクトリがOpenPNEの根幹です。OpenPNEのアクションなどはこのwebappディレクトリに入っています。[[BR]]
    395652libディレクトリ、modulesディレクトリ、templatesディレクトリ、validateディレクトリの各ディレクトリについてはこの後詳しく見ていきます。
     
    400657version.phpはOpenPNEのバージョンを定義しているだけのファイルです。
    401658
    402 {{{
    403 webappディレクトリ
    404 }}}
    405659
    406660 === lib ===
     661 {{{
     662root/webapp/lib/
     663   
     664Auth
     665Cache
     666color
     667db
     668mail
     669OpenPNE
     670smarty_plugins
     671util
     672auth.inc
     673controller.php
     674db.inc.php
     675ktaiIP.php
     676OP.php
     677util.inc.php
     678}}}
     679
     680 
     681 
    407682 それではlibディレクトリを見ていきましょう。libディレクトリはincludeディレクトリにもありますが、この2つのディレクトリには大きな違いがあります。
    408683 
     
    413688 それでは主要なディレクトリについて詳しく見て見ましょう。
    414689
    415 {{{
    416 libディレクトリ
    417 }}}
    418 
    419690  ==== db ====
     691  {{{
     692root/webapp/lib/db/
     693   
     694action.php
     695api.php
     696ashiato.php
     697banner.php
     698bookmark.php
     699common.php
     700commu.php
     701deprecated_lib.php
     702diary.php
     703etc.php
     704file.php
     705friend.php
     706image.php
     707member.php
     708message.php
     709point.php
     710ranking.php
     711review.php
     712rss.php
     713schedule.php
     714
     715}}}
     716 
     717 
    420718  OpenPNEではこのdbディレクトリ以下のファイルをよく使用しています。[[BR]]
    421719  例えば、メンバーのidを取得したい場合、member.phpファイル内のdb_member_c_member4c_member_idという関数をコールすると、指定したメンバーの情報が取得出来ます。
    422720
    423 {{{
    424 member.php
    425 
     721  {{{
     722root/webapp/lib/db/member.php
     723
     724.
     725.
     726.
    426727function db_member_c_member4c_member_id($c_member_id, $is_secure = false, $with_profile = false, $public_flag = 'public')
    427728{
     
    450751  同じフォーマットで新たに定義ファイルを追加すると、プリセットカラーとして管理画面から選択出来る様になります。
    451752
    452 {{{
    453 pcディレクトリ
     753  {{{
     754root/webapp/lib/color/pc/
     755   
     756001_red.ini
     757002_beige.ini
     758003_yellow.ini
     759004_green.ini
     760005_blue.ini
     761006_navy.ini
     762007_purple.ini
    454763}}}
    455764
     
    459768  OpenPNEの場合は、SSLを使用することがあるので、アクションによってはURLが変わることがあります。ですので、テンプレートに直接URLを書くより、Smartyプラグインを使ってSmartyにURLを生成してもらう処理をしています。[[BR]]
    460769  その他にも、CMDタグを小窓にするfunction.t_cmd.phpや、絵文字を変換するためのoutputfilter.pne_display_emoji.phpなどもあります。
    461 {{{
    462 smarty_pluginsディレクトリ
     770
     771  {{{
     772root/webapp/lib/smarty_plugins/
     773   
     774block.t_loop.php
     775function.ext_include.php
     776function.t_assign_rss.php
     777function.t_form.php
     778function.t_img_url_skin.php
     779function.t_img_url.php
     780function.t_url_mail.php
     781function.t_url.php
     782modifier.t_cmd.php
     783modifier.t_escape.php
     784modifier.t_implode.php
     785modifier.t_truncate.php
     786modifier.t_url2a_ktai.php
     787modifier.t_url2a.php
     788modifier.t_url2cmd.php
     789modifier.to_sjis.php
     790outputfilter.pne_display_emoji.php
     791resource.db.php
    463792}}}
    464793
    465794
    466795 === modules ===
     796 
     797 {{{
     798root/webapp/modules/
     799
     800admin
     801api
     802ktai
     803pc
     804setup
     805
     806}}}
    467807 modulesディレクトリには、管理画面からSNSの情報を変更をする、日記を読む、メッセージを送るなど、何らかの動作をするためのファイルがこの中には入っています。OpenPNEでの動作プログラムはほぼこのmodulesディレクトリの中にあります。[[BR]]
    468808 基本的には構造は同じなのでpcディレクトリを見ながら詳しく解説していきます。[[BR]]
    469809
    470 {{{
    471 modulesディレクトリ
    472 }}}
     810
    473811
    474812  ==== pc ====
     
    476814  基本的にこの構造で構成されています。[[BR]]
    477815
    478 {{{
    479 pcディレクトリ
     816  {{{
     817root/webapp/modules/pc/
     818
     819do
     820page
     821templates
     822validate
     823init.inc
    480824}}}
    481825
     
    496840   例えば、c_member_idは1や2などの数値ですが、aなどの文字列が変数として渡された時にプログラムが予期せぬ動作を起こすことがあるかもしれません。そのような予期せぬ動作を未然に防ぐために、あらかじめ変数の値をチェックをしています。[[BR]]
    497841   このvalidateディレクトリの中でもdoとpageに分かれておりどちらも変数の入力値をチェックしています。
    498 {{{
    499 validateディレクトリ
    500 }}}
    501 
     842   {{{
     843root/webapp/modules/pc/validate/
     844
     845do
     846page
     847}}}
    502848
    503849
    504850 === templates ===
     851 
     852 {{{
     853root/webapp/templates/
     854
     855mail
     856debug.tpl
     857error.tpl
     858
     859}}}
     860 
    505861 このtemplatesディレクトリにはOpenPNEのすべてのモジュールから使用できるテンプレートが入っています。[[BR]]
    506862 一番上のmailディレクトリには、メールのテンプレートが入っています。このテンプレートの中に変数があり、その変数に値を渡してメールを送信しています。[[BR]]
    507863 次に、debug.tplはconfig.phpでOPENPNE_DEBUGGINGを2にしたときに出力されるデバッグコンソールの中身です。[[BR]]
    508864 最後に、error.tplというのがありますが、OpenPNEではエラーやメンテナンス画面はこのerror.tplを使って表示しています。[[BR]]
    509 {{{
    510 templatesディレクトリ
    511 }}}
     865
    512866
    513867== webapp_biz ==
     
    517871
    518872{{{
    519 webapp_bizディレクトリ
     873root/webapp_biz/modules/
     874   
     875admin_biz
     876biz
     877ktai
     878ktai_biz
     879pc
    520880}}}
    521881
    522882
    523883== webapp_ext ==
     884
     885{{{
     886root/webapp_ext/modules/
     887
     888admin
     889ktai
     890pc
     891}}}
     892
     893
    524894このwebapp_extディレクトリは拡張用のディレクトリです。[[BR]]
    525895新しい機能を追加や拡張する時のために用意されているもので、デフォルトでは空のディレクトリです。[[BR]]
     
    527897実際にこのwebapp_extディレクトリを使用して機能を拡張する場合は、webapp_bizディレクトリが参考になると思います。[[BR]]
    528898
    529 {{{
    530     webapp_extディレクトリ
    531 }}}
    532 
    533899webapp_extディレクトリを使用する場合は、config.phpでUSE_EXT_DIRをtrueにする必要があります。このUSE_EXT_DIRをtrueにすることによって、まずwebapp_extディレクトリが読み込まれ、もしアクションファイルが存在しない場合は、webappのアクションファイルを読み込みます。
    534900
    535901{{{
     902root/config.php
    536903
    537904// webapp_ext ディレクトリ使用設定
     
    553920
    554921{{{
     922
    555923<input type="hidden" name="sessid" value="({$PHPSESSID})">
    556924}}}