CentOS-XOOPS作業 の変更点

※※このサイトは2012年頃より更新を停止しています。※※
  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • CentOS-XOOPS作業 へ行く。

*仕事場Linux作業 [#x74a81d6]
仕事場のcommunityサイト作成に使用しているのがCentOS。
*(旧)仕事場Linux作業
仕事場のcommunityサイト作成に使用しているのがCentOS(2004-12〜2006-07)。
仕事場の環境での作業をそのままインターネットへオープンにするわけにもいきません(現場固有の名称などあるので)。
そこで、仕事場作業に際して自学自習で経験したノウハウにちょいとフィルタをかけて、自分用のメモを残していきます。
~これはあくまで自分用のメモなので、参考にされる際にはいかなる操作/作業も自己責任で行ってください。

***作業履歴まるなげリスト [#r25a54f6]
***作業履歴まるなげリスト
>とりあえず、整理もせずごっそり掲載。
CentOSを使う前の環境がredhat8だったので、最初のあたりはその情報が書かれています。
#contents

*作業履歴/2005-06-03 [#i33f9c6b]
**仕事場redhat8 ポリシー変更 [#pc85cd3f]
*作業履歴/2005-06-03
**仕事場redhat8 ポリシー変更
元々その端末で動作していたOSはredhat8だった。
-''phpのコンパイルインストール''
※参考:
http://www.dolphy.gr.jp/webap/env/php-install.html
http://www.jpring.net/jitaku/redhat9+apache2.0.48+php-4.3.4-ok.html
http://64.233.167.104/search?q=cache:wVwVxQvzjgsJ:49uper.com/memo/linux/php_configure.html+php+enable+cgi+configure&hl=ja&lr=lang_ja
-- 既存のphp関連のrpmパッケージをアンインストール
RH8デフォrpmはマルチバイト関連が有効になってないため。
 rpm -e php-4.2.2-8.0.5.i386.rpm
 rpm -e php-imap-4.2.2-8.0.5.i386.rpm
 rpm -e php-ldap-4.2.2-8.0.5.i386.rpm
-- httpd-develをインストール
依存関係解消の為、下記もインストール
 autoconf
 automake
 libtools
-- コンパイル環境も入ってなかった・・・
※参考 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76061
RH8は開発環境のkernelheaderのパッケージ分類がちょいと特殊。
下記をインストール
 binutils
 glibc-kernheaders
 glibc-devel
 gcc
-- php-4.3.11.tar.bz2を持ってきて展開、configure
 ./configure --with-apxs2filter=/usr/sbin/apxs \
 --with-gd --enable-gd-native-ttf \
 --with-freetype-dir=/usr --with-png-dir=/usr \
 --with-zlib --with-zlib-dir=/usr \
 --with-jpeg-dir=/usr --enable-exif \
 --enable-mbstring --enable-mbregex \
 --enable-zend-multibyte --with-pgsql=/usr \
 --with-mysql=/usr > ../php_configure.txt
ここで、
 lex: command not found (※参考 http://ns1.php.gr.jp/pipermail/php-users/2001-September/001761.html)
  Cannot find libz
 libjpeg.(a|so) not found.
 libpng.(a|so) not found.
 freetype2 not found!
と言われた・・・。
それにこれも。
 configure: warning: You will need bison if you want to regenerate the PHP parsers.
 configure: warning: You will need bison if you want to regenerate the Zend parser.
というわけで、
 flex
 zlib-devel
 libjpeg-devel
 libpng-devel
 freetype-devel
 bison
をインストールで上記は解決。
でもやっぱこいつは発生。
 ./configure: line 1: /apr-config: No such file or directory
 ./configure: line 1: /apu-config: No such file or directory
こいつはもうメンドイのでそのままmake; install;
したら
 /usr/lib/httpd/build/instdso.sh: そのようなファイルやディレクトリはありません
とかゆわれるし・・・。
http://slashdot.jp/journal.pl?op=display&id=107852&uid=6751
ここらへんを参考にinstdso.shをhttpd-2.0.53.tar.bz2から持ってきてinstall。
-- だがしかし。
CGI版をインストールするには、with-apxsしちゃいけないそうな。
※参考:http://php.s3.to/man/features.commandline.html
というわけで、--with-apxs2filterを外して再コンパイル。
DSO版は既にインストール済みなので、コンパイルの済んだcgi版と
cli版をそれぞれリネームしながらインストール。
-''httpd.conf''
-- AddHandlerを有効にした。
これと、
 <Directory "/home/*/public_html/cgi-bin">
 Options ExecCGI
 </Directory>
により、各ユーザはcgi-bin/配下のみでcgiの実行が可能。
-- DirectoryIndexにindex.cgiとindex.phpを追加。
-- LanguagePriorityの先頭にjaを持ってきた。
-- AddType application/x-httpd-php .php を加えた。
 
-''動作確認''
-- 以上でPHPのCGIもDSOも動作確認済み。

*作業履歴/2005-06-07 [#r29ff114]
*作業履歴/2005-06-07
-''ちょいと気になったツール : QuestionLabor''
 http://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20050607/162211/ ※情報ソース
 http://www.labor-project.com/	  ※プロジェクトURL 
今度これも試しに入れてみよう。
必要な追加パッケージ等
 MONSTUQI  (←めんどくさそう
 Ruby 
 PostgreSQL 
仮にこれらを使うとしたら。
データの移行は可能か?
MSaccessとかのmdbファイルからphpで内容をクエリ抽出ってできたっけ?
-''xoops設置準備''
MySQLが必要ってことなので、phpもコンパイルし直そうかな。
併せて、上記で触れているQuestionLaborの準備もかねてPostgreSQLも入れておく。
phpコンパイルの準備としてdevelパッケージも入れておく。
perlからも使えるようにperl-DB*も必要な分入れておく。
よって下記パッケージ群をインストール
-- postgresql-perl-7.2.2-1.i386.rpm
-- postgresql-server-7.2.2-1.i386.rpm
-- postgresql-devel-7.2.2-1.i386.rpm
-- postgresql-7.2.2-1.i386.rpm
-- perl-DBD-Pg-1.13-5.i386.rpm
-- perl-DBD-MySQL-2.1017-3.i386.rpm
-- mysql-server-3.23.52-3.i386.rpm
-- mysql-devel-3.23.52-3.i386.rpm
-- mysql-3.23.52-3.i386.rpm
-- postgresql-libs-7.2.2-1.i386.rpm
-- perl-DBI-1.30-1.i386.rpm
-''で''
phpのDSO版、CLI版、CGI版、全部再インストール完了。

*作業履歴/2005-06-08 [#t2c7a14b]
*作業履歴/2005-06-08
-''pukiwikiのCGI版動作はやはり挙動がおかしい''
うちでやった時と同じように、MenuBarの更新がなぜか反映されない。
しゃーないのでDSO版php上で動かすことを基本にしよう。
-''MySQLの初期化''
 http://www.foocrane.jp/WAPS3/chapter06/section12.html
 http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html
MySQLのrootのpasswordを設定しよう。
サーバ起動時にサービス自動起動登録
 # chkconfig --level 345 mysql on
明日の夜勤でxoops入れたろー。
できれば一気にQuestionLaborも。 ←(こいつぁちょいと楽しみ
ほいで全部まとめて挙動テスト。

*作業履歴/2005-06-10 (redhat8)[#t16919c0]
*作業履歴/2005-06-10 (redhat8)
-''MySQL xoops用ユーザ、データベース追加''
 mysql> create database DBname;
 mysql> grant all privileges on DBname.* to username@localhost
     -> identified by 'password';
-''xoops インストール完了''
インストール時に設定する項目
--管理者名
--パスワード
--mailaddress
-''QuestionLabor - 失敗履歴''
06/10 4:00AM現在、Laborシリーズ配布一時停止中。
RubyとMonstuqiのインストールだけ済ませておこうかな。
ということで、まずは下記rubyパッケージ(rpm)をインストール。
 ruby-libs
 ruby
 ruby-docs
Monstuqiのパッケージ群をtarballからインストール
 libfixed-current.tar.gz
 libmondai-1.2.0-031210.tar.gz
 libglade-panda-current.tar.gz
 gtk+panda-current.tar.gz
 panda-1.2.0-031210.tar.gz
 gw-20031210.tar.gz  ※Monstuqiのサンプルプログラム
これらをコンパイルする為に、下記の開発系パッケージ(rpm)が必要
 gtk+-devel-1.2.10-22.i386.rpm	(←こっからgtk+pandaのconfigureで
 ORBit-devel-0.5.13-5.i386.rpm
 imlib-devel-1.9.13-9.i386.rpm
 esound-devel-0.2.28-1.i386.rpm
 gnome-libs-devel-1.4.1.2.90-22.i386.rpm
 XFree86-devel-4.2.0-72.i386.rpm
 indent-2.2.8-3.i386.rpm
 glib-devel-1.2.10-8.i386.rpm
 libtiff-devel-3.5.7-7.i386.rpm
 libungif-devel-4.1.0-13.i386.rpm
 audiofile-devel-0.2.3-3.i386.rpm
 pkgconfig-0.12.0-3.i386.rpm
 libghttp-devel-1.0.9-5.i386.rpm	(←たぶんlibfixedあたりのconfigureで
 libxml-devel-1.8.17-5.i386.rpm	(←libglade-pandaのconfigureで
 libxml2-devel-2.4.23-1.i386.rpm	(←libglade-pandaのconfigureで
そしてそれぞれ下記繰り返し
 $ ./configure; make; make check;
 $ su
 # make install
 
しかし、pandaのmake中に下記エラーでコケる。
 ./enum: error while loading shared libraries: libglade-panda-gnome.so.0: 
 cannot open shared object file: No such file or directory
原因は/usr/local/lib がldconfigの対象になっていなかったこと。
※参考: http://www.atmarkit.co.jp/flinux/rensai/linuxtips/300sharelib.html
 # vi /etc/ld.so.config
      に/usr/local/libを追記
 # ldconfig
してからmakeしたら、コンパイル完了!長かった(´Д`)
-''FSwiki''
-- bbs2,bbs2list プラグインの動作確認
上等。
--calender,recentcalender プラグインの動作確認
セクションの部分表示がうまくいかない。
brプラグインを導入(本家プラグイン投稿ページから持ってくる)

*作業履歴/2005-06-14 [#hc116d4c]
**pukiwiki [#wf9aad48]
*作業履歴/2005-06-14
**pukiwiki
-''pukiwikiのスキンに機能追加''
上部のリンクに「ソース」を追加し、sourceコマンドで表示中のページのHTML整形前のテキスト生データを出力するようにした。
以下、変更箇所
--''lib/html.php''
 61行目付近 - 追加:$_LINK['source']   = "$script?cmd=source&amp;page=$r_page";
 86行目付近 - 追加:$link_source    = & $_LINK['source'];
--''skin/pukiwiki.skin.php''
 114行目付近 - 追加: <?php _navigator('source') ?> |
--''ja.lng.php''
 131行目付近 - 追加:$_LANG['skin']['source']    = 'ソース'; // HTML整形前テキスト表示

*作業履歴/2005-06-15 [#x81a7289]
**vsftpdの設定 [#n7870934]
*作業履歴/2005-06-15
**vsftpdの設定
-''ls_recurse_enable''
※参考:http://sakaguch.com/PastBBS/0024/B0012531.html
 ls_recurse_enable=YES
こいつを有効にしたので、FFFTPでいうミラーリングアップ/ダウンロードや、ディレクトリの丸ごとコピー/削除可能になりました。

*作業履歴/2005-06-20 [#g7336d12]
**ネットワーク設定 [#bac90071]
*作業履歴/2005-06-20
**ネットワーク設定
-''nameserver指定''
参考:http://search.luky.org/fol.1998/msg00838.html
参考:[[googleキーワード「ifconfig nameserver」で引っかかったクサイやつ>http://66.102.7.104/search?q=cache:h2CfSnMxdIgJ:search.luky.org/fol.1998/msg00838.html+ifconfig+dnsserver&hl=ja&lr=lang_ja]]
/etc/resolv.confに下記の記述
 # vi /etc/resolv.conf
    nameserver nameサーバのipアドレス
を加えることで、名前解決ができるようになった。
~しかーし。仕事場のproxy環境での外部へのpingはやっぱできないねぇ。
[[ここらあたり>http://66.102.7.104/search?q=cache:_rtAsMJNYrYJ:www.atmarkit.co.jp/bbs/phpBB/viewtopic.php%3Ftopic%3D5619%26forum%3D11%2618+ping+proxy&hl=ja&lr=lang_ja]]で、なぜかわかった。ICMPですか。
参考:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5619&forum=11&18

*作業履歴/2005-06-21 [#t591deab]
*作業履歴/2005-06-21
-''sshについて''
この[[サイト>http://www.kuins.kyoto-u.ac.jp/news/45/putty.html]]、しにじょーとー。
ついでに[[googleキャッシュ>http://66.102.7.104/search?q=cache:MUjthW3Du60J:www.kuins.kyoto-u.ac.jp/news/45/putty.html+putty+proxy&hl=ja&lr=lang_ja]]

*作業履歴/2005-06-22 [#z39f2092]
**postgreSQLのユーザ準備 [#pb0468ad]
*作業履歴/2005-06-22
**postgreSQLのユーザ準備
-''インストールと初期設定''
参考:([[googleキャッシュ>http://66.102.7.104/search?q=cache:hjT05aFpX1wJ:www.hellohiro.com/jdbcpostgresql.htm+postgresql+rpm&hl=ja&lr=lang_ja]]) http://www.hellohiro.com/jdbcpostgresql.htm
ユーザ:postgres
パスワード:任意
-''postgreSQLにユーザ追加''
参考:([[googleキャッシュ>http://66.102.7.104/search?q=cache:E1TlN20ThmIJ:park8.wakwak.com/~ein/dbserver.html+postgresql+rpm+passwd&hl=ja&lr=lang_ja]] http://park8.wakwak.com/~ein/dbserver.html
 $ su - postgres             <---パスワード入力
 -bash-2.05b$ createuser username  ←DB接続用のユーザ作成
 Shall the new user be allowed to create databases? (y/n) y
 Shall the new user be allowed to create more new users? (y/n) n
 CREATE USER
 -bash-2.05b$

*作業履歴/2005-06-24 [#z595a9e1]
**XOOPSとpukiwiki [#i64c0913]
*作業履歴/2005-06-24
**XOOPSとpukiwiki
-''連動したサイトがあるね''
参考:http://taketan.mydns.jp/xoops/
XOOPSとpukiwikiを連動させて記事編集ができるよう。XOOPSのモジュールとしてwikiを組み込むみたい。今度これ試してみよう。
コミュニティページとしちゃ最適な組み合わせだと思えるけど、セッティングするの大変そう。。。
**pukiwiki - calendar_viewerで表示される記事の設定 [#fc49fb54]
**pukiwiki - calendar_viewerで表示される記事の設定
-''plugin/calendar_viewer''
記事タイトル表示がh1でなされているので、h2にした。
 171行目                 $head   = '<h2>' . $link . '</h2>' . "\n";
-''skin/pukiwiki.css.php''
75行目ぐらいから
--h1とh2を分ける。
--paddingの数値を減らす。
--h2、h3のmarginを変更する。
&br;
-''plugin/article.inc.php''
articleプラグインで簡易掲示板を設置するに当たり、articleプラグインに下記の修正を加えた。
 34行目 define('PLUGIN_ARTICLE_AUTO_BR',        0); // 改行を自動的変換 1:する 0        :しない
 61行目         $article  = $subject . "\n" . '>' . $name . ' (' . $now . ')'. "        ~\n";

*作業履歴/2005-06-27 [#t7d6ea0d]
**Xoopsとpukiwikiモジュール [#i93f5354]
*作業履歴/2005-06-27
**Xoopsとpukiwikiモジュール
-''pukiwikiモジュールを追加''
[[Xoopsの日本語サイトのモジュールページにてwikiモジュールの紹介>http://xoops.sourceforge.jp/wiki/xoops2/index?ETC%2F%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB%BE%F0%CA%F3%2Fwiki]]があります。
そこにあるB-wikiというモジュールは、Built in pukiwikiの略で、pukiwikiをXoops内部に取り込む為のモジュール。
これを使えばかなりコミュニティページとしての機能が揃いそう。
[[開発者のページ>http://ishii.mydns.jp/]]のアナウンスによると本家pukiwikiの1.4.5に対応しているとのこと。
pukiwikiは1.4.2-->1.4.3以降で仕様に大きな変更がかかっているので、1.4.5対応でよかった。
でもかなりコードに手を加えてるらしいので、本家版とは別物と考えた方がいいよう。
プラグインに関しても、本家版のままでは動かないものも一部あるかもしれないとのこと。
~でも実際インストールしてみた感じ、かなり使い勝手良くなりそう。
Xoops+B-wikiでサイト作りこんでいいと思われる。

-''やった作業''
++B-wikiモジュールを、開発サイトの説明に従ってxoopsにインストール。
++各種設定&amp;bwikiをxoopsのトップページになるようにブロック設定。
++kifubbsの各種ファイルをbwikiのpluginに追加。
++kifubbsのスタイルシートをbwikiのskin/pukiwiki.css.phpに追記。
&br;
-''やり残しの作業''
--kifubbsの投稿フォームを下部に移動しよう。
そしてそれに伴う配置調整。

*作業履歴/2005-06-29 [#u01f987c]
**xoops B-wiki [#pc5adb38]
*作業履歴/2005-06-29
**xoops B-wiki
-''skin/pukiwiki.css.phpに下記修正''
 [user@localhost dir]$ diff original/pukiwiki.css.php xoopsdir/modules/bwiki/skin/pukiwiki.css.php
 98,104c98,112
 < h1, h2 {
 <       font-family:verdana, arial, helvetica, Sans-Serif;
 <       color:inherit;
 <       background-color:#DDEEFF;
 <       padding:.3em;
 <       border:0px;
 <       margin:0px 0px .5em 0px;
 ---
 > h1 {
 >         font-family:verdana, arial, helvetica, Sans-Serif;
 >         color:inherit;
 >         background-color:#DDEEFF;
 >         padding:.3em;
 >         border:0px;
 >         margin:0px 0px .5em 0px;
 > }
 > h2 {
 >         font-family:verdana, arial, helvetica, Sans-Serif;
 >         color:inherit;
 >         background-color:#DDEEFF;
 >         padding:.2em;
 >         border:0px;
 >         margin:0px 0px .5em 0px;
 107,116c115,124
 <       font-family:verdana, arial, helvetica, Sans-Serif;
 <       border-bottom:  3px solid #DDEEFF;
 <       border-top:     1px solid #DDEEFF;
 <       border-left:   10px solid #DDEEFF;
 <       border-right:   5px solid #DDEEFF;
 <
 <       color:inherit;
 <       background-color:#FFFFFF;
 <       padding:.3em;
 <       margin:0px 0px .5em 0px;
 ---
 >         font-family:verdana, arial, helvetica, Sans-Serif;
 >         border-bottom:  2px solid #DDEEFF;
 >         border-top:     0px solid #DDEEFF;
 >         border-left:   10px solid #DDEEFF;
 >         border-right:   0px solid #DDEEFF;
 >
 >         color:inherit;
 >         background-color:#FFFFFF;
 >         padding:.1em;
 >         margin:0px 0px .5em 0px;
 119,120c127,128
 <       font-family:verdana, arial, helvetica, Sans-Serif;
 <       border-left:   18px solid #DDEEFF;
 ---
 >         font-family:verdana, arial, helvetica, Sans-Serif;
 >         border-left:   18px solid #DDEEFF;
 122,125c130,133
 <       color:inherit;
 <       background-color:#FFFFFF;
 <       padding:.3em;
 <       margin:0px 0px .5em 0px;
 ---
 >         color:inherit;
 >         background-color:#FFFFFF;
 >         padding:.2em;
 >         margin:0px 0px .5em 0px;
 128,133c136,141
 <       font-family:verdana, arial, helvetica, Sans-Serif;
 <       color:inherit;
 <       background-color:#DDEEFF;
 <       padding:.3em;
 <       border:0px;
 <       margin:0px 0px .5em 0px;
 ---
 >         font-family:verdana, arial, helvetica, Sans-Serif;
 >         color:inherit;
 >         background-color:#DDEEFF;
 >         padding:.2em;
 >         border:0px;
 >         margin:0px 0px .5em 0px;
 675a684,895
 > /*
 >  * ここからkifubbs用の設定
 >  */
 >
 > div.kifubbs form.post div.postform{
 >       clear: both;
 >       margin: 15px 50px 0px 50px;
 >       padding: 8px;
 >       text-align: right;
 >       font-size: smaller;
 > }
 >
 > div.kifubbs form.post div.postform span.postform_attension
 > {
 >       color: #FF99BE;
 > }
 >
 > div.kifubbs form.post div.postform script span.message
 > {
 > }
 >
 > div.kifubbs hr
 > {
 >       display: none;
 > }
 >
 > div.kifubbs div.column
 > {
 >       clear: both;
 >       margin: 30px 50px 0px 50px;
 >       padding: 15px 30px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 1px;
 >       background-color: white;
 > }
 >
 > div.kifubbs div.withgoban
 > {
 >       height: 440px;
 > }
 >
 > div.kifubbs div.column h2
 > {
 >       margin-right: 1em;
 >       background-color: transparent;
 >       font-size: smaller;
 >       font-weight: bolder;
 >       display: inline;
 > }
 >
 > div.kifubbs div.column span.name,
 > div.kifubbs div.column span.mail,
 > div.kifubbs div.column span.url,
 > div.kifubbs div.column span.number,
 > div.kifubbs div.column span.timestamp,
 > div.kifubbs div.column span.res,
 > div.kifubbs div.column span.ipaddress{
 >       font-size: smaller;
 > }
 >
 > div.kifubbs p.goban{
 >       margin: 15px 0px 15px 8px;
 >       padding: 0px;
 >       background-color: white;
 >       float: right;
 >       width: 310px;
 > }
 >
 > div.kifubbs p.goban span.warning{
 >       color: #FF99BE;
 > }
 >
 > div.kifubbs div.column p.text
 > {
 > }
 >
 > div.kifubbs div.column div.subcolumn
 > {
 >       margin: 15px 0px 0px 50px;
 >       padding: 15px 0px 0px 0px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 1px 0px 0px 0px;
 > }
 >
 > div.kifubbs div.column div.withgoban
 > {
 >       clear: both;
 >       height: 410px;
 > }
 >
 > div.kifubbs div.column div.subcolumn span.name,
 > div.kifubbs div.column div.subcolumn span.mail,
 > div.kifubbs div.column div.subcolumn span.url,
 > div.kifubbs div.column div.subcolumn span.number,
 > div.kifubbs div.column div.subcolumn span.timestamp,
 > div.kifubbs div.column div.subcolumn span.res,
 > div.kifubbs div.column div.subcolumn span.ipaddress{
 > }
 >
 > div.kifubbs div.column div.subcolumn p.text
 > {
 > }
 >
 > div.kifubbs form.pagelist{
 >       clear: both;
 >       margin: 0px 0px 0px 0px;
 >       padding: 5px 0px 0px 5px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 0px;
 >       background-color: #efefff;
 >       text-align: right;
 > }
 >
 > div.kifubbs form.searchform{
 >       clear: both;
 >       margin: 15px 50px 0px 50px;
 >       padding: 15px 30px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 1px;
 >       background-color: white;
 >       text-align: right;
 >       font-size: smaller;
 > }
 >
 > div.kifubbs form.pagelist div.pagelist,
 > div.kifubbs form.searchform p.searchform{
 >       display: inline;
 >       margin: 0px 0px 0px 0px;
 >       padding: 0px;
 >       font-size: smaller;
 > }
 >
 > div.kifubbs form.command div.commandform{
 >       clear: both;
 >       margin: 0px 0px 0px 0px;
 >       padding: 0px 5px 5px 0px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 0px;
 >       background-color: #efffef;
 >       text-align: right;
 >       font-size: smaller;
 > }
 >
 > div.kifubbs p.message{
 >       margin: 15px 50px 0px 50px;
 >       padding: 8px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 1px;
 >       background-color: white;
 >       font-size: smaller;
 >       color: #666666;
 > }
 >
 > div.kifubbs p.warning{
 >       margin: 15px 50px 0px 50px;
 >       padding: 8px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 1px;
 >       background-color: white;
 >       font-size: smaller;
 >       color: #FF99BE;
 > }
 >
 > div.kifubbs ol.threadlist{
 >       margin: 15px 50px 0px 50px;
 >       padding: 8px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 1px;
 >       background-color: white;
 >       font-size: smaller;
 > }
 >
 > div.kifubbs ol.threadlist li{
 >       display: inline;
 >       margin-right: 1em;
 > }
 >
 > div.kifubbs ol.allthreadlist,
 > div.kifubbs ul.searchlist{
 >       margin: 15px 50px 0px 50px;
 >       padding: 8px;
 >       border-style: solid;
 >       border-color: #cccccc;
 >       border-width: 1px;
 >       background-color: white;
 >       padding: 15px 30px 15px 50px;
 > }
 >
 > h2.new_post{
 >       text-align:center;
 >       background-color:#dfffdf;
 > }
 >
 > div.bbs_thread_title{
 >       background-color:#dddddd;
 >       padding:2px 2px 2px 2px;
 >       margin-bottom:3px;
 > }
 >
 > /*
 >  * kifubbs ここまで
 >  * これだけが全てではないが、これだけあればほとんどのことができるはず。
 >  */
 >
-''skin/pukiwiki.skin.phpに修正''
 [user@localhost dir]$ diff original/pukiwiki.skin.php xoopsdir/modules/bwiki/skin/pukiwiki.skin.php
 96a97,98
 > <!--
 >
 159a162,163
 > -->
 >
-''plugin/kifubbs/display.inc.phpに下記修正''
 [user@localhost dir]$ diff original/plugin/kifubbs/display.inc.php.ORG xoopsdir/modules/bwiki/plugin/kifubbs/display.inc.php
 71c71,74
 <               $ret  = $this->get_warning();
 ---
 >               $ret = $this->newpost_anchor();
 >               $ret .= $this->get_pagelist();
 >               $ret .= $this->get_commandform();
 >               $ret .= $this->get_warning();
 76d78
 <               $ret .= $this->get_postform('new');
 78d79
 <               $ret .= $this->get_pagelist();
 80c81,82
 <               $ret .= $this->get_commandform();
 ---
 >               $ret .= $this->get_pagelist();
 >               $ret .= $this->get_postform('new');
 175a178,187
 >        * 新規投稿へのアンカーを表示
 >        */
 >       function newpost_anchor()
 >       {
 >               $str = '<a href="#bbs_new_post">新規投稿はここをクリック</a>' . "\n";
 >               return $str;
 >       }
 >
 >
 >       /**
 231d242
 <               $str[] = '<hr />';
 233c244
 <               $str[] = '<p class="pagelist">';
 ---
 >               $str[] = '<div class="pagelist">';
 236a248
 >                       $str[] = '&lt;&lt;&nbsp;ページ繰り&nbsp;&gt;&gt;';
 239c251
 <               $str[] = '<select name="kifubbs_page">';
 ---
 >               $str[] = '&nbsp;&nbsp;&nbsp;もしくは&nbsp;&nbsp;&nbsp;<select name="kifubbs_page">';
 242c254
 <                               $str[] = '<option selected="selected">' . $i . '</option>';
 ---
 >                               $str[] = '<option value="' . $i . '" selected="selected">' . $i . '</option>';
 249,250c261,262
 <               $str[] = '<input type="submit" name="kifubbs_command" value="Jump" />';
 <               $str[] = '</p>';
 ---
 >               $str[] = 'ページ目へ<input type="submit" name="kifubbs_command" value="Jump" />';
 >               $str[] = '</div>';
 263a276
 > /*
 276a290,291
 > */
 >               return;
 291d305
 <               $str[] = '<hr />';
 293c307
 <               $str[] = '<p class="commandform">';
 ---
 >               $str[] = '<div class="commandform">';
 295c309
 <               $str[] = 'number <input type="text" name="kifubbs_num" value="" size="6" />';
 ---
 >               $str[] = '記事番号 <input type="text" name="kifubbs_num" value="" size="6" />';
 297c311
 <                       $str[] = 'key <input type="password" name="kifubbs_key" value="' . $key . '" size="10" />';
 ---
 >                       $str[] = '再編集キー <input type="password" name="kifubbs_key" value="' . $key . '" size="10" />';
 300,301c314,315
 <               $str[] = '<option value="showrewrite" selected="selected">rewrite</option>';
 <               $str[] = '<option value="delete">delete</option>';
 ---
 >               $str[] = '<option value="showrewrite" selected="selected">記事編集</option>';
 >               $str[] = '<option value="delete">記事削除</option>';
 303,304c317,318
 <               $str[] = '<input type="submit" value="submit" />';
 <               $str[] = '</p>';
 ---
 >               $str[] = '<input type="submit" value="送信" />';
 >               $str[] = '</div>';
 477c491,494
 <
 ---
 >               if($cmd == 'new') {
 >                       $str[] = "<br />\n";
 >                       $str[] = "<h2 class=\"new_post\"><a name=\"bbs_new_post\">新規投稿フォーム</a></h2>\n";
 >               }
 489c506
 <               $str[] = 'password <input type="password" name="kifubbs_key" value="' . $key . '" maxlength="10" size="10" /><br />';
 ---
 >               $str[] = '再編集キー<input type="password" name="kifubbs_key" value="' . $key . '" maxlength="10" size="10" /><br />';
 494c511
 <               $str[] = '<input type="submit" value="submit" />';
 ---
 >               $str[] = '<input type="submit" value="投稿" />';
 544a562
 >                       $str[] = "<div class=\"bbs_thread_title\">\n";
 557c575,578
 <                       $str[] = '<span class="res"><input type="hidden" name="kifubbs_resto" value="' . $col->num . '" /><input type="hidden" name="kifubbs_command" value="showres" /><input type="submit" value="返信" /></span>';
 ---
 >                       $str[] = "</div>\n";
 >               }
 >               if($ismain){
 >                       $str[] = '<div class="res" align="right"><input type="hidden" name="kifubbs_resto" value="' . $col->num . '" /><input type="hidden" name="kifubbs_command" value="showres" /><input type="submit" value="このスレッドに返信" /></div>';
 630c651
 < ?>
 \ No newline at end of file
 ---
 > ?>

*作業履歴/2005-06-30 [#p6b259a2]
*作業履歴/2005-06-30
-''well known port''
参考:
 ([[googleキャッシュ>http://66.102.7.104/search?q=cache:LUliC-8QVAQJ:www.asi.co.jp/techinfo/unix/tcp.html+well+known+port+dhcp&hl=ja&lr=lang_ja]]) - http://www.asi.co.jp/techinfo/unix/tcp.html
 ([[googleキャッシュ>http://66.102.7.104/search?q=cache:-hSy2pAizFsJ:document.othersight.jp/notes/broadband/knownports.html+well+known+port+https&hl=ja&lr=lang_ja]]) - http://document.othersight.jp/notes/broadband/knownports.html

**redhat8 [#ffec0e50]
**redhat8
-''samba - smb.confをいじってみた''
参考:http://www.jp.redhat.com/manual/Doc80/RH-DOCS/rhl-cg-ja-8.0/s1-samba-configuring.html 
 ([[googleキャッシュ>http://66.102.7.104/search?q=cache:fUC63hDBC2MJ:www.tcn.zaq.ne.jp/gara_k/pc_unix/pc_unix_006.htm+redhat+smb&hl=ja&lr=lang_ja]]) - http://www.tcn.zaq.ne.jp/gara_k/pc_unix/pc_unix_006.htm
 ([[googleキャッシュ>http://66.102.7.104/search?q=cache:1wdHlqY9UVIJ:www.aconus.com/~oyaji/samba/samba.htm+redhat+smb&hl=ja&lr=lang_ja]]) - http://www.aconus.com/~oyaji/samba/samba.htm
smb.confの「browseable」って、エクスプローラ上で対象フォルダの表示/非表示を切り替えてるだけなんだね。
フルパスでのアクセスは、smb.confに書いてあってsmbデーモンが起動してればbrowseableに無関係でできるよう。
~それから、smb.conf中のパラメータで使う%Uはアクセスしてるクライアント端末(windows)のログオンユーザのことみたい。
&br;
-''ntp - ntpdateで時刻同期''
参考:([[googleキャッシュ>http://66.102.7.104/search?q=cache:gM4FG2G9gtoJ:www.mnet.ne.jp/~angie/exp/redhat-linux9.html+redhat+ntp+%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3&hl=ja&lr=lang_ja]]) - http://www.mnet.ne.jp/~angie/exp/redhat-linux9.html
仕事場で使ってるツールで「サクラ時計」というのがあり。
それで指定してるnameserverにredhat8端末も時刻同期しましょう。
 # ntpdate hogehoge.name.server
コマンドとしてはこれでOK。cronとかで定期的に走らせてやればバッチリ。

**xoops [#mf69840d]
**xoops
-''レイアウト修正''
--テーマをdefaultに。
--modules/news/templates/blocks/news_block_new.htmlで、
トップページのニュース表示を日付が頭に来るように編集。
その後モジュールのアップデートをしないと反映されないらしい。
--下記の極悪な配色決め打ちのbgcolor属性を削除。
 templates_c/%%02^02D^02DF536F%%theme.html.php中の
 <td width="20%" bgcolor="#EFEFEF">
※ROOT/theme/配下を変更しても見栄えが変わらないのは、systemモジュールの設定でthemeに関する項目の影響があるかも。
そこを「反映する」ようにしておけば即座に変更がtemplates_c/に反映されるんだはず。
--検索フォームの修正
 xoopsdir/modules/system/templates/blocks/system_block_search.html
を編集。
--Q&Aの頭に検索フォームを。
--B-wikiのヘッドに新着告知事項を。
--xoopsスタートは告知事項に。余計なモンは省いた。
-''B-wiki''
skin/pukiwiki.css.phpで、searchform・pagelist・commandformのdivスタイルは同じにした法がいいことに気づく(色だけ変える)
また、plugin/kifubbs/display.inc.phpの中でcommandformがcommandになってる部分発見。

*作業履歴/2005-07-04 [#dec54210]
**gvim [#q3932c4f]
*作業履歴/2005-07-04
**gvim
-''autodate''
参考:([[googleキャッシュ>http://66.102.7.104/search?q=cache:WY6hZXHT6UIJ:members.jcom.home.ne.jp/advweb/build/vim/autodate_vim.html+vim+plugin+autodate&hl=ja&lr=lang_ja]]) -  http://members.jcom.home.ne.jp/advweb/build/vim/autodate_vim.html
俺のクライアントで使ってるvimのplugin「autodate」が効かねぇ(ノД`)
どういうこっちゃ。ハラタツー><

----
>この辺から、すでにCentOSだはず。
----

*作業履歴/2005-07-11 [#y367f967]
**CentOS各種設定 [#jb60864b]
*作業履歴/2005-07-11
**CentOS各種設定
-''VNCserver''
参考:([[googleキャッシュ>http://66.102.7.104/search?q=cache:VfJXiOqxgF0J:u-mex.plala.jp/index2.php%3FCentOS+CentOS+vnc&hl=ja&lr=lang_ja]]) - http://u-mex.plala.jp/index2.php?%27%27vnc-server%A4%CE%C0%DF%C4%EA%27%27
OSインストール直後のままユーザ作ってそのままvncserverコマンドやっちゃうと、twnでデスクトップが立ち上がってしまう。
そこで上記URLを参考に、ユーザにスケルトンを用意しておくことにした。
 # switchdesk GNOME
 # mkdir /etc/skel/.vnc
 # cp /etc/X11/xinit/xinitrc /etc/skel/.vnc/
これで、どのユーザでもvncserverコマンドを実行した時にはGNOMEデスクトップがVNCserverで起動される。
あとは適切なディスプレイ番号にVNCclientでアクセスすればOK。


*作業履歴/2005-07-20 [#pe92da8e]
**CentOS [#hdc29d68]
*作業履歴/2005-07-20
**CentOS
-''システムデフォルト文字コードと less と lv''
参考:http://www.jp.redhat.com/FAQ/index_support_2.html#17
 /etc/sysconfig/i18n
   LANG="ja_JP.eucJP"
   SUPPORTED="ja_JP.eucJP:ja_JP.UTF-8:ja_JP.SJIS:ja_JP:ja:en_US.UTF-8:en_US:en"
   SYSFONT="latarcyrheb-sun16"
 /etc/man.config
   # PAGER         /usr/bin/less -iRs
   PAGER           /usr/bin/lv -i
と編集してeuc-jpをシステムデフォルト文字コードに。
さらにlv-4.51-5.i386.rpmをferora core4のパッケージから持ってきてインストール。
less をlvにシンボリックリンクしてしまえ。
 # mv /usr/bin/less /usr/bin/less.ORG
 # ln -s /usr/bin/lv /usr/bin/less

*作業履歴/2005-07-22 [#z6f561a0]
**CentOS [#x0f2cebe]
*作業履歴/2005-07-22
**CentOS
-''SElinux''
参考:([[googleキャッシュ>http://66.102.7.104/search?q=cache:kf8jb7nKfYsJ:www.tomo.ac/goodstream/fedoracore/selinux/tips.html+selinux+config&hl=ja&lr=lang_ja]]) - http://www.tomo.ac/goodstream/fedoracore/selinux/tips.html
 // 有効/無効を確認するコマンド
 # getenforce
 // 有効/無効をセットするコマンド
 # setenforce 1
 # setenforce 0
 // 起動時の有効/無効を設定するファイル
 /etc/selinux/config

**ちょいメモ [#f41d3ac2]
**ちょいメモ
-''gvim''
プラグイン等の変数設定状況の確認は
 :let
また、[[kaoriya>http://www.kaoriya.net/]]版gvimには便利なコマンド
 CdCurren
がある。([[参考>http://www.kaoriya.net/bbs/bbs.cgi?bbs=bbs&article=1502]])
カレントディレクトリを現在開いているファイルのあるところに移動するそうな。
&br;
-''gvim - IEのソース表示に別エディタを設定する''
参考:([[googleキャッシュ>http://66.102.7.104/search?q=cache:pxuD16PJHCUJ:www.atmarkit.co.jp/fwin2k/win2ktips/286iesourceview/iesourceview.html+IE+%E3%82%BD%E3%83%BC%E3%82%B9&hl=ja&lr=lang_ja]]) - http://www.atmarkit.co.jp/fwin2k/win2ktips/286iesourceview/iesourceview.html
IEのソース表示にgvimを設定してみた。
 ・[[google>http://www.google.co.jp/]]はUTF-8のようだが、ちゃんとコード変換して表示してくれた。
 ・[[pukiwiki.sourceforge.jp>http://pukiwiki.sourceforge.jp/]]もUTF-8で変換表示に問題なし。
 ・[[FSwiki>http://fswiki.poi.jp/wiki.cgi]]もeuc-jpで変換表示に問題なし。
 ・しかし。xoopsのソース表示のeuc-jpをちゃんと判別してくれない(ノД`)
なんでや。

*作業履歴/2005-07-26 [#bfd40993]
**xoops [#o08f06d6]
*作業履歴/2005-07-26
**xoops
-''Newsモジュールのテンプレート編集''
テンプレートに手を加えて、表示記事が無い場合にはその旨の文言を表示するように設定。
--''編集対象:news_index.html
  <!-- start news item loop -->
 +<{if $stories > 0}>
    <{section name=i loop=$stories}>
 〜
 〜
    <{/section}>
 +<{else}>
 +<div align="center" style="font-weight:900;font-size:15px;">■表示する記事がありません■</div>
 +<br />
 +<br />
 +<br />
 +<{/if}>
  <!-- end news item loop -->

*作業履歴/2005-07-29 [#b49736e7]
**PHPスクリプト [#t7ceaf98]
*作業履歴/2005-07-29
**PHPスクリプト
-''ニュース記事の掲載内容プリントアウトのスクリプト''
装飾タグの解釈方法について、xoopsコードからパクってこれないか調べてみた。
--''まずはとっかかり''
 $ find ./ -name "*.php" | xargs grep -n "xx-large"
あたり出力結果から 
 ./include/xoopscodes.php:42:    $sizearray = array("xx-small", "x-small", "small
がクサイと思った。
が、ここでは配列しか定義してなかったので、今度はsizearrayを使ってるファイルを探す。
 $ find ./ -name "*.php" | xargs grep -n "sizearray"
が、これは見当違いだった。
--''別の切り口''
でも「xoopscodes.php」はポイントになるキーワードだと考え、[[日本xoops公式サイト>http://jp.xoops.org/]]にて「xoopscode」で検索。
フォーラムの「''自作モジュールの中でXoopsのエディターを使いたい''」というスレッドにてミソになってそうな関数「MyTextSanitizer()」を見つけた。
--''ビンゴ''
 $ find ./ -name "*.php" | xargs grep -n "MyTextSanitizer"
 〜略〜
 ./class/module.textsanitizer.php:44:class MyTextSanitizer
 〜略〜
で大当たりだった。
この関数をパクって、装飾タグを変換するようにコーディングしてみよう。
&br;

*作業履歴/2005-08-04 [#q75eb99f]
**shift-jisで書かれたweb文書ディレクトリの全文検索について [#b6cbe21a]
*作業履歴/2005-08-04
**shift-jisで書かれたweb文書ディレクトリの全文検索について
-''namazuを使えるか?''
namazuを使って全文検索ができるかどうか。
--CentOS版のnamazuパッケージ要確認。
--namazuでの検索が複数文字コードに対応しているかどうか
&br;
-''Hyper Estraier''
[[この辺>http://slashdot.jp/articles/05/05/17/073207.shtml?topic=49]]([[googleキャッシュ>http://66.102.7.104/search?q=cache:DG_IXDvNUAcJ:slashdot.jp/articles/05/05/17/073207.shtml%3Ftopic%3D49+linux+namazu+shift-jis&hl=ja&lr=lang_ja]])より、namazuはわりと古いとか
そこでHyper Estraierってやつを試してみようかー?なんて思った。
でもちょいと導入に一手間要りそう。configure通ったのにmakeで失敗しよったよ(ノД`)
明日にでもやり直してみるか。

**ちょいメモ [#x8488285]
**ちょいメモ
-''phpでaccessのmdbを開けるか? - 続き''
方法としては、以下2点がある模様。
++''PHP5のWindows版でCOM extentionを使う''
参考:[[googleキャッシュ>http://66.102.7.104/search?q=cache:nmAWMicflmUJ:php.planetmirror.com/manual/ja/ref.com.php+php+access+mdb&hl=ja&lr=lang_ja]]  - http://php.planetmirror.com/manual/ja/ref.com.php
''必要な条件'':
mdbを置いてあるWinサーバ上にPHP5が置いてあること。
そのPHP5のアウトプットを受け取れること。
&br;
++''ODBC経由でアクセスする''
参考:[[googleキャッシュ>http://66.102.7.104/search?q=cache:_MZu56WYTT4J:www.doblog.com/weblog/myblog/33111%3FSTYPE%3D1%26KEY%3D62708+php+access+mdb&hl=ja&lr=lang_ja]] - http://www.doblog.com/weblog/myblog/33111?STYPE=1&KEY=62708
参考:[[googleキャッシュ>http://66.102.7.104/search?q=cache:y5korf6l-9EJ:www.atmarkit.co.jp/bbs/phpBB/viewtopic.php%3Ftopic%3D9874%26forum%3D10%261+php+access+mdb+odbc_connect&hl=ja&lr=lang_ja]] - http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9874&forum=10&1
''必要な条件'':
mdbを置いてあるWinサーバ上で、ODBC経由で該当mdbファイルへのアクセスができるように設定されていること。
該当WinサーバのODBC接続用のポートが開かれていること。
&br;
-上記のような言い方で当たってるのかどうかもわからんけど。
なんとなくこんな感じだはず。
ほんとにこの件が必要、もしくは有用なら、突っ込んで実験してみよう。

*作業履歴/2005-08-05 [#n8621172]
**全文検索について [#t0c45cb6]
*作業履歴/2005-08-05
**全文検索について
-''Hyper Estraier''
コンパイル失敗するのは何かのライブラリが足りないからっぽい。
slocateで見てみるとlibiconvがないでやんの。
配布ミラー見てもCentOSのパッケージにlibiconvはないっぽい。
そこでlibiconv1.9.1を http://www.gnu.org/software/libiconv/ から持って来てコンパイル/インストール。
それからHyper Estraierを再コンパイル。
おっけぃ通った(・∀・)b
そして検索できた!!


*作業履歴/2005-08-08 [#e37be29e]
**phpスクリプト [#ke604cb8]
*作業履歴/2005-08-08
**phpスクリプト
-''xoopsニュースモジュールの記事をのExcel出力''
参考:http://ns1.php.gr.jp/pipermail/php-users/2003-February/013654.html
参考:([[googleキャッシュ>http://64.233.179.104/search?q=cache:kYduUwdT4lQJ:www.fukulog.com/memo/2005-07-06-9.html+php+excel&hl=ja&lr=lang_ja]] ) - http://www.fukulog.com/memo/2005-07-06-9.html
参考:http://www.doyouphp.jp/sample/sample_ora_excel.shtml
PEARにExcelファイルとして出力するようなclass(Spreadsheet_Excel_Writer)があるそうな。
こいつに取り組んでみよう。
--''Spreadsheet_Excel_Writerのインストール''
PEARが入ってれば、PEARコマンドでインストールできる。
依存性の解決の為にOLEってやつも併せてインストール。
 [root@localhost bin]# pear list
 Installed packages:
 ===================
 Package              Version State
 Archive_Tar          1.1     stable
 Console_Getopt       1.2     stable
 HTML_Template_IT     1.1     stable
 Net_UserAgent_Detect 2.0.1   stable
 PEAR                 1.3.5   stable
 XML_RPC              1.2.2   stable
 [root@localhost bin]# pear install /home/user/pack/tarball/Spreadsheet_Excel_Writer-0.8.tgz
 requires package `OLE' >= 0.5
 Spreadsheet_Excel_Writer: Dependencies failed
 [root@localhost bin]# pear install /home/user/pack/tarball/OLE-0.5.tgz
 install ok: OLE 0.5
 [root@localhost bin]# pear install /home/user/pack/tarball/Spreadsheet_Excel_Writer-0.8.tgz
 install ok: Spreadsheet_Excel_Writer 0.8
 [root@localhost bin]# pear install /home/user/pack/tarball/Spreadsheet_Excel_Writer-0.8.tgz
 Spreadsheet_Excel_Writer already installed

-''csv出力''
とりあえず、やったことがあるからラクチンっていうことで、Excelファイル出力よりも先にcsv形式での出力を実装。
こんなんなった。
 <?php
 
 // 全体用変数定義
 	$site_IP = "x.x.x.x";
 	$site_URL = "http://$site_IP/group/";
 
 	$mode = $_REQUEST['mode'];
 
 //////////////////////////////////////////////
 // スクリプト本体
 
 	$xoopsDB = mysql_connect("localhost","dbuser","xoops_DB") or die("接続できませんでした");
 	mysql_select_db("DBname") or die("データベースを選択できませんでした");
 
 	// 登録ユーザ配列準備
 	$result =  mysql_query("select * from group_users");
 	while ( $line = mysql_fetch_array($result, MYSQL_ASSOC) ){
 		$num = $line[uid];
 		$user[$num] = $line[name];
 	}
 
 	// story配列から必要データを抽出
 	$result =  mysql_query("select * from group_stories order by published");
 	while ( $line = mysql_fetch_array($result, MYSQL_ASSOC) ){
 		// print_r($line);
 		$story_data[] = layout_table_data($line,$user,$mode);
 	}
 
 	mysql_close($xoopsDB);
 
 	// データをアウトプット(モードによって振り分け)
 	// mode : "csv", "default"
 	switch ( $mode ){
 	case "csv":
 		array_push($story_data,mb_convert_encoding("連絡開始日,連絡終了日,記述者,連絡事項\n", "SJIS-WIN", "EUC-JP"));
 		$story_data = array_reverse($story_data);
 		$filename = date("Ymd_His")."morning.csv";
 		header("Content-disposition: attachment; filename=$filename");	
 		header("Content-Type: application/octet-stream; name=$filename");
 		foreach($story_data as $tmp){
 			echo $tmp;
 		}
 		break;
 	default:
 		array_push($story_data,layout_table_title());
 		$story_data = array_reverse($story_data);
 		header("Content-Type: text/html;charset:EUC-JP");
 		echo header_output($site_URL);
 
 		foreach($story_data as $tmp){
 			echo $tmp;
 		}
 		echo footer_output();
 	}
 
 
 
 //////////////////////////////////////////////
 //////////////////////////////////////////////
 // レイアウト用記述部分
 
 //////////////////////////////////////////////
 // ヘッダ〜ボディを生成
 
 	function header_output($site_URL){
 		$str = <<<HTML_END
 <html>
 <head>
 <title>あるニュース記事</title>
 <link rel="stylesheet" type="text/css" media="screen,print" href="./print_out.css" />
 </head>
 <body>
 [<a href="$site_URL">groupページへ戻る</a>]
 <h1 class="morning_title" align="center">ニュース記事</h1>
 <table border="0" cellpadding="0" cellspacing="0">
 
 HTML_END;
 		return $str;
 	}
 
 
 //////////////////////////////////////////////
 // テーブル・ボディ・HTML閉じ
 
 	function footer_output(){
 		$str = <<<HTML_END
 
 </table>
 </body>
 </html>
 HTML_END;
 		return $str;
 	}
 
 //////////////////////////////////////////////
 // テーブルの項目タイトル部分
 
 	function layout_table_title(){
 		$str = <<<HTML_END
 
 	<tr class="tr_terms">
 		<th align="center" width="50">開始日</th>
 		<th align="center" width="50">終了日</th>
 		<th align="center" width="80">記述者</th>
 		<th align="center" >連絡事項</th>
 	</tr>
 
 HTML_END;
 		return $str;
 	}
 
 //////////////////////////////////////////////
 // 各データの表示テーブル
 
 	function layout_table_data($line,$user,$mode){
 		$now_time = time();
 		$num = $line[uid];
 		if( empty($line[expired]) || ( $line[topicid] == "2" && $now_time > $line[published] && $now_time < $line[expired] ) ){
 			switch ($mode){
 			case "csv":
 				$data = date("n月j日",$line[published]).",";
 				$data .= date("n月j日",$line[expired]).",";
 				$data .= $user[$num].",";
 				$line_tmp = xoopsCodeDecode($line[hometext],1);
 				$line_tmp = ereg_replace("\r\n","[     ]",str_replace(",",",",$line_tmp));
 				$line_tmp = ereg_replace("<[^>]+>","",$line_tmp);
 				$data .= $line_tmp;
 				$line_tmp = xoopsCodeDecode($line[bodytext],1);
 				$line_tmp = ereg_replace("\r\n","",str_replace(",",",",$line_tmp));
 				// $line_tmp = ereg_replace("<.+>","",$line_tmp);
 				$data .= $line_tmp."\n";
 				$data = mb_convert_encoding($data,"SJIS-WIN", "EUC-JP");
 				break;
 			default:
 				$data = "\t<tr>\n";
 				$data .= "\t\t<td class=\"start\" valign=\"top\">".date("n月j日",$line[published])."<br />".date("H:i",$line[published])."</td>\n";
 				$data .= "\t\t<td class=\"end\" valign=\"top\">".date("n月j日",$line[expired])."<br />".date("H:i",$line[expired])."</td>\n";
 				$data .= "\t\t<td class=\"person\" valign=\"top\">$user[$num]</td>\n";
 				$data .= "\t\t<td class=\"message\" valign=\"top\">\n";
 				$line_tmp = xoopsCodeDecode($line[hometext],1);
 				$data .= nl2br($line_tmp)."\n<br /><br />";
 				$line_tmp = xoopsCodeDecode($line[bodytext],1);
 				$data .= nl2br($line_tmp)."\n\t\t</td>\n\t</tr>\n";
 			}
 		} else {
 			$data = "";
 		}
 		return $data;
 	}
 
 //////////////////////////////////////////////
 //////////////////////////////////////////////
 // xoopsエディタの装飾タグ変換用関数(xoopsからのパクリ
 
     function xoopsCodeDecode(&$text, $allowimage)
     {
         $patterns = array();
         $replacements = array();
         // RMV: added new markup for intrasite url (allows easier site moves)
         // TODO: automatically convert other URLs to this format if XOOPS_URL matches??
         $patterns[] = "/\[siteurl=(['\"]?)([^\"'<>]*)\\1](.*)\[\/siteurl\]/sU";
         $replacements[] = '<a href="http://'.$site_IP.'/\\2" target="_blank">\\3</a>';
         $patterns[] = "/\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU";
         $replacements[] = '<a href="\\2" target="_blank">\\3</a>';
         $patterns[] = "/\[url=(['\"]?)(ftp?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU";
         $replacements[] = '<a href="\\2" target="_blank">\\3</a>';
         $patterns[] = "/\[url=(['\"]?)([^\"'<>]*)\\1](.*)\[\/url\]/sU";
         $replacements[] = '<a href="http://\\2" target="_blank">\\3</a>';
         $patterns[] = "/\[color=(['\"]?)([a-zA-Z0-9]*)\\1](.*)\[\/color\]/sU";
         $replacements[] = '<span style="color: #\\2;">\\3</span>';
         $patterns[] = "/\[size=(['\"]?)([a-z0-9-]*)\\1](.*)\[\/size\]/sU";
         $replacements[] = '<span style="font-size: \\2;">\\3</span>';
         $patterns[] = "/\[font=(['\"]?)([^;<>\*\(\)\"']*)\\1](.*)\[\/font\]/sU";
         $replacements[] = '<span style="font-family: \\2;">\\3</span>';
         $patterns[] = "/\[email]([^;<>\*\(\)\"']*)\[\/email\]/sU";
         $replacements[] = '<a href="mailto:\\1">\\1</a>';
         $patterns[] = "/\[b](.*)\[\/b\]/sU";
         $replacements[] = '<b>\\1</b>';
         $patterns[] = "/\[i](.*)\[\/i\]/sU";
         $replacements[] = '<i>\\1</i>';
         $patterns[] = "/\[u](.*)\[\/u\]/sU";
         $replacements[] = '<u>\\1</u>';
         $patterns[] = "/\[d](.*)\[\/d\]/sU";
         $replacements[] = '<del>\\1</del>';
         //$patterns[] = "/\[li](.*)\[\/li\]/sU";
         //$replacements[] = '<li>\\1</li>';
         $patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
         $patterns[] = "/\[img]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
         $patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1 id=(['\"]?)([0-9]*)\\3]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
         $patterns[] = "/\[img id=(['\"]?)([0-9]*)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
         if ($allowimage != 1) {
             $replacements[] = '<a href="\\3" target="_blank">\\3</a>';
             $replacements[] = '<a href="\\1" target="_blank">\\1</a>';
             $replacements[] = '<a href="http://'.$site_IP.'/image.php?id=\\4" target="_blank">\\4</a>';
             $replacements[] = '<a href="http://'.$site_IP.'/image.php?id=\\2" target="_blank">\\3</a>';
         } else {
             $replacements[] = '<img src="\\3" align="\\2" alt="" />';
             $replacements[] = '<img src="\\1" alt="" />';
             $replacements[] = '<img src="http://'.$site_IP.'/image.php?id=\\4" align="\\2" alt="\\4" />';
             $replacements[] = '<img src="http://'.$site_IP.'/image.php?id=\\2" alt="\\3" />';
         }
         $patterns[] = "/\[quote]/sU";
         $replacements[] = '引用:<div class="xoopsQuote"><blockquote>';
         //$replacements[] = 'Quote: <div class="xoopsQuote"><blockquote>';
         $patterns[] = "/\[\/quote]/sU";
         $replacements[] = '</blockquote></div>';
         $patterns[] = "/javascript:/si";
         $replacements[] = "java script:";
         $patterns[] = "/about:/si";
         $replacements[] = "about :";
         return preg_replace($patterns, $replacements, $text);
     }
 ?>

*作業履歴/2005-08-22 [#bcef128b]
**xoops [#k60fc612]
*作業履歴/2005-08-22
**xoops
-''プライベートメッセージ(pm)機能''
プライベートメッセージを作成する画面でのテキストエリアのサイズ変更は下記の部分の数値を変更することでできる。
--pmlite.php
 120行目:                 xoopsCodeTarea("message",50,20);
-''サーバを移設する場合''
参考:[[xoops.sourceforge.jpのHOWTO/サーバー移設>http://xoops.sourceforge.jp/wiki/xoops2/index.php?cmd=read&page=HOWTO%2F%A5%B5%A1%BC%A5%D0%A1%BC%B0%DC%C0%DF]]
上記リンクにてサーバ移設やデータバックアップ手順への参考情報あり。

*作業履歴/2005-08-16 [#ra547815]
**Gimp [#c9e65e71]
*作業履歴/2005-08-16
**Gimp
透過PNGを作ってみる。
でもなんかうまくできてないんだけどー(´Д`)
とりあえず参考にしたURLだけのしとく。
-''参考URL''
++([[googleキャッシュ>http://66.102.7.104/search?q=cache:8VVO7dJMaJkJ:gimp2.info/whatsgimp.php+gimp+gif&hl=ja&lr=lang_ja]]) - http://gimp2.info/whatsgimp.php
++([[googleキャッシュ>http://66.102.7.104/search?q=cache:QowOzhxQkiAJ:oasis.halfmoon.jp/other-pc/gimp/+gimp+png+%E9%80%8F%E9%81%8E&hl=ja&lr=lang_ja]]) - http://oasis.halfmoon.jp/other-pc/gimp/
++([[googleキャッシュ>http://66.102.7.104/search?q=cache:WqqQen4Z3GoJ:www.eonet.ne.jp/~apuri/gimp/gimp_step2.html+gimp+png+%E9%80%8F%E9%81%8E&hl=ja&lr=lang_ja]]) - http://www.eonet.ne.jp/~apuri/gimp/gimp_step2.html

*作業履歴/2005-08-29 [#m27fcc6e]
**xoops [#q389919c]
*作業履歴/2005-08-29
**xoops
-様々フォーラム
--メインメニューの表示名称を''様々Forum''に変更。
なんでかというと、メール通知のsubjectが文字化けしよんの(´Д`)
--トピックの所属フォーラムの変更時の注意。
各記事がどのフォーラムに所属しているのかは2つのテーブルで管理されている模様。
よって、記事の所属Forumを変更するにはこの2つについて該当記事、トピックのfurum_id値を修正しないといけない。
---_bb_posts
postされた記事がどのtopic、どのforumに所属してどんなツリーになっているかといった、記事固有情報を管理するテーブル。
---_bb_topics
スレッドがどのフォーラムに属し、閲覧件数、返信数などのスレッド固有情報を管理するテーブル。
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS