合作ができるようにPOTI-boardを改造しました

BBSNoteや、relmには、新規投稿ならパスワードがなくても続きを描く事ができる機能があります。合作の時に使う機能です。
もとの投稿を編集・削除する時はパスワードが必要なので、第三者による編集・削除を防ぐ事ができます。

POTI-boardでも似たような事ができるんだろうな…と思ったのですが…。

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

POTI-board 続きから描くPOTI-board 続きから描く

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

POTI-board 続きから描く

エラーになった画像が、アップロード途中の画像に残っていました。
コメントを入力すれば新規投稿になります。

という事は、削除キーがなくても続きを描く事ができる設定にすると、続きを描いて差し換える事ができなくなる仕様…という事になります。

投稿したあとでちょっとだけ直したくなった…という事があるので困ります。

差し換えと新規投稿で、異なる動作になるようにプログラムを書き変える事ができれば…。
//コンティニュー時のパスワード
// if(CONTINUE_PASS) usrchk($no,$pwd);
//パスワードが必要なのは差し換えの時だけ
if($type=='rep') usrchk($no,$pwd);
思ったより簡単だったというか…。差し換えの時はパスワードをチェックするけど、それ以外はパスワードをチェックしない。
新規投稿ならパスワードなしで、差し換えならパスワードが必要。
ここを書き直すだけで期待通りの動作をするようになりました。

ただし、削除キー不要の設定のところを、必要にしないと削除キーの入力欄が表示されなくなりますから、必要にしておかなければいけません。

config.phpで設定できるようにしてみました。
テンプレートの仕様変更も…。従来のテンプレートでも対応テンプレートで改造前のプログラムでもどちらでも問題がでないように何とか…。

config.php
//コンティニュー時、削除キーを必要とする 必要:1 不要:0
define('CONTINUE_PASS', '1');
の設定をそのまま使います。
説明文だけ変更して
//新規投稿でコンティニューする時にも削除キーが必要 必要:1 不要:0
define('CONTINUE_PASS', '0');
potiboard.phpの
1855行目付近
// if(CONTINUE_PASS) $dat['passflag'] = true;
//コンティニュー時はパスワード欄を常に表示
//従来のテンプレートとの互換性を保つため
//passflag を常に true にする。
$dat['passflag'] = true;
//ペイント画面のテンプレートで使う変数を追加
//新規投稿でパスワード不要の時 true
if(! CONTINUE_PASS) $dat['newpost_nopassword'] = true;
2680行目付近。
case 'contpaint':
//コンティニュー時のパスワード
// if(CONTINUE_PASS) usrchk($no,$pwd);
//パスワードが必要なのは差し換えの時だけ
if(CONTINUE_PASS||$type=='rep') usrchk($no,$pwd);
CONTINUE_PASSが 1 または、差し換えの時はパスワードが必要→差し換えでも、新規投稿でもパスワードが必要。

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に組み込まれました。

この記事へのコメント

コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。