記事No | : 14244 |
投稿日 | : 2015/09/15(Tue) 11:42:44 |
タイトル | : JoyfulNoteのタイトル長について |
ID情報 | : cxj01715 |
投稿者 | : mabo |
URL | : http://mabo52.sakura.ne.jp/sin-bbs/joyful.cgi |
何度も助けていただいてありがとうございます。
JoyfulNoteについて、質問させてください。
JoyfulNoteのタイトル長は、init.cgiで設定するよになっていて、デフォルトは15です。
投稿記事のタイトル長が13文字以上?になると返信のタイトルで、「Re:」が付加される
ので、「タイトル長は15文字以内です」のエラーになります。
デフォルトの15を増やすことで、以後の新規投稿については、
取り合えずエラーを回避できたように思います。(設定長−2文字のタイトル長では
エラーになるような気がします。)
文字長のチェックの部分を変更しすれば、大丈夫だと思いますが。
それから、edit.htmlですが、タイトル長がデフォルトの15に固定されてます。
<input type="text" name="sub" class="reg-url" value="!sub!" maxlength="15" />
このままではiniti.cgiの設定が反映されないように思いますが。
ということで、以下の2点のアドバイスお願いします。
「文字長のチェックの変更」「edit.htmlへの反映の方法」
記事No | : 14248 |
投稿日 | : 2015/09/16(Wed) 10:23:12 |
タイトル | : Re: JoyfulNoteのタイトル長について |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
「Re:」が追加されてタイトル長の警告が出るのを防ぐには
たとえば、regist.cgi505行目の
if (length($in{sub}) > $cf{sub_len}*2) {
$err .= "タイトル名は全角$cf{sub_len}文字以内です<br>";
}
を
$tmp = $in{sub};
$tmp =~ s/^Re:\s?//;
if (length($tmp) > $cf{sub_len}*2) {
$err .= "タイトル名は全角$cf{sub_len}文字以内です<br>";
}
と書き換えて、Re:を除いたタイトル長で警告するように変更してはどうでしょう。
フォームのmaxlengthについては、
maxlength="15" 部分を削除してしまうのが一番簡単です。
init.cgiで設定した$cf{sub_len}の値を反映させるなら、この部分を
maxlength="!sublen!"
などと変更し、regist.cgi 420行目あたりに
$tmpl =~ s/!sublen!/$cf{sub_len}/g;
を追加すればいいと思います。
記事No | : 14249 |
投稿日 | : 2015/09/16(Wed) 10:48:40 |
タイトル | : Re^2: 解決いたしました。 |
ID情報 | : cxj01715 |
投稿者 | : mabo |
URL | : http://mabo52.sakura.ne.jp/sin-bbs/joyful.cgi |
hirayamaさん、いつもありがとうございます。
「Re:」を比較の文字列から省いて比較するようにしました。
editr.htmlは、maxlength="15"を削除しました。
比較の文字長を長くするのかなと思いましたが、比較の文字列から
「Re:」を省く方は気がつきませんでした。
いつもながら、ありがとうございます。
mabo
> 「Re:」が追加されてタイトル長の警告が出るのを防ぐには
> たとえば、regist.cgi505行目の
>
> if (length($in{sub}) > $cf{sub_len}*2) {
> $err .= "タイトル名は全角$cf{sub_len}文字以内です<br>";
> }
>
> を
>
> $tmp = $in{sub};
> $tmp =~ s/^Re:\s?//;
> if (length($tmp) > $cf{sub_len}*2) {
> $err .= "タイトル名は全角$cf{sub_len}文字以内です<br>";
> }
>
> と書き換えて、Re:を除いたタイトル長で警告するように変更してはどうでしょう。
>
> フォームのmaxlengthについては、
> maxlength="15" 部分を削除してしまうのが一番簡単です。
> init.cgiで設定した$cf{sub_len}の値を反映させるなら、この部分を
>
> maxlength="!sublen!"
>
> などと変更し、regist.cgi 420行目あたりに
>
> $tmpl =~ s/!sublen!/$cf{sub_len}/g;
>
> を追加すればいいと思います。