Top > PukiWiki > make > table_edit2.inc.php

TITLE:表組編集支援プラグイン
*table_edit2.inc.php [#j127221e]
#table_edit2(,table_mod=close){{
|SIZE(12):RIGHT:100|LEFT:360|c
|~目的|表組編集の支援ツール|
|~対応バージョン|1.4.7plus-i18nで確認|
|~作成者|taru|
|~公開日|&new{2006-9-9 (土) 12:07:52};(仮公開)|
|~ライセンス|GPL|
}}

進行状況を整理するために、仮公開いたします。

#contentsx
*進行状況 [#m6d33613]
#table_edit2(textarea,table_mod=open){{
|SIZE(12):|SIZE(12):|SIZE(12):|SIZE(12):|SIZE(12):|c
|~予定(案)|~状況|~発案日|~完了日|~Ver|h
|編集時にformオプションを使って''添付ファイル参照''を作れないか|refプラグイン等の利用を検討|'07/07/02|||
|①行編集時の編集項目タイトルを指定行に&br;②formオプションのradio、select使用時に選択項目に空白を表示させない&br;③小数点等の数値書式を指定列限定に|eriさん、ハルさんから提案頂きました。&br;&br;遅くなりましたが簡単だったので数時間で対応できました。(CSV追加の作業を行っていたため、改造は旧コードになるので対応を見送っていました)|'07/05/15-'07/05/24&br;[[コメントより>PukiWiki/make/table_edit2.inc.php#h2_content_1_11]]|'07/06/30|2.1|
|行列の編集・追加ボタンの表示を自由に制御できるオプションの追加|対応済み&br;(define設定で指定することもできますが、非表示指定は、オプションでの変更が利用できなくなります。)|'07/02/25|'07/03/24|1.8|
|#table_editのみ記述したときにオプション設定のフォームを展開する。&br;行、列の数値記入欄に数字を入れると表組み枠を作成する|試験的に公開を開始しました。|'07/02/25|'07/04/14|2.0|
|formオプションにデフォルト値を設定できるように|例えばform=text=なまえ|text=住所,&br;というオプションも可能です。&br;完了|'07/02/25&br;[[コメントより>PukiWiki/make/table_edit2.inc.php#h2_content_1_11]]|'07/04/14|2.0|
|追加ボタンで編集画面に切り替わる。&br;キャンセルを押すと追加はされない。&br;この時削除ボタンは表示しない。|編集関連の仕様を変える時が一番難しく思います。&br;(列、行、複数テーブルを考えないといけないからorz)|'07/02/05&br;[[コメントより>PukiWiki/make/table_edit2.inc.php#h2_content_1_11]]|'07/03/24|1.8|
|csvデータ生成、取込み&br;書式対応は無駄が多いため「別機能による変換」を考えてみます。&br;|%%別のプラグイン作業中ですorz%%&br;やっと形になりました。後は微調整が必要だなぁ|'06/12/06&br;upkさんからの提案|'07/06/30|2.1|
|どうやら「"」を表組み中に記入している個所があるとそれ以降の文字をtable_edit2.inc.phpの編集で取込む事が出来ないようです(書込み時はOK)|「"」のhtml記述を「'」に変えると今度は「'」文中に入れた時に同じ現象が発生します。どうしたものかなぁorz&br;&color(#23d,#dee){Ver1.3で追加したtextareaオプションを記述しておけば、この問題を回避する事ができるようになりました。};|06/10/09|'06/11/14|1.3|
|行・例の合計とか平均 upkさんからのアイディア|少しずつ実験はしてみようかと思います。%%列編集機能が先になるかなぁ…、%%&br;セル内演算機能、セル内専用関数の実装 完了|[[06/09/10>Note/diary/2006-09-10]]&br;[[06/09/13>experimental/table_edit2.inc.php]]|06/09/14|0.7&br;c0.2&br;f0.1|
|タイムスタンプの更新抑止を選ぶ機能|upkさんのアドバイスにて、行追加、編集モードの表示・非表示切替は強制notimestamp。行編集時はチェックボックスで選ぶことができるようにしました。&br;完了|[[06/09/10>Note/diary/2006-09-10]]|06/09/11|0.6|
|行編集リンクの表示、非表示制御ボタン|upkさんからアイデアを頂きました。&br;完了|[[06/09/10>Note/diary/2006-09-05]]|06/09/10|0.5|
|編集画面のテキストエリアサイズ defineにて変更可能|完了(サイズがデフォルトだと編集しにくいと思い急遽付ける)|06/09/09|06/09/09|0.2|
|行削除ボタン(通常ページに作ると荒らされる危険が大きいので編集ページ内に置く)|%%行追加機能実装後%% 完了|[[06/09/07>diary/2006-09-07]]|06/09/10|0.3|
|列編集機能、列追加ボタン|%%未定、落ち着いてから%% 複数行プラグイン内に複数の表組を作ってもそれぞれに追加・編集マークが付、独立して列の追加・編集ができるように作っています。&br;完了|[[06/09/07>diary/2006-09-07]]|06/09/20|0.9&br;c0.3&br;f0.2|
|行追加ボタン(絵文字?) |完了(とりあえず不便なので設置0.2、絵文字はインラインのfunctionを作ってから0.4)|[[06/09/07>diary/2006-09-07]]|06/09/10|0.2&br;0.4|
|1行目をタイトル行とみなし、編集時の目印にする(一行目も今まで通り編集できる)|完了|[[06/09/07>diary/2006-09-07]]|06/09/08|0.1|
|convert 凍結、編集制限対象のページはeditを表示しない|完了 (edit=on で編集リンク強制表示、edit=off でeditリンクを強制非表示)|[[06/09/07>diary/2006-09-07]]|06/09/08|0.1|
|action 編集制限対象のページの場合、認証チェックする|完了(「auth_check_off」を入れることでチェックを外す事もできる)|[[06/09/07>diary/2006-09-07]]|06/09/08|0.1|
|action 凍結のページは処理をしない|完了|[[06/09/07>diary/2006-09-07]]|06/09/08|0.1|
|editの編集呼び出しリンクにインラインプラグインを利用する|%%見栄えなので後回し%% 完了|[[06/09/06>diary/2006-09-06]]|06/09/10|0.4|
|複数行範囲に表以外のソースが含まれていてもconvert_htmlに含める|完了(一行足しただけ)|[[06/09/06>diary/2006-09-06]]|06/09/06|0.1|
|行ごとにチェックをつけてチェックがある行を編集|未定(別プラグイン?)|[[06/09/05>diary/2006-09-05]]|||
|行毎に編集可能に|とりあえず編集できてる|06/09/03|06/09/05|0.1|
}}
*仕様 [#i6652f35]
-表の書き始めは通常の編集で次のように書いて頂ければtable_edit2を使うことができます。
 #table_edit2{{
 |||
 }}
--但し、ページに認証制限や凍結が行われている場合は編集アイコンが出てきません。
--基本はPukiWikiの整形ルールとなっています。
-Ver2.0から入力支援機能として、書き始めに記入用のフォームが利用できます。
 #table_edit2
上記の記入方法で利用できます。また、このオプションフォーム機能を有効にする前に[[:config/plugin/table_edit2/setting]]のような設定をしておくとさらに便利に使えます。~
 差分で記入内容をコピーできますので、設置サイトの:config/にこのページを作ってください。~
(設定書式の仕様については[[こちら>PukiWiki/make/table_edit2.inc.php/setting]]を参考にして下さい。)
**define設定 [#odec0a37]
-table_edit2.inc.php内部の編集です。通常は変更せずそのままお使いください。(あるていど知識が無いと変更した事でトラブルが発生するかもしれません。)
#table_edit2(form=text|textarea,){{{
|define|説明|備考|h
|define('PLUGIN_TABLE_EDIT_TEXT_SIZE',  68);|編集時の文字記入欄、横サイズを指定します|Ver0.2以降|
|define('PLUGIN_TABLE_EDIT_TEXTAREA_ROWS_LINE',  4);|textareaモードの文字記入欄、縦サイズを指定します|Ver1.3以降|
|define('PLUGIN_TABLE_EDIT2_TEXTAREA_COLS_SIZE', 40);|textareaの入力領域幅を指定&br;(以前のバージョンではtextのサイズ指定を利用していましたが不便なので分離)|Ver1.8以降|
|define('PLUGIN_TABLE_EDIT_TEXTAREA',  'text');|初期モード変更。text,textareaを変更する事でオプション未指定時の初期編集モードを指定できます。|Ver1.3以降|
|define('PLUGIN_TABLE_EDIT_TD_SHOW', TRUE);|列編集ボタンのON,OFF、を指定できます。(付けてから動作チェックは殆どしていない…)TRUE or FALSE|Ver0.9以降|
|define('PLUGIN_TABLE_EDIT2_ADD_SHOW', 1);|+マークの追加ボタンをクリックした時の処理を変更します。&br;0 の時はクリックと同時に行または列を追加します。&br;1 追加する内容を記入してから追加をするか選べます。|Ver1.8以降|
|define('PLUGIN_TABLE_EDIT2_CALC', 1);|表計算機能を 1利用 0利用しないと設定せきるようにしました。|Ver1.8以降|
|define('PLUGIN_TABLE_EDIT2_HTTP_REFERER', 0);|送信だけの攻撃を回避するために用意した機能ですが、ファイアウォールやブラウザの対応によって書込みが出来なくなる事もあるので、初期値は0にして外しています。|Ver2.0以降|
|define('PLUGIN_TABLE_EDIT2_ANCHR_JUMP', 0);|編集完了後、編集前の場所に戻る機能ですが、Windows系サーバで不具合が確認されたため初期値は0にして外しています。|Ver2.0以降|
|define('PLUGIN_TABLE_EDIT2_CSV_UNLINK', TRUE);|csvエクスポートで作られる添付ファイルの自動削除機能を利用する場合はTRUE、利用しない場合はFALSEを設定します。&br;csvエクスポート機能を複数人で利用する場合はFALSEにして置いてください。|Ver2.3以降|
}}}
**オプション [#s77c344f]
#table_edit2(title_c=1,form=text|textarea|text|textarea,table_mod=open){{
|SIZE(12):|SIZE(12):|SIZE(12):|SIZE(12):|c
|~オプション|~説明|~引数|~役割|h
|edit|編集ボタンのon,off、デフォルトではon((editのオプションを使わ無い場合、ノーマルページはon、edit_auth_pagesの設定ページはoff(認証済みユーザはon)))|on|編集ボタンの表示。ただし、ページが読取専用、凍結の時は強制offになります。|
|~|~|off|編集ボタンの非表示|
|table_mod|行・列編集ボタンを表組先頭の右側にある「鉛筆」または「×」アイコンで切替を行います。|open|行・列編集ボタンを表示します。クリック後に、表示されている×アイコンをクリックすると非表示に変わります。|
|~|~|close|行・列編集ボタンを非表示にします。openの逆機能|
|~|~|off|この機能を使えなくします|
|auth_check_off|認証編集制限ページにおいて認証処理を行いません。&br;表組は誰でも編集が可能となります。ただし凍結した場合は編集不可。|無し|Ver1.8よりauth_check=offの記述でも対応|
|title_c|列編集の時、指定した列がの編集セルタイトルになります。&br;(Ver1.3以降の新機能です)|数字|列番号|
|title_r|行編集の時、指定した行がの編集セルタイトルになります。&br;(Ver2.1以降の新機能です)|数値|行番号|
|textarea|表編集のフォームを<textarea>タグを使って構成します。&br;formオプションを追加した場合、formの定義で上書きされます。(Ver1.3以降の新機能です)|無し||
|form|各列にform部品を指定できます。&br;form=text&#124;textarea&#124;text,&br;の様に &#124; で区切って指定します。&br;''&color(#22d,#DEE){form=のオプションは必ず&color(#21e,#ee2){ , };で終わるようにして下さい};''。&br;(Ver1.3以降の新機能です)&br;&br;&color(,#fee98a){form=text=バージョン&#124;textarea=内容&#124;text=日付,};と記入すると未記入のセルに規定値を設定できるようになりました。&br;(Ver2.0以降)|text|<input type=text />タグを使います。(標準)&br;Ver2.0より text=初期値の書式オプションが可能になりました。|
|~|~|textarea|<textarea name="">タグを使用します。&br;テキストエリアで改行編集をした場合、改行は&#38;br;に置き換えます。|
|~|~|select|<select name="">タグを使用します。&br;select=_広島_四国_山梨 と指定する事で、セレクトオプションを記述します。&br;最初に_を記述するのは空白に対応するためです。&br;セレクトオプションで指定した以外の内容がセル内に記述されている時強制的にtextタイプになります。|
|~|~|radio|<input type=radio />タグを使用します。&br;radio=_Yes_Noの形式でradioタイプを追加します。|
|no_null|formのradioやselectオプション使用時に''定義している空白を''選択項目に表示しない。&br;(Ver2.1以降)|1||
|td_edit|列編集機能ボタンの表示・非表示&br;|off|非表示(Ver1.8以降)|
|~|~|edit|編集ボタンのみ表示Ver3.0|
|~|~|add|追加ボタンのみ表示Ver3.0|
|tr_edit|行編集ボタンの表示・非表示|off|非表示(Ver1.8以降)|
|~|~|edit|編集ボタンのみ表示Ver3.0|
|~|~|add|追加ボタンのみ表示Ver3.0|
}}
**サンプル [#d07cdb6e]
>テストは[[こちら>experimental/table_edit2.inc.php]]で試せます。


-サンプル1
 #table_edit2(edit=on,auth_check_off){{
 -制限を解除していますので誰でも変更できます。
 |機能|説明|形状|h
 ||||
 }}
#table_edit2(edit=on,auth_check_off,table_mod=open){{
-制限を解除していますので誰でも変更できます。
|あああ|い||あ|qqqqq|qqqqq|あ|bb|a||||へい||c3|||3|ふんがっふんぐっ|0|0|0|0|0|0|0|0|0|
|テストテストテスト||||||||||||||||||||||||||||
|あああ|えええ|||||||||||||||||||||||||||
|q|い|||||||a|a|w|s|e|d|r|f|t||||||||||||
|abc|い|||||||||||aiueo||c4|d4||4|||||||||||
|||||||||||||||有難う御座います||||||||||||||
|&color(Red){test};|い|||||||||||||c5||||||||||||||
|I社導入作業|い|||||||||||ぷき|||一つ||い|え|3/5| (^_-  (^^;  (^^;  (^_-  (^-^ ||テストですよ||||||
|ほげ|い|||||||||||これきた|||して||え|え||||||||||
|行追加テスト|い|||||||||||り|追加したぜ||た。||おお|え||||||||||
|マシン名&#124;&#124;&#124;ほげ|い|||||||||||日付|||123|||||||||||||
|||||||||||||||||||||||||||あああ|あ|
}}

-サンプル2
#expand(470){{{
 #table_edit2(edit=on,table_mod=off){{
 -ページに制限が掛かっていますので認証ユーザーのみ変更できます。
 |機能|説明|形状|h
 |行編集機能|各行の右側にあるボタン(editと表示)をクリックするとその行の編集画面に切り替わります。|鉛筆マーク|
 |行追加機能|各行の右側にあるボタン(additionと表示)をクリックすると追加が行われます。|+マーク|
 |行編集、追加ボタンの表示、非表示切替|表組の右上にるボタンをクリックする毎に切り替わります。|×と鉛筆マークの切替|
 }}
}}}
#table_edit2(edit=on,table_mod=off){{
-ページに制限が掛かっていますので認証ユーザーのみ変更できます。
|機能|説明|形状|h
|行編集機能|各行の右側にあるボタン(editと表示)をクリックするとその行の編集画面に切り替わります。|鉛筆マーク|
|行追加機能|各行の右側にあるボタン(additionと表示)をクリックすると追加が行われます。|+マーク|
|行編集、追加ボタンの表示、非表示切替|表組の右上にるボタンをクリックする毎に切り替わります。|×と鉛筆マークの切替|
}}
***Ver1.3より title textarea form のオプションが新たに増えました。 [#v5bafd47]
-サンプル3
#expand(450){{{
 #table_edit2(td_edit=off,title_c=2,form=text|select=_20液晶_DVD_HDD_メモリ|radio=_無_有|textarea,edit=on,auth_check_off){{
}}}
--制限を解除していますので誰でも変更できます。 
#table_edit2(td_edit=off,title_c=2,form=text|select=_20液晶_DVD_HDD_メモリ|radio=_無_有|textarea,edit=on,auth_check_off,table_mod=open){{
|番号|オプション|選択|メモ|h
|1|DVD|||
|10|20液晶||22|
|?|DVD|有|&color(Red){test};&br;''テスト''|
|1|メモリ||s|
|777|HDD|有|テスト|
|1||||
|てst|20液晶||tえst|
|t001|メモリ|有|テストです&br;てすとです2&br;|
|&#124;テスト&#124;|メモリ|有|1231321|
|||||
|e001hhhh|DVD|無|2222|
|1|HDD||テスト&br;テスト&br;テスト|
|ほげほげ|DVD|有|ほえほえ|
|e002|DVD|有|3層式が欲しい… (^-^ |
|e003|HDD|無|余ってる…!!|
|マシン名|メモリ|有|俺様が使うぜよ|
|tt|メモリ|有|11|
|20||無|めも|
|buo|DVD|有|bikl|
|てすと2||無|てすと3|
}}
**表計算機能 [#ucd28981]
-オプション~
#table_edit2(,table_mod=open){{
|calc=1|表組のセルで計算を行う|
|comma|数字に3桁単位で(,)カンマを付ける|
|dot=1|小数第1位まで表示(数値を増やすことで変更できる。0で無し)|
|format_c|小数点やカンマの書式を指定列に限定する。指定列は,format_c=2&#124;4,のように複数指定する事も可能&br;(Ver2.1より追加)|
}}
***関数 セル内で使用[#pa60bc32]
-関数名の後ろに_rまたは_cがつく場合
#table_edit2(,table_mod=close){{
|関数名_r|横左側の指定範囲|(開始列番号,終了列番号)|
|関数名_c|縦上側の指定範囲|(開始行番号,終了行番号)|
-xを行数、yを列数とすると
|合計|@sum_r(y,y) 行|@sum_c(x,x) 列|
|平均|@avg_r(y,y) 行|@avg_c(x,x) 列|
|数値のセルを数える|@count_r(y,y) 行|@count_c(x,x) 列|
|最大値|@max_r(y,y) 行|@max_c(x,x) 列|
|最小値|@min_r(y,y) 行|@min_c(x,x) 列|
|指定位置のセル値を複写する|@cell(x,y) 絶対アドレス|@cell_ra(x,y) 相対アドレス|
}}
-Ver2.0以降より新しい関数を用意しました。
#table_edit2(form=text=ここに機能を記入|text=ここに関数を記入|text=ここにオプションを記入,table_mod=open,title_c=1){{{
|機能|関数書式|列|行|h
|合計|@sum(オプション)|c|r|
|数値のカウント|@count(オプション)|~|~|
|番号(列や行の番号を取得して表示)|@number(オプション)|~|~|
}}}
-サンプル4
 #table_edit2(edit=on,auth_check_off,calc=1){{
 |||
 }}
#table_edit2(edit=on,auth_check_off,calc=1,table_mod=close){{
|100-@sum_r(5,6)|007|ABC工業|@cell_ra(0,2)||0|@cell(1,1)-@cell(1,4)|@cell(1,1)-58|(130+20+32)*1.1|BGCOLOR(#EE9999):30|1|テストテストテスト|@cell(1,1)-@cell(1,2)|8|2|@cell(1,1)-@cell(1,2)|&color(Lime){dさだss};||@cell(1,1)-@cell(1,2)|26||@sum(c)|1|1|@sum_r(1,4)|tes1|@sum_r(1,3)|@count(r)|2+1|
|fds|test|12345|11111111111|>|||||s|2||s|||s|||s|フヂス||@sum_c(1,8)|||||@number(r)|||
|@number_r(1,1)|x|○○太郎|y||z|@count_r(4,5)||||3|||||||>||||2016/01/01|@cell(16,1)+1|@count_r(9,10)||||||
|@cell(1,1)+@cell(1,2)||||||a|||@cell_ra(3,1)+@cell_ra(3,0.1)|4|||||||||||||@count_r(8,10)||testable||||
| (^-^ ||||||a||||5555|| (T-T | (^_- || (^^) ||||||&#64;cell_ra(0,5)=@cell_ra(0,5)||@count_r(7,10)||あ||||
||||||||||テスト|6|||||8||||||||||||||
|||||||||||7|||131||○|○|||||||||||||
||||||ああ|||||8|||||||||||||@count_r(1,10)||||||
||||||||||@count_c(1,17)|9||||||||||○|||@count_o(1,12)||||||
|||||||||||8|||||BGCOLOR(#9999EE):| (^-^ ||||×|||||||||
|2|||||||||||| (^Q^ |>|BGCOLOR(#EE9999):29.9999|~|||3|1||avg@avg_r(1,5)|||||||55|
||||||||||||||||||||||||||||||
|888|||||||||5|||6|7|@sum_r(1,4)|~|20||@sum_r(7,8)|||||| (^^)  (^^)  (^^)  (^-^  (^Q^  (..; |||||
||||||||||||||||||||||0.055||||@count(r)||||
|31||||||||||||○|17||16|||2|15||@avg_r(1,4)||||||||
|5|||||||||||||13||4|@cell_ra(1,1)||6|6||@sum_r(1,5)||||||||
|7||||||||||||3|9||8|||15|13||@sum(r)/@count(r)||||||||
|sum@sum_c(1,7)|||||||||||||avg@avg_c(1,6)||count@count_c(1,6)| &heart; ||max@max_c(1,6)|sum@sum(c)||&#64;cell(4,6)=@cell(4,6)||| &heart; |||||
|1+2+8*4||||||||||||@sum(c)|||||||||||||||||
|@number(r)||||||||||||10000|||||||||||||||||
|||||||||||||||||||||||||||1|1|@sum_r(16,17) |
|あ|||||||||||||||||||||||||||||
||||||||||||||||||||||||||@number(c)|@number(c)|@number(r)|@number(r)|
|1|2||3||4|5|||6|7||8|9|10|11|12||||||||||||23|
|ふぁーむ|てすと||||||||||||||||||||||||||||
|(*´艸`*)|(((((((((((っ・ω・)っ ブーン||(`・ω・´)ゞ||||||||||||||||||||||||||
|BGCOLOR(#EE9999):30|おお5||||||||||||||||||||||||||@sum(r)|@count(r)|
|あああああああああああああああ|32w33||||||||||||||||||||||||||||
}}
**CSV機能 [#s9e67886]

***CSV形式ファイルのインポート、エクスポート [#va46d529]
-この機能で使われるCSV形式ファイルとは、PukiWikiの表組み整形ルールで使われるカンマから始まるCSV形式とは違います。表計算やデーターベース等のアプリケーションから出力する時に使われるCSV形式です。
-この機能を使ってCSVファイルをPukiWikiに取り込むとデータは &color(Blue){,}; (カンマ)区切りから &color(Blue){|}; (パイプ)区切りに置き換えらtable_edit2プラグイン記述の複数行オプションとして保存されます(データ置換え時には行頭・行末に &color(Blue){|}; を置く作業も行われます。)。&br;
 逆のCSVファイルを出力する時は、table_edit2プラグイン記述内に入れた表組みデータから &color(Blue){|}; を , に置き換えてくれます。

#table_edit2(csv=6,title_r=1,table_mod=open){{{
|オプション|値|説明|h
|csv|数値(1〜6)|表示形式の選択(数値でimport &ref(http://taru.s223.xrea.com/wiki/image/plus/import.png);,export &ref(http://taru.s223.xrea.com/wiki/image/plus/export.png);ボタンの表示形式を切替える)|
|csv_select|importまたはexport|直接インポート又はエクスポートの操作パネルを表示する(通常はcsvオプション下のプログラムで使われる)|

}}}
:import|
&ref(http://taru.s223.xrea.com/wiki/image/plus/import.png);ボタンをクリックするとファイル添付用のフォームに切り替わります。添付するファイルの文字コードを選択してから「import」ボタンをクリックしてください。~
 ※表は追加モード固定です。
:export|
&ref(http://taru.s223.xrea.com/wiki/image/plus/export.png);ボタンをクリックするとファイルダウンロード用のフォームに切り替わります。出力用の文字コードと改行コードを選択してから「export」をクリックしてください。ダウンロードの画面に変わります。~
 ダウンロード後は、「戻る」ボタンで作業ページに戻ると同時にダウンロードに使った一時添付ファイルを削除します。~
(「戻る」を使わない場合、ファイルはそのまま残りますが、wiki形式で作っているので作業ページ上から削除機能で削除できます。一時添付ファイルは上書きモード固定です。)
-Excelの出力するCSVファイルは、改行コードがLF(UNIX系)です。Excelに利用する時はSJIS、UNIX(LF)を選択してください。
*ダウンロード [#qce0690a]

table_edit2.inc.phpはextend/pluginへ&br;
table_edit2.mo((moファイルはVer1.2以降から追加しています。))はextend/locale/ja_JP/LC_MESSAGESに置いてください。

※extend/plugin,extend/locale/ja_JP/LC_MESSAGESはplus-i18n版で追加されたディレクトリです。

#table_edit2(form=text|textarea|text|textarea,table_mod=open){{

**表組編集支援+表計算機能バージョン
|SIZE(12):|SIZE(12):|SIZE(12):|SIZE(12):|c
|~ファイル|~Ver|~日付|~コメント|h
|&ref(table_edit2.inc.php-3.1.zip.tgz);|3.1&br;+calc0.6&br;+func0.3|'09/12/10|表計算機能の部分で発見されたバグを修正しました。&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-3.0.zip.tgz);|3.0&br;+calc0.4&br;+func0.3|'08/06/28|コメントにてk309さんから頂いた要望(編集、追加ボタンを独立して表示・非表示と指定できるようにする)に対応してみました。書き始めのオプション入力支援フォームにも対応しています。&br;又、no_nullオプションの認識が出来ない時があったようなので調整しました。&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.9.zip.tgz);|2.9&br;+calc0.4&br;+func0.3|'08/05/25|変更内容は[[diary/2008-05-25]]を参照して下さい。&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.8.zip.tgz);|2.8&br;+calc0.4&br;+func0.3|'08/05/19|変更内容は[[diary/2008-05-18]]を参照して下さい。&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.7.zip.tgz);|2.7&br;+calc0.4&br;+func0.3|'08/05/12|[[diary/2008-05-11]]の内容のままです。またもやチェックはあまりしていませんorz&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.6.zip.tgz);|2.6&br;+calc0.4&br;+func0.3|'08/05/06|[[diary/2008-05-03]]の内容のままです。チェックはあまりしていませんorz&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.5.zip.tgz);|2.5&br;+calc0.4&br;+func0.3|'08/03/25|・カンマ式表組みに微対応&br;・バグ[[diary/2008-03-25]]の修正&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.4.zip.tgz);|2.4&br;+calc0.4&br;+func0.3|'07/10/06|オプションにauth_check_offを指定した場合、ページを凍結してもtable_edit2での編集が有効となっていた問題を修正しました。&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.3.zip.tgz);|2.3&br;+calc0.4&br;+func0.3|'07/07/13|exportで作られるファイルの名前にバリエーションが無いため、複数人で同時利用した時に、上書き・削除で邪魔をしやすい問題を調整。&br;①作成時の設定情報をファイル名に使う&br;②define('PLUGIN_TABLE_EDIT2_CSV_UNLINK', FALSE);&br; と設定することで作成したCSVファイルを自動削除しないようにできる&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.2.zip.tgz);|2.2&br;+calc0.4&br;+func0.3|'07/07/07|''CSV関連の修正を行いました''&br;①exportのダブルクォート列指定で1列のみ指定ができなかった問題を修正&br;②import、exportにExcelのCSV形式を対応&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.1.zip.tgz);|2.1&br;+calc0.4&br;+func0.3|'07/06/30|①各種CSV関連機能を追加&br;②行編集時のセルタイトル機能を追加(title_r=1&br;③formのradioやselectで空白定義しても選択項目に加えないno_null=1を追加&br;④少数点やカンマの数値書式を指定列限定にするformat_c=5を追加&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-2.0.zip.tgz);|2.0&br;+calc0.4&br;+func0.3|'07/04/15|試験的に公開&br;①初期設定フォームを追加。&br;②form=のオプション(text,textarea)に規定値を設定できる。&br;③行、列の位置で計算する関数を追加。&br;④動作不良の原因になる一部ロジックをdefineで利用しない設定にしています。&br;⑤Ver1.9で見つかっている記述ミスを修正&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-1.9.zip.tgz);|1.9&br;+calc0.4&br;+func0.2|'07/03/26| パソコン設定によって動作しないとの報告を受け急遽、最新版を一部(($_SERVER['HTTP_REFERER']を利用した不正利用のチェックはファイアウォール搭載のパソコンでは使えない事が判明した為。))修正したものを公開します。チェックがあまりできていないので、すみませんが問題あればご報告お願いいたします。&br;&color(,#ffddee){(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)};|
|&ref(table_edit2.inc.php-1.8.zip.tgz);|1.8&br;+calc0.4&br;+func0.2|'07/03/24|サンプル公開&br;作業予定の半分が完了しましたので、区切りとして公開します。&br;(バグチェック行うためこのサイトも最新版に変更しました。)&br; このバージョンはPukiWiki互換性を意識して色々ごまかした無駄なコードがあります。&br;(添付ファイルがzipとtgzで2重圧縮されています。解凍はtgz→zipの順に行ってください。)|
|&ref(table_edit2.inc.php.1.5.c04.f02.zip);|1.5&br;+calc0.4&br;+func0.2|'07/01/07|最近なかなか作業するまとまった時間が無いので、とりあえず現状の変更分だけアップします。&br;①text編集の参照文字が変換されて表示する問題を修正。&br;②diary/2006-11-17で実験したstyleを指定できるオプションを追加。|
|&ref(table_edit2.inc.php.1.4.c04.f02.zip);|1.4&br;+calc0.4&br;+func0.2|'06/11/15|①入力アシスタントを利用できるようにしました。&br;②数値文字参照が変換状態で表示される状態を修正しました。&br;&color(,DFCEAA){(textarea編集のみ修正しています。次のバージョンでtext編集も対応します。orz)};&br;③キャンセルを押した時にページ先頭ではなくテーブルアンカーを目標に飛ぶよう変更しました。|
|&ref(table_edit2.inc.php.1.3.c04.f02.zip);|1.3&br;+calc0.4&br;+func0.2|'06/11/14|''オプションを追加しました。''&br;title_c=1 列編集時、1列目を編集セルの項目名とします。&br;textarea  この指定でtextarea編集が可能(form指定がある場合そちらを優先する)&br;form    各列に対しフォームタイプを利用可能とする。|
|&ref(table_edit2.inc.php.1.2.c04.f02.zip);|1.2&br;+calc0.4&br;+func0.2|'06/10/28&br;'06/11/14|試験的にgettextに対応してみました。table_edit2.inc.phpはextend/pluginへ、table_edit2.moはextend/locale/ja_JP/LC_MESSAGESへ入れてください。&br;&color(#23d,Yellow){このバージョンに限りcancel処理が実行されずに削除となる状態である事が判明しましたので急遽差し替えています。};|
|&ref(table_edit2.inc.php.1.1c0.4f0.2);|1.1&br;+calc0.4&br;+func0.2|06/09/22|列追加、編集機能を追加するときに「行頭にhがあるときは項目名にする」のデーター引渡しを忘れていました。またcalc処理の問題点に暫定的フィルターを付けました。|
|&ref(table_edit2.inc.php.1.0c0.3f0.2);|1.0&br;+calc0.3&br;+func0.2|06/09/20|行・列の編集・追加や編集モード切替時にgetに渡したアドレスが残り、ページ先頭に戻る現象をなるべく編集位置に戻るよう機能追加しました。&br;table_edit2プラグインを使用した位置にtable_edit2_table_number1という名前が入ります。例えばページ内の3つ目のtable_edit2プラグイン使用位置ならば「http://ページアドレス#table_edit2_table_number3」とする事で直接その位置に飛ばすリンクを作る事ができます。&br;calc処理部分の正規表現フィルタがあまいなためミス計算式を表内に入れるても演算処理してしまいエラーを返します。暫定的な正規表現を[[ここ>diary/2006-09-21]]で考えていますので必要な場合は、修正してください。|
|&ref(table_edit2.inc.php.0.9c0.3f0.2);|0.9&br;+calc0.3&br;+func0.2|06/09/20|列追加、編集機能を追加しました。大幅な変更、追加を行ったので今まで無かった問題も発生するかもしれませんが、連絡頂ければこつこつと修正していきたいと思います。|
|&ref(table_edit2.inc.php.0.8c0.2f0.2);|0.8&br;+calc0.3&br;+func0.2|06/09/15|upkさんにご指摘頂いたtableの行末に c (書式指定)があった場合、calc計算後の右寄せ書式追加を実行しないように変更しました。&br;関数にセルの相対参照用関数を追加しました。|
|&ref(table_edit2.inc.php.0.7c0.2f0.1);|0.7&br;+calc0.2&br;+func0.1|06/09/14|セル内の数式演算機能、関数機能を追加しました。(upkさんからアイディアを頂きました。)|

**表組支援機能のみバージョン
-Ver1.8以降よりdefine('PLUGIN_TABLE_EDIT2_CALC', 0);にて計算機能を処理しない設定が可能になったため、上の表計算機能付きバージョンのみに集中して、開発を進めています。
|SIZE(12):|SIZE(12):|SIZE(12):|SIZE(12):|c
|~ファイル|~Ver|~日付|~コメント|h
|&ref(table_edit2.inc.php.1.4.zip);|1.4|'06/11/15|①入力アシスタントを利用できるようにしました。&br;②数値文字参照が変換状態で表示される状態を修正しました。&br;(こちらのバージョンではtext編集時の問題はありません。たぶん…)&br;③キャンセルを押した時にページ先頭ではなくテーブルアンカーを目標に飛ぶよう変更しました。|
|&ref(table_edit2.inc.php.1.3.zip);|1.3|'06/11/14|''オプションを追加しました。''&br;title_c=1 列編集時、1列目を編集セルの項目名とします。&br;textarea  この指定でtextarea編集が可能(form指定がある場合そちらを優先する)&br;form    各列に対しフォームタイプを利用可能とする。|
|&ref(table_edit2.inc.php.1.2+.zip);|1.2+|'06/10/28&br;'06/11/14|試験的にgettextに対応してみました。table_edit2.inc.phpはextend/pluginへ、table_edit2.moはextend/locale/ja_JP/LC_MESSAGESへ入れてください。&br;&color(#23d,Yellow){このバージョンに限りcancel処理が実行されずに削除となる状態である事が判明しましたので急遽差し替えています。};|
|&ref(table_edit2.inc.php.1.1);|1.1|06/09/22|列追加、編集機能を追加するときに「行頭にhがあるときは項目名にする」のデーター引渡しを忘れていました。また消そうと思っていた処理や問題点も修正しました。|
|&ref(table_edit2.inc.php.1.0);|1.0|06/09/21|列追加、編集機能を追加しました。簡易表計算付のバージョンに合わせて1.0としました。&br;※注意: こちらのプラグインには演算機能・関数機能を付けていません。|
|&ref(table_edit2.inc.php.0.7.haeder);|0.7|06/09/12|確かヘッダ(h)が無いと項目にしないように0.7をちょっと変更バージョンです。直っていない場合はプログラム内の先頭でdefine('PLUGIN_TABLE_EDIT_TABLE_HEADER', 'h');にして下さい。|
|&ref(table_edit2.inc.php.0.7);|0.7|06/09/11|upkさんに指摘頂いたhttpsの対応方法を$_SERVER['HTTP_REFERER']の記述部に適用しました。|
|&ref(table_edit2.inc.tgz);|0.6|06/09/11|編集時にタイムスタンプを付けない事ができる様にチェックボタンを追加&br;行追加、編集モード表示・非表示切替の時は強制でタイムスタンプを解除します。|
|&ref(table_edit2.inc.php.0.5);|0.5|06/09/10|先頭の切り替えボタンで行編集アイコンを表示、非表示に切り替える|
|&ref(table_edit2.inc.php.0.4);|0.4|06/09/10|アイコンリンクボタンを付ける為のinline pluginを&br;コード内に追加しました。|
|&ref(table_edit2.inc.php.0.3);|0.3|06/09/10|行編集画面に「cancel」、「delete」を追加しました。&br;インラインのコードを追加する前のバックアップでup|
|&ref(table_edit2.inc.php.0.2);|0.2|06/09/10|テキストエリアのサイズをdefineで設定可能&br;行追加機能追加|
|&ref(table_edit2.inc.php.0.1);|0.1|06/09/09|とりあえず編集が可能&br;制限ページの挙動確認済み|

}}
*ちなみに [#pddeb498]
-PukiWiki1.4.6で試してみたところ認証チェックでエラーでまくりでした。table_edit2.inc.php Ver 0.3の24,46-48,84をコメントアウトするか変更すれば動くかもです。
--Ver1.8以降から本家PukiWiki1.4.7で利用できない関数参照をチェックしエラーを回避するようにしました。この効果でplus-euc版も利用可能と思います。(本家とplus-euc版ではメッセージが日本語で表示されません。)
-このページの表は全部table_edit2プラグインを利用しているのですが、予想外に便利ですね。最大の理由がこのページで使われている表の場合、似通った文字が何度も使われるからです。つまり先頭文字で過去同じ文字を使った入力内容の候補が出てくるのです。(オートコンプリート機能だったかな?)
-現在の仕様(0.7)だと h(ヘッダ指定)が置かれている行で追加を行うとその内容をコピーしてしまいます。次のバージョンで修正しないとなぁ…。
#expand(470){{{
#code(diff){{
					if($vars['edit_mod'] == 'tr'){				//tr
						$notimestamp = TRUE;
						$source_s .= $args_line;
						$match_t = explode("|", $match_line[1]);
						$source_s .= '|';
						foreach ($match_t as $cell){
							$source_s .= '|';
						}
-						$source_s .= $match_line[2] . '
+						$source_s .= '
';
					}
}}
}}}
--$match_line[2]が蛇足でした。 (T-T
-行・列追加用の+マーク(&ref(http://taru.s223.xrea.com/wiki/image/plus/mini_add.png);)mini_add.pngは06.09.10以降のPlus!-i18n SVNに含まれています。それ以前のバージョンを使っている場合は画像を右クリックして「名前を付けて画像の保存」を選んでください。
*コメント [#kd6344b9]

#pcomment(PukiWiki/make/table_edit2.inc.php/comment,reply)

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes