KENT-WEB サポートコーナー 過去ログ [ 0187 ]


記事No: 14244
投稿日: 2015/09/15(Tue) 11:42:44
タイトルJoyfulNoteのタイトル長について
ID情報: cxj01715
投稿者: mabo
URLhttp://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
URLhttp://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
URLhttp://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;
>
> を追加すればいいと思います。


[検索ページ] [掲示板]