<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.8.1" -->
<rss version="0.92">
<channel>
	<title>売り切れじまいメデタ屋のブログ</title>
	<link>http://medeta.org/wp</link>
	<description>WordPress ME 2.2 - Capriccioso</description>
	<lastBuildDate>Tue, 16 Feb 2010 07:40:47 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>ja</language>
	
	<item>
		<title>コピーコマンドでディレクトリの中身だけコピーするには</title>
		<description><![CDATA[コピーコマンドで、ディレクトリ中身だけをコピーしようとすると、ディレクトリ自体もコピーされて、困る時があります。
ぼくもわすれっぽいのでメモがわりに
http://oshiete1.goo.ne.jp/qa2373223.html の情報です。

カレントディレクトリが/homeとします。
cp ./aaa/* ./bbb/
とすればいいと思います。ドットファイルまでコピーしてくれるかどうかは自信がありません。manを読んで下さい。
]]></description>
		<link>http://medeta.org/wp/archives/451</link>
			</item>
	<item>
		<title>Rails1.2で複数選択フォームで初期値が選ばれているようにするには</title>
		<description><![CDATA[Rails1.2で複数選択フォームを作るには、
ビューで、collection_selectでmultipleを指定し、nameを出すところに、kaitous[kaitou_id][]と書いてあげれば、指定したモデルのidと名前で選択肢を出してくれ、コントローラに複数選択した値が渡されます。
&#60;code&#62;
&#60;select id =&#8221;hoge&#8221;  name=&#8221;kaitous[kaitou_id][]&#8221; multiple=&#8221;multiple&#8221;&#62;
  &#60;option value=&#8221;1&#8243;&#62;回答A&#60;/option&#62;
  &#60;option value=&#8221;2&#8243;&#62;回答B&#60;/option&#62;
&#60;/select&#62;(ctrlキーで複数選択)&#60;br&#62;
&#60;/code&#62;
新規作成の場面では上記でよいのですが、編集をするときに、既に選んでいたものが選択されておらず悩みました。
結局、ビューでコードを直接書きました
配列fugaに選択した結果が入っているとして、、、
&#60;code&#62;
&#60;select id=&#8221;hoge&#8221; name=&#8221;kaitous[kaitou_id][]&#8221; multiple=&#8221;multiple&#8221;&#62; &#60;option value=&#8221;"&#62;&#60;/option&#62;
&#60;% Kaitou.find(:all).each do &#124;r&#124; %&#62;
     &#60;option value=&#8221;&#60;%= r.id %&#62;&#8221; &#60;%= fuga.include?(r.id.to_s) ? &#8220;selected=\&#8221;selected\&#8221;" : &#8221; %&#62; &#62;&#60;%= r.kaitou %&#62;
     &#60;/option&#62;
&#60;% end %&#62;
&#60;/select&#62;(ctrlキーで複数選択)&#60;br&#62;
&#60;/code&#62;
ほんとうはもっと上手なヘルパの使い方があるのかと思いますが、まずは解決です。
]]></description>
		<link>http://medeta.org/wp/archives/445</link>
			</item>
	<item>
		<title>InstantRailsでハマったところ</title>
		<description><![CDATA[InstantRails自体は簡単に動きますが、 mySQLが動かずにはまりました。
原因は、、
マカフィーセキュリティセンターがブロックしていました。。。
また、error: &#8216;Access denied for user &#8216;ODBC&#8217;@'localhost&#8217; に悩まされました（考えすぎ）が、なんということはなく、
「ログインするパスワード違い」という意味でした。
パスワード変更は、@localhostのようにホスト名をつけるようです。
mysql&#62; set password for root@localhost=password(&#8217;a');←セミコロンを忘れずに
]]></description>
		<link>http://medeta.org/wp/archives/444</link>
			</item>
	<item>
		<title>railsにcgi的に使うphpなどをおくには</title>
		<description><![CDATA[railsが作るpublicというディレクトリの下にいれてけばＯＫ
/home/tufs/mailsys/public/popup_msg_maker_utf.php といれて
http://サーバーURL/popup_msg_maker_utf.php と指定する
railsから呼び出すには、controller内のコードにredirect_toと書く
redirect_to &#8220;/hogehoge.php&#8221;
]]></description>
		<link>http://medeta.org/wp/archives/443</link>
			</item>
	<item>
		<title>NetCommons2 モジュールをモバイル対応にする</title>
		<description><![CDATA[NetCommons2をインストールしたままの状態では携帯画面で利用できるモジュールは下記の１２個です。
　　　　・ログイン　　　　　　　　  ・メニュー
　　　　・新着情報　　　　　　　   ・カレンダー
　　　　・お知らせ　　　　　　　　  ・アンケート
　　　　・Todo	　　　　　　　　　  ・掲示板
　　　　・小テスト　　　　　　　　   ・日誌
　　　　・汎用データベース　　  ・登録フォーム
これら以外のモジュール、またはオリジナルで作成したモジュールを携帯でも使用するためにはモジュールをカスタマイズする必要があります。
ここではオンライン状況モジュールを例にします。
　
　
install.iniに下記を追加。
[Mobile]
mobile_action_name = &#34;online_view_mobile_init&#34;
　
　
viewフォルダにmobileフォルダを作成し、さらにその中にinitフォルダを作成します。
initフォルダ内に３つのファイル（dicon.ini、maple.ini、Init.class.php）を作成。
dicon.iniの作成
[DIContainer]
onlineView = &#34;modules://online.components.view&#34;
　
　
maple.iniの作成
[DIContainer]
filename = dicon.ini

[SmartyAssign]
config = main.ini

[AllowIdList]
room_id  = &#34;TARGET_ROOM_ID&#34;
module_id = &#34;TARGET_MODULE_ID&#34;
block_id_arr = &#34;ALLOW_BLOCK_ID&#34;

[ValidateDef]
block_id_arr.online.mobileBlock = &#34;1:lang._mobile_error_noblock&#34;

[MobileView]
define:theme = 1
success = &#34;online_mobile_init.html&#34;
　
　
Init.class.phpの作成
&#60;?php
	class Online_View_Mobile_Init extends Action
	{
		// 値をセットするため
		var $onlines = null;

		/**
		* execute実行
		*
		* @access  public
		*/
		function execute()
		{
			return 'success';
		}
	}
?&#62;
　
　
view/main/init/maple.iniに下記を追加
[MobileView]
define:theme = 1
success = &#34;online_mobile_details.html&#34;
nonexistent = &#34;online_nonexistent.html&#34;
　
　
components/View.class.phpに下記を追加
/**
 [...]]]></description>
		<link>http://medeta.org/wp/archives/418</link>
			</item>
	<item>
		<title>PHPでqmailに接続するAPIの開発</title>
		<description><![CDATA[PHPでqmailに接続し、アカウントを作成したり、変更したりするAPIの開発をさせていだきました。
*Pearのnet_vpopmaildを利用
*net_vpopmaildの場合、
  .qmailファイル(.qmail_アカウント名のテキストファイル）はdomains/ドメイン名の直下に作成されます。
　qmailAdminの場合と置き場所がことなるので、混在は事実上無理かもしれません。
 (qmailAdminとapiでいじりあうととんでもないことに！）
* .qmailファイルには、転送アドレス、保存ディレクトリをかきます。このファイルを消してメーラでアクセスするとログイン失敗するので、消さないように！ また、vpop/bin/vuserinfoで保存先が取得できても、.qmailファイルに同じ情報が書かれていないと、結局保存ができません。
* gidフラグをいじると、一見保存はできなくなりますが、メーラでのログインに失敗するので禁じ手です。
以上短いながらも濃い情報でした。開発サポートのみなさま、おつかれさまでした！
]]></description>
		<link>http://medeta.org/wp/archives/415</link>
			</item>
	<item>
		<title>NetCommons2　モジュール作成、メイン表示カスタマイズ方法</title>
		<description><![CDATA[○モジュールを新規作成するには
/NetCommons2/webapp/modules/にモジュールのフォルダを作成します。
既存のモジュールをコピーし、全てのファイルに含まれるモジュール名（onlineモジュールなら[online]）を置換えることでモジュールを作成することもできます。
モジュールを作成したら、コントロールパネルのモジュール管理からインストールします。
モジュール用のテーブルが作成されればインストール完了です。
リストに表示される名前を変更する場合は、/language/japanese/modinfo.ini（以下、モジュール配下のディレクトリを表します）を書き換えます。
　　　module_name = "表示するモジュール名"
　
　
○作成されるテーブルの内容を編集するには
テーブルはインストールの際、/sql/mysql/table.sqlが読み込まれて作成されます。
このファイルを編集することで作成されるテーブルのカラムなどを変えることができます。
複数のテーブルを作成したい場合には、/sql/mysql/table.sqlに作成するテーブルを追加すれば複数のテーブルが作成できます。
　
○モジュールのメイン表示を変更するには
メイン表示の変更は、/templates/default/main.htmlやmain_init.htmlを編集します。
templates内のファイルを書き換えた場合には、モジュール管理からアップデートしなければ変更が適応されません。
templatesは基本的にhtmlで記述しますが、他のファイルから受け取った値などはSmartyで記述します。
$lang.で始まる変数は/language/japanese/main.ini内の値が呼び出され、
$action.で始まる変数は/view/main/init/Init.class.php内の値が呼び出されます。
&#60;{$lang.online_count&#124;smarty:nodefaults&#124;sprintf:$action.userCount}&#62;
/view/main/init/Init.class.phpでは、/components/View.class.php内のfunctionを呼び出してデータを取得し、templatesで使える形に格納しています。

　　　$user = $this-&#62;mydataView-&#62;getUserMember();
　　　$this-&#62;memberCount = $user["member"];

/components/View.class.phpでは、sql文を記述し、NetCommons2本体に送ってデータを取得しています。

　　　$date = date("YmdHis", time() - $mydataTime);
　　　$params = array(
　　　$date,
　　　$baseSessionID,
　　　_OFF
　　　);
　　　$sql = "SELECT base_sess_id, sess_data ".
　　　"FROM {session} ".
　　　"WHERE sess_updated &#62; ? ".
　　　"AND base_sess_id != ? ".
　　　"AND old_flag = ?";
　　　$result = $this-&#62;_db-&#62;execute($sql, $params);

　
○データベースからデータを取得するには
上記に書いた/components/View.class.phpでsql文を用意し、本体に送ります。
この際、$paramsが未定義の状態ではエラーになってしまうので、$paramsが必要ないときは中身を空で用意します。
テーブル[netcommons2_users]からhandleの値を取得するには、

　　　$params = array();
　　　$sql = "SELECT handle FROM netcommons2_users";
　　　$result = $this-&#62;_db-&#62;execute($sql, $params);

と記述します。
データベースへの接続設定はNetCommons2本体で行われるので、最低上記の３行だけでデータを取得することができます。
]]></description>
		<link>http://medeta.org/wp/archives/379</link>
			</item>
	<item>
		<title>Nagios カスタム変数</title>
		<description><![CDATA[バージョン3以上では、ホストやコンタクト情報で使う変数を自分で追加出来る。簡単にメモ。
参考
・Custom Object Variables
・Nagios: External Command List
決まりごと
・変数名はアンダースコア(_)から始まる
・大文字小文字の区別はされない
・カスタム変数はテンプレから継承される（通常の変数と同様）
・スクリプトからマクロや環境変数で変数の値は参照できる
例
define host{
host_name    medeta
_custom_variable    0123456789
}

コマンドの定義箇所など、スクリプト中で値を取得するには
$_HOSTCUSTOM_VARIABLE$

と書く。頭に_HOSTや_CONTACTをつけるようだ。
外部コマンドでカスタム変数の値は変更できる。
たとえば
echo "[$now] CHANGE_CUSTOM_HOST_VAR;medeta;CUSTOM_VARIABLE;
changed value" &#62; $commandfile

といった具合。↑は2行に分かれているが1行で書く。
Nagios内で直接カスタム変数の値を確認することは、出来ないのだろうか？？
未確認。
]]></description>
		<link>http://medeta.org/wp/archives/365</link>
			</item>
	<item>
		<title>コードの表示テスト</title>
		<description><![CDATA[SyntaxHighlighter Evolved

&#60;?php
    phpinfo();
?&#62;

&#60;pre&#62;と&#60;code&#62;

&#60;?php
    phpinfo();
?&#62;

]]></description>
		<link>http://medeta.org/wp/archives/352</link>
			</item>
	<item>
		<title>nagios メモ2</title>
		<description><![CDATA[nagios（3.1.2）　メモ2
○ホストやサービスの詳細ページに、コメントを追加
参考：http://www.itmedia.co.jp/enterprise/articles/0901/06/news023.html
echo &#34;[$NOW] ADD_HOST_COMMENT;medeta;1;test;comment&#34;&#62;/usr/local/nagios/var/rw/nagios.cmd
nagios.cmdの位置が上のページと違うのでメモ。
$NOWはタイムスタンプ。
コマンドは目的に応じていろいろある。
○プラグインを実行するときのディレクトリ
プラグイン本体は/usr/local/nagios/libexec/にあるけれども、プラグインとして実行したときの場所は
/
となる。
プラグインの中でファイルを読み込むときはうっかりしそうなのでメモ。
]]></description>
		<link>http://medeta.org/wp/archives/332</link>
			</item>
</channel>
</rss>
