Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2005-12-03 00:10:45

jun
メンバー
登録日: 2004-02-07
投稿: 345

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

最新版は、こちらにあります

(モデレータ権限で、ここにあった文章を削除させていただきました。/ Katsumi)

あらかじめ断っておきますが、このプラグインは開発版のものです。このプラグインを使用すると、データの削除や編集が簡単にできます。Nucleusのデータベース(MySQL)を直接操作するものなので、取り扱いについては細心の注意を払い、自己責任でお願いします。

位置づけは「phpMyAdmin」に近いです。このプラグインで可能なことは以下の通りです。

・Nucleusの全テーブルを一覧表示
・Nucleusの各テーブルの使用容量やレコード数などを一覧表示
・各テーブルごとにレコードの50件ずつ一覧表示。ページスイッチあり
・表示するレコードは検索で絞込可能
・フィールドにより並び替えが可能
・csvファイルをアップロードしてレコードを一括追加
・「nucleus_member」テーブルについてはパスワードを暗号化した上で、csvファイルをアップロードしてレコードを一括追加
・アップロードするcsvファイルが、そのテーブルに合致しているかどうかの簡易判定機能
・各テーブルごとにレコードを一括してcsvファイルとしてダウンロード
・レコードの編集削除
・テーブルの削除
・各テーブルごとにフィールド情報を表示
・プラグイン管理画面が複数言語対応
・データベースPrefixに対応
・テーブルを空にする(※バージョン0.12より)
・Nucleus本体のテーブルについては、プラグイン独自のテーブルと区別するために強調表示しています。また、個別リファレンスへリンクもしています。(※バージョン0.12より)

現在のところ判明している注意点は以下の通り。

・csvファイルのデータの中に「\」「'」がある場合、データベースへの追加がうまくいかない場合がある
・データベースの型等との照合作業が不十分なので、データを編集追加する際は慎重に
・ソートや検索抽出をした場合、各レコードの編集画面へのリンクがうまくいかない場合があります。ほぼ対応済みですが、不都合が生じた場合は報告をお願いします。

未実装のもので、今後実装されるかもしれない機能等は以下の通り。

・改行の自動処理
・レコードの一括削除
・SQL文の実行フォーム

ファイル構成は以下の通り。初めて多言語対応のプラグインを作ってみました。Andyさん、ありがとうございました

plugins
├NP_Database.php (*メインファイル)
└database (*フォルダ)
  ├index.php (*管理画面用ファイル)
  ├english.php (*言語ファイル)
  ├japanese-euc.php (*言語ファイル)
  └japanese-utf8.php (*言語ファイル)

●操作方法

1.解凍後、「NP_Database.php」と「database」フォルダを「plugins」にアップロードする。
2.管理画面の「プラグイン管理」からインストールする。
3.オプションは「Quickmenu」のみ。デフォルトは「NO」。
4.管理画面「プラグイン管理」→NP_Databaseの「管理」→Nucleusデータベース管理画面
※管理画面だけで動くプラグインなのでスキンやテンプレートへの記述は一切必要がありません。

●スクリーンショット

下記ページを御覧下さい。おおよその雰囲気がつかめるかと思われます。(※開発途中のものなので現状と異なる場合があります)

phpMyAdmin的なNucleusプラグイン NP_Database
http://nucleus.mz-style.com/item/799

●メイン画面

・各テーブルのサイズやフィールド数、レコード数、更新日を一覧表示
・Nucleus本体のテーブルについては、プラグイン独自のテーブルと区別するために強調表示しています。また、個別リファレンスへリンクもしています。(※バージョン0.12より)
・各テーブルについては以下のアクションを用意
1.「View」…レコードの一覧表示
2.「Info」…テーブルの構造を表示
3.「Add」…csvファイルのアップロードによるレコードの追加
4.「Del」…テーブルの削除
5.「Emp」…テーブルを空にする(※バージョン0.12より)
6.「Export」…レコードを一括してcsvファイルとして書き出す。(※Record数をクリック)

●レコードの一覧表示(「View」)画面

・「編集」をクリックするとそのレコードの編集削除画面が開きます。
・フィールド名をクリックするとソートされます。
・検索してレコードを絞込抽出ができます。
◆検索のヒント
例えば「nucleus_item」テーブルにおいて「11-14」で検索すれば、11/14に投稿した記事を絞込抽出できます。

●レコードの編集画面

・修正後、「レコードの編集」をクリックすると、変更箇所が反映されます。
・「レコードの削除」をクリックすると、そのレコードが削除されます。

●テーブル内のフィールド構造(「Info」)画面

・フィールドタイプや主キーなどが表示されます。バージョン0.13では、より詳しい情報が出力されます。
・より詳しくは「SQLテーブル・リファレンス」を参照。

●レコードの追加(「Add」)画面

・CSVファイルを選択し、「ファイル選択」をクリックします。
・内容を確認後、「データの追加」をクリックします。
・簡易的なチェックを行なっているので、エラーが出る場合があります。
・「nucleus_member」テーブルについてはパスワードを自動的に暗号化した上で一括追加
・CSVファイルは「/media/」ディレクトリにアップされます。必要がなくなったら適宜削除してください。

●エクスポート

・データをcsvファイルとしてダウンロードすることができます。
・ダウンロードしたcsvファイルをエクセル等の表計算ソフトで開く場合は、そのままでは文字化けしてしまうので以下の手順で処理する必要があります。
1.「秀丸」などの文字コードを指定してできるエディタでcsvファイルを開く
2.文字化けした場合、文字コードをEUCかUTFに変えて読み込み直す
3.文字コードをsift_jisに変更して指定した上で保存し直す

●テーブル削除(「Add」)画面

・メイン画面において「Del」をクリックするとページが変わり、テーブル削除の確認画面が表示されます。

●テーブルを空にする(「Emp」)画面 (※バージョン0.12より)

・メイン画面において「Emp」をクリックするとページが変わり、「テーブルを空にする」という確認画面が表示されます。


おそらく直感的に操作できると思います。不明な点があったら、管理画面下に常に表示されている「SQLテーブル・リファレンス」をクリックして確認してください。

今は開発バージョンということもあり、不都合等を報告していただけると助かります。(日本語の文字コードは難しいです…)


【追記】 検索まわりの不具合を修正した上で、バージョン0.11にアップしました。(2005-12-03)

【追記2】 以下のような修正を加えた上でバージョン0.12にアップしました。(2005-12-04)
・「テーブルを空にする」を追加。
・Nucleus本体のテーブルについては、プラグイン独自のテーブルと区別するために強調表示しています。また、個別リファレンスへリンクもしています。
・よりコンパクトに表示することを心がけた。

【追記3】 以下のような修正を加えた上でバージョン0.13にアップしました。(2005-12-05)
・フィールド構造(「Info」)画面の出力方式を変更し、より詳細な情報を出力できるようにした。
・見栄え等の微調整。

【追記4】 検索まわりの不具合を修正した上で、バージョン0.14にアップしました。(2005-12-14)

【追記5】 ソートをした際、各レコードの編集画面へのリンクがうまくいかない不具合を修正した上で、バージョン0.15にアップしました。(2005-12-19)

【追記6】 データ追加機能(INSERT)、条件指定可能な一括削除機能(DELETE)、条件指定可能な一括置換機能(UPDATE)、STATUS画面、最適化機能、コアテーブルの削除禁止、手動バージョンチェック、バグ修正、セキュリティ強化等をした上で、バージョン0.2にアップしました。(2006-09-19)

オフライン

#2 2006-01-23 22:30:07

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

大量に移植したいデータがあったので非常に助かります。

CSVのエクスポートとインポートを試させていただきました。

エクセルが使えると便利なので、database/index.phpのエクスポートのところ。
orig 23行目

				$text = mysql_result($rs, $i, $j);
				$text = addslashes($text);
				echo '"'.$text.'"';

となっているところ

				$text = mysql_result($rs, $i, $j);
				$text = mb_convert_encoding($text,"SJIS-win");
				echo '"'.$text.'"';

に変えました。
addslashesすると「申予能表ソー」とかに\がついてしまうので。
私の場合、テーブルはエクセルで開いて編集したいのでSJIS-winに変換しました。
※edit コード変換する前にaddslashesしていました。(上の私のコードは間違い!)

逆に、インポートするところは、
orig 290行目

foreach ($data as $d) {
$d = stripslashes($d);

foreach ($data as $d) {
$d = mysql_escape_string(mb_convert_encoding($d,mb_internal_encoding(),mb_detect_order()));

に変えました。

エクセルで作ったデータには\がついていないことが前提なので、stripslashesせず、エンコード変換しました。
※これも間違いで、コード変換してからstripslashesするべき
SJISのCSVをインポートすると確認ページでは化けますがインポートは成功します。

SJIS-win決め打ちでよければエクスポートは確実なんですが、
インポートで文字コード判定をmb_detect_order()でやるとミスることがあるのとサーバの設定に依存するので、
私的にはこれでOKな感じです。

プラグインオプションで選択できると良いかもしれませんね。

オフライン

#3 2006-03-04 07:16:00

3way
メンバー
登録日: 2006-03-03
投稿: 101

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

databaseプラグイン重宝しています。

ありがとうございます。

お礼までですがどうぞよろしくお願いいたします。

オフライン

#4 2006-04-17 12:08:23

neohiro
メンバー
登録日: 2004-06-25
投稿: 150

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

早速ですが、ご教授お願いいたします。

エクスポート、インポートのテストをしているのですが、
インポートの方が、できません。 roll

itemテーブルのデータをローカルにエクスポートして、
同テーブルを空にしてから上記で作成したファイルをアップ(Add)しようとしたのですが、

警告 : ファイルを選択してください

何度やってもこのようなエラーがでてしまいます。 :?:

Version 3.22
サーバ ロリポップ
ローカル Win XP

何卒よろしくお願いいたします。

オフライン

#5 2006-04-20 09:54:24

kosugiatkips
メンバー
From: 金沢区
登録日: 2006-01-15
投稿: 353

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

別件ですが、

複主キーになっているテーブルの操作は正しく実行されないみたいですね。(V0.15)
WHERE文のsyntaxの問題だと思いますが。

オフライン

#6 2006-12-01 15:54:54

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

jun さんのバージョン 0.15 に関して、管理画面の脆弱性の解消を徹底的に追求したバージョンです。NP_0TicketForPlugin に頼らずに、管理画面の脆弱性を解消することが可能です。

通常の ticket 処理に加えて、セッションをすべてトリプルDESで暗号化するルーチンを加えました。暗号キーは 24バイト(192ビット)で、乱数を用いて作成されます。第三者がこの暗号を解読することはほとんど不可能だと思います(暗号は、ticket の有効な1時間以内に解読する必要があります)。

とりあえず、アルファーバージョンとしてありますが、問題なく動くはずです。現在 NP_Database をご使用の方全員にアップグレードを強く お願いします。

アップグレードの際は、一度アンインストールしてから再度インストールしてください。

ここにあったファイルは旧バージョンのため、削除しました。

オフライン

#7 2006-12-01 20:29:29

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

katsumiさん、これのベースは ver.0.2 であってます?
0.15 だと最適化機能ないんで、確認です

オフライン

#8 2006-12-02 01:56:12

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

shizuki さんの発言:

katsumiさん、これのベースは ver.0.2 であってます?
0.15 だと最適化機能ないんで、確認です

ベースにしたのは、jun さんの 0.15 です。今回のはバージョンを上げて、0.20としました。インターフェースをトリプルDESで暗号化すること以外には、機能的な向上はありません。

オフライン

#9 2006-12-02 02:49:49

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

あらら ^^;
jun さんの最終バージョンが 0.2 なんで、できれば 0.2 であって欲しかったです…
0.2 使ってる人も居ると思うんでなんとかならないでしょうか?

オフライン

#10 2006-12-02 08:11:09

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

shizuki さんの発言:

あらら ^^;
jun さんの最終バージョンが 0.2 なんで、できれば 0.2 であって欲しかったです…
0.2 使ってる人も居ると思うんでなんとかならないでしょうか?

あ、ホントだ。今気がついた。すみません、2-3日中に何とかします。変更の要領は得てるので、難しくないです。

オフライン

#11 2006-12-02 15:19:39

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

バージョン 0.25 βです。jun さんの 0.20 をベースに、ticket 処理とトリプル DES によるセッション内容の暗号化を盛り込んだものです。NP_0TicketForPlugin は必要ありません。

一応、動作確認はしてありますが、もし不具合ありましたら報告お願いします。

(旧バージョンのため、ファイルを削除しました。)

オフライン

#12 2006-12-02 16:42:20

shizuki
Administrator
From: 西播磨
登録日: 2006-03-23
投稿: 900
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

素早い対応ありがとうございます
お疲れ様です

オフライン

#13 2006-12-08 08:01:08

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

バージョン 0.26 をアップします。0.25b では、文字列をクオートしていないことによる SQL インジェクションの可能性がありますので、お使いの方はアップグレードをお願いします。

また、以前の版ではトリプルDESの暗号キーの長さ(理論値 168 ビット)のうち、31ビットしか使いきれていなかった(使用した時間の1時間前までのマイクロ秒に依存していたため)ので、その問題を解消しました。

その他、細かなバグフィックスがされています。


Attachments:
zip NP_Database0.26.zip, Size: 34.72 KiB, Downloads: 521

オフライン

#14 2007-01-26 18:50:06

sakurae
メンバー
登録日: 2004-09-26
投稿: 105
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

お世話になっています。
本体 ver. 3.24 に NP_Database の ver. 0.26 をインストールしているのですが、
プラグインの管理画面から操作 (最適化、View、Add など) しようとすると
「There isn't the key for this ticket.」と表示されて全く動きません。
どなたか原因にお心当たりはないでしょうか?
サーバはチカッパで、php 4.4.2/MySQL 4.0.26 になっています。

あと大した事ではないのですが、管理画面上部の表示が「Nuclusテーブル一覧」と typo です (^^; )。

オフライン

#15 2007-01-27 04:51:46

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

sakurae さんの発言:

「There isn't the key for this ticket.」

一度アンインストールして、再インストールして試していただけますか?

sakurae さんの発言:

あと大した事ではないのですが、管理画面上部の表示が「Nuclusテーブル一覧」と typo です (^^; )。

あ、ホントですね。次のバージョンでは直しておきます。

オフライン

#16 2007-01-27 12:34:09

sakurae
メンバー
登録日: 2004-09-26
投稿: 105
ウェブサイト

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

アドバイス頂きまして早速アンインストールした後
再インストールしたところ、あっさり動くようになりました。
初歩的なことでお恥ずかしい限りです。どうも有難うございました m(__)m

オフライン

#17 2007-06-01 00:28:43

darkdaft
メンバー
登録日: 2007-05-25
投稿: 4

Re: NP_Database (phpMyAdmin的なMySQL操作管理プラグイン)

これはいい!SQLの操作を行うよりも、他のローカルアプリケーションとの連携が簡単ですね! big_smile
んーNucleusを使った新しいWebアプリを感がられるなぁ…。

オフライン

Board footer