Releases: satopian/Petit_Note
Petit Note v1.116.5 リリース
1## Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,tegaki.jsAXNOS Paint,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
Petit Note v1.116.5リリース
2025/09/12 v1.115.2
描画時間の非表示設定
- すべての描画時間を非表示にする設定項目を
config.php
に追加しました。
// すべての描画時間を非表示にする
// する: trueですべての投稿のペイント時間を非表示にします。
$all_hide_painttime = true;
// $all_hide_painttime = false;
$all_hide_painttime
をtrue
に設定した時は、描画時間を表示しません。
切り替えた直後の最初の1ページ目は負荷削減のためのキャッシュが残っているため、すぐには反映されません。
新しい投稿を行うか、編集・削除などの操作をすると古いキャッシュが消えて、描画時間の非表示設定が反映されるようになります。
ChickenPaint Be更新
- 翻訳を修正しました。
変更があったファイル
- app/chickenpaint/ ディレクトリを上書きアップデート
- functions.php
- index.php
- config.php
すべての描画時間を非表示にする設定が追加されています。
描画時間を非表示にする必要がない場合は従来のconfig.phpのままご利用ください。
2025/09/12 v1.115.2
ChickenPaint Be更新
- テクスチャの拡大縮小ができるようになりました。
拡大率が500%から800%に拡張されました。 - テクスチャのサムネイルが明度・コントラスト・倍率などのスライダで見えなくなってしまう問題を修正しました。
変更があったファイル
- app/chickenpaint/ ディレクトリを上書きアップデート
- index.php
2025/09/11 v1.115.1
ChickenPaint Be更新
- テクスチャの拡大縮小ができるようになりました。
2025_09_11_002_ChickenPaint_Be.mp4
バグ修正
- 検索テンプレートのページ内リンクの形式の一部が古い最終時刻のままになっていたバグを修正しました。
最終投稿時刻のユニックスタイムスタンプではなく、最初に投稿した時刻のユニックスタイムスタンプを使います。
変更があったファイル
- app/chickenpaint/ ディレクトリを上書きアップデート
- index.php
変更があったテンプレート
- template/basic/search.html
2025/09/09 v1.113.1
ChickenPaint Be更新
- ChickenPaint Beのレイヤー名に日本語を含むマルチバイト文字が使えるようになりました。
これまでは英数字以外を入力すると続きを描く時に文字化けが発生していました。
これからは、多国語に対応し、絵文字にも対応します。
ChickenPaint Beの新機能 表示の左右反転 - YouTube
ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube
ChickenPaint Beの新機能 選択範囲パネル・ズームと回転パネル - YouTube
「投稿者名をコピー」機能を改善
- 「投稿者名をコピー」時に全角に変換されていたHTMLの特殊文字を安全に半角でコメント欄にコピーします。
スレッドの途中の画像へのリンク
- スレッド内の途中の画像も、SNSで共有可能になりSNSで表示されるOGP画像もそのスレッドの途中の画像で共有可能になりました。
そのスレッド内の途中のリンクを開いた時の動作が変更されました。
これまではタイトルタグの「by さとぴあ」といった作者名が表示される箇所はスレッドの先頭の投稿者名だけでした。
今回の更新で、スレッド内の途中のリンクの時には、その途中の画像の作者名を表示するようになりました。
変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
変更があったテンプレート
- template/basic/parts/threads_loop.html
テンプレートのこのファイルが更新されていない時は、HTMLの特殊文字が文字化けします。
必ず更新してください。 - template/basic/res.html
res.html
は更新しなくても問題は発生しません。
2025/09/07 v1.111.1
PHP8.5ベータ2でテスト
- 11月にリリースされるPHP8.5のベータ版でテストを行い正常に動作する事を確認しました。
エラーや警告は発生しません。
待機時間を1.2秒から0.8秒に短縮
- 画面が表示されてからボタン押下が可能になるまでの時間を1.2秒から0.8秒に短縮しました。
この待機時間はbot対策のために導入されましたが、1.2秒では人による操作でも「少し待ってください」というエラーメッセージが頻繁に表示される事があり、そのため、0.8秒待機に短縮されました。
SNS連携時に空白が+
のまま投稿される問題を修正
- スマホでthreadsに「SNSで共有する」と、半角スペースが記号の
+
に変換されて投稿される問題を修正しました。
スペースを+
に変換しないURLエンコードに変更し、この問題を解決しました。
SNSで共有機能のファイルを分離
- コードの保守を容易にするため「SNSで共有する」機能のファイルを分離しました。
Klecks更新
- Klecksを最新版にアップデートしました。
変更があったファイル
- functions.php
- index.php
- search.inc.php
- sns_share.inc.php
- app/klecks/ ディレクトリを上書きアップデート
2025/09/02 v1.110.7
ChickenPaint Be更新
バグ修正
- テクスチャの輝度/コントラストのスライダーが正しく動作しなくなっていたのを修正しました。

CSSを整理
- Bootstrap v5.3.0からv5.3.8にCSSを変更。
- BootstrapのCSSとChickenPaint独自のCSSが混在していていたのを可能な範囲で分離して開発が継続できるようにしました。
変更があったファイル
- app/chickenpaint/ ディレクトリを上書きアップデート
- index.php
2025/09/02 v1.110.5
ChickenPaint Be更新
- ツールオプションパレットのボタンにアイコンを追加しました。
- ライトボタンの色が非アクティブレイヤーのグレーと同じになるように調整しました。


変更があったファイル
- app/chickenpaint/ ディレクトリを上書きアップデート
- index.php
2025/08/29 v1.110.2
ChickenPaint Be更新
- 回転角をスライダーで180度にするときに、実際のキャンバスの角度と同期しようとして+180度と-180度が交互に入れ替わりちらつく問題を修正しました。
変更があったファイル
- app/chickenpaint/ ディレクトリを上書きアップデート
- app/klecks/ ディレクトリを上書きアップデート
- index.php
2025/08/28 v1.110.1
ChickenPaint Be更新
- ボタンのサイズを調整しました。
- 2025年のブラウザ環境には必要がない古いブラウザのための拡大縮小時のスムージング処理のポリフィルを削除しました。
- Bootstrapを最新版のv5.3.8にアップデートしました。
Klecks更新
- 選択範囲内にのみブラシで描画する事ができるようになりました。
(ビルドと日本語訳のみさとぴあ)
変更があったファイル
- app/chickenpaint/ ディレクトリを上書きアップデート
- app/klecks/ ディレクトリを上書きアップデート
- index.php
2025/08/26 v1.109.0
ChickenPaint Be更新
- ボタンの色を調整しました。
Klecks更新
- 選択範囲でできる事が多くなりました。選択範囲内の画像の色を変更したり、選択範囲内の画像を変形する事ができるようになりました。
変更があったファイル
- app/chickenpaint/ ディレクトリを上書きアップデート
- app/klecks/ ディレクトリを上書きアップデート
- index.php
2025/08/24 v1.108.7
ChickenPaint Be更新
- ボタンの色を調整しました。
- 「表示をリセット」を「表示を初期化」に変更しました。

変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/23 v1.108.6
ChickenPaint Be更新
- ボタンの色を調整しました。
- ボタンの余白を調整しました。
変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/22 v1.108.3
ChickenPaint Beのバグを修正
- ズームと回転パネルのスライダーが同期しないケースがあったのを修正しました。
変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/20 v1.108.0
- GPS情報の消去条件を変更しました。
これまでは「緯度と経度の両方が存在する」場合にのみGPSデータを消去していました。
これからは「緯度または経度のいずれかが存在する」場合にGPSデータを消去します。
経度だけ、緯度だけというGPS情報は基本的に存在しないはずですが、なんらかのデータ破損で片方だけになった時にもGPS情報を削除します。
変更があったファイル
- functions.php
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/20 v1.107.6
ChickenPaint Be更新
ツールオプションパレットに「ズームと回転」を追加
- ツールオプションパレットに「ズームと回転」を追加しました。
手のひらツール・回転ツール選択時、スペースキー押下時などに表示されます。
ズームの倍率・キャンバスの回転角度をスライダーで操作できます。
「表示をリセット」ボタン押下で、「拡大率」「回転角度」「表示の左右反転」をすべてリセットします。
回転をリセットするショートカットキー
- ALT+0で、回転をリセットする事ができるようになりました。
ChickenPaint Beの新機能 表示の左右反転 - YouTube
ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube
変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/16 v1.106.6
ChickenPaint Be更新
- 選択ツール使用時に「縦横比を維持」するチェックボックが表示されるようになりました。
変形ボタンが青色になりました。
Enterキー押下で変形します。
ChickenPaint Beの新機能 表示の左右反転 - YouTube
ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube
変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/16 v1.106.3
ChickenPaint Be更新
- 変形操作時に「縦横比を維持」するチェックボックスが表示されるようになりました。
ChickenPaint Beの新機能 表示の左右反転 - YouTube
ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube
変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/16 v1.106.2
ChickenPaint Be更新
ワークフローを改善
- ツールオプションパレットに「すべて選択」「選択解除」「変形」ボタンが表示されるようになりました(長方形選択ツール・移動ツール使用時)。

変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/14 v1.105.1
ChickenPaint Be更新
- 表示の左右反転時に変形操作を行い変形対象を回転する時に、ペンの回転方向と対象の回転方向が逆になるバグを修正しました。
- 左右反転時に←↓↑→方向キーで対象を移動する時に、左右逆に移動するバグを修正しました。
ChickenPaint Beの新機能 表示の左右反転 - YouTube
ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube
変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
変更があったテンプレート
- template/basic/icomoon/demo-files/demo.js
2025/08/13 v1.105.0
ChickenPaint Be更新
作業効率を劇的に改善する「表示の左右反転」機能を追加
-
ChickenPaint Beを更新しました。
-
これまでは画像全体を反転するためレイヤーを1枚ずつ左右反転していました。
そのため、レイヤーが50枚ある時は、50枚のレイヤーを1枚ずつ反転する必要がありました。 -
今回追加された「表示の左右反転」は、全レイヤーの表示を一括で反転します。
-
「表示の」左右反転のため、実際の画像には変更が加えられず、アンドゥの履歴にも残りません。
-
左右反転ボタンに赤枠が付いている時が反転状態です。
-
赤枠が付いている時の画像を正しい向きと誤認すると、反転した画像が投稿されてしまいますのでご注意ください。
-
今回追加した「表示の左右反転」機能は、一般的なペイントツールでよく使われている機能です。
ChickenPaint Beの新機能 表示の左右反転 - YouTube
ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube
変更があったファイル
- index.php
- app/chickenpaint/ ディレクトリを上書きアップデート
2025/08/10 v1.102.7
ChickenPaint Beのバグを修正
- 変形操作中にスペースキー押下で一時的なパンモード(キャンバスの移動)に入った時に、ペン・マウスを移動するとカーソルがたびたび入れ替わりちらつく問題を修正しました。
ChickenPaint Beの新機能 新しくなったズームと移動 - YouTube
変更があったファイル
- index.php
- app/ch...
Petit Note v0.81.5リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
Petit Note v0.81.5リリース
23/07/13 v0.81.5
SNS共有時に開くWindowsの幅と高さをconfig.phpで設定できるようにしました。
config.phpに新規設定項目を追加しました。
// SNS共有の時に開くWindowsの幅と高さ
//windowの幅 初期値 350
$sns_window_width = 350;
//windowの高さ 初期値 490
$sns_window_height = 490;
SNS共有時のサーバ一を追加した時に、共有画面のWindowの高さが不足して、スクロールする必要があるケースがありました。
SNS共有時のサーバ一覧の共有画面のWindowsの幅と高さを設定できるようにして、その問題を解決しました。
上記設定項目がconfig.phpに存在しない時は、デフォルト値の、幅350px、高さ490pxが適用されます。
変更があったファイル
- index.php
- config.php(新規設定項目が必要な場合のみ更新)
変更があったテンプレート
- template/basic/js/common.js
- template/basic/main.html
- template/basic/res.html
まとめて更新する方へ
ここ数ヶ月でかなりの数のファイルを更新しました。
テンプレートをカスタマイズしていない方は
template/
ディレクトリを上書きapp/
ディレクトリを上書きlib/
ディレクトリを上書き
そして、index.php
と
functions.php
を更新すれば一連の更新を反映させる事ができますので、よろしくお願いします。
非同期通信でエラーメッセージを出す処理のJavaScriptは、template/basic/js/
にはいっていますので、template/
ディレクトリを上書きアップデートすれば更新が反映されます。
23/07/11 v0.81.3
投稿を共有するSNSのサーバ一覧画面の操作性を向上
共有するサーバの選択時にラベルの文字列の上にカーソルをあわせなくても選択できるようにしました。
ラベルの文字列の右側の余白をタップした時にも選択できるうようになりました。
- petitnote/template/basic/set_share_server.html
のHTMLの文法エラーを修正しました。
変更があったファイル
- petitnote/index.php
変更があったテンプレート
- petitnote/template/basic/set_share_server.html
23/07/11 v0.81.2
- 記事の編集時に管理者編集モードを管理者として認識しせず、NGワードフィルタが動作するバグを修正しました。
- 完全一致の時にもAlphabetの大文字・小文字の区別をしないようにしました。
- 管理者による画像の閲覧注意への変更時に投稿者のホスト名が管理者のホスト名に変わってしまっていたのを修正しました。
- 閲覧注意設定以外の項目が同じ時は、元の投稿者のホスト名から変更されません。
- 返信画面で編集時にのみ表示していた閲覧注意画像を「隠す/隠さない」の設定項目を、常に表示するようにしました。
(閲覧注意機能を使用しない設定にしている場合は、閲覧注意画像を「隠す/隠さない」の設定項目は表示されません)
変更があったファイル
- petitnote/functions.php
- petitnote/index.php
変更があったテンプレート
- petitnote/template/basic/res.html
23/07/09 v0.80.8
投稿を共有するSNSのサーバ一覧画面のデザインを調整しました。
ラジオボタンのチェックサークルを非表示にしました。
ラベルのホバー時に背景色が表示されるようにしました。
変更があったファイル
- index.php
- template/basic/index.css
- template/basic/set_share_server.html
23/07/08 v0.80.7
ツーイートボタンから「Twitter」「Mastodon」「Misskey」共有へ。
v0.80.3から「Twitter」以外の、「Mastodon」「Misskey」等の短文投稿SNSに投稿を共有できるようになりました。
config.phpで設定すれば以前のツイートボタンに戻す事もできます。
また、共有するMastodon、Misskeyのサーバ一覧を編集する事もできます。
// SNSシェア機能詳細設定
//シェア機能に、Mastodon、Misskeyの各サーバを含める
// 含める: true 含めない: false
$switch_sns = true;
// $switch_sns = false;
// SNS共有の時に一覧で表示するサーバ
//例 ["表示名","https://example.com (SNSのサーバのurl)"],(最後にカンマが必要です)
$servers =
[
["Twitter","https://twitter.com"],
["mstdn.jp","https://mstdn.jp"],
["pawoo.net","https://pawoo.net"],
["fedibird.com","https://fedibird.com"],
["misskey.io","https://misskey.io"],
["misskey.design","https://misskey.design"],
["nijimiss.moe","https://nijimiss.moe"],
["sushi.ski","https://sushi.ski"],
];
config.phpに設定項目が増えていますが、細かく設定したい人のためのものです。
設定項目が存在しない場合は、新しいSNS共有リンクになります。
変更が必要ではない方は、すでに設定ずみのconfig.phpをそのままご利用ください。
細かな修正
- 共有するサーバを選択する一覧画面にセットされるサーバのurlの末尾に
/
が入らないようにしました。 /
が入っていても動作しますが、推移先のurlで//
になります。- 共有するサーバを選択する一覧画面の上の余白を開け、ウィンドウサイズを縦に10px広げました。
(見た目の修正)
変更があったファイル
- index.php
- functions.php
- config.php (共有するサーバ一覧の設定が必要な方は更新、必要ない方はすでに設定ずみの
config.php
をそのまま使用してください。)
変更があったテンプレート
- template/basic/js/common.js
- template/basic/set_share_server.html
(テンプレートをカスタマイズしていない場合は、template/
ディレクトリをまるごとアップデートすれば簡単に更新が終わります)
23/07/07 v0.80.3
バグ修正
- 題名を必須に設定した時にレス記事の編集時に題名を求められて編集できなくなるバグを修正しました。
改善
- 使用ツールが不明な時に ??? と表示していましたが、不明な時はツールの表示箇所を最初から表示しないようにしました。
- 記事の編集に管理パスを使用している時にはコメントの二重投稿チェックをしないようにしました。
- 閲覧注意画像を「隠す/隠さない」を検索とカタログモードに追加しました。
- 閲覧注意画像を「隠す/隠さない」の処理を非同期通信化しました。
- テンプレートの共通箇所を外部化して
parts/
ディレクトリにまとめました。
ツイートボタンからSNS共有ボタンへ。「Mastodon」「Misskey」に対応。
- Twitterだけでなく、分散型SNSにも記事を共有できるようになりました。
「Mastodon」「Misskey」等の分散型SNSに記事を共有できます。
一覧に無いサーバも直接入力すれば共有できます。
変更があったファイル
- index.php
- functions.php
追加されたテンプレート
- template/basic/parts/before_edit_del_res_loop.html
- template/basic/parts/form_set_nsfw_show_hide.html
- template/basic/set_share_server.html
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
- template/basic/search.html
- template/basic/continue.html
- template/basic/edit_form.html
- template/basic/paint_com.html
- template/basic/main.html
- template/basic/res.html
変更があったテンプレートのディレクトリ
- template/basic/icomoon/ ディレクトリを上書きアップデート
- template/basic/js/ ディレクトリを上書きアップデート
(テンプレートをカスタマイズしていない場合は、template/
ディレクトリをまるごとアップデートすれば簡単に更新が終わります)
23/06/28 v0.78.9
ペイント画面で使用するテンプレートのビューポートを調整しました。
各お絵描きアプリからデータを受信しているファイルの使用アプリの判定処理を調整しました。
Tegakiの描画アニメ再生時のタイトルタグが、「Tegaki」になっていました。
掲示板の名称が入るように修正しました。
変更があったファイル
- index.php
- save.php
- saveklecks.php
- saveneo.php
変更があったテンプレート
- template/basic/paint_chi.html
- template/basic/paint_klecks.html
- template/basic/paint_tegaki.html
- template/basic/tgkr_view.html
23/06/22 v0.78.7
改善
- Tegakiの描画アニメの初期再生速度を25倍に変更しました。
- 編集画面でTegakiの描画アニメを表示するしないを変更できるようにしました。
- tegaki.js使用時にConsoleに表示されるChromeの軽微な警告を解消しました。(独自修正版)
仕様変更
config.phpに設定項目が無いときは、Tegakiを使う設定になるように修正しました。
例えば、NEOしか起動しないお絵かき掲示板にしている場合は、Tegakiが起動すると困ると思いますが、その場合は、config.phpのどこでもいいので以下の設定を貼り付けてください。
// Tegakiを使う
// 使う:true 使わない:false
$use_tegaki= true;
// $use_tegaki= false;
config.phpに設定項目を追加して、
$use_tegaki= false;
にすると、Tegakiがお絵かきアプリの選択項目から消えます。
設定項目が存在しない場合は、Tegakiを使う設定になります。
変更があったディレクトリ
- app/tegaki/ ディレクトリを上書きアップデート
変更があったファイル
- index.php
23/06/22 v0.78.3
Tegakiの描画アニメの記録と再生に対応しました。
tegaki.jsの描画アニメの記録と再生に対応しました。
描画アニメにはレイヤー情報が保存されているのですが、現時点では続きを描く事ができるのはレイヤーが統合されたPNG画像からになります。
描画アニメも、続きを描くと消えてしまいます。
現時点では仕様です。
アニメファイルから続きを描きたいという要望をtegaki.jsの開発元リポジトリでIssueを開いて提出しました。
変更があったアプリ
- app/tegaki/ ディレクトリを上書きアップデート
変更があったファイル
- index.php
- functions.php
- saveklecks.php
追加されたテンプレート
- template/basic/tgkr_view.html
変更があったテンプレート
- template/basic/paint_com.html
- template/basic/paint_tegaki.html
23/06/20 v0.78.2
ペイントアプリ tegaki.js に対応
英語文化圏の画像掲示板で使用されているお絵かきアプリ、tegaki.jsに対応しました。
本当は描画アニメの記録と再生まで対応したかったのですが、細部がどうしても調整できなかったため、PNG画像の投稿どまります。
(v0.78.3で対応)
続きを描くとレイヤーが統合された画像からになります。
レイヤーは最大25枚まで。
不透明度のスライダで網の濃さがかわる塗るトーンもあります。
// Tegakiを使う
// 使う:true 使わない:false
$use_tegaki= true;
// $use_tegaki= false;
config.phpに設定項目を追加して、
$use_tegaki= true;
にすると、Tegakiが使用可能になります。
Tegakiを使いたい方は、config.phpへの設定項目の追加をお願いします。
設定項目が存在しない場合は、Tegakiを使わない設定になります。
v0.78.7で、設定項目が存在しない場合は、Tegakiを使う設定になりました。
変更があったファイル
- config.php (設定項目Tegakiを使う/使わないが追加されました)
- functions.php
- index.php
- saveklecks.php
追加されたファイル
- app/tegaki/ ディレクトリを上書きアップデート
追加されたテンプレート
- template/basic/paint_tegaki.html
変更があったテンプレート
- template/basic/parts/copyright.html
- template/basic/parts/select_apps.html
- template/basic/res.html
Petit Note v0.77.2リリース
23/06/17 v0.77.2
「投稿者名をコピー」機能を改善
「投稿者名をコピー」ボタンを押すと、スレッドの投稿者名がコメント入力欄に追加される機能を改良しました。
従来は、入力ずみのテキストが存在する時は、テキストの末尾に投稿者名が追加されていました。
今回の更新で、カーソールの位置に投稿者名が読み込まれるようになりました。
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/res.html
23/06/16 v0.77.1
ChickenPaintを独自に更新
ChickenPaint内の非推奨のJavaScriptの構文e.whichをe.keyに置き換えました。
- app/chickenpaint/ ディレクトリを上書きアップデート。
閲覧注意画像を「隠す/隠さない」の設定をコンティニュー画面に反映
閲覧注意画像を隠す隠さないを設定できるようになりましたが、続きを描く画面では、閲覧注意画像がそもそも隠されていませんでした。
続きを描く画面でも隠すように修正して、さらに、設定が反映されるようにしました。
テンプレートの閲覧注意画像を隠す/隠さないを設定しているCSSの分岐を外部ファイルに
共通箇所を何度も繰り返し書く必要はないので、外部ファイル化しました。
PHPのif文を含む、CSS切り替えのパーツをまとめて、他のファイルにインクルードするようにしました。
- template/basic/parts/nsfw_css_control.html
追加されたテンプレート
- template/basic/parts/nsfw_css_control.html
更新されたテンプレート
- template/basic/main.html
- template/basic/res.html
- template/basic/catalog.html
- template/basic/edit_form.html
- template/basic/search.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/continue.html
(閲覧注意に関連する「隠す/隠さない」の制御が必要ない場合はテンプレートを更新する必要はありません)
23/06/10 v0.76.9
バグ修正
- Klecksが起動しなくなっていたのを修正しました。
このバグはv0.76.8で発生し、v0.76.9で修正されました。
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/paint_klecks.html
23/06/10 v0.76.8
閲覧者が「隠さない」に設定すれば閲覧注意画像にぼかしがかからなくなりました
マストドンや、Misskey等のSNSでは軽微な表現の場合にもメディアへの「閲覧注意」の設定が義務付けられています。
一方で「閲覧注意」のメディアをぼかさずそのまま表示する事もできるようになっています。
この事によって、観たくない人の目にはふれにくくなり、一方で見たい人は余分なタップを行う事なく画像を閲覧する事ができるようになっています。
それとほぼ同じ設定項目を「編集メニュー」に追加しました。
これにより、閲覧注意に設定された画像が増えた場合でも、閲覧注意を隠さないに設定している人はそのまま画像を表示できます。
管理者権限で閲覧注意に切り替えた場合、投稿者が「ぼかしが入ってしまったし見てくれる人はいない」と感じる場合があります。
今回の機能追加によって、閲覧注意に変更されても画像をそのまま見ている人もいると捉えてもらえるようになるかもしれません。
ぼかしが入らない状態でも、閲覧注意に設定されている画像には「NSFW」の文字が小さく入ります。
投稿者が閲覧注意に設定して配慮している事がわかるようにするためです。
// 閲覧注意を設定する
//する: trueに設定すると閲覧注意の設定ができるようになります。閲覧注意画像にぼかしが入ります。
// する: ...
Petit Note v0.78.9リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
Petit Note v0.78.9リリース
23/06/28 v0.78.9
ペイント画面で使用するテンプレートのビューポートを調整しました。
各お絵描きアプリからデータを受信しているファイルの使用アプリの判定処理を調整しました。
Tegakiの描画アニメ再生時のタイトルタグが、「Tegaki」になっていました。
掲示板の名称が入るように修正しました。
変更があったファイル
- index.php
- save.php
- saveklecks.php
- saveneo.php
変更があったテンプレート
- template/basic/paint_chi.html
- template/basic/paint_klecks.html
- template/basic/paint_tegaki.html
- template/basic/tgkr_view.html
まとめて更新する方へ
ここ数ヶ月でかなりの数のファイルを更新しました。
テンプレートをカスタマイズしていない方は
template/
ディレクトリを上書きapp/
ディレクトリを上書きlib/
ディレクトリを上書き
そして、index.php
と
functions.php
を更新すれば一連の更新を反映させる事ができますので、よろしくお願いします。
非同期通信でエラーメッセージを出す処理のJavaScriptは、template/basic/js/
にはいっていますので、template/
ディレクトリを上書きアップデートすれば更新が反映されます。
23/06/22 v0.78.7
改善
- Tegakiの描画アニメの初期再生速度を25倍に変更しました。
- 編集画面でTegakiの描画アニメを表示するしないを変更できるようにしました。
- tegaki.js使用時にConsoleに表示されるChromeの軽微な警告を解消しました。(独自修正版)
仕様変更
config.phpに設定項目が無いときは、Tegakiを使う設定になるように修正しました。
例えば、NEOしか起動しないお絵かき掲示板にしている場合は、Tegakiが起動すると困ると思いますが、その場合は、config.phpのどこでもいいので以下の設定を貼り付けてください。
// Tegakiを使う
// 使う:true 使わない:false
$use_tegaki= true;
// $use_tegaki= false;
config.phpに設定項目を追加して、
$use_tegaki= false;
にすると、Tegakiがお絵かきアプリの選択項目から消えます。
設定項目が存在しない場合は、Tegakiを使う設定になります。
変更があったディレクトリ
- app/tegaki/ ディレクトリを上書きアップデート
変更があったファイル
- index.php
23/06/22 v0.78.3
Tegakiの描画アニメの記録と再生に対応しました。
tegaki.jsの描画アニメの記録と再生に対応しました。
描画アニメにはレイヤー情報が保存されているのですが、現時点では続きを描く事ができるのはレイヤーが統合されたPNG画像からになります。
描画アニメも、続きを描くと消えてしまいます。
現時点では仕様です。
アニメファイルから続きを描きたいという要望をtegaki.jsの開発元リポジトリでIssueを開いて提出しました。
変更があったアプリ
- app/tegaki/ ディレクトリを上書きアップデート
変更があったファイル
- index.php
- functions.php
- saveklecks.php
追加されたテンプレート
- template/basic/tgkr_view.html
変更があったテンプレート
- template/basic/paint_com.html
- template/basic/paint_tegaki.html
23/06/20 v0.78.2
ペイントアプリ tegaki.js に対応
英語文化圏の画像掲示板で使用されているお絵かきアプリ、tegaki.jsに対応しました。
本当は描画アニメの記録と再生まで対応したかったのですが、細部がどうしても調整できなかったため、PNG画像の投稿どまります。
(v0.78.3で対応)
続きを描くとレイヤーが統合された画像からになります。
レイヤーは最大25枚まで。
不透明度のスライダで網の濃さがかわる塗るトーンもあります。
// Tegakiを使う
// 使う:true 使わない:false
$use_tegaki= true;
// $use_tegaki= false;
config.phpに設定項目を追加して、
$use_tegaki= true;
にすると、Tegakiが使用可能になります。
Tegakiを使いたい方は、config.phpへの設定項目の追加をお願いします。
設定項目が存在しない場合は、Tegakiを使わない設定になります。
v0.78.7で、設定項目が存在しない場合は、Tegakiを使う設定になりました。
変更があったファイル
- config.php (設定項目Tegakiを使う/使わないが追加されました)
- functions.php
- index.php
- saveklecks.php
追加されたファイル
- app/tegaki/ ディレクトリを上書きアップデート
追加されたテンプレート
- template/basic/paint_tegaki.html
変更があったテンプレート
- template/basic/parts/copyright.html
- template/basic/parts/select_apps.html
- template/basic/res.html
Petit Note v0.77.2リリース
23/06/17 v0.77.2
「投稿者名をコピー」機能を改善
「投稿者名をコピー」ボタンを押すと、スレッドの投稿者名がコメント入力欄に追加される機能を改良しました。
従来は、入力ずみのテキストが存在する時は、テキストの末尾に投稿者名が追加されていました。
今回の更新で、カーソールの位置に投稿者名が読み込まれるようになりました。
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/res.html
23/06/16 v0.77.1
ChickenPaintを独自に更新
ChickenPaint内の非推奨のJavaScriptの構文e.whichをe.keyに置き換えました。
- app/chickenpaint/ ディレクトリを上書きアップデート。
閲覧注意画像を「隠す/隠さない」の設定をコンティニュー画面に反映
閲覧注意画像を隠す隠さないを設定できるようになりましたが、続きを描く画面では、閲覧注意画像がそもそも隠されていませんでした。
続きを描く画面でも隠すように修正して、さらに、設定が反映されるようにしました。
テンプレートの閲覧注意画像を隠す/隠さないを設定しているCSSの分岐を外部ファイルに
共通箇所を何度も繰り返し書く必要はないので、外部ファイル化しました。
PHPのif文を含む、CSS切り替えのパーツをまとめて、他のファイルにインクルードするようにしました。
- template/basic/parts/nsfw_css_control.html
追加されたテンプレート
- template/basic/parts/nsfw_css_control.html
更新されたテンプレート
- template/basic/main.html
- template/basic/res.html
- template/basic/catalog.html
- template/basic/edit_form.html
- template/basic/search.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/continue.html
(閲覧注意に関連する「隠す/隠さない」の制御が必要ない場合はテンプレートを更新する必要はありません)
23/06/10 v0.76.9
バグ修正
- Klecksが起動しなくなっていたのを修正しました。
このバグはv0.76.8で発生し、v0.76.9で修正されました。
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/paint_klecks.html
23/06/10 v0.76.8
閲覧者が「隠さない」に設定すれば閲覧注意画像にぼかしがかからなくなりました
マストドンや、Misskey等のSNSでは軽微な表現の場合にもメディアへの「閲覧注意」の設定が義務付けられています。
一方で「閲覧注意」のメディアをぼかさずそのまま表示する事もできるようになっています。
この事によって、観たくない人の目にはふれにくくなり、一方で見たい人は余分なタップを行う事なく画像を閲覧する事ができるようになっています。
それとほぼ同じ設定項目を「編集メニュー」に追加しました。
これにより、閲覧注意に設定された画像が増えた場合でも、閲覧注意を隠さないに設定している人はそのまま画像を表示できます。
管理者権限で閲覧注意に切り替えた場合、投稿者が「ぼかしが入ってしまったし見てくれる人はいない」と感じる場合があります。
今回の機能追加によって、閲覧注意に変更されても画像をそのまま見ている人もいると捉えてもらえるようになるかもしれません。
ぼかしが入らない状態でも、閲覧注意に設定されている画像には「NSFW」の文字が小さく入ります。
投稿者が閲覧注意に設定して配慮している事がわかるようにするためです。
// 閲覧注意を設定する
//する: trueに設定すると閲覧注意の設定ができるようになります。閲覧注意画像にぼかしが入ります。
// する: true しない: false
$mark_sensitive_image = true;
config.phpで$mark_sensitive_image = true;
に設定していない場合は、上記、閲覧注意に関する設定項目は表示されません。
Klecks起動時に追加されるレイヤー1の多国語対応
- Klecksの起動時に追加される「レイヤー 1」のレイヤー名を日本語、英語、ドイツ語、フランス語、繁體中文、簡体中文各国語対応になるように改善しました。
バグ修正
- PaintBBS NEO v1.6.0のエラーメッセージが
NaN
になるバグを修正しました。
(さとぴあの作業ミスにより、文字列結合の+が二重になってしまっていたのが原因です) - 検索画面のコメント画面で「このスレッドを表示」ボタンを押すとボタンが無効化されたままになるバグを修正しました。
変更があったペイントアプリ
- app/neo/ neo/ディレクトリを上書きアップデート
変更があったファイル
- index.php
- functions.php
変更があったテンプレート
- template/basic/main.html
- template/basic/res.html
- template/basic/search.html
- template/basic/catalog.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/paint_klecks.html
変更があったテンプレートのJavaScript
- template/basic/js/common.js
変更があったテンプレートのCSS
- template/basic/index.css
- template/basic/search.css
スタイルシートの変更はカスタマイズしている方にとっては大変な作業とは思いますが、「閲覧注意を隠す/隠さない」の設定項目を使う方は、お手数ですが、新しいCSSを使っていただくか、エディタの差分機能等を使って変更点をご確認いただきますようお願いいたします。
23/06/07 v0.75.1.2
PaintBBS NEOの送信エラー時のエラーメッセージが正しく表示されなくなっていたのを修正しました。
(さとぴあの作業ミスによって発生したバグです。)
修正したファイルが入っていませんでした。v0.76.8に修正したneo.jsが入っています。
変更があったファイル
app/neo/ neoディレクトリを上書きアップデート
下記の、v0.73.10、v0.73.10.1、v0.73.10.2、v0.75.1.1の更新内容もご確認ください。
23/06/07 v0.75.1.1
バグ修正
2023年1月のv0.57.1で発生したバグが見つかりました。
動画を非表示にする機能を追加する際の作業ミスが原因です。
PaintBBS NEOで動画から続きを描くのではなく、画像から続きを描いた時には動画ファイルが無くなり動画のリンクもでない筈なのですが、動画は消えているのに動画のリンクが出る状態になっていました。
動画のリンクをクリックしても動画は無いので「ファイルがありません。」というエラーメッセージが表示されていました。
ペイントアプリの起動テンプレートの調整
お絵かきアプリのCSS、JSがブラウザに強力にキャッシュされるため掲示板のlot番号をクエリに追加しました。
掲示板が更新されればキャッシュではなく新しく読み込まれます。
お絵かきアプレットに更新がある時には有効ですが、お絵かきアプレットの更新が無い時は何も変わりません。
テンプレートの更新が負担になる場合は、テンプレートを更新する必要はありませんが、更新しておけばペイントアプリに更新が入った時にすぐに反映されるようになります。
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/paint_chi.html
- template/basic/paint_klecks.html
- template/basic/paint_neo.html
下記の、v0.73.10、v0.73.10.1、v0.73.10.2の更新内容もご確認ください。
23/06/05 v0.73.10.2
PaintBBS NEOを独自に仕様変更していましたが、その変更内容をPaintBBS NEOの開発元リポジトリにマージしていただく事ができました。PaintBBS NEOv1.6.0になりました。
- app/neo/ neo ディレクトリを上書きアップデート
下記の、v0.73.10、v0.73.10.1の更新内容もご確認ください。
23/06/05 v0.73.10.1
バグ修正
ChickenPaintのショートカットキー「Delete」が動作しなくなっていたのを修正しました。
(これは独自版を作成する際に発生したバグであり、ChickenPaintの開発元の問題ではありません。)
変更があったファイル
- app/chickenpaint/ chickenpaint ディレクトリを上書きアップデート
下記の、v0.73.10の更新内容もご確認ください。
23/06/03 v0.73.10
お絵かきアプリ内の非推奨になったJavaScriptの機能を推奨される機能に置き換えました
非推奨のJavaScriptを修正
ChickenPaintと、PaintBBS NEOの非推奨になったJavaScriptの構文を修正しました。
現時点では、どちらも独自修正版です。
ChickenPaintのショートカットキーの改善
ChickenPaintのショートカットキーを「CTRL」+「+」でもキャンバスが拡大するように独自に修正しました。
本来のショートカットキーは、usキーボードで「CTRL」+「=」、日本語キーボードでは、「CTRL」+「;」がキャンバスの拡大です。
それに加えてテンキーの「CTRL」+「+」でもキャンバスの拡大が可能になりました。
また、テンキーの数字キーでも不透明度を調整できるようになりました。
配列をjsonファイルにキャッシュして低負荷・高速化
お絵かき掲示板のCGI、BBSNoteやRelmは、一番多く表示されるindexページのみHTML化して負荷をさげていました。
しかし、フォーム入力欄があるページをHTML化するとCSRFトークンの発行ができなくなります。
そこで最初の1ページめの表示のための配列をjson形式でファイルに書き出してキャッシュする事にしました。
仮にそのjsonファイルが改ざんされた場合でも、テンプレートでエスケープ処理を行っているため比較的安全な運用が可能です。
しかしながら念のため、.htaccess
の記述内容を変更して、.json
という拡張子がついたファイルの外部への表示を禁止する設定にしました。
この高速化によって、トップページの表示のための計算時間が1/3に短縮されました。
キャッシュは記事になんらかの変更があった時に破棄され、キャッシュが存在しない時にページが表示されると計算結果がキャッシュに再度保存されます。
管理者編集モード以外の時には、投稿者のホスト名を配列に入れない
テンプレートに誰でも閲覧出来る形で投稿者のホスト名を表示したいと思ったら出来てしまっていたのを修正しました。
管理者編集モードでログインしている事が確認できない場合は、ホスト名に空白が入るようになりました。
変更があったファイル
- app/chickenpaint/ chickenpaint ディレクトリを上書きアップデート
- app/neo/ neoディレクトリを上書きアップデート
- functions.php
- index.php
- .htaccess
変更があったテンプレート
- template/.htaccess
- template/basic/main.html
- template/basic/res.html
- template/basic/paint_neo.html
ブラウザの言語が日本語以外の時に表示される描画時間の英語表記が別変数になったことによる更新です。
日本語表記しか使用しないのであれば、従来のテンプレートのままでも問題ありません。
23/05/15 v0.72.8
- jQueryをjQuery3.7.0に更新しました。
追加されたファイル
- lib/jquery-3.7.0.min.js
変更があったファイル
- index.php
index.phpを更新するだけでlib/jquery-3.7.0.min.js
がテンプレートで使用できるようになります。
テンプレートの個別修正の必要はありません。
23/05/15 v0.72.7
ChickenPaintが起動しなくなっていたバグを修正
- このバグはv0.67で発生し、v0.72.7で修正されました。
- 2023年の4月29日以後のバージョンのChickenPaintの起動のためのテンプレートにバグがありました。
template/basic/paint_chi.html
の上書きアップデートをお願いします。
改善
非推奨になったjQueryの構文を修正
- 非推奨になった機能を使った構文が残っていたため、修正しました。
- 検索画面のテンプレートに共通箇所のjQueryの構文がインラインで残っていたため外部化してまとめました。
二重投稿チェックの動作の変更
- 同一ホストからの投稿で本文の内容が同じ場合は5スレッド分さかのぼって重複チェックをして...
Petit Note v0.72.8リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
Petit Note v0.72.8 リリース
23/05/15 v0.72.8
- jQueryをjQuery3.7.0に更新しました。
追加されたファイル
- lib/jquery-3.7.0.min.js
変更があったファイル
- index.php
index.phpを更新するだけでlib/jquery-3.7.0.min.js
がテンプレートで使用できるようになります。
テンプレートの個別修正の必要はありません。
まとめて更新する方へ
ここ一ヶ月でかなりの数のファイルを更新しました。
テンプレートをカスタマイズしていない方は
template/
ディレクトリを上書きapp/
ディレクトリを上書きlib/
ディレクトリを上書き
そして、index.php
と
functions.php
を更新すれば一連の更新を反映させる事ができますので、よろしくお願いします。
非同期通信でエラーメッセージを出す処理のJavaScriptは、template/basic/js/
にはいっていますので、template/
ディレクトリを上書きアップデートすれば更新が反映されます。
23/05/15 v0.72.7
ChickenPaintが起動しなくなっていたバグを修正
- このバグはv0.67で発生し、v0.72.7で修正されました。
- 2023年の4月29日以後のバージョンのChickenPaintの起動のためのテンプレートにバグがありました。
template/basic/paint_chi.html
の上書きアップデートをお願いします。
改善
非推奨になったjQueryの構文を修正
- 非推奨になった機能を使った構文が残っていたため、修正しました。
- 検索画面のテンプレートに共通箇所のjQueryの構文がインラインで残っていたため外部化してまとめました。
二重投稿チェックの動作の変更
- 同一ホストからの投稿で本文の内容が同じ場合は5スレッド分さかのぼって重複チェックをしています。
- この時の管理者の投稿を重複チェックから除外します。
- 例えば管理者が、「いらっしゃい」というコメントを繰り返し使った時に「同じコメントがありました。」というエラーになっていましたが、今回の更新でエラーにならなくなりました。
- 記事の編集時に本文の重複チェックが行われていなかったのを修正しました。
- お絵かき画像の時にも、画像重複チェックのための画像をもとにしたmd5のハッシュ値を記録するようにしました。
- お絵かき投稿のあと、同じ画像をアップロードすると「同じ画像がありました。」というエラーを出すようになります。
- ただし、管理者が管理者投稿モードにログインしている時には、同じ画像チェックを行いません。
- これは、例えば、不適切画像を別の画像に差し替えて本文だけを残す編集を行う時に使用する画像は同じ画像の場合があるからです。
コード整理
- 複数回出現するコードを関数化して行数を削減し保守性を高めました。
変更があったファイル
- index.php
- functions.php
変更があったテンプレート
- template/basic/paint_chi.html
- template/basic/search.html
変更があったテンプレートのJavaScript
- template/basic/js/common.js
23/05/13 v0.71.6
処理の高速化
- 全体ログを1行ずつタブ区切りで分割して、該当記事No.を探していた箇所を、分割なしのstrpos()===0による判定に置き換えて高速化しました。
変更があったファイル
index.php
23/05/10 v0.71.1
コード整理
変更があったファイル
index.php
functions.php
klecksがレイヤー2枚で起動するようになりました
v0.68.8.1から、klecksがレイヤー2枚で起動するようになりました。
真っ白な背景レイヤーと透明なレイヤー1の2枚で起動します。
透明なレイヤー1が選択された状態で起動します。
線画を描いて気がついたら不透明な白いレイヤーに描いていたという事故を減らす事ができます。
23/05/08 v0.70.8
処理の高速化
- 一連の各モードでの省メモリ・低負荷化に加え、検索画面で画像のみを表示する時にもコメントのテキスト処理を省略し、さらに省メモリ・低負荷に。
変更があったファイル
- index.php
23/05/08 v0.70.6
処理の高速化
この間の更新で、読み込む必要がなかったり、処理を行う必要がない箇所を切り分けて省メモリ化と高速・低負荷化をすすめてきました。
今回の更新では、検索モードとカタログモードの処理を振りわけてカタログモードでは使用しない本文の処理を省略しています。
レス返信画面下の前後のスレッドの画像も該当箇所です。レス返信画面の処理もごくわずかですが高速化されています。
お絵描き画像の投稿処理で描いた人を判定する箇所の厳格化
ユーザーコードやリプレイスコードを発行して、本人の投稿かどうかをチェックする処理に、変数が存在するかどうかを確認する処理を追加しました。
チェックする変数の内容がどちらも空白の時に一致した事になるため、空白ではない事を確認するようにしました。
変更があったファイル
- index.php
- functions.php
23/05/06 v0.70.1.1
- klecks更新
23/05/06 v0.70.1
機能追加
- PaintBBS NEO、ChickenPaint、Klecksすべてのペイントアプリを使わない時は、未投稿画像のリンクを表示しないようにしました。
- スレッドの題名を必須にするしないをconfig.phpで設定できるようになりました。
- 上段のメニューに、検索画面へのリンクを表示するしないをconfig.phpで設定できるようになりました。
これらは、上記設置サポート掲示板などで利用する時に必要な設定項目でした。
Petit Noteは画像掲示板として、あるいは画像アップロード機能もないただのテキスト掲示板として使う事もできます。
パフォーマンス
この間の一連の省メモリ化で、メイン画面、カタログ画面の省メモリ化を実現しました。
それに加え、v0.70.1では、レス画面(スレッド表示)の省メモリ化を実現し、2500スレッドが存在する運用中の掲示板の実測値で、メモリ消費量を35%削減する事に成功しました。
(しかしながら、これは比較的新しいスレッドの場合でもっとも古いスレッドを表示する時のメモリ消費量はほとんど変わりません。それでも最新の記事を表示する機会のほうが多い筈ですからそれなりの効果はあります。)
非推奨のjQueryの構文を修正
テンプレート内のJavaScript、jQueryをチェックして、非推奨の構文を修正しました。
残念ながら、ペイントアプリの中には非推奨のjQueryの構文が残っていますが、基本的にはそれぞれのアプリでの修正作業になります。
投稿に合言葉が必須の時の表示を調整
- 投稿に合言葉が必要と設定している時に表示されていなかったカタログモードを表示し、合言葉が入力されていない時は投稿に関連する項目のみが非表示になるように調整しなおしました
- 掲示板の閲覧に合言葉が必要と設定している時の動作は従来と同じです。
変更があったファイル
- index.php
- functions.php
- config.php (新規設定項目が必要ない場合は更新する必要はありません)
変更があったテンプレート
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/continue.html
- template/basic/main.html
- template/basic/res.html
- template/basic/index.css (検索バーの上下位置の調整。気にならない場合は更新する必要はありません。)
変更があったテンプレートのJavaScript
- template/basic/js/common.js
非推奨になったjQueryの構文を修正しています。
23/05/04 v0.68.8.1
- klecksの起動時のレイヤーの枚数を2枚に変更。
(白い背景レイヤーと透明なレイヤー1)
描きはじめの時点で透明なレイヤー1が選択されるので、白い背景に線画を描いてしまったという事故を減らせると思います。
変更があったテンプレート
- template/basic/paint_klecks.html
23/05/03 v0.68.8
省メモリ化
- カタログモードのコードを最適化しました。
非推奨のJavaScriptを修正
- 推奨されなくなったjQuery、JavaScriptのコードを修正しました。
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/js/common.js
- template/basic/paint_com.html
23/05/03 v0.68.5.1
klecks更新
ブラウザsafariのバグを回避するための修正作業が行われています。
bitbof/klecks#68
- /app/klecks/ ディレクトリを上書きアップデート
23/05/02 v0.68.5
改善
- 通常表示画面と、カタログ画面のメモリ消費量を27%削減。(実際に運営している掲示板のログを使った実測値)
変更があったファイル
- index.php
23/05/01 v0.68.2
Klecks更新
- Klecksをブラウザsafariのバグ回避処理など細かな修正が施された最新版に更新しました。
変更があったディレクトリ
- app/klecks/ ディレクトリを上書きアップデート
変更があったファイル
- index.php
23/04/30 v0.68.1
バグ修正
- 編集画面でアップロード画像の差し換えを行った時に、編集画面に戻れなくなり「記事がありません」というエラーになっていました。
このバグはv0.67.3で発生し、v0.68.0で修正されました。 - 編集画面で画像差し換えを行った時にエラーチェックのためにアップロードしたファイルがテンポラリに残ってしまうバグを修正しました。
変更があったファイル
- index.php
23/04/29 v0.67.9
エラーメッセージの非同期通信化をさらに拡大
-
エラーメッセージを画面を切り替えることなく表示することができるようになりました。コメントの入力欄だけでなく、お絵かきボタン、続きを描く、ダウンロード、編集、削除、管理者ログイン各フォームで非同期通信を使ったエラーメッセージの表示ができるうようになりました。
これにより、エラー画面が表示され、戻るリンクをタップして前の画面に戻るという一連の煩わしい操作から解放されます。
またエラーメッセージの表示をより安全なinnerTextに変更することができました。
お手数をおかけしますが、ぜひバージョンアップをお願いします。 -
Klecksのエラー処理がよりいっそう確実になるようにfetch APIの処理を書き直しました。
response.ok
以外の時はエラーメッセージを表示して描画画面から移動しないようになりました。
変更があったファイル
- index.php
- functions.php
変更があったテンプレート
変更があったCSS
- template/basic/index.css
/* エラーメッセージ */
div#error_message , div#error_message_imgrep , div#error_message_paintform , div#error_message_download , div#error_message_beforedelete {
line-height: initial;
background-color: hsl(60 100% 88% / 1);
font-size: 20px;
padding: 1px 4px 1px;
margin: 5px 0 5px;
}
div#error_message:empty , div#error_message_imgrep:empty , div#error_message_paintform:empty , div#error_message_download:empty , div#error_message_beforedelete:empty {
display: none;
}
エラーメッセージとして出力されていたタグが除去され、エラーメッセージが表示される箇所のタグが空欄の時は非表示にする処理が追加されています。
お手数ですが、CSSのファイルの一番下の箇所にエラーメッセージのCSSを追加してご利用ください。
CSSを変更していない場合は、上書きアップデートをお願いします。
変更があったテンプレートのJavaScript
- template/basic/ js/common.js
各フォームのエラーメッセージを処理するためJavaScriptも更新されています。
上書きアップデートをお願いします。
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/continue.html
- template/basic/main.html
- template/basic/res.html
- template/basic/paint_chi.html
- template/basic/paint_klecks.html
- template/basic/paint_neo.html
特にテンプレートをカスタマイズしていない方は、
template/
ディレクトリを上書きアップデートしてください。
23/04/25 v0.66.6.1 リリース
23/04/25 v0.66.6.1
chickenpaint更新
chickenpaintをiPadのフルスクリーンモード、あるいはiPhoneで使用した時に、パレットメニューが画面外に出る、描画領域の縦横比が縦に伸びる、横に伸びるなどの問題が発生していました。
フルスクリーンモードの時のスタイルシートが原因でした。ただしこれは、iPad、iPhoneの時にのみ発生する問題です。
逆にいうと、PC+Chromeで問題が発生していなくても、iPadユーザーがChickenPaintを使用する時にはトラブルが発生していたということです。
v0.66.6と、控えめなバージョン番号の差ですが、chickenpaint/
ディレクトリの上書きアップデートのみでも構いませんので、更新をご検討ください。
現時点では開発元での修正はまだ行われておらず、これは独自修正版です。
プルリクエストして、開発元にこれを統合するかどうかの判断をお願いしているところです。
thenickdude/chickenpaint#52
変更があったディレクトリ
- app/chickenpaint/ ディレクトリを上書きアップデート
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/paint_chi.html
(問題が解決したためChickenPaintが全画面表示で起動する設定に戻しました)
変更があったテンプレートのJavaScript
- template/basic/js/common.js
23/04/21 v0.66.3
エラメッセージの2行目が表示されないバグを修正
エラメッセージの1行目がerror\nで始まる事を確認して2行目をエラメッセージとして表示する書き方になっていたため、エラメッセージの3行目以後が表示されなくなっていました。
common.js
のJavaScriptの修正のみでも大丈夫なのですが、キャッシュを読み込む可能性があるため、index.php
のバージョン情報も更新しています。
変更があったフィル
- index.php
変更があったテンプレートのJavaScript
- template/basic/js/common.js
23/04/21 v0.66.2
- 編集画面→画像差し換えの時のエラメッセージも非同期通信で取得します。エラーメッセージは、同じ画面に表示されます。
変更があったフィル
- index.php
- functions.php
変更があったテンプレート
- template/basic/edit_form.html
変更があったテンプレートのJavaScript
- template/basic/js/common.js
変更があったテンプレートのCSS
- template/basic/index.css
/* エラーメッセージ */
div#error_message , div#error_message_imgrep {
margin: 0;
}
div#error_message div , div#error_message_imgrep div {
background-color: hsl(60 100% 88% / 1);
font-size: 20px;
padding: 1px 4px 1px;
margin: 2px 0 2px;
}
上記の箇所が追加あるいは更新されています。
従来は
ID error_message
にのみエラメッセージの背景色などを追加していましたが、
編集画面→画像差し換え時のエラメッセージの装飾も必要になった事による変更です。
画像差し換え時のエラメッセージのIDは
ID error_message_imgrep
です。
CSSをカスタマイズしている方は、フィアルの末尾に上記エラメッセージのCSSのを追加してご利用ください。
また、この間の更新との差分をエディタの内容比較機能などで確認する事をおすすめします。
カスタマイズしていない方は
- index.php
- functions.php
と、 - template/ ディレクトリ
を上書きアップデートするだけで更新できます。
23/04/20 v0.65.8
- エラメッセージが表示されるはずの箇所に、掲示板の本体部分が表示されるケースがあったため、エラメッセージは、error\nではじまるもののみを表示する形に変更しました。
変更があったファイル
- index.php
- functions.php
- template/basic/js/common.js
23/04/20 v0.65.5
新しく導入したフォームの入力欄の上に表示するエラメッセージの改善
- サーバからのレスポンスをエラメッセージとして表示できるようになりました。
サーバ混雑時の502 bad gatewayや503 Service Unavailable、ファイルが存在しない時に表示される404 Not Found等。
入力したテキストがWAFによって誤検知された時には、403 Forbiddenとなります。
サーバの...
Petit Note v0.68.8.1リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
Petit Note v0.68.8.1 リリース
23/05/04 v0.68.8.1
- klecksの起動時のレイヤーの枚数を2枚に変更。
(白い背景レイヤーと透明なレイヤー1)
描きはじめの時点で透明なレイヤー1が選択されるので、白い背景に線画を描いてしまったという事故を減らせると思います。
変更があったテンプレート
- template/basic/paint_klecks.html
まとめて更新する方へ
ここ一ヶ月でかなりの数のファイルを更新しました。
テンプレートをカスタマイズしていない方は
template/
ディレクトリを上書きapp/
ディレクトリを上書き
そして、- index.php
と
- functions.php
を更新すれば一連の更新を反映させる事ができますので、よろしくお願いします。
非同期通信でエラーメッセージを出す処理のJavaScriptは、template/basic/js/
にはいっていますので、template/
ディレクトリを上書きアップデートすれば更新が反映されます。
23/05/03 v0.68.8
省メモリ化
- カタログモードのコードを最適化しました。
非推奨のJavaScriptを修正
- 推奨されなくなったjQuery、JavaScriptのコードを修正しました。
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/js/common.js
- template/basic/paint_com.html
23/05/03 v0.68.5.1
klecks更新
ブラウザsafariのバグを回避するための修正作業が行われています。
bitbof/klecks#68
- /app/klecks/ ディレクトリを上書きアップデート
23/05/02 v0.68.5
改善
- 通常表示画面と、カタログ画面のメモリ消費量を27%削減。(実際に運営している掲示板のログを使った実測値)
変更があったファイル
- index.php
23/05/01 v0.68.2
Klecks更新
- Klecksをブラウザsafariのバグ回避処理など細かな修正が施された最新版に更新しました。
変更があったディレクトリ
- app/klecks/ ディレクトリを上書きアップデート
変更があったファイル
- index.php
23/04/30 v0.68.1
バグ修正
- 編集画面でアップロード画像の差し換えを行った時に、編集画面に戻れなくなり「記事がありません」というエラーになっていました。
このバグはv0.67.3で発生し、v0.68.0で修正されました。 - 編集画面で画像差し換えを行った時にエラーチェックのためにアップロードしたファイルがテンポラリに残ってしまうバグを修正しました。
変更があったファイル
- index.php
23/04/29 v0.67.9
エラーメッセージの非同期通信化をさらに拡大
-
エラーメッセージを画面を切り替えることなく表示することができるようになりました。コメントの入力欄だけでなく、お絵かきボタン、続きを描く、ダウンロード、編集、削除、管理者ログイン各フォームで非同期通信を使ったエラーメッセージの表示ができるうようになりました。
これにより、エラー画面が表示され、戻るリンクをタップして前の画面に戻るという一連の煩わしい操作から解放されます。
またエラーメッセージの表示をより安全なinnerTextに変更することができました。
お手数をおかけしますが、ぜひバージョンアップをお願いします。 -
Klecksのエラー処理がよりいっそう確実になるようにfetch APIの処理を書き直しました。
response.ok
以外の時はエラーメッセージを表示して描画画面から移動しないようになりました。
変更があったファイル
- index.php
- functions.php
変更があったテンプレート
変更があったCSS
- template/basic/index.css
/* エラーメッセージ */
div#error_message , div#error_message_imgrep , div#error_message_paintform , div#error_message_download , div#error_message_beforedelete {
line-height: initial;
background-color: hsl(60 100% 88% / 1);
font-size: 20px;
padding: 1px 4px 1px;
margin: 5px 0 5px;
}
div#error_message:empty , div#error_message_imgrep:empty , div#error_message_paintform:empty , div#error_message_download:empty , div#error_message_beforedelete:empty {
display: none;
}
エラーメッセージとして出力されていたタグが除去され、エラーメッセージが表示される箇所のタグが空欄の時は非表示にする処理が追加されています。
お手数ですが、CSSのファイルの一番下の箇所にエラーメッセージのCSSを追加してご利用ください。
CSSを変更していない場合は、上書きアップデートをお願いします。
変更があったテンプレートのJavaScript
- template/basic/ js/common.js
各フォームのエラーメッセージを処理するためJavaScriptも更新されています。
上書きアップデートをお願いします。
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/continue.html
- template/basic/main.html
- template/basic/res.html
- template/basic/paint_chi.html
- template/basic/paint_klecks.html
- template/basic/paint_neo.html
特にテンプレートをカスタマイズしていない方は、
template/
ディレクトリを上書きアップデートしてください。
23/04/25 v0.66.6.1 リリース
23/04/25 v0.66.6.1
chickenpaint更新
chickenpaintをiPadのフルスクリーンモード、あるいはiPhoneで使用した時に、パレットメニューが画面外に出る、描画領域の縦横比が縦に伸びる、横に伸びるなどの問題が発生していました。
フルスクリーンモードの時のスタイルシートが原因でした。ただしこれは、iPad、iPhoneの時にのみ発生する問題です。
逆にいうと、PC+Chromeで問題が発生していなくても、iPadユーザーがChickenPaintを使用する時にはトラブルが発生していたということです。
v0.66.6と、控えめなバージョン番号の差ですが、chickenpaint/
ディレクトリの上書きアップデートのみでも構いませんので、更新をご検討ください。
現時点では開発元での修正はまだ行われておらず、これは独自修正版です。
プルリクエストして、開発元にこれを統合するかどうかの判断をお願いしているところです。
thenickdude/chickenpaint#52
変更があったディレクトリ
- app/chickenpaint/ ディレクトリを上書きアップデート
変更があったファイル
- index.php
変更があったテンプレート
- template/basic/paint_chi.html
(問題が解決したためChickenPaintが全画面表示で起動する設定に戻しました)
変更があったテンプレートのJavaScript
- template/basic/js/common.js
23/04/21 v0.66.3
エラメッセージの2行目が表示されないバグを修正
エラメッセージの1行目がerror\nで始まる事を確認して2行目をエラメッセージとして表示する書き方になっていたため、エラメッセージの3行目以後が表示されなくなっていました。
common.js
のJavaScriptの修正のみでも大丈夫なのですが、キャッシュを読み込む可能性があるため、index.php
のバージョン情報も更新しています。
変更があったフィル
- index.php
変更があったテンプレートのJavaScript
- template/basic/js/common.js
23/04/21 v0.66.2
- 編集画面→画像差し換えの時のエラメッセージも非同期通信で取得します。エラーメッセージは、同じ画面に表示されます。
変更があったフィル
- index.php
- functions.php
変更があったテンプレート
- template/basic/edit_form.html
変更があったテンプレートのJavaScript
- template/basic/js/common.js
変更があったテンプレートのCSS
- template/basic/index.css
/* エラーメッセージ */
div#error_message , div#error_message_imgrep {
margin: 0;
}
div#error_message div , div#error_message_imgrep div {
background-color: hsl(60 100% 88% / 1);
font-size: 20px;
padding: 1px 4px 1px;
margin: 2px 0 2px;
}
上記の箇所が追加あるいは更新されています。
従来は
ID error_message
にのみエラメッセージの背景色などを追加していましたが、
編集画面→画像差し換え時のエラメッセージの装飾も必要になった事による変更です。
画像差し換え時のエラメッセージのIDは
ID error_message_imgrep
です。
CSSをカスタマイズしている方は、フィアルの末尾に上記エラメッセージのCSSのを追加してご利用ください。
また、この間の更新との差分をエディタの内容比較機能などで確認する事をおすすめします。
カスタマイズしていない方は
- index.php
- functions.php
と、 - template/ ディレクトリ
を上書きアップデートするだけで更新できます。
23/04/20 v0.65.8
- エラメッセージが表示されるはずの箇所に、掲示板の本体部分が表示されるケースがあったため、エラメッセージは、error\nではじまるもののみを表示する形に変更しました。
変更があったファイル
- index.php
- functions.php
- template/basic/js/common.js
23/04/20 v0.65.5
新しく導入したフォームの入力欄の上に表示するエラメッセージの改善
- サーバからのレスポンスをエラメッセージとして表示できるようになりました。
サーバ混雑時の502 bad gatewayや503 Service Unavailable、ファイルが存在しない時に表示される404 Not Found等。
入力したテキストがWAFによって誤検知された時には、403 Forbiddenとなります。
サーバのWAFが有効でかつコメントの入力欄にJavaScriptやPHP等のコードが記入された時にセキュリティ上のリスクを回避するために403 Forbiddenとなる場合があります。
その場合はテキストを短く分割してみる。コードを書かない。WAFを解除するなどの検討をお願いします。
通常の会話の内容であれば誤検出される事はないと思います。
###変更があったファイル
- template/basic/js/common.js
v0.65.2 のリリース内容もあわせてご確認ください。
23/04/19 v0.65.2
エラーメッセージをフォーム入力欄に直接表示する事ができるようになりました
- 従来のエラー画面
- 新しいエラー表示
サーバーに通信する時にブラウザの画面を切り替える必要がない、非同期通信を採用し、エラーが発生した時のエラーメッセージをフォームの入力欄の上に表示します。
これによりエラー画面からもどって修正する必要がなくなります。
- CSRFトークンが一致しませんについて
「CSRFトークンが一致しません。」というエラーメッセージがでた時には入力欄でリロードする必要があります。
エラーメッセージは別画面に表示されるためエラーメッセージが表示されている画面でリロードしてもエラーはなくなりません。
さらに、エラーメッセージの表示の「もどる」のリンクで前の画面にブラウザバックすると古いトークンがキャッシュされた画面が表示されるため、トークン不一致のエラーから抜け出せなくなる事がありました。
今回の更新でエラーメッセージのテキストの内容も修正し「CSRFトークンが一致しません。リロードしてください。」というエラーメッセージをフォームの入力欄の画面に表示する形に変更する事ができました。
エラーメッセージにしたがってリロードすればトークン不一致のエラーから抜け出せます。
ひとつ前のバージョンv0.63.10に投稿者のIPアドレスが表示されてしまう大きなバグがありました。
- 管理者のみが閲覧可能なはずのIPアドレスが、表示されてしまうバグが見つかりました。
これは、v0.63.10の以下の機能追加の時に発生した作業ミスによるものです。
「この記事は存在しません」という投稿を管理者編集モードで表示したときに、投稿者にホスト名を表示できるようにしました。
「この記事は存在しません。」という表示になった時は誰でもIPアドレスを閲覧可能になっていました。
公開からあまり時間が経過していない事からv0.63.10を使っている方は少数とは思いますが、もしもv0.63.10をご利用の場合は、ただちに最新版へのアップデートをお願いします。
テンプレートの、main.html
とres.hrml
の更新が必要です。
変更があったファイル
- index.php
- functions.php
追加されたディレクトリ
- template/basic/js/common.js
今回追加したJavaScriptによる非同期通信と、Luminousや上に戻るリンクのJavaScriptをひとつのファイルにまとめて外部化しました。
このディレクトリのアップロードを忘れると、非同期通信や画像のポップアップ表示などが機能しなくなります。
変更があったテンプレートのうち更新が必要なもの
- template/basic/edit_form.html
- template/basic/main.html
- template/basic/paint_com.html
- template/basic/res.html
変更はあったものの更新が必須ではないもの
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
(JavaScriptの外部化によるコード整理のため、従来のままでも動作は変わりません)
変更があったスタイルシート
- template/basic/index.css
ファイルの一番下の箇所に追加した新しいエラーメッセージのためのCSS。
/* エラーメッセージ */
div#error_message , div#error_message_imgrep {
margin: 0;
}
div#error_message div , div#error_message_imgrep div {
background-color: hsl(60 100% 88% / 1);
font-size: 20px;
padding: 1px 4px 1px;
margin: 2px 0 2px;
}
この箇所が無いと、エラーメッセージの背景色に色がつかなくなってしまうため、エラーメッセージが視認しにくくなります。
お手数ですが、スタイルシートをカスタマイズしている方は、ファイルの最後に上記コードを追加して対応してください。
カスタマイズした古いテンプレートのまま使いたい方もいらっしゃると思います。
その場合は、テンプレート側で非同期通信の処理をするJavaScriptを実行しなければ従来と同じ動作をします。
古いテンプレートの場合はエラーメッセージが別画面になるだけです。
23/04/12 v0.63.10
直面している問題への対応
iPad使用時にChickenPaintの描画領域のアスペクト比が正しく設定されない問題に暫定的に対応
- iPad使用時にデバイスの向きを横から縦に縦から横に傾けると、描画領域のアスペクト比をただしく取得できなくなり、画像の縦横比の表示が変わり、ペンの座標が一致しなくなる問題が確認されました。
- この問題はChickenPaintをフルスクリーンモードで起動している時にのみ発生します。
- そのため、ChickenPaintのフルスクリーンモードでの起動オプションを外し、起動時にはミニスクリーンモードになるようにしました。
フルスクリーンモードで起動するとミニスクリーンに切り替える事ができなくなるからです。
ミニスクリーンからフルスクリーンモードへの切り替えは可能です。またフルスクリーンモードからミニスクリーンへの切り替えも可能です。 - ChickenPaintのコードを一部修正しました。ブラウザの表示領域の高さの取得がiPadの時と、PCでは異なる場合があるためです。
しかしながら、その箇所が本当に今回の問題に関連する事なのかどうかはわかりません。
Aspect ratio is broken when iPad is turned from landscape to portrait in full screen mode · Issue #51 · thenickdude/chickenpaint
ChickenPaintの作者の方のリポジトリでIssueを開いてこの問題を報告しています。
作者の方による修正があった場合は、その最新版のChickenPaintに再度入れ替える予定です。
したがって今回同梱したChickenPaintは暫定独自修正版となります。
バグ修正
削除ずみの記事が検索画面に表示されるバグを修正しました
- すでに複数の投稿が存在するスレッドの親の投稿を削除した時は、「この記事はありません」という表示に切り替わりスレッド全体は削除されなくなりました。
しかし、その中身が空白の削除ずみの記事が検索画面に表示されていました。
記事の中身が空白の時は検索画面に表示されないようにしました。
1ページ中にすでに閉じたスレッドがある時にそのスレッドより下のスレッドが閉じている...
Petit Note v0.63.5リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
23/03/27 v0.63.5 リリース
23/03/27 v0.63.5
スレッドが削除される条件が変わりました
- 管理者が「スレッドを削除する」にチェックを入れて削除した時はスレッドが削除されます。
管理者はいつでもスレッド全体を削除できます。 - スレッドに残っている記事が1つの時は、その記事を削除すればスレッドが削除されます。
スレッドを立てた人が最初の投稿を削除するとスレッド全体が削除されるてしまう問題を修正しました。
スレッドの最初の投稿のみを削除できるようになりました。
管理者編集モードでログインしている管理者は、「スレッドを削除」を選択する事ができます。
スレッドの最初の投稿を削除しても、スレッド削除を選択していない場合は、「この記事はありません。」に表示が置き換わり、スレッドは削除されません。
そのほか
- urlを判定する正規表現を新しいものに置き換えました。
- PHP5.6環境下で、作成されるwepb形式の画像が不正な画像形式になる場合があったため、PHP7.0以上である事をPHPスクリプトで判定してから処理を行うようになりました。
- アクセス制限がかかっている時にコンティニュー画面から新規投稿を選択できる問題を修正しました。
投稿出来ないのであれば最初から描ける状態にしないほうが良いからです。 - ユーザーidをセッションに格納し、同一セッションの時はIPアドレスが変わっても同じユーザーidになるようにしました。
変更があったファイル
- index.php
- functions.php
- thumbnail_gd.php
変更があったテンプレート
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/continue.html
- template/basic/main.html
- template/basic/res.html
変更があったCSS
- template/basic/index.css
特に細かな修正をしていない方の場合は上書きアップデートしてもいいのですが、CSSを細かく修正している方は現状のままでも大丈夫だと思います。
気になる場合は、エディタの内容比較機能等を利用してご確認ください。
23/03/07 v0.61.9
改善
続きを描く→新規投稿の時に同じスレッドに投稿するかどうかを選択可能に
古いバージョンでは、続きを描く→新規投稿を選択すると新しいスレッドへの投稿になっていました。
たとえば1枚の線画の塗り絵を10名が行う時に10スレッド必要でした。
これを1つのスレッドにまとめる事ができるようになります。
また返信として投稿されたお絵かき画像からの続きを描く時には、同じスレッドへの投稿になるようにしていましたが、こちらも返信からの新規投稿を新しいスレッドに投稿したい場合があり、自由に選択できるようにするべきという結論に達しました。
その選択のために「同じスレッドに投稿する」というチェックボックスを追加しました。
しかし「画像差し換え」の場合は同じスレッドに投稿するより他ないためこの選択肢は不要です。
そこで、JavaScriptを使って、新規投稿を選択した時のみ「同じスレッドに投稿する」というチェックボックスを表示するようにしました。
また、「新規投稿ならパスワードがなくても続きを描く事ができます。」という説明を表示しているものの、これまでのバージョンではパスワードの入力欄が表示されたままだったため、新規投稿を選択してもパスワードが必要であるかのように見えていました。
そこで、新規投稿を選択すると、パスワードの入力欄が表示されないようにしました。
しかしながら、新規投稿の場合でもパスワードがなければ続きを描けないようにして欲しいという方もいらっしゃるかもしれません。
そこで、config.phpに新規設定項目を追加しました。
//続きを描く時は新規投稿でもパスワードを必須にする
// する: true しない: false
// しない: false に設定すると、元の画像を上書きしない新規投稿なら誰でも続きを描く事ができるようになります。
// 合作の時にパスワードを公開する必要はありません。// $password_require_to_continue = true;
$password_require_to_continue = false;
新規投稿の時にもパスワードが必要な時は、新規投稿を選択してもパスワードの入力欄は非表示になりません。
「返信」ボタンを「このスレッドに投稿する」に変更
1スレッドに1枚のイラストの場合、100枚のイラストのために100スレッド必要になります。
Petit Noteのような1スレッド1ログファイル形式の掲示板の場合は、1スレッドに複数枚のイラストを掲載したほうが全体ログのファイルの肥大化の進行を遅らせる事ができるため掲示板の寿命を延ばす事ができます。
これまで、「返信」のところからイラストを投稿して欲しいとお願いする事が多々ありました。
しかし、自分で描いたイラストに「返信」から別のイラストを投稿するのは、「返信」ではないため、「このスレッドに投稿する」にボタンの名称を変更しました。
カタログ画像にマウスカーソルを乗せた時に投稿日時を表示
カタログ画像にオンマウスカーソルした時に投稿日時を表示できるように修正しました。
ホスト名が逆引きできずIPアドレスになる時の拒絶処理を修正
ホスト名で拒絶する時の一般的な例は後方一致です。
example.com
のように後ろの方が一致する部分を拒絶します。
しかし、IPアドレスの場合は前方一致で拒絶する必要があります。
ホスト名が取得出来ないIPアドレスからの投稿の時はホスト名にIPアドレスが表示されますが、従来は、このIPアドレスが後方一致による拒絶処理になってしまい拒絶不能になっていました。
そこで、ホスト名とIPアドレスが同じユーザーの時は、ホスト名として表示されているIPアドレスの前から数文字分を指定して前方一致で拒絶できるようにしました。
$badhost =["example.com","100.100.200"];
このように設定した場合、
"example.com"は後方一致で拒絶処理が行われ、"100.100.200"は前方一致で拒絶処理が行われます。
禁止ホストで拒絶している時はフォームの入力欄を表示しない
これまでは禁止ホストで拒絶していても、ペイントボタンやコメントの入力欄は依然表示されたままでした。
仮に禁止ホスト指定が巻き込みになってしまった時は、ペイントボタンが表示されている事で絵を描いてしまうかもしれません。
絵を何時間もかけて描いて投稿する時に、「拒絶されました」と表示されてしまう事になります。
禁止ホストで拒絶指定した時は、ペイントボタンやコメントの入力欄を閉じる事で投稿を最初から制限するようにしました。
拒絶する文字列が存在している場合でも管理者は投稿可。使用できない名前に管理者名を指定する事が可能に。
//拒絶する文字列 正規表現
//拒絶するurl
//使用できない名前 正規表現
//AとBが両方あったら拒絶 正規表現
これらのスパム対策のための禁止語句を管理者は制限なく投稿できるようになりました。
これにより、○○○という用語は使わないでくださいという説明をする時に、○○○を禁止語句に指定していても管理者はその語句を使用できるようになります。
また、「使用できない名前」に「管理人」や管理者のハンドル名を登録する事ができるようになりました。
管理者名が「使用できない名前」に指定されていれば、管理者以外のユーザーが管理者名を名乗って投稿するなりすまし投稿ができなくなります。
変更があったファイル
- index.php
- functions.php
- config.php
新しく追加された設定項目が必要な場合のみ更新。更新しない場合は従来と同じ設定で動作します。
変更があったテンプレート
- template/basic/catalog.html
- template/basic/main.html
- template/basic/res.html
- template/basic/continue.html
変更があったCSS
- template/basic/index.css
一応変更してありますが変更が必要なテンプレートにインラインのCSSでの記述を行っているため必ずしも変更する必要はありません。
CSSをカスタマイズしている場合はそのまま使うか、エディタの内容比較機能で差分をご確認ください。
23/02/26 v0.60.10
Klecksを最新版にアップデート
- ダークテーマが選択可能になりました。
- フランス語に対応しました。
- iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。
カタログ画面の表示が検索画面と同じ表示になりました。
- 大き目のディスプレイを使用時3列、スマホ2列だった表示を5列、スマホ4列に変更しました。
- 検索画面と共通のCSSを使用する形に変更になりました。
<div class="catalog_desc_wrap">
が、<div class="catalog_wrap">
に変更されていたり、divがspanに変更になっていたりします。
また検索画面のテンプレートは大幅に変更になりました。
index.css
とsearch.css
とcatalog.html
とsearch.html
をセットで更新して頂く形になります。
従来通りの表示のほうが良い場合は、CSSと上記テンプレートのHTML部分を変更しないようにしてください。
スタイルシートが確実に適用されるようにするため、cssファイルのurlにロット番号のクエリを追加しました。
<link rel="stylesheet" href="template/basic/index.css?lot.230225">
?lot.230225
の部分が今回追加されたクエリです。
CSSを変更してもブラウザのキャッシュのCSSが読み込まれてしまい画面が変更されない問題を解消するため、Petit Noteのロット番号をクエリに追加しました。
Petit Noteを更新すれば新しいCSSをブラウザが読み込みます。
変更があったファイル
- functions.php
- index.php
- config.php
カタログの表示件数を24件から60件に変更しています。
推奨される値が20の倍数に変更になりました。
5列表示でも4列表示でも画面にぴったり収まる値が20の倍数だからです。
Klecks更新
- app/klecks/
ディレクトリを上書きアップデート。
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/aikotoba.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
- template/basic/continue.html
- template/basic/edit_form.html
- template/basic/error.html
- template/basic/main.html
- template/basic/paint_com.html
- template/basic/paint_neo.html
- template/basic/pch_view.html
- template/basic/res.html
- template/basic/search.html
変更があったスタイルシート
- template/basic/search.css
- template/basic/index.css
テンプレートのほぼすべて。
template/ ディレクトリを上書きアップデートして更新する形でも大丈夫です。
23/02/20 v0.60.9 リリース
23/02/20 v0.60.9
バグ修正
検索画面の日付が10桁のユニックス秒になるバグを修正しました。
サムネイル画像のありなしのifの分岐が間違っていたのを修正しました。
元のサイズよりも幅と高さが大きな拡大されたwebサムネイルが作成されるケースがあったのを修正しました。
変更があったファイル
- thumbnail_gd.php
変更があったテンプレート
- template/basic/search.html
23/02/19 v0.60.8の変更内容もあわせて確認をお願いします。
検索機能を追加
23/02/19 v0.60.8 リリース
23/02/19 v0.60.8
検索機能を追加
POTI-boardで使っている外部PHPスクリプト、search.phpのコードをベースにした、記事検索機能を追加しました。
上記スクリプトを作成した当時と今では出力時のテンプレートでのエスケープの徹底化などの考え方に違いがあります。
そのままでは、Petit Noteのその他の処理と異なったコードになってしまうため、コードの整理と再構築を行いました。
この作業だけでまる一週間を費やしましたが、できる事はPOTI-boardの検索機能とほとんど同じです。
ページ送り機能はPetit Noteのほうが高機能です。
Petit Noteには日本語と英語の自動切り替え機能があります。
ブラウザの言語が日本語以外の時にはUIを英語表示します。
検索画面のUIもブラウザの言語が日本語以外の時には英語で表示されます。
検索画面の設定項目が追加されました。
/検索機能/
//検索可能最大数
//この値を大きくすれば検索可能件数が増えますが、サーバの負荷が大きくなります。
$max_search= 300;//画像検索の時の1ページあたりの表示件数
$search_images_pagedef = 60;//通常検索の時の1ページあたりの表示件数
$search_comments_pagedef = 30;
細かく設定したい方のみ、この設定項目を追加して調整してください。
この設定項目がconfig.phpに存在しない場合は上記の設定値が自動的に適用されます。
webpサムネイル機能を追加
ファイルサイズの圧縮率が高いwebp形式のサムネイル機能を追加しました。
ただし、webpサムネイルは従来のJPEGサムネイルの代わりに使うためのものではありません。
検索画面や、カタログ画面のように画像をたくさん表示する画面で使います。
<picture> ~ </picture>
タグを使用して振り分けて、webpに対応していない旧バージョンのApple製品ではPNGやJPEGを表示します。
対応ブラウザの時はwebpを表示します。
v0.60.8以後は、お絵かき画像もアップロード画像の場合でも、投稿時にwebp画像が別途生成されwebp/
ディレクトリに保存されます。
表示する時に、webp画像の存在確認を行ってあればwebpの表示を試みてブラウザが対応していればwebp画像を表示します。
カタログ画面、検索画面、レス画面の下段の前後の投稿記事でwebpを使用します。
これにより1ページに60枚の画像を表示する場合でも、モバイル端末の通信費の負担が軽減されます。
また、固定回線の場合であっても画像が表示されるまでの待ち時間を短縮できます。
PNGやJPEGで投稿されたスレッドの画像は従来どおりの表示です。
webp画像は使用しているサーバの対応も必要です。
webp画像生成機能が存在してるかどうかを確認して、機能が存在していない時はwebp画像を生成しません。
ホームページへ戻るリンク
ホームページを持っていない人が掲示板だけ設置する事を想定して、上段メニューのホームページへ戻るためのリンクを表示しない形にしていましたが、ホームページを持っていてそこから掲示板を利用する方が一定数存在しているため、初期設定状態でホームページへ戻るリンクを表示する事にしました。
上段メニューにはホームページに戻るリンクは必要ない方は設定をお願いします。
/使用目的別設定/
// ホームページへ戻るリンクを上段のメニューに表示する
// ホームページへのリンクが必要ない場合は 表示しない:false
// 表示する:true 表示しない:false
$display_link_back_to_home = true;
// $display_link_back_to_home = false;
初期設定では、表示するになっています。
またこの設定項目がconfig.phpに存在しない場合も、表示するになります。
バグ修正
編集→アップロード画像の差し換えの処理の時に、動画ファイル関連の変数が未定義エラーになっていました。
この問題はv0.52.6で発生しv0.58.5で修正されました。
変更があったファイル
- index.php
- functions.php
- thumbnail_gd.php
- config.php
config.php を細かく設定している方は必ずしも変更する必要はなく、追加された設置項目が必要な場合だけ更新してください。
また、更新される場合は、エディタの差分比較機能などをご利用ください。
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/catalog.html
- template/basic/main.html
- template/basic/res.html
- template/basic/search.html
追加されたテンプレート
- template/basic/search.html
変更があったCSS
- template/basic/index.css
追加されたCSS
- template/basic/search.css
index.cssにも若干の変更がありますが、ほとんどの場合、更新しなくても表示が大きく変わる事はありません。
検索画面固有のCSSはsearch.cssに分離しました。
また検索画面の共通箇所は、index.cssの設定を使います。
配色を変更している場合でも、従来のCSSの設定が適用されるようになっています。
23/02/11 v0.57.5.2
バグ修正
サーバのステータスが「502 Bad Gateway」の時に描いていた絵が消えてしまうバグを修正しました。
サーバのステータスが200以外の時には「投稿に失敗時間を置いて再度投稿してください」というアラートを表示するのみで、画面を推移しないようにしました。 画面を推移しないので、スクショを取る事が可能になります。また、ほとんどの場合、再度投稿ボタン押せば投稿に成功します。
変更があったテンプレート
- template/basic/paint_klecks.html
23/02/09 v0.57.5.1
klecksのヘルプファイルを入れ忘れていたのを追加しました。
- app/klecks ディレクトリを上書きアップデート。
または、klecksフォルダの...
Petit Note v0.61.9リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
23/03/07 v0.61.9 リリース
23/03/07 v0.61.9
改善
続きを描く→新規投稿の時に同じスレッドに投稿するかどうかを選択可能に
古いバージョンでは、続きを描く→新規投稿を選択すると新しいスレッドへの投稿になっていました。
たとえば1枚の線画の塗り絵を10名が行う時に10スレッド必要でした。
これを1つのスレッドにまとめる事ができるようになります。
また返信として投稿されたお絵かき画像からの続きを描く時には、同じスレッドへの投稿になるようにしていましたが、こちらも返信からの新規投稿を新しいスレッドに投稿したい場合があり、自由に選択できるようにするべきという結論に達しました。
その選択のために「同じスレッドに投稿する」というチェックボックスを追加しました。
しかし「画像差し換え」の場合は同じスレッドに投稿するより他ないためこの選択肢は不要です。
そこで、JavaScriptを使って、新規投稿を選択した時のみ「同じスレッドに投稿する」というチェックボックスを表示するようにしました。
また、「新規投稿ならパスワードがなくても続きを描く事ができます。」という説明を表示しているものの、これまでのバージョンではパスワードの入力欄が表示されたままだったため、新規投稿を選択してもパスワードが必要であるかのように見えていました。
そこで、新規投稿を選択すると、パスワードの入力欄が表示されないようにしました。
しかしながら、新規投稿の場合でもパスワードがなければ続きを描けないようにして欲しいという方もいらっしゃるかもしれません。
そこで、config.phpに新規設定項目を追加しました。
//続きを描く時は新規投稿でもパスワードを必須にする
// する: true しない: false
// しない: false に設定すると、元の画像を上書きしない新規投稿なら誰でも続きを描く事ができるようになります。
// 合作の時にパスワードを公開する必要はありません。// $password_require_to_continue = true;
$password_require_to_continue = false;
新規投稿の時にもパスワードが必要な時は、新規投稿を選択してもパスワードの入力欄は非表示になりません。
「返信」ボタンを「このスレッドに投稿する」に変更
1スレッドに1枚のイラストの場合、100枚のイラストのために100スレッド必要になります。
Petit Noteのような1スレッド1ログファイル形式の掲示板の場合は、1スレッドに複数枚のイラストを掲載したほうが全体ログのファイルの肥大化の進行を遅らせる事ができるため掲示板の寿命を延ばす事ができます。
これまで、「返信」のところからイラストを投稿して欲しいとお願いする事が多々ありました。
しかし、自分で描いたイラストに「返信」から別のイラストを投稿するのは、「返信」ではないため、「このスレッドに投稿する」にボタンの名称を変更しました。
カタログ画像にマウスカーソルを乗せた時に投稿日時を表示
カタログ画像にオンマウスカーソルした時に投稿日時を表示できるように修正しました。
ホスト名が逆引きできずIPアドレスになる時の拒絶処理を修正
ホスト名で拒絶する時の一般的な例は後方一致です。
example.com
のように後ろの方が一致する部分を拒絶します。
しかし、IPアドレスの場合は前方一致で拒絶する必要があります。
ホスト名が取得出来ないIPアドレスからの投稿の時はホスト名にIPアドレスが表示されますが、従来は、このIPアドレスが後方一致による拒絶処理になってしまい拒絶不能になっていました。
そこで、ホスト名とIPアドレスが同じユーザーの時は、ホスト名として表示されているIPアドレスの前から数文字分を指定して前方一致で拒絶できるようにしました。
$badhost =["example.com","100.100.200"];
このように設定した場合、
"example.com"は後方一致で拒絶処理が行われ、"100.100.200"は前方一致で拒絶処理が行われます。
禁止ホストで拒絶している時はフォームの入力欄を表示しない
これまでは禁止ホストで拒絶していても、ペイントボタンやコメントの入力欄は依然表示されたままでした。
仮に禁止ホスト指定が巻き込みになってしまった時は、ペイントボタンが表示されている事で絵を描いてしまうかもしれません。
絵を何時間もかけて描いて投稿する時に、「拒絶されました」と表示されてしまう事になります。
禁止ホストで拒絶指定した時は、ペイントボタンやコメントの入力欄を閉じる事で投稿を最初から制限するようにしました。
拒絶する文字列が存在している場合でも管理者は投稿可。使用できない名前に管理者名を指定する事が可能に。
//拒絶する文字列 正規表現
//拒絶するurl
//使用できない名前 正規表現
//AとBが両方あったら拒絶 正規表現
これらのスパム対策のための禁止語句を管理者は制限なく投稿できるようになりました。
これにより、○○○という用語は使わないでくださいという説明をする時に、○○○を禁止語句に指定していても管理者はその語句を使用できるようになります。
また、「使用できない名前」に「管理人」や管理者のハンドル名を登録する事ができるようになりました。
管理者名が「使用できない名前」に指定されていれば、管理者以外のユーザーが管理者名を名乗って投稿するなりすまし投稿ができなくなります。
変更があったファイル
- index.php
- functions.php
- config.php
新しく追加された設定項目が必要な場合のみ更新。更新しない場合は従来と同じ設定で動作します。
変更があったテンプレート
- template/basic/catalog.html
- template/basic/main.html
- template/basic/res.html
- template/basic/continue.html
変更があったCSS
- template/basic/index.css
一応変更してありますが変更が必要なテンプレートにインラインのCSSでの記述を行っているため必ずしも変更する必要はありません。
CSSをカスタマイズしている場合はそのまま使うか、エディタの内容比較機能で差分をご確認ください。
23/02/26 v0.60.10
Klecksを最新版にアップデート
- ダークテーマが選択可能になりました。
- フランス語に対応しました。
- iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。
カタログ画面の表示が検索画面と同じ表示になりました。
- 大き目のディスプレイを使用時3列、スマホ2列だった表示を5列、スマホ4列に変更しました。
- 検索画面と共通のCSSを使用する形に変更になりました。
<div class="catalog_desc_wrap">
が、<div class="catalog_wrap">
に変更されていたり、divがspanに変更になっていたりします。
また検索画面のテンプレートは大幅に変更になりました。
index.css
とsearch.css
とcatalog.html
とsearch.html
をセットで更新して頂く形になります。
従来通りの表示のほうが良い場合は、CSSと上記テンプレートのHTML部分を変更しないようにしてください。
スタイルシートが確実に適用されるようにするため、cssファイルのurlにロット番号のクエリを追加しました。
<link rel="stylesheet" href="template/basic/index.css?lot.230225">
?lot.230225
の部分が今回追加されたクエリです。
CSSを変更してもブラウザのキャッシュのCSSが読み込まれてしまい画面が変更されない問題を解消するため、Petit Noteのロット番号をクエリに追加しました。
Petit Noteを更新すれば新しいCSSをブラウザが読み込みます。
変更があったファイル
- functions.php
- index.php
- config.php
カタログの表示件数を24件から60件に変更しています。
推奨される値が20の倍数に変更になりました。
5列表示でも4列表示でも画面にぴったり収まる値が20の倍数だからです。
Klecks更新
- app/klecks/
ディレクトリを上書きアップデート。
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/aikotoba.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
- template/basic/continue.html
- template/basic/edit_form.html
- template/basic/error.html
- template/basic/main.html
- template/basic/paint_com.html
- template/basic/paint_neo.html
- template/basic/pch_view.html
- template/basic/res.html
- template/basic/search.html
変更があったスタイルシート
- template/basic/search.css
- template/basic/index.css
テンプレートのほぼすべて。
template/ ディレクトリを上書きアップデートして更新する形でも大丈夫です。
23/02/20 v0.60.9 リリース
23/02/20 v0.60.9
バグ修正
検索画面の日付が10桁のユニックス秒になるバグを修正しました。
サムネイル画像のありなしのifの分岐が間違っていたのを修正しました。
元のサイズよりも幅と高さが大きな拡大されたwebサムネイルが作成されるケースがあったのを修正しました。
変更があったファイル
- thumbnail_gd.php
変更があったテンプレート
- template/basic/search.html
23/02/19 v0.60.8の変更内容もあわせて確認をお願いします。
検索機能を追加
23/02/19 v0.60.8 リリース
23/02/19 v0.60.8
検索機能を追加
POTI-boardで使っている外部PHPスクリプト、search.phpのコードをベースにした、記事検索機能を追加しました。
上記スクリプトを作成した当時と今では出力時のテンプレートでのエスケープの徹底化などの考え方に違いがあります。
そのままでは、Petit Noteのその他の処理と異なったコードになってしまうため、コードの整理と再構築を行いました。
この作業だけでまる一週間を費やしましたが、できる事はPOTI-boardの検索機能とほとんど同じです。
ページ送り機能はPetit Noteのほうが高機能です。
Petit Noteには日本語と英語の自動切り替え機能があります。
ブラウザの言語が日本語以外の時にはUIを英語表示します。
検索画面のUIもブラウザの言語が日本語以外の時には英語で表示されます。
検索画面の設定項目が追加されました。
/検索機能/
//検索可能最大数
//この値を大きくすれば検索可能件数が増えますが、サーバの負荷が大きくなります。
$max_search= 300;//画像検索の時の1ページあたりの表示件数
$search_images_pagedef = 60;//通常検索の時の1ページあたりの表示件数
$search_comments_pagedef = 30;
細かく設定したい方のみ、この設定項目を追加して調整してください。
この設定項目がconfig.phpに存在しない場合は上記の設定値が自動的に適用されます。
webpサムネイル機能を追加
ファイルサイズの圧縮率が高いwebp形式のサムネイル機能を追加しました。
ただし、webpサムネイルは従来のJPEGサムネイルの代わりに使うためのものではありません。
検索画面や、カタログ画面のように画像をたくさん表示する画面で使います。
<picture> ~ </picture>
タグを使用して振り分けて、webpに対応していない旧バージョンのApple製品ではPNGやJPEGを表示します。
対応ブラウザの時はwebpを表示します。
v0.60.8以後は、お絵かき画像もアップロード画像の場合でも、投稿時にwebp画像が別途生成されwebp/
ディレクトリに保存されます。
表示する時に、webp画像の存在確認を行ってあればwebpの表示を試みてブラウザが対応していればwebp画像を表示します。
カタログ画面、検索画面、レス画面の下段の前後の投稿記事でwebpを使用します。
これにより1ページに60枚の画像を表示する場合でも、モバイル端末の通信費の負担が軽減されます。
また、固定回線の場合であっても画像が表示されるまでの待ち時間を短縮できます。
PNGやJPEGで投稿されたスレッドの画像は従来どおりの表示です。
webp画像は使用しているサーバの対応も必要です。
webp画像生成機能が存在してるかどうかを確認して、機能が存在していない時はwebp画像を生成しません。
ホームページへ戻るリンク
ホームページを持っていない人が掲示板だけ設置する事を想定して、上段メニューのホームページへ戻るためのリンクを表示しない形にしていましたが、ホームページを持っていてそこから掲示板を利用する方が一定数存在しているため、初期設定状態でホームページへ戻るリンクを表示する事にしました。
上段メニューにはホームページに戻るリンクは必要ない方は設定をお願いします。
/使用目的別設定/
// ホームページへ戻るリンクを上段のメニューに表示する
// ホームページへのリンクが必要ない場合は 表示しない:false
// 表示する:true 表示しない:false
$display_link_back_to_home = true;
// $display_link_back_to_home = false;
初期設定では、表示するになっています。
またこの設定項目がconfig.phpに存在しない場合も、表示するになります。
バグ修正
編集→アップロード画像の差し換えの処理の時に、動画ファイル関連の変数が未定義エラーになっていました。
この問題はv0.52.6で発生しv0.58.5で修正されました。
変更があったファイル
- index.php
- functions.php
- thumbnail_gd.php
- config.php
config.php を細かく設定している方は必ずしも変更する必要はなく、追加された設置項目が必要な場合だけ更新してください。
また、更新される場合は、エディタの差分比較機能などをご利用ください。
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/catalog.html
- template/basic/main.html
- template/basic/res.html
- template/basic/search.html
追加されたテンプレート
- template/basic/search.html
変更があったCSS
- template/basic/index.css
追加されたCSS
- template/basic/search.css
index.cssにも若干の変更がありますが、ほとんどの場合、更新しなくても表示が大きく変わる事はありません。
検索画面固有のCSSはsearch.cssに分離しました。
また検索画面の共通箇所は、index.cssの設定を使います。
配色を変更している場合でも、従来のCSSの設定が適用されるようになっています。
23/02/11 v0.57.5.2
バグ修正
サーバのステータスが「502 Bad Gateway」の時に描いていた絵が消えてしまうバグを修正しました。
サーバのステータスが200以外の時には「投稿に失敗時間を置いて再度投稿してください」というアラートを表示するのみで、画面を推移しないようにしました。 画面を推移しないので、スクショを取る事が可能になります。また、ほとんどの場合、再度投稿ボタン押せば投稿に成功します。
変更があったテンプレート
- template/basic/paint_klecks.html
23/02/09 v0.57.5.1
klecksのヘルプファイルを入れ忘れていたのを追加しました。
- app/klecks ディレクトリを上書きアップデート。
または、klecksフォルダの中のhelp.html
をアップロード。
23/01/31 v0.57.5
バグ修正
- 記事の編集時に変数
$pchext
が未定義エラーになる場合があったのを修正しました。
この問題は、v0.56.3で発生し、v0.57.5で修正されました。
変更があったファイル
- index.php
23/01/31 v0.57.3
スレッドを閉じる前に事前に知らせる機能を追加しました
- 古いスレッドが閉じられる60日前に残り日数を表示する機能を追加しました。
- 返信可能な残り件数が20件以下になった時に返信可能件数を表示する機能を追加しました。
たとえば漫画などの連載ものの投稿時に途中でスレッドが閉じて、複数のスレッドに分割されてしまう事がありました。
スレッドがもうすぐ閉じられる事を事前に表示する事でそれらの問題を回避できるようにしました。
テンプレートの著作リンクを外部化
著作リンクを外部化しました。
parts/copyright.html
が著作リンクです。
そのHTML部分を著作リンクを表示するその他のテンプレートで読み込みます。
またPetit Noteの著作リンクのリンク先を、https://paintbbs.sakura.ne.jp/ に変更しています。
これは、作者のサイト「お絵かき掲示板Petit Note」のSEO対策のための変更です。
ご理解いただければ幸いです。
負荷削減
掲示板のトップページの時には必要がない、返信画面のための計算を他の画面でも行っていました。
各モードで必要な処理を振り分ける事で表示時の負荷を削減しました。
バグ修正
閉じたスレッドには返信できませんが、お絵かきでレスを描いているうちにスレッドが閉じてしまう事もあります。
その場合はスレッドが閉じていても新しいスレッドへの投稿として投稿を受け付けます。
この時に、ファイルロックがかかったレス先のログファイルを二重に開こうとしてパーミッションエラーが発生する事があったのを修正しました。
変更があったファイル
- index.php
- functions.php
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
- template/basic/edit_form.html
- template...
Petit Note v0.60.10リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
23/02/26 v0.60.10 リリース
23/02/26 v0.60.10
Klecksを最新版にアップデート
- ダークテーマが選択可能になりました。
- フランス語に対応しました。
- iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。
カタログ画面の表示が検索画面と同じ表示になりました。
- 大き目のディスプレイを使用時3列、スマホ2列だった表示を5列、スマホ4列に変更しました。
- 検索画面と共通のCSSを使用する形に変更になりました。
<div class="catalog_desc_wrap">
が、<div class="catalog_wrap">
に変更されていたり、divがspanに変更になっていたりします。
また検索画面のテンプレートは大幅に変更になりました。
index.css
とsearch.css
とcatalog.html
とsearch.html
をセットで更新して頂く形になります。
従来通りの表示のほうが良い場合は、CSSと上記テンプレートのHTML部分を変更しないようにしてください。
スタイルシートが確実に適用されるようにするため、cssファイルのurlにロット番号のクエリを追加しました。
<link rel="stylesheet" href="template/basic/index.css?lot.230225">
?lot.230225
の部分が今回追加されたクエリです。
CSSを変更してもブラウザのキャッシュのCSSが読み込まれてしまい画面が変更されない問題を解消するため、Petit Noteのロット番号をクエリに追加しました。
Petit Noteを更新すれば新しいCSSをブラウザが読み込みます。
変更があったファイル
- functions.php
- index.php
- config.php
カタログの表示件数を24件から60件に変更しています。
推奨される値が20の倍数に変更になりました。
5列表示でも4列表示でも画面にぴったり収まる値が20の倍数だからです。
Klecks更新
- app/klecks/
ディレクトリを上書きアップデート。
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/aikotoba.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
- template/basic/continue.html
- template/basic/edit_form.html
- template/basic/error.html
- template/basic/main.html
- template/basic/paint_com.html
- template/basic/paint_neo.html
- template/basic/pch_view.html
- template/basic/res.html
- template/basic/search.html
変更があったスタイルシート
- template/basic/search.css
- template/basic/index.css
テンプレートのほぼすべて。
template/ ディレクトリを上書きアップデートして更新する形でも大丈夫です。
23/02/20 v0.60.9 リリース
23/02/20 v0.60.9
バグ修正
検索画面の日付が10桁のユニックス秒になるバグを修正しました。
サムネイル画像のありなしのifの分岐が間違っていたのを修正しました。
元のサイズよりも幅と高さが大きな拡大されたwebサムネイルが作成されるケースがあったのを修正しました。
変更があったファイル
- thumbnail_gd.php
変更があったテンプレート
- template/basic/search.html
23/02/19 v0.60.8の変更内容もあわせて確認をお願いします。
検索機能を追加
23/02/19 v0.60.8 リリース
23/02/19 v0.60.8
検索機能を追加
POTI-boardで使っている外部PHPスクリプト、search.phpのコードをベースにした、記事検索機能を追加しました。
上記スクリプトを作成した当時と今では出力時のテンプレートでのエスケープの徹底化などの考え方に違いがあります。
そのままでは、Petit Noteのその他の処理と異なったコードになってしまうため、コードの整理と再構築を行いました。
この作業だけでまる一週間を費やしましたが、できる事はPOTI-boardの検索機能とほとんど同じです。
ページ送り機能はPetit Noteのほうが高機能です。
Petit Noteには日本語と英語の自動切り替え機能があります。
ブラウザの言語が日本語以外の時にはUIを英語表示します。
検索画面のUIもブラウザの言語が日本語以外の時には英語で表示されます。
検索画面の設定項目が追加されました。
/検索機能/
//検索可能最大数
//この値を大きくすれば検索可能件数が増えますが、サーバの負荷が大きくなります。
$max_search= 300;//画像検索の時の1ページあたりの表示件数
$search_images_pagedef = 60;//通常検索の時の1ページあたりの表示件数
$search_comments_pagedef = 30;
細かく設定したい方のみ、この設定項目を追加して調整してください。
この設定項目がconfig.phpに存在しない場合は上記の設定値が自動的に適用されます。
webpサムネイル機能を追加
ファイルサイズの圧縮率が高いwebp形式のサムネイル機能を追加しました。
ただし、webpサムネイルは従来のJPEGサムネイルの代わりに使うためのものではありません。
検索画面や、カタログ画面のように画像をたくさん表示する画面で使います。
<picture> ~ </picture>
タグを使用して振り分けて、webpに対応していない旧バージョンのApple製品ではPNGやJPEGを表示します。
対応ブラウザの時はwebpを表示します。
v0.60.8以後は、お絵かき画像もアップロード画像の場合でも、投稿時にwebp画像が別途生成されwebp/
ディレクトリに保存されます。
表示する時に、webp画像の存在確認を行ってあればwebpの表示を試みてブラウザが対応していればwebp画像を表示します。
カタログ画面、検索画面、レス画面の下段の前後の投稿記事でwebpを使用します。
これにより1ページに60枚の画像を表示する場合でも、モバイル端末の通信費の負担が軽減されます。
また、固定回線の場合であっても画像が表示されるまでの待ち時間を短縮できます。
PNGやJPEGで投稿されたスレッドの画像は従来どおりの表示です。
webp画像は使用しているサーバの対応も必要です。
webp画像生成機能が存在してるかどうかを確認して、機能が存在していない時はwebp画像を生成しません。
ホームページへ戻るリンク
ホームページを持っていない人が掲示板だけ設置する事を想定して、上段メニューのホームページへ戻るためのリンクを表示しない形にしていましたが、ホームページを持っていてそこから掲示板を利用する方が一定数存在しているため、初期設定状態でホームページへ戻るリンクを表示する事にしました。
上段メニューにはホームページに戻るリンクは必要ない方は設定をお願いします。
/使用目的別設定/
// ホームページへ戻るリンクを上段のメニューに表示する
// ホームページへのリンクが必要ない場合は 表示しない:false
// 表示する:true 表示しない:false
$display_link_back_to_home = true;
// $display_link_back_to_home = false;
初期設定では、表示するになっています。
またこの設定項目がconfig.phpに存在しない場合も、表示するになります。
バグ修正
編集→アップロード画像の差し換えの処理の時に、動画ファイル関連の変数が未定義エラーになっていました。
この問題はv0.52.6で発生しv0.58.5で修正されました。
変更があったファイル
- index.php
- functions.php
- thumbnail_gd.php
- config.php
config.php を細かく設定している方は必ずしも変更する必要はなく、追加された設置項目が必要な場合だけ更新してください。
また、更新される場合は、エディタの差分比較機能などをご利用ください。
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/catalog.html
- template/basic/main.html
- template/basic/res.html
- template/basic/search.html
追加されたテンプレート
- template/basic/search.html
変更があったCSS
- template/basic/index.css
追加されたCSS
- template/basic/search.css
index.cssにも若干の変更がありますが、ほとんどの場合、更新しなくても表示が大きく変わる事はありません。
検索画面固有のCSSはsearch.cssに分離しました。
また検索画面の共通箇所は、index.cssの設定を使います。
配色を変更している場合でも、従来のCSSの設定が適用されるようになっています。
23/02/11 v0.57.5.2
バグ修正
サーバのステータスが「502 Bad Gateway」の時に描いていた絵が消えてしまうバグを修正しました。
サーバのステータスが200以外の時には「投稿に失敗時間を置いて再度投稿してください」というアラートを表示するのみで、画面を推移しないようにしました。 画面を推移しないので、スクショを取る事が可能になります。また、ほとんどの場合、再度投稿ボタン押せば投稿に成功します。
変更があったテンプレート
- template/basic/paint_klecks.html
23/02/09 v0.57.5.1
klecksのヘルプファイルを入れ忘れていたのを追加しました。
- app/klecks ディレクトリを上書きアップデート。
または、klecksフォルダの中のhelp.html
をアップロード。
23/01/31 v0.57.5
バグ修正
- 記事の編集時に変数
$pchext
が未定義エラーになる場合があったのを修正しました。
この問題は、v0.56.3で発生し、v0.57.5で修正されました。
変更があったファイル
- index.php
23/01/31 v0.57.3
スレッドを閉じる前に事前に知らせる機能を追加しました
- 古いスレッドが閉じられる60日前に残り日数を表示する機能を追加しました。
- 返信可能な残り件数が20件以下になった時に返信可能件数を表示する機能を追加しました。
たとえば漫画などの連載ものの投稿時に途中でスレッドが閉じて、複数のスレッドに分割されてしまう事がありました。
スレッドがもうすぐ閉じられる事を事前に表示する事でそれらの問題を回避できるようにしました。
テンプレートの著作リンクを外部化
著作リンクを外部化しました。
parts/copyright.html
が著作リンクです。
そのHTML部分を著作リンクを表示するその他のテンプレートで読み込みます。
またPetit Noteの著作リンクのリンク先を、https://paintbbs.sakura.ne.jp/ に変更しています。
これは、作者のサイト「お絵かき掲示板Petit Note」のSEO対策のための変更です。
ご理解いただければ幸いです。
負荷削減
掲示板のトップページの時には必要がない、返信画面のための計算を他の画面でも行っていました。
各モードで必要な処理を振り分ける事で表示時の負荷を削減しました。
バグ修正
閉じたスレッドには返信できませんが、お絵かきでレスを描いているうちにスレッドが閉じてしまう事もあります。
その場合はスレッドが閉じていても新しいスレッドへの投稿として投稿を受け付けます。
この時に、ファイルロックがかかったレス先のログファイルを二重に開こうとしてパーミッションエラーが発生する事があったのを修正しました。
変更があったファイル
- index.php
- functions.php
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
- template/basic/edit_form.html
- template/basic/index.css
- template/basic/main.html
- template/basic/res.html
追加されたテンプレート
外部化された著作リンク
- template/basic/parts/copyright.html
このファイルのアップロードを忘れると、著作リンクを表示するテンプレートでエラーが発生しますのでご注意ください。
外部化するメリット
このファイルを変更するだけで他のテンプレートにも著作リンクの変更が反映されるようになります。
23/01/20 v0.56.3.1
変更があったテンプレート
- template/basic/paint_neo.html
JavaScriptのセミコロンが抜けていたのを修正しました。
23/01/25 v0.56.3 リリース
23/01/20 v0.56.3
PNG形式で投稿できるファイルサイズの上限をconfig.phpで設定できるようになりました。
これまでは、アップロード画像は800kb、お絵かきアプレットからの投稿は1MB以上の時はJPEGへの変換を試行して、
JPEGに変換したあとの画像のほうが小さくなる時だけ、JPEGに変換していました。
しかしながら、比較的ファイルサイズが大きな場合でもPNG形式で保存したい。
逆にJPEGで保存したいという要望に応えるため、PNG形式のまま投稿可能なファイルサイズの上限を設定できるようにしました。
//アップロード時にpng形式で保存する最大ファイルサイズ
// このファイルサイズを超える時はJPEGに変換(単位kb)
$max_file_size_in_png_format_upload = 800;// ペイント時にpng形式で保存する最大ファイルサイズ
// このファイルサイズを超える時はJPEGに変換(単位kb)
$max_file_size_in_png_format_paint = 1024;
この設定項目の数値が小さいほどPNG画像がJPEGに変換されやすくなります。
この設定項目の数値が大きければPNG画像がJPEGに変換されなくなります。
PaintBBS NEOの動画ファイルを表示するしないを投稿者が選択できるようになりました
↑
お絵かきコメントの時に「動画を表示しない」を選択すると、動画のリンクがでません。
また動画のURLを呼び出してもエラーになります。
↑
編集画面で、「動画を表示しない」のチェックを外すと、動画が表示されるようになります。
編集画面で、「動画を表示しない」にチェックをいれると、動画が表示されなくなります。
↑
「続きを描く」画面で「動画を表示しない」を選択すると、「差し換え」でも「新規投稿でも」動画のリンクがでなくなります。
PaintBBS NEOの動画は描いた手順を記録しているだけでなく、レイヤー情報も保存しているため続きを描く時に必要になります。
そのため、「動画を保存しない」というオプションはPetit Noteでは採用していません。
しかし、どうしても動画を完全にサーバから消してしまいたい時もあるかもしれません。
その場合は、「動画から続きを描く」となっている箇所を「画像から続きを描く」に変更して描くと、これまで記録されていた動画ファイルが削除されます。
PaintBBS NEOでコピー、レイヤー結合などキャンバス周辺を含む操作で画面が上下に動かないようにする工夫
コピーやレイヤー結合などの時にキャンバス周辺の紫の網目のところをスワイプしても画面が上下に動かなくする工夫を行っていましたが、その事が原因でモバイル端末で操作不能になるケースもありました。
今回の更新で、開いたキャンバスサイズの幅に対して端末の横幅に余裕がある時だけ、NEOのキャンバスの周囲の網目のところでスワイプしない形に変更になりました。
NEOの網目のところをつかんでスクロールできるようにしておかなければ操作不能になるからです。
キャンバスサイズと比較して、端末の横幅に余裕がある時は、NEOの網目のところをつかんでもスクロールしなくなります。
コピーやレイヤー結合、Bz曲線の操作の時に画面が上下に動いてしまうからです。
また、ピンチズームで拡大している時も網目のところをつかんでスクロールできるようになりました。
操作不能になるのを回避するためです。
これらは、NEOのペイント画面のインラインのJavaScriptで実装していますので、ペイント画面のテンプレートの更新が必要です。
Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true
Chromeに上記の警告が表示されるようになったため、PaintBBS NEOを独自に修正しました。
HTMLCanvasElement.getContext() - Web APIs | MDN
willReadFrequently
多くのリードバック操作が計画されているかどうかを示すブール値。getImageData() これにより、(ハードウェア アクセラレーションではなく) ソフトウェア 2D キャンバスの使用が強制され、頻繁 に呼び出すときにメモリを節約できます...
Petit Note v0.57.5.2リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
23/02/11 v0.57.5.2 リリース
23/02/11 v0.57.5.2
バグ修正
サーバのステータスが「502 Bad Gateway」の時に描いていた絵が消えてしまうバグを修正しました。
サーバのステータスが200以外の時には「投稿に失敗時間を置いて再度投稿してください」というアラートを表示するのみで、画面を推移しないようにしました。 画面を推移しないので、スクショを取る事が可能になります。また、ほとんどの場合、再度投稿ボタン押せば投稿に成功します。
変更があったテンプレート
- template/basic/paint_klecks.html
23/02/09 v0.57.5.1
klecksのヘルプファイルを入れ忘れていたのを追加しました。
- app/klecks ディレクトリを上書きアップデート。
または、klecksフォルダの中のhelp.html
をアップロード。
23/01/31 v0.57.5
バグ修正
- 記事の編集時に変数
$pchext
が未定義エラーになる場合があったのを修正しました。
この問題は、v0.56.3で発生し、v0.57.5で修正されました。
変更があったファイル
- index.php
23/01/31 v0.57.3
スレッドを閉じる前に事前に知らせる機能を追加しました
- 古いスレッドが閉じられる60日前に残り日数を表示する機能を追加しました。
- 返信可能な残り件数が20件以下になった時に返信可能件数を表示する機能を追加しました。
たとえば漫画などの連載ものの投稿時に途中でスレッドが閉じて、複数のスレッドに分割されてしまう事がありました。
スレッドがもうすぐ閉じられる事を事前に表示する事でそれらの問題を回避できるようにしました。
テンプレートの著作リンクを外部化
著作リンクを外部化しました。
parts/copyright.html
が著作リンクです。
そのHTML部分を著作リンクを表示するその他のテンプレートで読み込みます。
またPetit Noteの著作リンクのリンク先を、https://paintbbs.sakura.ne.jp/ に変更しています。
これは、作者のサイト「お絵かき掲示板Petit Note」のSEO対策のための変更です。
ご理解いただければ幸いです。
負荷削減
掲示板のトップページの時には必要がない、返信画面のための計算を他の画面でも行っていました。
各モードで必要な処理を振り分ける事で表示時の負荷を削減しました。
バグ修正
閉じたスレッドには返信できませんが、お絵かきでレスを描いているうちにスレッドが閉じてしまう事もあります。
その場合はスレッドが閉じていても新しいスレッドへの投稿として投稿を受け付けます。
この時に、ファイルロックがかかったレス先のログファイルを二重に開こうとしてパーミッションエラーが発生する事があったのを修正しました。
変更があったファイル
- index.php
- functions.php
変更があったテンプレート
- template/basic/admin_in.html
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
- template/basic/edit_form.html
- template/basic/index.css
- template/basic/main.html
- template/basic/res.html
追加されたテンプレート
外部化された著作リンク
- template/basic/parts/copyright.html
このファイルのアップロードを忘れると、著作リンクを表示するテンプレートでエラーが発生しますのでご注意ください。
外部化するメリット
このファイルを変更するだけで他のテンプレートにも著作リンクの変更が反映されるようになります。
23/01/20 v0.56.3.1
変更があったテンプレート
- template/basic/paint_neo.html
JavaScriptのセミコロンが抜けていたのを修正しました。
23/01/25 v0.56.3 リリース
23/01/20 v0.56.3
PNG形式で投稿できるファイルサイズの上限をconfig.phpで設定できるようになりました。
これまでは、アップロード画像は800kb、お絵かきアプレットからの投稿は1MB以上の時はJPEGへの変換を試行して、
JPEGに変換したあとの画像のほうが小さくなる時だけ、JPEGに変換していました。
しかしながら、比較的ファイルサイズが大きな場合でもPNG形式で保存したい。
逆にJPEGで保存したいという要望に応えるため、PNG形式のまま投稿可能なファイルサイズの上限を設定できるようにしました。
//アップロード時にpng形式で保存する最大ファイルサイズ
// このファイルサイズを超える時はJPEGに変換(単位kb)
$max_file_size_in_png_format_upload = 800;// ペイント時にpng形式で保存する最大ファイルサイズ
// このファイルサイズを超える時はJPEGに変換(単位kb)
$max_file_size_in_png_format_paint = 1024;
この設定項目の数値が小さいほどPNG画像がJPEGに変換されやすくなります。
この設定項目の数値が大きければPNG画像がJPEGに変換されなくなります。
PaintBBS NEOの動画ファイルを表示するしないを投稿者が選択できるようになりました
↑
お絵かきコメントの時に「動画を表示しない」を選択すると、動画のリンクがでません。
また動画のURLを呼び出してもエラーになります。
↑
編集画面で、「動画を表示しない」のチェックを外すと、動画が表示されるようになります。
編集画面で、「動画を表示しない」にチェックをいれると、動画が表示されなくなります。
↑
「続きを描く」画面で「動画を表示しない」を選択すると、「差し換え」でも「新規投稿でも」動画のリンクがでなくなります。
PaintBBS NEOの動画は描いた手順を記録しているだけでなく、レイヤー情報も保存しているため続きを描く時に必要になります。
そのため、「動画を保存しない」というオプションはPetit Noteでは採用していません。
しかし、どうしても動画を完全にサーバから消してしまいたい時もあるかもしれません。
その場合は、「動画から続きを描く」となっている箇所を「画像から続きを描く」に変更して描くと、これまで記録されていた動画ファイルが削除されます。
PaintBBS NEOでコピー、レイヤー結合などキャンバス周辺を含む操作で画面が上下に動かないようにする工夫
コピーやレイヤー結合などの時にキャンバス周辺の紫の網目のところをスワイプしても画面が上下に動かなくする工夫を行っていましたが、その事が原因でモバイル端末で操作不能になるケースもありました。
今回の更新で、開いたキャンバスサイズの幅に対して端末の横幅に余裕がある時だけ、NEOのキャンバスの周囲の網目のところでスワイプしない形に変更になりました。
NEOの網目のところをつかんでスクロールできるようにしておかなければ操作不能になるからです。
キャンバスサイズと比較して、端末の横幅に余裕がある時は、NEOの網目のところをつかんでもスクロールしなくなります。
コピーやレイヤー結合、Bz曲線の操作の時に画面が上下に動いてしまうからです。
また、ピンチズームで拡大している時も網目のところをつかんでスクロールできるようになりました。
操作不能になるのを回避するためです。
これらは、NEOのペイント画面のインラインのJavaScriptで実装していますので、ペイント画面のテンプレートの更新が必要です。
Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true
Chromeに上記の警告が表示されるようになったため、PaintBBS NEOを独自に修正しました。
HTMLCanvasElement.getContext() - Web APIs | MDN
willReadFrequently
多くのリードバック操作が計画されているかどうかを示すブール値。getImageData() これにより、(ハードウェア アクセラレーションではなく) ソフトウェア 2D キャンバスの使用が強制され、頻繁 に呼び出すときにメモリを節約できます。
PaintBBS NEO更新
- app/neo/neo.js
変更があったファイル
- index.php
- functions.php
- save.php
- saveklecks.php
- saveneo.php
- config.php
config.phpは追加された新しい設定項目が必要な場合のみ更新します。
追加された設定項目が存在しない場合は従来と同じ動作になります。
変更があったテンプレート
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/continue.html
- template/basic/edit_form.html
- template/basic/paint_com.html
- template/basic/paint_neo.html
- template/basic/index.css
テンプレートを更新しないと、今回追加された動画を表示しない機能や、PaintBBS NEOのピンチズーム時の動作の制御などの追加機能を使う事ができませんが、機能の追加が必要無い場合は従来のテンプレートのままでも問題ありません。
テンプレートをカスタマイズしていない方は、template/
フォルダをフォルダごとアップロードすれば、簡単に更新できます。
23/01/20 v0.55.2.1
バグ修正
- 新方式のPaintBBS NEOのデータを受信する
saveneo.php
に大きなバグが見つかりました。
PHP5.6、PHP7.2、などPHP8より古いバージョンのPHPで、saveneo.phpの致命的エラーが発生するバグを修正しました。
PHP8.1、PHP8.2では何もエラーを出さずに動作するためこのバグを見落としてしまっていました。
v0.55.2で追加された機能が必要ない方も、saveneo.php
の更新をお願いします。
機能の追加
- 合言葉のログイン状態を維持するオプションを追加しました。
config.phpに新規設定項目を追加しました。
config.phpのどこでもいいので、下記設定項目を追加すると、この設定が有効になります。
設定項目が存在しない時は、これまでのバージョンと同じ動作になります。
//合言葉のログイン状態を維持する
// する: true しない: false
// する: true に設定すると合言葉のログイン状態を30日間維持します。// $keep_aikotoba_login_status=true;
$keep_aikotoba_login_status=false;
変更があったファイル
- index.php
- functions.php
- save.php
- saveklecks.php
- saveneo.php (PHP5.6-PHP7.x環境で致命的エラーが発生していたのを修正しています)
- config.php
config.phpの更新は新規設定項目が必要な方だけ更新する形になっています。
すでにいろいろと設定している場合は、そのままでも大丈夫です。
23/01/14 v0.55.0.2
//お絵かきアプリで投稿する時の必要最低限の描画時間
//(単位:秒)。この設定が不要な時は : 0
// 指定した秒数に達しない場合は、描画に必要な秒数を知らせるアラートが開きます。$security_timer = 0;
// $security_timer = 60;
この設定項目で、投稿に必要な最低限の描画時間が設定されている時に、エラーメッセージが、すべて「あと0秒」になるバグを修正しました。
このバグが残っている状態でも必要最低秒数が60秒で60秒を超えていれば、エラーメッセージは表示されず問題なく投稿できます。
また、投稿に必要な最低限の描画時間が設定されていない場合も、エラーメッセージは表示されず問題なく投稿できます。
今回の修正で、60秒以下の時は「あと50秒」のように表示されるようになります。
このバグはv0.55.0で発生し、v0.55.0.2で修正されました。
変更があったファイル
- picpost.php
- save.php
- saveklecks.php
- saveneo.php
23/01/14 v0.55.0.1
バグ修正
saveneo.php
のバグを修正しました。
新しく追加したPaintBBS NEOの新しい受信ファイルsaveneo.php
にバグが見つかりました。
非対応ブラウザの時にエラーのアラートが開かず画面を推移して投稿画像が消えてしまうバグを修正しました。
saveneo.phpを最新版に差し替えてください。
23/01/14 v0.55.0
WAFによる誤検知のエラーを回避するためPaintBBS NEOの送信を生データからformDataに変更しました。
- 従来のお絵かき掲示板に投稿できるようにするために、生データを送信していたNEOを改造して、formDataでヘッダ、画像、動画データを送信できるようにしました。
この変更によって、WAFがNEOの送信データを攻撃と判断して遮断する確率が低くなり投稿が成功する確率が飛躍的に高くなります。
ここ数年セキュリティを確保するためにWAFを導入しているレンタルサーバが増えています。
しかしながら、攻撃ではない通常の投稿もWAFによって遮断される事があります。
NEOはこれまで生データを古い掲示板との互換性を確保するために送信してきました。今回の独自拡張でによってそれが、formDataに変わります。
現時点では独自規格ですが規格が乱立するのはよくない事ですので、開発元にプルリクエストを出しています。
予定では3月頃のようですが、formData対応版の正式版がNEOの開発元から出た時点で、再度、掲示板側の対応を行います。
WAFに攻撃と判断されないようにするため、formDataで個別にデータを送信するオプションを追加。 by satopian · Pull Request #94 · funige/neo
そのため、WAFの影響で投稿できなくて困っている人のための緊急アップデートのような形になりました。
これは暫定措置ですので、仕様が今後変更になる可能性があります。
重要な変更点
- これまではNEOのデータの受信を
picpost.php
で行っていました。
このバージョン以後は新しく追加した、saveneo.php
でNEOのデータを受信します。
このファイルのアップロードを忘れると、NEOからの投稿ができなくなりますので、必ずアップデートしてください。
potiboard.phpと同じディレクトリに転送します。 - Paint画面のテンプレートの更新
paint_neo.html
の更新をお願いします。
formDataで送信するモードに切り替えるためのパラメータが追加されています。
最低限必要な描画時間の設定ができるようになりました。
//お絵かきアプリで投稿する時の必要最低限の描画時間
//(単位:秒)。この設定が不要な時は : 0
// 指定した秒数に達しない場合は、描画に必要な秒数を知らせるアラートが開きます。$security_timer = 0;
// $security_timer = 60;
描画時間が指定秒数より短い時はPaintBBS NEO、ChickenPaint、Klecksすべてのアプリで、「"描画時間が短すぎます。あと30秒。」というアラートが開きます。
お絵かきデータ送信エラーの時のエラーメッセージを細かく表示できるようになりました
"投稿に失敗。時間をおいて再度投稿してみてください。"
"お使いのブラウザはサポートされていません。"
"ユーザーコードが一致しません。"
エラーはできるだけ出ないほうがいいのですが、エラーになってしまった時の詳細なエラー内容が日本語のアラートで開くようになりました。
アラートは開きますが描いている絵の画面は切り替わらずにそのままの状態になりますので、スクリーンショットをとってあとでアップロードする事ができます。
Klecksのデータ送信方式を、XMLHttpRequest
からfetch
に書き換えました
動作上の差はほぼありませんが、コードが整理された事により上記のようなエラーメッセージの表示が可能になりました。
合言葉機能を改良
従来の「投稿する時に合言葉が必要」に加え、「掲示板の閲覧に合言葉が必要」という設定項目が追加されました。
/合言葉設定/
// 投稿に合言葉を必須にする
// する: trueで投稿に合言葉が必要になります。
// する: true しない: false// $use_aikotoba = true;
$use_aikotoba=false;// 掲示板の閲覧に合言葉を必須にする
// する: true しない: false
// する: trueで掲示板のすべてのコンテンツの閲覧に合言葉が必要になります。// $aikotoba_required_to_view=true;
$aikotoba_required_to_view=false;//合言葉
//上記の合言葉機能のどちらか、あいるは両方が true の時に入力する秘密の答え。
// 必要に応じて変更してください。
$aikotoba = "ひみつ";
config.phpの合言葉設定の箇所を整理して合言葉の項目を新たに追加しました。
しかし、これらの新規設定項目が必要ない方はすでに設定ずみのconfig.phpをそのままご利用ください。
すでに設定ずみの場合は、また設定しなおす事になってしまうので、面倒な作業になるからです。
差分エディタによる内容比較で変更点を確認してそこだけ追加するのがベターだと思います。
無料のVScode(プログラムエディタ)で内容比較機能が使えます。
サクラエディタや秀丸エディタにも内容比較機能があります。
5回連続して管理パスを間違った時はロック→手動解除に加え3日経過すればログインできるように。
5回連続してパスワードを間違えた時は管理者ログインをロックしてログインできなくする機能を実装しましたが、ftp接続による手動での解除は面倒なため、ログ...
Petit Note v0.56.3.1リリース
Petit Noteとは
- 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
PaintBBS NEO,ChickenPaint,Klecksが使えるお絵かき掲示板です。
ダウンロード
- このページの一番下のソースコードリンクからダウンロードできます。
English version is here
23/01/25 v0.56.3.1 リリース
23/01/20 v0.56.3.1
変更があったテンプレート
- template/basic/paint_neo.html
JavaScriptのセミコロンが抜けていたのを修正しました。
23/01/25 v0.56.3 リリース
23/01/20 v0.56.3
PNG形式で投稿できるファイルサイズの上限をconfig.phpで設定できるようになりました。
これまでは、アップロード画像は800kb、お絵かきアプレットからの投稿は1MB以上の時はJPEGへの変換を試行して、
JPEGに変換したあとの画像のほうが小さくなる時だけ、JPEGに変換していました。
しかしながら、比較的ファイルサイズが大きな場合でもPNG形式で保存したい。
逆にJPEGで保存したいという要望に応えるため、PNG形式のまま投稿可能なファイルサイズの上限を設定できるようにしました。
//アップロード時にpng形式で保存する最大ファイルサイズ
// このファイルサイズを超える時はJPEGに変換(単位kb)
$max_file_size_in_png_format_upload = 800;// ペイント時にpng形式で保存する最大ファイルサイズ
// このファイルサイズを超える時はJPEGに変換(単位kb)
$max_file_size_in_png_format_paint = 1024;
この設定項目の数値が小さいほどPNG画像がJPEGに変換されやすくなります。
この設定項目の数値が大きければPNG画像がJPEGに変換されなくなります。
PaintBBS NEOの動画ファイルを表示するしないを投稿者が選択できるようになりました
↑
お絵かきコメントの時に「動画を表示しない」を選択すると、動画のリンクがでません。
また動画のURLを呼び出してもエラーになります。
↑
編集画面で、「動画を表示しない」のチェックを外すと、動画が表示されるようになります。
編集画面で、「動画を表示しない」にチェックをいれると、動画が表示されなくなります。
↑
「続きを描く」画面で「動画を表示しない」を選択すると、「差し換え」でも「新規投稿でも」動画のリンクがでなくなります。
PaintBBS NEOの動画は描いた手順を記録しているだけでなく、レイヤー情報も保存しているため続きを描く時に必要になります。
そのため、「動画を保存しない」というオプションはPetit Noteでは採用していません。
しかし、どうしても動画を完全にサーバから消してしまいたい時もあるかもしれません。
その場合は、「動画から続きを描く」となっている箇所を「画像から続きを描く」に変更して描くと、これまで記録されていた動画ファイルが削除されます。
PaintBBS NEOでコピー、レイヤー結合などキャンバス周辺を含む操作で画面が上下に動かないようにする工夫
コピーやレイヤー結合などの時にキャンバス周辺の紫の網目のところをスワイプしても画面が上下に動かなくする工夫を行っていましたが、その事が原因でモバイル端末で操作不能になるケースもありました。
今回の更新で、開いたキャンバスサイズの幅に対して端末の横幅に余裕がある時だけ、NEOのキャンバスの周囲の網目のところでスワイプしない形に変更になりました。
NEOの網目のところをつかんでスクロールできるようにしておかなければ操作不能になるからです。
キャンバスサイズと比較して、端末の横幅に余裕がある時は、NEOの網目のところをつかんでもスクロールしなくなります。
コピーやレイヤー結合、Bz曲線の操作の時に画面が上下に動いてしまうからです。
また、ピンチズームで拡大している時も網目のところをつかんでスクロールできるようになりました。
操作不能になるのを回避するためです。
これらは、NEOのペイント画面のインラインのJavaScriptで実装していますので、ペイント画面のテンプレートの更新が必要です。
Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true
Chromeに上記の警告が表示されるようになったため、PaintBBS NEOを独自に修正しました。
HTMLCanvasElement.getContext() - Web APIs | MDN
willReadFrequently
多くのリードバック操作が計画されているかどうかを示すブール値。getImageData() これにより、(ハードウェア アクセラレーションではなく) ソフトウェア 2D キャンバスの使用が強制され、頻繁 に呼び出すときにメモリを節約できます。
PaintBBS NEO更新
- app/neo/neo.js
変更があったファイル
- index.php
- functions.php
- save.php
- saveklecks.php
- saveneo.php
- config.php
config.phpは追加された新しい設定項目が必要な場合のみ更新します。
追加された設定項目が存在しない場合は従来と同じ動作になります。
変更があったテンプレート
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/continue.html
- template/basic/edit_form.html
- template/basic/paint_com.html
- template/basic/paint_neo.html
- template/basic/index.css
テンプレートを更新しないと、今回追加された動画を表示しない機能や、PaintBBS NEOのピンチズーム時の動作の制御などの追加機能を使う事ができませんが、機能の追加が必要無い場合は従来のテンプレートのままでも問題ありません。
テンプレートをカスタマイズしていない方は、template/
フォルダをフォルダごとアップロードすれば、簡単に更新できます。
23/01/20 v0.55.2.1
バグ修正
- 新方式のPaintBBS NEOのデータを受信する
saveneo.php
に大きなバグが見つかりました。
PHP5.6、PHP7.2、などPHP8より古いバージョンのPHPで、saveneo.phpの致命的エラーが発生するバグを修正しました。
PHP8.1、PHP8.2では何もエラーを出さずに動作するためこのバグを見落としてしまっていました。
v0.55.2で追加された機能が必要ない方も、saveneo.php
の更新をお願いします。
機能の追加
- 合言葉のログイン状態を維持するオプションを追加しました。
config.phpに新規設定項目を追加しました。
config.phpのどこでもいいので、下記設定項目を追加すると、この設定が有効になります。
設定項目が存在しない時は、これまでのバージョンと同じ動作になります。
//合言葉のログイン状態を維持する
// する: true しない: false
// する: true に設定すると合言葉のログイン状態を30日間維持します。// $keep_aikotoba_login_status=true;
$keep_aikotoba_login_status=false;
変更があったファイル
- index.php
- functions.php
- save.php
- saveklecks.php
- saveneo.php (PHP5.6-PHP7.x環境で致命的エラーが発生していたのを修正しています)
- config.php
config.phpの更新は新規設定項目が必要な方だけ更新する形になっています。
すでにいろいろと設定している場合は、そのままでも大丈夫です。
23/01/14 v0.55.0.2
//お絵かきアプリで投稿する時の必要最低限の描画時間
//(単位:秒)。この設定が不要な時は : 0
// 指定した秒数に達しない場合は、描画に必要な秒数を知らせるアラートが開きます。$security_timer = 0;
// $security_timer = 60;
この設定項目で、投稿に必要な最低限の描画時間が設定されている時に、エラーメッセージが、すべて「あと0秒」になるバグを修正しました。
このバグが残っている状態でも必要最低秒数が60秒で60秒を超えていれば、エラーメッセージは表示されず問題なく投稿できます。
また、投稿に必要な最低限の描画時間が設定されていない場合も、エラーメッセージは表示されず問題なく投稿できます。
今回の修正で、60秒以下の時は「あと50秒」のように表示されるようになります。
このバグはv0.55.0で発生し、v0.55.0.2で修正されました。
変更があったファイル
- picpost.php
- save.php
- saveklecks.php
- saveneo.php
23/01/14 v0.55.0.1
バグ修正
saveneo.php
のバグを修正しました。
新しく追加したPaintBBS NEOの新しい受信ファイルsaveneo.php
にバグが見つかりました。
非対応ブラウザの時にエラーのアラートが開かず画面を推移して投稿画像が消えてしまうバグを修正しました。
saveneo.phpを最新版に差し替えてください。
23/01/14 v0.55.0
WAFによる誤検知のエラーを回避するためPaintBBS NEOの送信を生データからformDataに変更しました。
- 従来のお絵かき掲示板に投稿できるようにするために、生データを送信していたNEOを改造して、formDataでヘッダ、画像、動画データを送信できるようにしました。
この変更によって、WAFがNEOの送信データを攻撃と判断して遮断する確率が低くなり投稿が成功する確率が飛躍的に高くなります。
ここ数年セキュリティを確保するためにWAFを導入しているレンタルサーバが増えています。
しかしながら、攻撃ではない通常の投稿もWAFによって遮断される事があります。
NEOはこれまで生データを古い掲示板との互換性を確保するために送信してきました。今回の独自拡張でによってそれが、formDataに変わります。
現時点では独自規格ですが規格が乱立するのはよくない事ですので、開発元にプルリクエストを出しています。
予定では3月頃のようですが、formData対応版の正式版がNEOの開発元から出た時点で、再度、掲示板側の対応を行います。
WAFに攻撃と判断されないようにするため、formDataで個別にデータを送信するオプションを追加。 by satopian · Pull Request #94 · funige/neo
そのため、WAFの影響で投稿できなくて困っている人のための緊急アップデートのような形になりました。
これは暫定措置ですので、仕様が今後変更になる可能性があります。
重要な変更点
- これまではNEOのデータの受信を
picpost.php
で行っていました。
このバージョン以後は新しく追加した、saveneo.php
でNEOのデータを受信します。
このファイルのアップロードを忘れると、NEOからの投稿ができなくなりますので、必ずアップデートしてください。
potiboard.phpと同じディレクトリに転送します。 - Paint画面のテンプレートの更新
paint_neo.html
の更新をお願いします。
formDataで送信するモードに切り替えるためのパラメータが追加されています。
最低限必要な描画時間の設定ができるようになりました。
//お絵かきアプリで投稿する時の必要最低限の描画時間
//(単位:秒)。この設定が不要な時は : 0
// 指定した秒数に達しない場合は、描画に必要な秒数を知らせるアラートが開きます。$security_timer = 0;
// $security_timer = 60;
描画時間が指定秒数より短い時はPaintBBS NEO、ChickenPaint、Klecksすべてのアプリで、「"描画時間が短すぎます。あと30秒。」というアラートが開きます。
お絵かきデータ送信エラーの時のエラーメッセージを細かく表示できるようになりました
"投稿に失敗。時間をおいて再度投稿してみてください。"
"お使いのブラウザはサポートされていません。"
"ユーザーコードが一致しません。"
エラーはできるだけ出ないほうがいいのですが、エラーになってしまった時の詳細なエラー内容が日本語のアラートで開くようになりました。
アラートは開きますが描いている絵の画面は切り替わらずにそのままの状態になりますので、スクリーンショットをとってあとでアップロードする事ができます。
Klecksのデータ送信方式を、XMLHttpRequest
からfetch
に書き換えました
動作上の差はほぼありませんが、コードが整理された事により上記のようなエラーメッセージの表示が可能になりました。
合言葉機能を改良
従来の「投稿する時に合言葉が必要」に加え、「掲示板の閲覧に合言葉が必要」という設定項目が追加されました。
/合言葉設定/
// 投稿に合言葉を必須にする
// する: trueで投稿に合言葉が必要になります。
// する: true しない: false// $use_aikotoba = true;
$use_aikotoba=false;// 掲示板の閲覧に合言葉を必須にする
// する: true しない: false
// する: trueで掲示板のすべてのコンテンツの閲覧に合言葉が必要になります。// $aikotoba_required_to_view=true;
$aikotoba_required_to_view=false;//合言葉
//上記の合言葉機能のどちらか、あいるは両方が true の時に入力する秘密の答え。
// 必要に応じて変更してください。
$aikotoba = "ひみつ";
config.phpの合言葉設定の箇所を整理して合言葉の項目を新たに追加しました。
しかし、これらの新規設定項目が必要ない方はすでに設定ずみのconfig.phpをそのままご利用ください。
すでに設定ずみの場合は、また設定しなおす事になってしまうので、面倒な作業になるからです。
差分エディタによる内容比較で変更点を確認してそこだけ追加するのがベターだと思います。
無料のVScode(プログラムエディタ)で内容比較機能が使えます。
サクラエディタや秀丸エディタにも内容比較機能があります。
5回連続して管理パスを間違った時はロック→手動解除に加え3日経過すればログインできるように。
5回連続してパスワードを間違えた時は管理者ログインをロックしてログインできなくする機能を実装しましたが、ftp接続による手動での解除は面倒なため、ログインがロックされてもそこから3日経過すれば再度ログインできるようにしました。
編集・削除ボタンの位置がくずれていたのを修正
記事のまわりこみ方によっては、編集・削除のボタンの位置が本文と離れた場所に表示されてしまう事がありました。
更新するテンプレートの数が多くなってしまいお手数をおかけしますが細かく修正しました。
変更があったファイル
- app/neo/neo.js
- functions.php
- index.php
- save.php
- saveklecks.php
- config.php
追加されたファイル
- saveneo.php
追加されたテンプレート
- template/basic/aikotoba.html
変更があったテンプレート
- template/basic/before_del.html
- template/basic/before_edit.html
- template/basic/catalog.html
- template/basic/continue.html
- template/basic/edit_form.html
- template/basic/main.html
- template/basic/paint_klecks.html
- template/basic/paint_neo.html
- template/basic/res.html
テンプレートをカスタマイズしていない場合は、template
ディレクトリをまるごと上書きアップロードしたほうが早いと思います。
また、GitHubからダウンロードしたファイルには、ログファイルやユーザーが投稿した画像は入っていないので、config.php以外の全ファイルを上書きアップデートするだけ更新可能です。
ただし、普段からバックアップを取っているかたの場合は、間違って古いログファイルで上書きしないようにご注意ください。
22/01/05 v0.53.2
PaintBBS NEO、ChickenPaint、Klecksそれぞれのお絵かきアプリを「使う」「使わない」を設定できるようになりました。
PaintBBS NEOだけ使う設定にしたり、ChickenPaintだけ、Klecksだけ使用する設定もできます。
PaintBBS NEOも、ChickenPaintも、Klecksも使わない設定にすると、お絵かき機能がなくなり普通の画像掲示板になります。
アップロード機能を使わない設定にする事もできますので、テキスト掲示板として使う事もできます。
config.phpのどこでもいいので以下の設定項目を追加すると、設定できるようになります。
// PaintBBS NEOを使う
// 使う: true 使わない: false
$use_paintbbs_neo= true;
// $use_paintbbs_neo= false;// ChickenPaintを使う
// 使う: true 使わない: false
$use_chickenpaint= true;
// $use_chickenpaint= false;// Klecksを使う
// 使う: true 使わない: false
$use_klecs= true;
// $use_klecs= false;
従来のままで問題ないのであれば、config.phpを変更する必要はりません。
上記設定項目が存在しない時は、すべて使うになります。
変更があったファイル
- index.php
- functions.php
- config.php
(今回追加された設定項目が必要な人は更新してください。必要ない人はそのままで。)
変更があったテンプレート
- template/basic/main.html
- template/basic/res.html
- template/basic/continue.html
追加されたテンプレートのパーツ
- template/basic/parts/select_apps.html
(アプリの選択メニューの共通箇所を外部化しました。このファイルがないとアプリの選択メニューがでません。必ず追加してください。)
今回追加された設定項目を有効にするためのテンプレートの更新です...