合作ができるようにPOTI-boardを改造しました
BBSNoteや、relmには、新規投稿ならパスワードがなくても続きを描く事ができる機能があります。合作の時に使う機能です。
もとの投稿を編集・削除する時はパスワードが必要なので、第三者による編集・削除を防ぐ事ができます。
POTI-boardでも似たような事ができるんだろうな…と思ったのですが…。


しかし…。


↑
差し換えなのにパスワードが無くても続きが描けるのはおかしい…と思ったら投稿エラーになりました。
これでエラーにならなかったら、知らないうちに投稿したイラストが別の何かになっていてもおかしくない…。

↑
エラーになった画像が、アップロード途中の画像に残っていました。
コメントを入力すれば新規投稿になります。
という事は、削除キーがなくても続きを描く事ができる設定にすると、続きを描いて差し換える事ができなくなる仕様…という事になります。
投稿したあとでちょっとだけ直したくなった…という事があるので困ります。
差し換えと新規投稿で、異なる動作になるようにプログラムを書き変える事ができれば…。
新規投稿ならパスワードなしで、差し換えならパスワードが必要。
ここを書き直すだけで期待通りの動作をするようになりました。
ただし、削除キー不要の設定のところを、必要にしないと削除キーの入力欄が表示されなくなりますから、必要にしておかなければいけません。
config.phpで設定できるようにしてみました。
テンプレートの仕様変更も…。従来のテンプレートでも対応テンプレートで改造前のプログラムでもどちらでも問題がでないように何とか…。
config.php
の
説明文だけ変更して
1855行目付近
CONTINUE_PASSが 0 なら、パスワードが必要なのは差し換えの時だけになるので、新規投稿を選択すれば誰でもパスワード無しで続きを描く事ができる→合作可能。
お絵かき テンプレート
続きから描く時の挙動が、POTI-board、BBSNote、relmですべて同じになり設置しているすべてのお絵かき掲示板で合作が可能になりました。
P.S
この仕様はPOTI-board改 v1.42 lot.180507に組み込まれました。
もとの投稿を編集・削除する時はパスワードが必要なので、第三者による編集・削除を防ぐ事ができます。
POTI-boardでも似たような事ができるんだろうな…と思ったのですが…。


//コンティニュー時、削除キーを必要とする 必要:1 不要:0に設定すると、削除キーの入力欄が無くなり誰でも続きを描く事ができるようになりました。
define('CONTINUE_PASS', '0');
しかし…。


↑
差し換えなのにパスワードが無くても続きが描けるのはおかしい…と思ったら投稿エラーになりました。
これでエラーにならなかったら、知らないうちに投稿したイラストが別の何かになっていてもおかしくない…。

↑
エラーになった画像が、アップロード途中の画像に残っていました。
コメントを入力すれば新規投稿になります。
という事は、削除キーがなくても続きを描く事ができる設定にすると、続きを描いて差し換える事ができなくなる仕様…という事になります。
投稿したあとでちょっとだけ直したくなった…という事があるので困ります。
差し換えと新規投稿で、異なる動作になるようにプログラムを書き変える事ができれば…。
//コンティニュー時のパスワード思ったより簡単だったというか…。差し換えの時はパスワードをチェックするけど、それ以外はパスワードをチェックしない。
// if(CONTINUE_PASS) usrchk($no,$pwd);
//パスワードが必要なのは差し換えの時だけ
if($type=='rep') usrchk($no,$pwd);
新規投稿ならパスワードなしで、差し換えならパスワードが必要。
ここを書き直すだけで期待通りの動作をするようになりました。
ただし、削除キー不要の設定のところを、必要にしないと削除キーの入力欄が表示されなくなりますから、必要にしておかなければいけません。
config.phpで設定できるようにしてみました。
テンプレートの仕様変更も…。従来のテンプレートでも対応テンプレートで改造前のプログラムでもどちらでも問題がでないように何とか…。
config.php
の
//コンティニュー時、削除キーを必要とする 必要:1 不要:0の設定をそのまま使います。
define('CONTINUE_PASS', '1');
説明文だけ変更して
//新規投稿でコンティニューする時にも削除キーが必要 必要:1 不要:0potiboard.phpの
define('CONTINUE_PASS', '0');
1855行目付近
// if(CONTINUE_PASS) $dat['passflag'] = true;2680行目付近。
//コンティニュー時はパスワード欄を常に表示
//従来のテンプレートとの互換性を保つため
//passflag を常に true にする。
$dat['passflag'] = true;
//ペイント画面のテンプレートで使う変数を追加
//新規投稿でパスワード不要の時 true
if(! CONTINUE_PASS) $dat['newpost_nopassword'] = true;
case 'contpaint':CONTINUE_PASSが 1 または、差し換えの時はパスワードが必要→差し換えでも、新規投稿でもパスワードが必要。
//コンティニュー時のパスワード
// if(CONTINUE_PASS) usrchk($no,$pwd);
//パスワードが必要なのは差し換えの時だけ
if(CONTINUE_PASS||$type=='rep') usrchk($no,$pwd);
CONTINUE_PASSが 0 なら、パスワードが必要なのは差し換えの時だけになるので、新規投稿を選択すれば誰でもパスワード無しで続きを描く事ができる→合作可能。
お絵かき テンプレート
<!--{def newpost_nopassword}-->従来のテンプレートを使う場合は
<li>新規投稿なら削除キーがなくても続きを描く事ができます。</li>
<!--{/def}-->
<!--{ndef newpost_nopassword}-->
<li>続きを描くには描いたときの削除キーが必要です。</li>
<!--{/ndef}-->
// passflag…削除キー入力を促す場合 true が入るの箇所が、常に true となるので、
<li>続きを描くには描いたときの削除キーが必要です。</li>という表示になる。
続きから描く時の挙動が、POTI-board、BBSNote、relmですべて同じになり設置しているすべてのお絵かき掲示板で合作が可能になりました。
P.S
この仕様はPOTI-board改 v1.42 lot.180507に組み込まれました。
posted by さとぴあ at 2018/04/27 01:11
| お絵かき掲示板の改造