Releases: satopian/poti-kaini
POTI-board EVO v5.36.8 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
ダウンロード
このページの一番下のソースコードリンクからダウンロードできます。
POTI-board EVO v5.36.8 リリース
[2022/11/30] v5.36.6
更新
- klecksを更新しました。
ブラシのショートカットキーの動作が修正されています。 - BladeOneをv4.7.1に更新しました。
改善
-
投稿時刻の重複を回避。
作業ファイルで使用しているタイムスタンプが重複している時にも投稿時刻を1秒未来へ進めてタイムスタンプの重複を回避。
これまでは、作業ファイルが別のファイルで上書きされる可能性がありました。 -
比較対象の投稿時刻が未来の時はエラーにしない。
投稿の待ち時間の計算処理の時に現在時刻よりも未来の投稿時刻が検出された時は、エラーにならないようにしました。
例えば、なんらかのミスで投稿時刻が1年後になっていた時は、1年経過しないと次の投稿ができなくなるため待ち時間が負の値の時にはエラーにせず通過するようにしました。 -
BladeOne v4.7.1。それにともないキャッシュディレクトリの自動生成を
potiboard.php
で行う形に変更。
BladeOneからキャッシュディレクトリの自動作成機能が削除されました。それに代わる機能としてpotiboard.php
にキャッシュディレクトリ自動作成機能を追加しました。キャッシュディレクトリのパーミッションはこれまでBladeOne側の指定で0777(777)
でしたが、今回の変更で0707(707)
になりました。0777(777)
では動作しないサーバでも動作するようになりました。 -
書き込みが必要なファイルのパーミッションを事前に
0606(606)
に変更。外部表示不可のログファイルは0600(600)
。
ログ変換したファイルをアップロードすると、potiboard.php
が生成したHTMLファイル、画像ファイル、ログファイルのパーミッションは自動的に変更されないままでした。
今回の変更でログファイルやHTMLファイル、そして画像ファイルのパーミッションがある程度自動的に設定できるようになります。
たとえば画像ファイルを削除する処理をする直前に0606(606)
に変更して削除できるようにしたり記事の書き込み時にログファイルを0600(600)
に変更して、ログファイルを外部から呼び出せないようにします。 -
PaintBBS NEOで投稿に失敗した時のユーザーコード不一致の時のエラーメッセージを追加。
PaintBBS NEOのユーザーコード不一致の時のエラーメッセージを追加しました。
ユーザーコードが一致しない時は「時間をおいて再度投稿してみてください。」というエラーメッセージは適切ではなく、時間をおいても投稿不能だからです。 -
Klecksで投稿に失敗した時のエラーメッセージを追加。
サーバのステータスが200以外の時にはエラーメッセージのアラートが開くようになりました。
サーバがダウンしていたり、通信回線が切断されている時にもエラーメッセージが表示されるようになりました。
変更があったディレクトリ
- BladeOne/
- klecks/
変更があったファイル
- picpost.php
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/10/29] v5.35.3
改善
テンプレート共通
- 管理画面の画像ファイルをクリックした時にluminousでポップアップ表示するようになりました。
これまでは画像が別タブで開かれていました。 - 従来の記述では出力するHTMLタグがスクリプト本体にありテンプレートではエスケープする事ができなかった箇所を修正。HTMLパートをテンプレートに移動。出力する値のエスケープをテンプレートで行う事ができるようにしました。
- tweetをTweetに修正しました。
- TOOLをToolに修正しました。
テンプレートMONO
- テンプレートMONOにスクロールすると出てくる上に戻るリンクを追加しました。
- スマホ表示を最適化しました。iPad(768px)以下の解像度の時は画像のfloatを解除。画像のマージンを0に。
これにより、スマホ表示時の画像の左右の余白が同じになります。
これまでは、画面右側の余白が大きくなっていました。 - MONOの管理者削除画面でも、番号をクリックすると管理人による記事の編集ができるようになりました。
セキュリティ
- CheerpJ Applet Runner のスクリプトの中身がハッキング等によって改ざんされた時にはそれを検知してスクリプトが実行されないようにしました。
サブリソース完全性参考MDN。
この技術は、jQueryをCDNで利用する場合にも活用されているものですが、CheerpJのスクリプトのハッシュ値が公開されているわけではありませんので、Linuxのコマンドを使ってハッシュ値を独自に生成しました。
CheerpJのバージョンを変更した時には、ハッシュ値も変更しなければ動かなくなります。
しかしながら、計算ずみのハッシュ値はpotiboard.phpの最新バージョンに開発時に入りますので、エンドユーザーがハッシュ値を意識する必要はありません。 - しぃアプレットや、PaintBBS NEOのデータを受信しているpicpost.phpで受信した画像部分のファイルがjpeg、png等の画像ではなかった時は不正を検知してファイルを削除するようにしました。
しぃアプレット、PaintBBS NEOの描画に必要な時間工程数による拒絶処理を変更しました。
- 描画時間が短かったり、作画工程数が少ない時にお絵かき画面を警視庁のサイトにぶっとばす機能がしぃちゃんによって開発され、その仕様書どおりに警視庁のサイトにリダイレクトする掲示板が数多く存在していました。
しかし、この機能は実用的ではなく、使い所が無い仕様になっていました。
そこで、いきなりお絵かき画面から指定したどこかへぶっとばすのではなく、お絵かき画面に「描画時間が短すぎます」「工程数が少なすぎます」というアラートを表示する仕様に変更しました。
強制サムネイル機能が復活
- v1.3には存在していた強制サムネイル機能を復活させました。
最新のthumbnail_gd.php
を使用する事でこの機能がオンになります。
1MBを超えるファイル容量の時にはjpeg形式のサムネイル画像を出力します。
想定されるケース。縦横のサイズは小さいもののファイルサイズが大きなGIFアニメ画像ファイルの時に、ファイルサイズが1MBを超えていたらGIFアニメではなく、jpeg形式のサムネイル画像が表示されます。
画像をクリックすればもとのGIFアニメが表示されます。
そのほか
- 動的パレット配色生成箇所のコードを整理しました。
- 画像ファイルが存在しない時は動画の再生を止めてエラー画面を表示するようにしました。以前のままでも実害はありませんが、サーバにエラーログが蓄積される可能性がありました。
- 初期エラーメッセージを日本語・英語自動切り替えに変更しました。
- アップロード可能な上限数を大きめに設定。さくらのレンタルサーバでは5MBが上限なのでphp.iniの設定変更を推奨します。
- 必要のない処理を回避して負荷を削減。例えばコメントが無い時は、コメントの長さ、NGワードを調べる必要がないのですぐにreturnする事で負荷を削減します。
Klecks更新
ゆがみを使用したあとに白く塗りつぶした箇所にゆがみの形にそった線が入る問題が修正されています。
ヘルプページに使い方の動画リンクが追加され、グラデーションのショートカットキーの項目が追加されました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
- thumbnail_gd.php
変更があったテンプレート
- templates/basic/ のすべて
- templates/mono/ のすべて
[2022/10/03] v5.26.8
ChickenPaintを最新版に更新
Chromeのバグを回避
- ChickenPaintのカラーピッカーで色を選択する操作をすると、表示されていた色が消え、真っ白になる問題がChromeのバグによって発生しました。
このGoogle Chromeのバグを回避して動作するChickenPaintの最新版に更新しました。
klecksを最新版に更新
- グラデーションツールに消しゴム化オプションが追加されました。
- 集中線を描写する機能が追加されました。
luminousでポップアップ表示
- サムネイルをクリックすると別タブで開く従来の表示方式を見直し。同じタブにポップアップ表示するライトボックス「luminous」を使用して表示します。
searchにスクロールするとでてくる上に戻るボタンを追加。
検索画面にもスクロールするとでてくる上に戻るボタンを追加しました。
変更があったディレクトリ
- chickenpaint/
- klecks/
- lib/luminous/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
テンプレートのカスタマイズをしている方がテンプレートを変更するのは大変な作業ですので、
luminousによるポップアップ表示など新機能に対応させたい方だけテンプレートを更新していただければ幸いです。
BASIC
- templates/basic/
ディレクトリ以下の全て
MONO
- templates/mono/
ディレクトリ以下の全て
[2022/09/20] v5.26.3
更新
- Klecksを最新版に更新しました。
グラデーションツールとパターンフィルタが追加されました。 - BladeOneをv4.6に更新しました。
バグ修正
- 返信画面の記事番号に親以外の記事番号を指定すると、E-WARNINGレベルのPHPのエラーが発生するバグを修正しました。
この問題は、v5.18.12で発生し、v5.26.3で修正されました。
正しい記事番号が指定されている時には発生しない上、軽微なエラーですがサーバのエラーログにエラーが記録され続ける可能性がありますのでアップデートをよろしくお願いします。
potiboard.php
をアップデートするだけでもこの問題に対応できます。
改善
- コンティニュー認証と
.pch
、.chi
、.psd
ダウンロード認証時も、パス欄が空白の時はCookieのパスを代入するようにしました。
編集画面ではパスワード入力欄が空白で、パスワードのCookieがあるときはCookieのパスワードがパスワードとして使用されていましたが、コンティニュー認証やダウンロード認証の時には、パスワードの入力が必要でした。
これらの仕様を統一しました。 - パスワード照合のための関数
check_password()
を修正。パスワードの入力がなく、Cookieのパスワードも存在しない時には鍵が開かないようにしました。 - メール通知機能の多国語対応が不十分だったのを修正しました。
メールのヘッダのハングル文字またはそのほかの文字が文字化けしていたのを修正しました。 - テンプレート MONOのページ番号の間隔を広げました。
- テンプレートMONOのmayoのボタンの背景色を変更しました。
- NEOのペイント画面の時計のJavaScriptを修正しました。
- 管理画面のファイルサイズの単位をバイトからKBに変更しました。
変更があったファイル
- noticemail/noticemail.inc
- potiboard.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
テンプレートはv5.xのBladeOne対応ものであれば更新しなくても大丈夫です。
この間の変更はスマホ操作に適していいないというGoogleのテストの結果をうけて調整している側面が強いため、現状困っていないのであればそのままで。
テンプレート BASIC
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/template_ini.php
テンプレート MONO
- templates/mono/css/mono_dark.css
- templates/mono/css/mono_deep.css
- templates/mono/css/mono_main.css
- templates/mono/css/mono_mayo.css
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/parts/mono_mainte_form.blade.php
- templates/mono/template_ini.php
[2022/08/17] v5.23.8.1
更新
- Klecksを最新版へ。
ノイズフィルタが追加されました。
- v5.23.8.1でv5.23.8の透明化フィルタの輝度反転が動作しない問題を修正しました。
- BladeOneをv4.5.5に更新。
- jQueryを3.6.0に更新。
ファイルの存在チェックをしていますので、同梱のjQueryが存在しない時はプログラムが動きません。
ファイルが存在しない事を伝えるエラーメッセージがでます。
改善
- クリックジャッキングの脆弱性を修正しました。
フレームまたはインラインフレームでの表示ができなくなります。
セキュリティは向上しますが、フレーム内に表示したい方がいる事も知っています。
そのため、config.phpに新規設定項目を追加して、フレーム内に表示するしないを選択できるようにしました。
フレーム内に表示する必要がない方は、設定項目を追加する必要はありません。
//iframe内での表示を 拒否する:1 許可する:0
//セキュリティリスクを回避するため "拒否する:1" を強く推奨。
define('X_FRAME_OPTIONS_DENY', '1');
新しくconfig.phpを1から書き直すのは大変だと思いますので、上記設定項目をどこでもいいので追加していただければ、フレーム内への表示ができるようになります。
-
モバイルユーザービリティを改善しました。
タップターゲットのサイズ、間隔を最適化しました。 -
ページの読み込み速度の改善
jQueryや、loadcookie.jsといった外部読み込みのJavaScriptを先読みして、レンダリングをブロックしないようにしました。 -
JavaScript実行のタイミングを
DOMContentLoaded
へ。 -
注意深く記述しないと致命的エラーになる箇所を修正しました。error()関数を組み込み関数die()へ。
-
テンプレートを直接いじらなくても、jQueryのバージョンを変更できるようにしました。
-
検索画面の画像の幅と高さを追加しました。
-
読み込み速度高速化のため最初から表示されれる範囲にloading="lazy"を適用しないようにしました。
-
PaintBBS起動画面の下のタイマーのJavaScriptの記述が非推奨の記述方法になっていたため、修正しました。
コンテンツセキュリティポリシーを設定したらPOTI-boardのお絵かき画面の時計が動かなくなりました。|さとぴあ|note
追加されたファイル
- lib/jquery-3.6.0.min.js
変更があったファイル
- thumbnail_gd.php
- potiboard.php
- config.php
- search.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったテンプレート
- templates/basic/
- templates/mono/
テンプレートは、CSSも含めてすべて変更になりました。
BASICには、スクロールすると出てくる上に戻るボタンを追加しています。
サイトの高速化や、スマホ操作のしやすさを改善し、jQueryのバージョンを管理できるようになりました。
しかし、すでにカスタマイズしている方は、テンプレートを変更しなくても大丈夫です。
その場合はjQueryのバージョンが、v3.5.1のままになりますので、ご留意ください。
[2022/07/11] v5.20.2
改善
- お絵かき画像の投稿時にファイル名の重複が発生する確率を1/1000に。
- 仮に重複しても投稿時刻に1秒追加。
- 投稿された画像の存在確認処理を追加し、お絵かき画像が確実にサーバに送信されてた事を確認してから画面を推移。
更新
- Klecksを更新しました。編集機能にグリッドが追加されました。
- BladeOneを更新しました。軽微なバグが修正されています。
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
変更があったディレクトリ
- BladeOne/
- klecks/
[2022/06/30] v5.19.1
- PHP7.1では動作しなくなっている事が確認されたため、必要な動作環境をPHP7.2以上に変更しました。
PHP7.1環境では、起動せずPHPのバージョンが低い事を伝えるエラーメッセージを出します。 - 未投稿画像のリンクはコメント未記入で画面から離れてしまったあとでも、再度投稿できるようにするためにあります。
しかしながら、コメントの記入欄や画像のアップロード欄があり、未投稿画像がない時にも送信フォームが表示されていました。
未投稿画像が存在しない時はフォームを表示しないようにしました。 - PaintBBSの画像を受け取り処理している
picpost.php
に画像とユーザーデータのファイルの存在確認を追加しました。
それらの必要なファイルが存在しない時はお絵かき画面から推移せずエラーをアラートで表示します。
画面を推移してしまうと、投稿に失敗したまま投稿画面の画像も消えてしまうためアラートで知らせます。
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
MONO
- templates/mono/mono_other.blade.php
- templates/mono/css/
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
BASIC
- templates/basic/other.blade.php
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)...
POTI-board EVO v5.35.3 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.35.3 リリース
[2022/10/29] v5.35.3
改善
テンプレート共通
- 管理画面の画像ファイルをクリックした時にluminousでポップアップ表示するようになりました。
これまでは画像が別タブで開かれていました。 - 従来の記述では出力するHTMLタグがスクリプト本体にありテンプレートではエスケープする事ができなかった箇所を修正。HTMLパートをテンプレートに移動。出力する値のエスケープをテンプレートで行う事ができるようにしました。
- tweetをTweetに修正しました。
- TOOLをToolに修正しました。
テンプレートMONO
- テンプレートMONOにスクロールすると出てくる上に戻るリンクを追加しました。
- スマホ表示を最適化しました。iPad(768px)以下の解像度の時は画像のfloatを解除。画像のマージンを0に。
これにより、スマホ表示時の画像の左右の余白が同じになります。
これまでは、画面右側の余白が大きくなっていました。 - MONOの管理者削除画面でも、番号をクリックすると管理人による記事の編集ができるようになりました。
セキュリティ
- CheerpJ Applet Runner のスクリプトの中身がハッキング等によって改ざんされた時にはそれを検知してスクリプトが実行されないようにしました。
サブリソース完全性参考MDN。
この技術は、jQueryをCDNで利用する場合にも活用されているものですが、CheerpJのスクリプトのハッシュ値が公開されているわけではありませんので、Linuxのコマンドを使ってハッシュ値を独自に生成しました。
CheerpJのバージョンを変更した時には、ハッシュ値も変更しなければ動かなくなります。
しかしながら、計算ずみのハッシュ値はpotiboard.phpの最新バージョンに開発時に入りますので、エンドユーザーがハッシュ値を意識する必要はありません。 - しぃアプレットや、PaintBBS NEOのデータを受信しているpicpost.phpで受信した画像部分のファイルがjpeg、png等の画像ではなかった時は不正を検知してファイルを削除するようにしました。
しぃアプレット、PaintBBS NEOの描画に必要な時間工程数による拒絶処理を変更しました。
- 描画時間が短かったり、作画工程数が少ない時にお絵かき画面を警視庁のサイトにぶっとばす機能がしぃちゃんによって開発され、その仕様書どおりに警視庁のサイトにリダイレクトする掲示板が数多く存在していました。
しかし、この機能は実用的ではなく、使い所が無い仕様になっていました。
そこで、いきなりお絵かき画面から指定したどこかへぶっとばすのではなく、お絵かき画面に「描画時間が短すぎます」「工程数が少なすぎます」というアラートを表示する仕様に変更しました。
強制サムネイル機能が復活
- v1.3には存在していた強制サムネイル機能を復活させました。
最新のthumbnail_gd.php
を使用する事でこの機能がオンになります。
1MBを超えるファイル容量の時にはjpeg形式のサムネイル画像を出力します。
想定されるケース。縦横のサイズは小さいもののファイルサイズが大きなGIFアニメ画像ファイルの時に、ファイルサイズが1MBを超えていたらGIFアニメではなく、jpeg形式のサムネイル画像が表示されます。
画像をクリックすればもとのGIFアニメが表示されます。
そのほか
- 動的パレット配色生成箇所のコードを整理しました。
- 画像ファイルが存在しない時は動画の再生を止めてエラー画面を表示するようにしました。以前のままでも実害はありませんが、サーバにエラーログが蓄積される可能性がありました。
- 初期エラーメッセージを日本語・英語自動切り替えに変更しました。
- アップロード可能な上限数を大きめに設定。さくらのレンタルサーバでは5MBが上限なのでphp.iniの設定変更を推奨します。
- 必要のない処理を回避して負荷を削減。例えばコメントが無い時は、コメントの長さ、NGワードを調べる必要がないのですぐにreturnする事で負荷を削減します。
Klecks更新
ゆがみを使用したあとに白く塗りつぶした箇所にゆがみの形にそった線が入る問題が修正されています。
ヘルプページに使い方の動画リンクが追加され、グラデーションのショートカットキーの項目が追加されました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
- thumbnail_gd.php
変更があったテンプレート
- templates/basic/ のすべて
- templates/mono/ のすべて
[2022/10/03] v5.26.8
ChickenPaintを最新版に更新
Chromeのバグを回避
- ChickenPaintのカラーピッカーで色を選択する操作をすると、表示されていた色が消え、真っ白になる問題がChromeのバグによって発生しました。
このGoogle Chromeのバグを回避して動作するChickenPaintの最新版に更新しました。
klecksを最新版に更新
- グラデーションツールに消しゴム化オプションが追加されました。
- 集中線を描写する機能が追加されました。
luminousでポップアップ表示
- サムネイルをクリックすると別タブで開く従来の表示方式を見直し。同じタブにポップアップ表示するライトボックス「luminous」を使用して表示します。
searchにスクロールするとでてくる上に戻るボタンを追加。
検索画面にもスクロールするとでてくる上に戻るボタンを追加しました。
変更があったディレクトリ
- chickenpaint/
- klecks/
- lib/luminous/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
テンプレートのカスタマイズをしている方がテンプレートを変更するのは大変な作業ですので、
luminousによるポップアップ表示など新機能に対応させたい方だけテンプレートを更新していただければ幸いです。
BASIC
- templates/basic/
ディレクトリ以下の全て
MONO
- templates/mono/
ディレクトリ以下の全て
[2022/09/20] v5.26.3
更新
- Klecksを最新版に更新しました。
グラデーションツールとパターンフィルタが追加されました。 - BladeOneをv4.6に更新しました。
バグ修正
- 返信画面の記事番号に親以外の記事番号を指定すると、E-WARNINGレベルのPHPのエラーが発生するバグを修正しました。
この問題は、v5.18.12で発生し、v5.26.3で修正されました。
正しい記事番号が指定されている時には発生しない上、軽微なエラーですがサーバのエラーログにエラーが記録され続ける可能性がありますのでアップデートをよろしくお願いします。
potiboard.php
をアップデートするだけでもこの問題に対応できます。
改善
- コンティニュー認証と
.pch
、.chi
、.psd
ダウンロード認証時も、パス欄が空白の時はCookieのパスを代入するようにしました。
編集画面ではパスワード入力欄が空白で、パスワードのCookieがあるときはCookieのパスワードがパスワードとして使用されていましたが、コンティニュー認証やダウンロード認証の時には、パスワードの入力が必要でした。
これらの仕様を統一しました。 - パスワード照合のための関数
check_password()
を修正。パスワードの入力がなく、Cookieのパスワードも存在しない時には鍵が開かないようにしました。 - メール通知機能の多国語対応が不十分だったのを修正しました。
メールのヘッダのハングル文字またはそのほかの文字が文字化けしていたのを修正しました。 - テンプレート MONOのページ番号の間隔を広げました。
- テンプレートMONOのmayoのボタンの背景色を変更しました。
- NEOのペイント画面の時計のJavaScriptを修正しました。
- 管理画面のファイルサイズの単位をバイトからKBに変更しました。
変更があったファイル
- noticemail/noticemail.inc
- potiboard.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
テンプレートはv5.xのBladeOne対応ものであれば更新しなくても大丈夫です。
この間の変更はスマホ操作に適していいないというGoogleのテストの結果をうけて調整している側面が強いため、現状困っていないのであればそのままで。
テンプレート BASIC
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/template_ini.php
テンプレート MONO
- templates/mono/css/mono_dark.css
- templates/mono/css/mono_deep.css
- templates/mono/css/mono_main.css
- templates/mono/css/mono_mayo.css
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/parts/mono_mainte_form.blade.php
- templates/mono/template_ini.php
[2022/08/17] v5.23.8.1
更新
- Klecksを最新版へ。
ノイズフィルタが追加されました。
- v5.23.8.1でv5.23.8の透明化フィルタの輝度反転が動作しない問題を修正しました。
- BladeOneをv4.5.5に更新。
- jQueryを3.6.0に更新。
ファイルの存在チェックをしていますので、同梱のjQueryが存在しない時はプログラムが動きません。
ファイルが存在しない事を伝えるエラーメッセージがでます。
改善
- クリックジャッキングの脆弱性を修正しました。
フレームまたはインラインフレームでの表示ができなくなります。
セキュリティは向上しますが、フレーム内に表示したい方がいる事も知っています。
そのため、config.phpに新規設定項目を追加して、フレーム内に表示するしないを選択できるようにしました。
フレーム内に表示する必要がない方は、設定項目を追加する必要はありません。
//iframe内での表示を 拒否する:1 許可する:0
//セキュリティリスクを回避するため "拒否する:1" を強く推奨。
define('X_FRAME_OPTIONS_DENY', '1');
新しくconfig.phpを1から書き直すのは大変だと思いますので、上記設定項目をどこでもいいので追加していただければ、フレーム内への表示ができるようになります。
-
モバイルユーザービリティを改善しました。
タップターゲットのサイズ、間隔を最適化しました。 -
ページの読み込み速度の改善
jQueryや、loadcookie.jsといった外部読み込みのJavaScriptを先読みして、レンダリングをブロックしないようにしました。 -
JavaScript実行のタイミングを
DOMContentLoaded
へ。 -
注意深く記述しないと致命的エラーになる箇所を修正しました。error()関数を組み込み関数die()へ。
-
テンプレートを直接いじらなくても、jQueryのバージョンを変更できるようにしました。
-
検索画面の画像の幅と高さを追加しました。
-
読み込み速度高速化のため最初から表示されれる範囲にloading="lazy"を適用しないようにしました。
-
PaintBBS起動画面の下のタイマーのJavaScriptの記述が非推奨の記述方法になっていたため、修正しました。
コンテンツセキュリティポリシーを設定したらPOTI-boardのお絵かき画面の時計が動かなくなりました。|さとぴあ|note
追加されたファイル
- lib/jquery-3.6.0.min.js
変更があったファイル
- thumbnail_gd.php
- potiboard.php
- config.php
- search.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったテンプレート
- templates/basic/
- templates/mono/
テンプレートは、CSSも含めてすべて変更になりました。
BASICには、スクロールすると出てくる上に戻るボタンを追加しています。
サイトの高速化や、スマホ操作のしやすさを改善し、jQueryのバージョンを管理できるようになりました。
しかし、すでにカスタマイズしている方は、テンプレートを変更しなくても大丈夫です。
その場合はjQueryのバージョンが、v3.5.1のままになりますので、ご留意ください。
[2022/07/11] v5.20.2
改善
- お絵かき画像の投稿時にファイル名の重複が発生する確率を1/1000に。
- 仮に重複しても投稿時刻に1秒追加。
- 投稿された画像の存在確認処理を追加し、お絵かき画像が確実にサーバに送信されてた事を確認してから画面を推移。
更新
- Klecksを更新しました。編集機能にグリッドが追加されました。
- BladeOneを更新しました。軽微なバグが修正されています。
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
変更があったディレクトリ
- BladeOne/
- klecks/
[2022/06/30] v5.19.1
- PHP7.1では動作しなくなっている事が確認されたため、必要な動作環境をPHP7.2以上に変更しました。
PHP7.1環境では、起動せずPHPのバージョンが低い事を伝えるエラーメッセージを出します。 - 未投稿画像のリンクはコメント未記入で画面から離れてしまったあとでも、再度投稿できるようにするためにあります。
しかしながら、コメントの記入欄や画像のアップロード欄があり、未投稿画像がない時にも送信フォームが表示されていました。
未投稿画像が存在しない時はフォームを表示しないようにしました。 - PaintBBSの画像を受け取り処理している
picpost.php
に画像とユーザーデータのファイルの存在確認を追加しました。
それらの必要なファイルが存在しない時はお絵かき画面から推移せずエラーをアラートで表示します。
画面を推移してしまうと、投稿に失敗したまま投稿画面の画像も消えてしまうためアラートで知らせます。
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
MONO
- templates/mono/mono_other.blade.php
- templates/mono/css/
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
BASIC
- templates/basic/other.blade.php
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
[2022/06/11] v5.18.25
バグ修正
- レス省略件数の区切りの横線のレイアウトが崩れていたのを修正しました。
(テンプレートMONO使用時)
改善
- ChickenPaintが全画面で起動するようになりました。
- futaba.phpのログファイルを読み込んで表示できるようになりました。
カンマの数が一致しない事が原因で発生していたエラーを修正しました。
変更があったファイル
- potiboard.php
変更があったテンプレート
MONO
- templates/mono/mono_main.blade.php
レス省略件数の表示レイアウトが崩れていたのを修正しました。 - templates/mono/mono_paint.blade.php
ChickenPaintが全画面表示で起動するようになりました。
BASIC
- templates/basic/paint.blade.php
ChickenPaintを全画面表示で起動するようになりました。
[2022/05/25] v5.18.9
Klecks更新
Klecksを最新版にアップデートしました。
CheerpJをv2.3へ
しぃペインター使用時にJavaアプレットをJavaScriptに変換するCheerpJをv2.3に更新しました。
バグ修正
- テキストの編集時に、不要なスペースが入るバグを修正しました。
- スパム対策のための拒絶する文字列や拒絶するurlに、
/
(スラッシュ)が含まれていると正しく処理できなくなるバグを修正しました。 - テンポラリ不要ファイルの削除処理の経過日数の計算時に軽微なエラーが発生していたのを修正しました。
- 指定経過日数でレスフォームを閉じる時の日時の基準が親の投稿日時ではなく最新レスの投稿日時になっていたのを修正しました。
- Paintフォームの「Size」の文字の色指定が他の文字と異なっていたのを修正しました。
コード整理
- forで記述されていた箇所をforeachへ。file()で開いていたログファイルをfopen()に変更しました。
- PCHアップロードペイントの作業ファイルの削除処理を正規表現を使用する重い関数からstrpos()に変更しました。
改善
- トリップ機能を再実装。
隠し機能的な再実装になりますので、テンプレート「MONO」でのみ表示できます。
BASICは非対応。 - 空行が存在するログファイルを処理できるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/parts/paint_form.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/other.blade.php
(記事の編集時に余分な空白が入ってしまう問題を修正しました) - templates/basic/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)...
POTI-board EVO v5.26.8 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.26.8 リリース
[2022/10/03] v5.26.8
ChickenPaintを最新版に更新
Chromeのバグを回避
- ChickenPaintのカラーピッカーで色を選択する操作をすると、表示されていた色が消え、真っ白になる問題がChromeのバグによって発生しました。
このGoogle Chromeのバグを回避して動作するChickenPaintの最新版に更新しました。
klecksを最新版に更新
- グラデーションツールに消しゴム化オプションが追加されました。
- 集中線を描写する機能が追加されました。
luminousでポップアップ表示
- サムネイルをクリックすると別タブで開く従来の表示方式を見直し。同じタブにポップアップ表示するライトボックス「luminous」を使用して表示します。
searchにスクロールするとでてくる上に戻るボタンを追加。
検索画面にもスクロールするとでてくる上に戻るボタンを追加しました。
変更があったディレクトリ
- chickenpaint/
- klecks/
- lib/luminous/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
テンプレートのカスタマイズをしている方がテンプレートを変更するのは大変な作業ですので、
luminousによるポップアップ表示など新機能に対応させたい方だけテンプレートを更新していただければ幸いです。
BASIC
- templates/basic/
ディレクトリ以下の全て
MONO
- templates/mono/
ディレクトリ以下の全て
[2022/09/20] v5.26.3
更新
- Klecksを最新版に更新しました。
グラデーションツールとパターンフィルタが追加されました。 - BladeOneをv4.6に更新しました。
バグ修正
- 返信画面の記事番号に親以外の記事番号を指定すると、E-WARNINGレベルのPHPのエラーが発生するバグを修正しました。
この問題は、v5.18.12で発生し、v5.26.3で修正されました。
正しい記事番号が指定されている時には発生しない上、軽微なエラーですがサーバのエラーログにエラーが記録され続ける可能性がありますのでアップデートをよろしくお願いします。
potiboard.php
をアップデートするだけでもこの問題に対応できます。
改善
- コンティニュー認証と
.pch
、.chi
、.psd
ダウンロード認証時も、パス欄が空白の時はCookieのパスを代入するようにしました。
編集画面ではパスワード入力欄が空白で、パスワードのCookieがあるときはCookieのパスワードがパスワードとして使用されていましたが、コンティニュー認証やダウンロード認証の時には、パスワードの入力が必要でした。
これらの仕様を統一しました。 - パスワード照合のための関数
check_password()
を修正。パスワードの入力がなく、Cookieのパスワードも存在しない時には鍵が開かないようにしました。 - メール通知機能の多国語対応が不十分だったのを修正しました。
メールのヘッダのハングル文字またはそのほかの文字が文字化けしていたのを修正しました。 - テンプレート MONOのページ番号の間隔を広げました。
- テンプレートMONOのmayoのボタンの背景色を変更しました。
- NEOのペイント画面の時計のJavaScriptを修正しました。
- 管理画面のファイルサイズの単位をバイトからKBに変更しました。
変更があったファイル
- noticemail/noticemail.inc
- potiboard.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
テンプレートはv5.xのBladeOne対応ものであれば更新しなくても大丈夫です。
この間の変更はスマホ操作に適していいないというGoogleのテストの結果をうけて調整している側面が強いため、現状困っていないのであればそのままで。
テンプレート BASIC
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/template_ini.php
テンプレート MONO
- templates/mono/css/mono_dark.css
- templates/mono/css/mono_deep.css
- templates/mono/css/mono_main.css
- templates/mono/css/mono_mayo.css
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/parts/mono_mainte_form.blade.php
- templates/mono/template_ini.php
[2022/08/17] v5.23.8.1
更新
- Klecksを最新版へ。
ノイズフィルタが追加されました。
- v5.23.8.1でv5.23.8の透明化フィルタの輝度反転が動作しない問題を修正しました。
- BladeOneをv4.5.5に更新。
- jQueryを3.6.0に更新。
ファイルの存在チェックをしていますので、同梱のjQueryが存在しない時はプログラムが動きません。
ファイルが存在しない事を伝えるエラーメッセージがでます。
改善
- クリックジャッキングの脆弱性を修正しました。
フレームまたはインラインフレームでの表示ができなくなります。
セキュリティは向上しますが、フレーム内に表示したい方がいる事も知っています。
そのため、config.phpに新規設定項目を追加して、フレーム内に表示するしないを選択できるようにしました。
フレーム内に表示する必要がない方は、設定項目を追加する必要はありません。
//iframe内での表示を 拒否する:1 許可する:0
//セキュリティリスクを回避するため "拒否する:1" を強く推奨。
define('X_FRAME_OPTIONS_DENY', '1');
新しくconfig.phpを1から書き直すのは大変だと思いますので、上記設定項目をどこでもいいので追加していただければ、フレーム内への表示ができるようになります。
-
モバイルユーザービリティを改善しました。
タップターゲットのサイズ、間隔を最適化しました。 -
ページの読み込み速度の改善
jQueryや、loadcookie.jsといった外部読み込みのJavaScriptを先読みして、レンダリングをブロックしないようにしました。 -
JavaScript実行のタイミングを
DOMContentLoaded
へ。 -
注意深く記述しないと致命的エラーになる箇所を修正しました。error()関数を組み込み関数die()へ。
-
テンプレートを直接いじらなくても、jQueryのバージョンを変更できるようにしました。
-
検索画面の画像の幅と高さを追加しました。
-
読み込み速度高速化のため最初から表示されれる範囲にloading="lazy"を適用しないようにしました。
-
PaintBBS起動画面の下のタイマーのJavaScriptの記述が非推奨の記述方法になっていたため、修正しました。
コンテンツセキュリティポリシーを設定したらPOTI-boardのお絵かき画面の時計が動かなくなりました。|さとぴあ|note
追加されたファイル
- lib/jquery-3.6.0.min.js
変更があったファイル
- thumbnail_gd.php
- potiboard.php
- config.php
- search.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったテンプレート
- templates/basic/
- templates/mono/
テンプレートは、CSSも含めてすべて変更になりました。
BASICには、スクロールすると出てくる上に戻るボタンを追加しています。
サイトの高速化や、スマホ操作のしやすさを改善し、jQueryのバージョンを管理できるようになりました。
しかし、すでにカスタマイズしている方は、テンプレートを変更しなくても大丈夫です。
その場合はjQueryのバージョンが、v3.5.1のままになりますので、ご留意ください。
[2022/07/11] v5.20.2
改善
- お絵かき画像の投稿時にファイル名の重複が発生する確率を1/1000に。
- 仮に重複しても投稿時刻に1秒追加。
- 投稿された画像の存在確認処理を追加し、お絵かき画像が確実にサーバに送信されてた事を確認してから画面を推移。
更新
- Klecksを更新しました。編集機能にグリッドが追加されました。
- BladeOneを更新しました。軽微なバグが修正されています。
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
変更があったディレクトリ
- BladeOne/
- klecks/
[2022/06/30] v5.19.1
- PHP7.1では動作しなくなっている事が確認されたため、必要な動作環境をPHP7.2以上に変更しました。
PHP7.1環境では、起動せずPHPのバージョンが低い事を伝えるエラーメッセージを出します。 - 未投稿画像のリンクはコメント未記入で画面から離れてしまったあとでも、再度投稿できるようにするためにあります。
しかしながら、コメントの記入欄や画像のアップロード欄があり、未投稿画像がない時にも送信フォームが表示されていました。
未投稿画像が存在しない時はフォームを表示しないようにしました。 - PaintBBSの画像を受け取り処理している
picpost.php
に画像とユーザーデータのファイルの存在確認を追加しました。
それらの必要なファイルが存在しない時はお絵かき画面から推移せずエラーをアラートで表示します。
画面を推移してしまうと、投稿に失敗したまま投稿画面の画像も消えてしまうためアラートで知らせます。
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
MONO
- templates/mono/mono_other.blade.php
- templates/mono/css/
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
BASIC
- templates/basic/other.blade.php
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
[2022/06/11] v5.18.25
バグ修正
- レス省略件数の区切りの横線のレイアウトが崩れていたのを修正しました。
(テンプレートMONO使用時)
改善
- ChickenPaintが全画面で起動するようになりました。
- futaba.phpのログファイルを読み込んで表示できるようになりました。
カンマの数が一致しない事が原因で発生していたエラーを修正しました。
変更があったファイル
- potiboard.php
変更があったテンプレート
MONO
- templates/mono/mono_main.blade.php
レス省略件数の表示レイアウトが崩れていたのを修正しました。 - templates/mono/mono_paint.blade.php
ChickenPaintが全画面表示で起動するようになりました。
BASIC
- templates/basic/paint.blade.php
ChickenPaintを全画面表示で起動するようになりました。
[2022/05/25] v5.18.9
Klecks更新
Klecksを最新版にアップデートしました。
CheerpJをv2.3へ
しぃペインター使用時にJavaアプレットをJavaScriptに変換するCheerpJをv2.3に更新しました。
バグ修正
- テキストの編集時に、不要なスペースが入るバグを修正しました。
- スパム対策のための拒絶する文字列や拒絶するurlに、
/
(スラッシュ)が含まれていると正しく処理できなくなるバグを修正しました。 - テンポラリ不要ファイルの削除処理の経過日数の計算時に軽微なエラーが発生していたのを修正しました。
- 指定経過日数でレスフォームを閉じる時の日時の基準が親の投稿日時ではなく最新レスの投稿日時になっていたのを修正しました。
- Paintフォームの「Size」の文字の色指定が他の文字と異なっていたのを修正しました。
コード整理
- forで記述されていた箇所をforeachへ。file()で開いていたログファイルをfopen()に変更しました。
- PCHアップロードペイントの作業ファイルの削除処理を正規表現を使用する重い関数からstrpos()に変更しました。
改善
- トリップ機能を再実装。
隠し機能的な再実装になりますので、テンプレート「MONO」でのみ表示できます。
BASICは非対応。 - 空行が存在するログファイルを処理できるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/parts/paint_form.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/other.blade.php
(記事の編集時に余分な空白が入ってしまう問題を修正しました) - templates/basic/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
MONO
- templates/mono/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
[2022/04/28] v5.16.8
Klecksを更新しました。
- iPadOSで発生するいくつかの問題が修正されました。
- 使用可能な言語に繁体字中文が追加されました。
テンプレートエンジンBladeOneを更新しました。
- BladeOneをv4.5.3に更新しました。
改善
-
klecksの送信失敗の原因がサーバーエラーの時はエラー番号をアラートで表示します。
例えば、Klecksのデータを受信するsaveklecks.php
が存在しない時は、「エラー404」というアラートを表示します。 -
ファイルサイズが指定サイズよりも大きなときに、PNGからJPEGに変換する処理の作業ディレクトリを
TEMP_DIR
に変更しました。
処理に失敗して作業ファイルが残ってしまっても、テンポラリの自動削除機能で一定時間経過後に削除されるようになります。
バグ修正
- 動画(PCH)保存ディレクトリ
define('PCH_DIR', 'src/');
に、'src/'
以外のディレクトリが指定されている時にディレクトリの自動作成が機能せず、NEOの動画、ChickenPaintの.chi
ファイル、klecksの.psd
ファイルが保存できなくなっていたのを修正しました。ディレクトリが存在しない時は自動的に作成するようになりました。
変更があったディレクトリ
- BladeOne/ (BladeOne/ ディレクトリを上書きアップデート)
- klecks/ (klecks/ ディレクトリを上書きアップデート)
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/04/02] v5.16.5.1
Klecks更新
- レイヤーの最大枚数が8枚から16枚に増えました。
バグ修正
- テンプレートBASICのバグを修正しました。
search画面の画像の一覧のリンクが機能していなかったのを修正しました。
原因はHTMLの文法のミスでした。 - search画面のHTMLの文法エラーを修正しました。
checked="checked"
のクオートがエスケープされて文法エラーになっていたのを修正しました。
変更があったファイル
- search.php
変更があったディレクトリ
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/search.blade.php
MONO
- templates/mono/search.blade.php
[2022/03/25] v5.16.5
改善
Klecksの日本語訳
- Klecksを日本語に翻訳しました。
POTI-boardにも、日本語対応版を同梱する事ができました。
この新しいバージョンのKlecksは、ブラウザの言語の優先順位を自動検出して言語を切り替えてくれます。
また、ブラウザの言語の設定にかかわらず使用する言語を指定する事もできます。
英語、ドイツ語、日本語が選択できます。
中文は簡体字のみで細部はまだ英語のままです。
日本語訳のリソースはすでに開発元に統合されています。
アプリ固有ファイルのダウンロードボタンができました。
アプリ固有形式一覧
.pch
ファイル(PaintBBS).chi
ファイル(ChickenPaint).psd
ファイル(Klecks)
Klecksのレイヤー情報を含むファイルはPhotoshop形式の.psd
ファイルです。
ダウンロードした.psd
ファイルはクリスタやSAIそのほか多くのアプリで開く事ができます。
.pch
と、.chi
は、それぞれNEOとChickenPaintで開く事ができます。
管理者投稿過画面から.pch
、.chi
、.psd
を添付してペイントボタンを押せば、キャンバスに読み込んで投稿できます。
透過PNG、透過GIFのサムネイルの透明部分を白に変更
- 透過PNGの透明部分がJPEG化する時に、真っ黒になっていたのを修正しました。
透明色...
POTI-board EVO v5.26.3 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.26.3 リリース
[2022/09/20] v5.26.3
更新
- Klecksを最新版に更新しました。
グラデーションツールとパターンフィルタが追加されました。 - BladeOneをv4.6に更新しました。
バグ修正
- 返信画面の記事番号に親以外の記事番号を指定すると、E-WARNINGレベルのPHPのエラーが発生するバグを修正しました。
この問題は、v5.18.12で発生し、v5.26.3で修正されました。
正しい記事番号が指定されている時には発生しない上、軽微なエラーですがサーバのエラーログにエラーが記録され続ける可能性がありますのでアップデートをよろしくお願いします。
potiboard.php
をアップデートするだけでもこの問題に対応できます。
改善
- コンティニュー認証と
.pch
、.chi
、.psd
ダウンロード認証時も、パス欄が空白の時はCookieのパスを代入するようにしました。
編集画面ではパスワード入力欄が空白で、パスワードのCookieがあるときはCookieのパスワードがパスワードとして使用されていましたが、コンティニュー認証やダウンロード認証の時には、パスワードの入力が必要でした。
これらの仕様を統一しました。 - パスワード照合のための関数
check_password()
を修正。パスワードの入力がなく、Cookieのパスワードも存在しない時には鍵が開かないようにしました。 - メール通知機能の多国語対応が不十分だったのを修正しました。
メールのヘッダのハングル文字またはそのほかの文字が文字化けしていたのを修正しました。 - テンプレート MONOのページ番号の間隔を広げました。
- テンプレートMONOのmayoのボタンの背景色を変更しました。
- NEOのペイント画面の時計のJavaScriptを修正しました。
- 管理画面のファイルサイズの単位をバイトからKBに変更しました。
変更があったファイル
- noticemail/noticemail.inc
- potiboard.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
テンプレートはv5.xのBladeOne対応ものであれば更新しなくても大丈夫です。
この間の変更はスマホ操作に適していいないというGoogleのテストの結果をうけて調整している側面が強いため、現状困っていないのであればそのままで。
テンプレート BASIC
- templates/basic/other.blade.php
- templates/basic/paint.blade.php
- templates/basic/template_ini.php
テンプレート MONO
- templates/mono/css/mono_dark.css
- templates/mono/css/mono_deep.css
- templates/mono/css/mono_main.css
- templates/mono/css/mono_mayo.css
- templates/mono/mono_other.blade.php
- templates/mono/mono_paint.blade.php
- templates/mono/parts/mono_mainte_form.blade.php
- templates/mono/template_ini.php
[2022/08/17] v5.23.8.1
更新
- Klecksを最新版へ。
ノイズフィルタが追加されました。
- v5.23.8.1でv5.23.8の透明化フィルタの輝度反転が動作しない問題を修正しました。
- BladeOneをv4.5.5に更新。
- jQueryを3.6.0に更新。
ファイルの存在チェックをしていますので、同梱のjQueryが存在しない時はプログラムが動きません。
ファイルが存在しない事を伝えるエラーメッセージがでます。
改善
- クリックジャッキングの脆弱性を修正しました。
フレームまたはインラインフレームでの表示ができなくなります。
セキュリティは向上しますが、フレーム内に表示したい方がいる事も知っています。
そのため、config.phpに新規設定項目を追加して、フレーム内に表示するしないを選択できるようにしました。
フレーム内に表示する必要がない方は、設定項目を追加する必要はありません。
//iframe内での表示を 拒否する:1 許可する:0
//セキュリティリスクを回避するため "拒否する:1" を強く推奨。
define('X_FRAME_OPTIONS_DENY', '1');
新しくconfig.phpを1から書き直すのは大変だと思いますので、上記設定項目をどこでもいいので追加していただければ、フレーム内への表示ができるようになります。
-
モバイルユーザービリティを改善しました。
タップターゲットのサイズ、間隔を最適化しました。 -
ページの読み込み速度の改善
jQueryや、loadcookie.jsといった外部読み込みのJavaScriptを先読みして、レンダリングをブロックしないようにしました。 -
JavaScript実行のタイミングを
DOMContentLoaded
へ。 -
注意深く記述しないと致命的エラーになる箇所を修正しました。error()関数を組み込み関数die()へ。
-
テンプレートを直接いじらなくても、jQueryのバージョンを変更できるようにしました。
-
検索画面の画像の幅と高さを追加しました。
-
読み込み速度高速化のため最初から表示されれる範囲にloading="lazy"を適用しないようにしました。
-
PaintBBS起動画面の下のタイマーのJavaScriptの記述が非推奨の記述方法になっていたため、修正しました。
コンテンツセキュリティポリシーを設定したらPOTI-boardのお絵かき画面の時計が動かなくなりました。|さとぴあ|note
追加されたファイル
- lib/jquery-3.6.0.min.js
変更があったファイル
- thumbnail_gd.php
- potiboard.php
- config.php
- search.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったテンプレート
- templates/basic/
- templates/mono/
テンプレートは、CSSも含めてすべて変更になりました。
BASICには、スクロールすると出てくる上に戻るボタンを追加しています。
サイトの高速化や、スマホ操作のしやすさを改善し、jQueryのバージョンを管理できるようになりました。
しかし、すでにカスタマイズしている方は、テンプレートを変更しなくても大丈夫です。
その場合はjQueryのバージョンが、v3.5.1のままになりますので、ご留意ください。
[2022/07/11] v5.20.2
改善
- お絵かき画像の投稿時にファイル名の重複が発生する確率を1/1000に。
- 仮に重複しても投稿時刻に1秒追加。
- 投稿された画像の存在確認処理を追加し、お絵かき画像が確実にサーバに送信されてた事を確認してから画面を推移。
更新
- Klecksを更新しました。編集機能にグリッドが追加されました。
- BladeOneを更新しました。軽微なバグが修正されています。
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
変更があったディレクトリ
- BladeOne/
- klecks/
[2022/06/30] v5.19.1
- PHP7.1では動作しなくなっている事が確認されたため、必要な動作環境をPHP7.2以上に変更しました。
PHP7.1環境では、起動せずPHPのバージョンが低い事を伝えるエラーメッセージを出します。 - 未投稿画像のリンクはコメント未記入で画面から離れてしまったあとでも、再度投稿できるようにするためにあります。
しかしながら、コメントの記入欄や画像のアップロード欄があり、未投稿画像がない時にも送信フォームが表示されていました。
未投稿画像が存在しない時はフォームを表示しないようにしました。 - PaintBBSの画像を受け取り処理している
picpost.php
に画像とユーザーデータのファイルの存在確認を追加しました。
それらの必要なファイルが存在しない時はお絵かき画面から推移せずエラーをアラートで表示します。
画面を推移してしまうと、投稿に失敗したまま投稿画面の画像も消えてしまうためアラートで知らせます。
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
MONO
- templates/mono/mono_other.blade.php
- templates/mono/css/
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
BASIC
- templates/basic/other.blade.php
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
[2022/06/11] v5.18.25
バグ修正
- レス省略件数の区切りの横線のレイアウトが崩れていたのを修正しました。
(テンプレートMONO使用時)
改善
- ChickenPaintが全画面で起動するようになりました。
- futaba.phpのログファイルを読み込んで表示できるようになりました。
カンマの数が一致しない事が原因で発生していたエラーを修正しました。
変更があったファイル
- potiboard.php
変更があったテンプレート
MONO
- templates/mono/mono_main.blade.php
レス省略件数の表示レイアウトが崩れていたのを修正しました。 - templates/mono/mono_paint.blade.php
ChickenPaintが全画面表示で起動するようになりました。
BASIC
- templates/basic/paint.blade.php
ChickenPaintを全画面表示で起動するようになりました。
[2022/05/25] v5.18.9
Klecks更新
Klecksを最新版にアップデートしました。
CheerpJをv2.3へ
しぃペインター使用時にJavaアプレットをJavaScriptに変換するCheerpJをv2.3に更新しました。
バグ修正
- テキストの編集時に、不要なスペースが入るバグを修正しました。
- スパム対策のための拒絶する文字列や拒絶するurlに、
/
(スラッシュ)が含まれていると正しく処理できなくなるバグを修正しました。 - テンポラリ不要ファイルの削除処理の経過日数の計算時に軽微なエラーが発生していたのを修正しました。
- 指定経過日数でレスフォームを閉じる時の日時の基準が親の投稿日時ではなく最新レスの投稿日時になっていたのを修正しました。
- Paintフォームの「Size」の文字の色指定が他の文字と異なっていたのを修正しました。
コード整理
- forで記述されていた箇所をforeachへ。file()で開いていたログファイルをfopen()に変更しました。
- PCHアップロードペイントの作業ファイルの削除処理を正規表現を使用する重い関数からstrpos()に変更しました。
改善
- トリップ機能を再実装。
隠し機能的な再実装になりますので、テンプレート「MONO」でのみ表示できます。
BASICは非対応。 - 空行が存在するログファイルを処理できるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/parts/paint_form.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/other.blade.php
(記事の編集時に余分な空白が入ってしまう問題を修正しました) - templates/basic/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
MONO
- templates/mono/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
[2022/04/28] v5.16.8
Klecksを更新しました。
- iPadOSで発生するいくつかの問題が修正されました。
- 使用可能な言語に繁体字中文が追加されました。
テンプレートエンジンBladeOneを更新しました。
- BladeOneをv4.5.3に更新しました。
改善
-
klecksの送信失敗の原因がサーバーエラーの時はエラー番号をアラートで表示します。
例えば、Klecksのデータを受信するsaveklecks.php
が存在しない時は、「エラー404」というアラートを表示します。 -
ファイルサイズが指定サイズよりも大きなときに、PNGからJPEGに変換する処理の作業ディレクトリを
TEMP_DIR
に変更しました。
処理に失敗して作業ファイルが残ってしまっても、テンポラリの自動削除機能で一定時間経過後に削除されるようになります。
バグ修正
- 動画(PCH)保存ディレクトリ
define('PCH_DIR', 'src/');
に、'src/'
以外のディレクトリが指定されている時にディレクトリの自動作成が機能せず、NEOの動画、ChickenPaintの.chi
ファイル、klecksの.psd
ファイルが保存できなくなっていたのを修正しました。ディレクトリが存在しない時は自動的に作成するようになりました。
変更があったディレクトリ
- BladeOne/ (BladeOne/ ディレクトリを上書きアップデート)
- klecks/ (klecks/ ディレクトリを上書きアップデート)
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/04/02] v5.16.5.1
Klecks更新
- レイヤーの最大枚数が8枚から16枚に増えました。
バグ修正
- テンプレートBASICのバグを修正しました。
search画面の画像の一覧のリンクが機能していなかったのを修正しました。
原因はHTMLの文法のミスでした。 - search画面のHTMLの文法エラーを修正しました。
checked="checked"
のクオートがエスケープされて文法エラーになっていたのを修正しました。
変更があったファイル
- search.php
変更があったディレクトリ
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/search.blade.php
MONO
- templates/mono/search.blade.php
[2022/03/25] v5.16.5
改善
Klecksの日本語訳
- Klecksを日本語に翻訳しました。
POTI-boardにも、日本語対応版を同梱する事ができました。
この新しいバージョンのKlecksは、ブラウザの言語の優先順位を自動検出して言語を切り替えてくれます。
また、ブラウザの言語の設定にかかわらず使用する言語を指定する事もできます。
英語、ドイツ語、日本語が選択できます。
中文は簡体字のみで細部はまだ英語のままです。
日本語訳のリソースはすでに開発元に統合されています。
アプリ固有ファイルのダウンロードボタンができました。
アプリ固有形式一覧
.pch
ファイル(PaintBBS).chi
ファイル(ChickenPaint).psd
ファイル(Klecks)
Klecksのレイヤー情報を含むファイルはPhotoshop形式の.psd
ファイルです。
ダウンロードした.psd
ファイルはクリスタやSAIそのほか多くのアプリで開く事ができます。
.pch
と、.chi
は、それぞれNEOとChickenPaintで開く事ができます。
管理者投稿過画面から.pch
、.chi
、.psd
を添付してペイントボタンを押せば、キャンバスに読み込んで投稿できます。
透過PNG、透過GIFのサムネイルの透明部分を白に変更
- 透過PNGの透明部分がJPEG化する時に、真っ黒になっていたのを修正しました。
透明色が黒も間違いではないのですが、意図しない結果になる事が多いため、透過GIF、透過PNGからJPEGに変換する時は、透明色を白に変換します。
バグ修正
- 管理者ログイン時に使うアップロードペイントアプリ固有形式、pch、chi、psdなどの不要になったファイルの自動削除機能の動作時に軽微なエラーが発生するケースがあったのを修正しました。
BladeOne更新
テンプレートエンジンBladeOneをv4.5に更新しました。
変更があったファイル
- potiboard.php
- thumbnail_gd.php
変更があったディレクトリ
- BladeOne/
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/basic.css
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/template_ini.php
[2022/03/12] v5.12.0
バグ修正
- Apple Pencilでメニューが操作できなくなっていたのを修正しました。
ChickenPaintやKlecksのメニュー操作がで操作できなくなっていたのを修正しました。
v3.19.5でペイント関連のテンプレートに追加したJavascriptが原因でした。
該当のJavascriptを削除して正常に動作することを確認しました。
Klecksを更新
- Klecksを最新版にアップデート。
新しいブラシが追加されました。ミラーペインティングができるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
テンプレート BASIC
- templates/basic/paint.blad...
POTI-board EVO v5.23.8.1 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.23.8.1 リリース
[2022/08/17] v5.23.8.1
更新
- Klecksを最新版へ。
ノイズフィルタが追加されました。
- v5.23.8.1でv5.23.8の透明化フィルタの輝度反転が動作しない問題を修正しました。
- BladeOneをv4.5.5に更新。
- jQueryを3.6.0に更新。
ファイルの存在チェックをしていますので、同梱のjQueryが存在しない時はプログラムが動きません。
ファイルが存在しない事を伝えるエラーメッセージがでます。
改善
- クリックジャッキングの脆弱性を修正しました。
フレームまたはインラインフレームでの表示ができなくなります。
セキュリティは向上しますが、フレーム内に表示したい方がいる事も知っています。
そのため、config.phpに新規設定項目を追加して、フレーム内に表示するしないを選択できるようにしました。
フレーム内に表示する必要がない方は、設定項目を追加する必要はありません。
//iframe内での表示を 拒否する:1 許可する:0
//セキュリティリスクを回避するため "拒否する:1" を強く推奨。
define('X_FRAME_OPTIONS_DENY', '1');
新しくconfig.phpを1から書き直すのは大変だと思いますので、上記設定項目をどこでもいいので追加していただければ、フレーム内への表示ができるようになります。
-
モバイルユーザービリティを改善しました。
タップターゲットのサイズ、間隔を最適化しました。 -
ページの読み込み速度の改善
jQueryや、loadcookie.jsといった外部読み込みのJavaScriptを先読みして、レンダリングをブロックしないようにしました。 -
JavaScript実行のタイミングを
DOMContentLoaded
へ。 -
注意深く記述しないと致命的エラーになる箇所を修正しました。error()関数を組み込み関数die()へ。
-
テンプレートを直接いじらなくても、jQueryのバージョンを変更できるようにしました。
-
検索画面の画像の幅と高さを追加しました。
-
読み込み速度高速化のため最初から表示されれる範囲にloading="lazy"を適用しないようにしました。
-
PaintBBS起動画面の下のタイマーのJavaScriptの記述が非推奨の記述方法になっていたため、修正しました。
コンテンツセキュリティポリシーを設定したらPOTI-boardのお絵かき画面の時計が動かなくなりました。|さとぴあ|note
追加されたファイル
- lib/jquery-3.6.0.min.js
変更があったファイル
- thumbnail_gd.php
- potiboard.php
- config.php
- search.php
変更があったディレクトリ
- klecks/
- BladeOne/
変更があったテンプレート
- templates/basic/
- templates/mono/
テンプレートは、CSSも含めてすべて変更になりました。
BASICには、スクロールすると出てくる上に戻るボタンを追加しています。
サイトの高速化や、スマホ操作のしやすさを改善し、jQueryのバージョンを管理できるようになりました。
しかし、すでにカスタマイズしている方は、テンプレートを変更しなくても大丈夫です。
その場合はjQueryのバージョンが、v3.5.1のままになりますので、ご留意ください。
[2022/07/11] v5.20.2
改善
- お絵かき画像の投稿時にファイル名の重複が発生する確率を1/1000に。
- 仮に重複しても投稿時刻に1秒追加。
- 投稿された画像の存在確認処理を追加し、お絵かき画像が確実にサーバに送信されてた事を確認してから画面を推移。
更新
- Klecksを更新しました。編集機能にグリッドが追加されました。
- BladeOneを更新しました。軽微なバグが修正されています。
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
変更があったディレクトリ
- BladeOne/
- klecks/
[2022/06/30] v5.19.1
- PHP7.1では動作しなくなっている事が確認されたため、必要な動作環境をPHP7.2以上に変更しました。
PHP7.1環境では、起動せずPHPのバージョンが低い事を伝えるエラーメッセージを出します。 - 未投稿画像のリンクはコメント未記入で画面から離れてしまったあとでも、再度投稿できるようにするためにあります。
しかしながら、コメントの記入欄や画像のアップロード欄があり、未投稿画像がない時にも送信フォームが表示されていました。
未投稿画像が存在しない時はフォームを表示しないようにしました。 - PaintBBSの画像を受け取り処理している
picpost.php
に画像とユーザーデータのファイルの存在確認を追加しました。
それらの必要なファイルが存在しない時はお絵かき画面から推移せずエラーをアラートで表示します。
画面を推移してしまうと、投稿に失敗したまま投稿画面の画像も消えてしまうためアラートで知らせます。
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
MONO
- templates/mono/mono_other.blade.php
- templates/mono/css/
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
BASIC
- templates/basic/other.blade.php
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
[2022/06/11] v5.18.25
バグ修正
- レス省略件数の区切りの横線のレイアウトが崩れていたのを修正しました。
(テンプレートMONO使用時)
改善
- ChickenPaintが全画面で起動するようになりました。
- futaba.phpのログファイルを読み込んで表示できるようになりました。
カンマの数が一致しない事が原因で発生していたエラーを修正しました。
変更があったファイル
- potiboard.php
変更があったテンプレート
MONO
- templates/mono/mono_main.blade.php
レス省略件数の表示レイアウトが崩れていたのを修正しました。 - templates/mono/mono_paint.blade.php
ChickenPaintが全画面表示で起動するようになりました。
BASIC
- templates/basic/paint.blade.php
ChickenPaintを全画面表示で起動するようになりました。
[2022/05/25] v5.18.9
Klecks更新
Klecksを最新版にアップデートしました。
CheerpJをv2.3へ
しぃペインター使用時にJavaアプレットをJavaScriptに変換するCheerpJをv2.3に更新しました。
バグ修正
- テキストの編集時に、不要なスペースが入るバグを修正しました。
- スパム対策のための拒絶する文字列や拒絶するurlに、
/
(スラッシュ)が含まれていると正しく処理できなくなるバグを修正しました。 - テンポラリ不要ファイルの削除処理の経過日数の計算時に軽微なエラーが発生していたのを修正しました。
- 指定経過日数でレスフォームを閉じる時の日時の基準が親の投稿日時ではなく最新レスの投稿日時になっていたのを修正しました。
- Paintフォームの「Size」の文字の色指定が他の文字と異なっていたのを修正しました。
コード整理
- forで記述されていた箇所をforeachへ。file()で開いていたログファイルをfopen()に変更しました。
- PCHアップロードペイントの作業ファイルの削除処理を正規表現を使用する重い関数からstrpos()に変更しました。
改善
- トリップ機能を再実装。
隠し機能的な再実装になりますので、テンプレート「MONO」でのみ表示できます。
BASICは非対応。 - 空行が存在するログファイルを処理できるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/parts/paint_form.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/other.blade.php
(記事の編集時に余分な空白が入ってしまう問題を修正しました) - templates/basic/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
MONO
- templates/mono/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
[2022/04/28] v5.16.8
Klecksを更新しました。
- iPadOSで発生するいくつかの問題が修正されました。
- 使用可能な言語に繁体字中文が追加されました。
テンプレートエンジンBladeOneを更新しました。
- BladeOneをv4.5.3に更新しました。
改善
-
klecksの送信失敗の原因がサーバーエラーの時はエラー番号をアラートで表示します。
例えば、Klecksのデータを受信するsaveklecks.php
が存在しない時は、「エラー404」というアラートを表示します。 -
ファイルサイズが指定サイズよりも大きなときに、PNGからJPEGに変換する処理の作業ディレクトリを
TEMP_DIR
に変更しました。
処理に失敗して作業ファイルが残ってしまっても、テンポラリの自動削除機能で一定時間経過後に削除されるようになります。
バグ修正
- 動画(PCH)保存ディレクトリ
define('PCH_DIR', 'src/');
に、'src/'
以外のディレクトリが指定されている時にディレクトリの自動作成が機能せず、NEOの動画、ChickenPaintの.chi
ファイル、klecksの.psd
ファイルが保存できなくなっていたのを修正しました。ディレクトリが存在しない時は自動的に作成するようになりました。
変更があったディレクトリ
- BladeOne/ (BladeOne/ ディレクトリを上書きアップデート)
- klecks/ (klecks/ ディレクトリを上書きアップデート)
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/04/02] v5.16.5.1
Klecks更新
- レイヤーの最大枚数が8枚から16枚に増えました。
バグ修正
- テンプレートBASICのバグを修正しました。
search画面の画像の一覧のリンクが機能していなかったのを修正しました。
原因はHTMLの文法のミスでした。 - search画面のHTMLの文法エラーを修正しました。
checked="checked"
のクオートがエスケープされて文法エラーになっていたのを修正しました。
変更があったファイル
- search.php
変更があったディレクトリ
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/search.blade.php
MONO
- templates/mono/search.blade.php
[2022/03/25] v5.16.5
改善
Klecksの日本語訳
- Klecksを日本語に翻訳しました。
POTI-boardにも、日本語対応版を同梱する事ができました。
この新しいバージョンのKlecksは、ブラウザの言語の優先順位を自動検出して言語を切り替えてくれます。
また、ブラウザの言語の設定にかかわらず使用する言語を指定する事もできます。
英語、ドイツ語、日本語が選択できます。
中文は簡体字のみで細部はまだ英語のままです。
日本語訳のリソースはすでに開発元に統合されています。
アプリ固有ファイルのダウンロードボタンができました。
アプリ固有形式一覧
.pch
ファイル(PaintBBS).chi
ファイル(ChickenPaint).psd
ファイル(Klecks)
Klecksのレイヤー情報を含むファイルはPhotoshop形式の.psd
ファイルです。
ダウンロードした.psd
ファイルはクリスタやSAIそのほか多くのアプリで開く事ができます。
.pch
と、.chi
は、それぞれNEOとChickenPaintで開く事ができます。
管理者投稿過画面から.pch
、.chi
、.psd
を添付してペイントボタンを押せば、キャンバスに読み込んで投稿できます。
透過PNG、透過GIFのサムネイルの透明部分を白に変更
- 透過PNGの透明部分がJPEG化する時に、真っ黒になっていたのを修正しました。
透明色が黒も間違いではないのですが、意図しない結果になる事が多いため、透過GIF、透過PNGからJPEGに変換する時は、透明色を白に変換します。
バグ修正
- 管理者ログイン時に使うアップロードペイントアプリ固有形式、pch、chi、psdなどの不要になったファイルの自動削除機能の動作時に軽微なエラーが発生するケースがあったのを修正しました。
BladeOne更新
テンプレートエンジンBladeOneをv4.5に更新しました。
変更があったファイル
- potiboard.php
- thumbnail_gd.php
変更があったディレクトリ
- BladeOne/
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/basic.css
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/template_ini.php
[2022/03/12] v5.12.0
バグ修正
- Apple Pencilでメニューが操作できなくなっていたのを修正しました。
ChickenPaintやKlecksのメニュー操作がで操作できなくなっていたのを修正しました。
v3.19.5でペイント関連のテンプレートに追加したJavascriptが原因でした。
該当のJavascriptを削除して正常に動作することを確認しました。
Klecksを更新
- Klecksを最新版にアップデート。
新しいブラシが追加されました。ミラーペインティングができるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
テンプレート BASIC
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
テンプレート MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
POTI-board EVO v5.10.0 もご確認ください。
多くのファイルが更新されています。
[2022/03/8] v5.10.0
機能追加
- 新しいペイントアプリKlecksに対応しました。
わかりやすいUIと強力なブラシが使えるアプリです。
レイヤーは8枚使えます。
数多くのフィルタが使えます。輝度を透明に変換、明るさ/コントラスト、色調補正など。
このアプリの追加にともない、管理画面からアップロードできるファイル形式に「PSD」が追加されました。
PSDファイルを選択してペイントボタンを押すとKlecksのキャンバスにPSD画像が読み込まれます。
改善
- 複数の未投稿画像がある時は、一番新しい画像が選択されるようになりました。
これまでは、コメント欄のすぐ上の画像は投稿されず画面の一番上の画像が選択されていました。
バグ修正
- 強制sageが機能しなくなっていたのを修正しました。
- 未定義エラーを含む多くのマイナーなバグが修正されました。
レガシーなコードを整理
- 古いコードを整理ました。投稿するまえにJPEG/PNGを切り替える機能やペイント画面から新しい設定でお絵かきする機能は削除されました。
- 同梱テンプレートには存在しないものの、機能としては残っているのは文字色の選択機能だけになりました。
上書きアップデートするディレクトリ
BladeOne/
klecks/
テンプレートBASIC
templates/basic/
テンプレートMONO
templates/mono/
上書きアップデートするファイル
potiboard.php
save.php
追加するファイル
saveklecks.php
[2022/02/10] v5.05.0
バグ修正
テンプレートBASIC
- テンプレートBASICで管理者モードの時に「投稿フォーム」という文字列が「投稿フォーム」以外の時にも表示されていたバグを修正しました。
- img.logとtree.logの内容が一致しない時にレス画面に前後の画像を表示する機能で未定義エラーが発生する問題を修正しました。
しかし、img.logとtree.logの内容が一致しないという時点でそのログファイルは壊れています。
ログファイルが壊れるようなテストを行った過程でみつけた問題です。通常の使用ではログファイルは壊れないと思います。
機能追加
拒絶するURL
拒絶する文字列で指定された文字列がURLに存在する時は拒絶するようになりました。
また、拒絶する文字列とは別に使用できないURLの設定項目も追加しました。
//拒絶するurl
$badurl = array("example.com","www.example.com");
これまで...
POTI-board EVO v5.20.2 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.20.2 リリース
[2022/07/11] v5.20.2
改善
- お絵かき画像の投稿時にファイル名の重複が発生する確率を1/1000に。
- 仮に重複しても投稿時刻に1秒追加。
- 投稿された画像の存在確認処理を追加し、お絵かき画像が確実にサーバに送信されてた事を確認してから画面を推移。
更新
- Klecksを更新しました。編集機能にグリッドが追加されました。
- BladeOneを更新しました。軽微なバグが修正されています。
変更があったファイル
- potiboard.php
- picpost.php
- save.php
- saveklecks.php
変更があったディレクトリ
- BladeOne/
- klecks/
[2022/06/30] v5.19.1
- PHP7.1では動作しなくなっている事が確認されたため、必要な動作環境をPHP7.2以上に変更しました。
PHP7.1環境では、起動せずPHPのバージョンが低い事を伝えるエラーメッセージを出します。 - 未投稿画像のリンクはコメント未記入で画面から離れてしまったあとでも、再度投稿できるようにするためにあります。
しかしながら、コメントの記入欄や画像のアップロード欄があり、未投稿画像がない時にも送信フォームが表示されていました。
未投稿画像が存在しない時はフォームを表示しないようにしました。 - PaintBBSの画像を受け取り処理している
picpost.php
に画像とユーザーデータのファイルの存在確認を追加しました。
それらの必要なファイルが存在しない時はお絵かき画面から推移せずエラーをアラートで表示します。
画面を推移してしまうと、投稿に失敗したまま投稿画面の画像も消えてしまうためアラートで知らせます。
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
MONO
- templates/mono/mono_other.blade.php
- templates/mono/css/
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
BASIC
- templates/basic/other.blade.php
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
[2022/06/11] v5.18.25
バグ修正
- レス省略件数の区切りの横線のレイアウトが崩れていたのを修正しました。
(テンプレートMONO使用時)
改善
- ChickenPaintが全画面で起動するようになりました。
- futaba.phpのログファイルを読み込んで表示できるようになりました。
カンマの数が一致しない事が原因で発生していたエラーを修正しました。
変更があったファイル
- potiboard.php
変更があったテンプレート
MONO
- templates/mono/mono_main.blade.php
レス省略件数の表示レイアウトが崩れていたのを修正しました。 - templates/mono/mono_paint.blade.php
ChickenPaintが全画面表示で起動するようになりました。
BASIC
- templates/basic/paint.blade.php
ChickenPaintを全画面表示で起動するようになりました。
[2022/05/25] v5.18.9
Klecks更新
Klecksを最新版にアップデートしました。
CheerpJをv2.3へ
しぃペインター使用時にJavaアプレットをJavaScriptに変換するCheerpJをv2.3に更新しました。
バグ修正
- テキストの編集時に、不要なスペースが入るバグを修正しました。
- スパム対策のための拒絶する文字列や拒絶するurlに、
/
(スラッシュ)が含まれていると正しく処理できなくなるバグを修正しました。 - テンポラリ不要ファイルの削除処理の経過日数の計算時に軽微なエラーが発生していたのを修正しました。
- 指定経過日数でレスフォームを閉じる時の日時の基準が親の投稿日時ではなく最新レスの投稿日時になっていたのを修正しました。
- Paintフォームの「Size」の文字の色指定が他の文字と異なっていたのを修正しました。
コード整理
- forで記述されていた箇所をforeachへ。file()で開いていたログファイルをfopen()に変更しました。
- PCHアップロードペイントの作業ファイルの削除処理を正規表現を使用する重い関数からstrpos()に変更しました。
改善
- トリップ機能を再実装。
隠し機能的な再実装になりますので、テンプレート「MONO」でのみ表示できます。
BASICは非対応。 - 空行が存在するログファイルを処理できるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/parts/paint_form.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/other.blade.php
(記事の編集時に余分な空白が入ってしまう問題を修正しました) - templates/basic/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
MONO
- templates/mono/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
[2022/04/28] v5.16.8
Klecksを更新しました。
- iPadOSで発生するいくつかの問題が修正されました。
- 使用可能な言語に繁体字中文が追加されました。
テンプレートエンジンBladeOneを更新しました。
- BladeOneをv4.5.3に更新しました。
改善
-
klecksの送信失敗の原因がサーバーエラーの時はエラー番号をアラートで表示します。
例えば、Klecksのデータを受信するsaveklecks.php
が存在しない時は、「エラー404」というアラートを表示します。 -
ファイルサイズが指定サイズよりも大きなときに、PNGからJPEGに変換する処理の作業ディレクトリを
TEMP_DIR
に変更しました。
処理に失敗して作業ファイルが残ってしまっても、テンポラリの自動削除機能で一定時間経過後に削除されるようになります。
バグ修正
- 動画(PCH)保存ディレクトリ
define('PCH_DIR', 'src/');
に、'src/'
以外のディレクトリが指定されている時にディレクトリの自動作成が機能せず、NEOの動画、ChickenPaintの.chi
ファイル、klecksの.psd
ファイルが保存できなくなっていたのを修正しました。ディレクトリが存在しない時は自動的に作成するようになりました。
変更があったディレクトリ
- BladeOne/ (BladeOne/ ディレクトリを上書きアップデート)
- klecks/ (klecks/ ディレクトリを上書きアップデート)
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/04/02] v5.16.5.1
Klecks更新
- レイヤーの最大枚数が8枚から16枚に増えました。
バグ修正
- テンプレートBASICのバグを修正しました。
search画面の画像の一覧のリンクが機能していなかったのを修正しました。
原因はHTMLの文法のミスでした。 - search画面のHTMLの文法エラーを修正しました。
checked="checked"
のクオートがエスケープされて文法エラーになっていたのを修正しました。
変更があったファイル
- search.php
変更があったディレクトリ
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/search.blade.php
MONO
- templates/mono/search.blade.php
[2022/03/25] v5.16.5
改善
Klecksの日本語訳
- Klecksを日本語に翻訳しました。
POTI-boardにも、日本語対応版を同梱する事ができました。
この新しいバージョンのKlecksは、ブラウザの言語の優先順位を自動検出して言語を切り替えてくれます。
また、ブラウザの言語の設定にかかわらず使用する言語を指定する事もできます。
英語、ドイツ語、日本語が選択できます。
中文は簡体字のみで細部はまだ英語のままです。
日本語訳のリソースはすでに開発元に統合されています。
アプリ固有ファイルのダウンロードボタンができました。
アプリ固有形式一覧
.pch
ファイル(PaintBBS).chi
ファイル(ChickenPaint).psd
ファイル(Klecks)
Klecksのレイヤー情報を含むファイルはPhotoshop形式の.psd
ファイルです。
ダウンロードした.psd
ファイルはクリスタやSAIそのほか多くのアプリで開く事ができます。
.pch
と、.chi
は、それぞれNEOとChickenPaintで開く事ができます。
管理者投稿過画面から.pch
、.chi
、.psd
を添付してペイントボタンを押せば、キャンバスに読み込んで投稿できます。
透過PNG、透過GIFのサムネイルの透明部分を白に変更
- 透過PNGの透明部分がJPEG化する時に、真っ黒になっていたのを修正しました。
透明色が黒も間違いではないのですが、意図しない結果になる事が多いため、透過GIF、透過PNGからJPEGに変換する時は、透明色を白に変換します。
バグ修正
- 管理者ログイン時に使うアップロードペイントアプリ固有形式、pch、chi、psdなどの不要になったファイルの自動削除機能の動作時に軽微なエラーが発生するケースがあったのを修正しました。
BladeOne更新
テンプレートエンジンBladeOneをv4.5に更新しました。
変更があったファイル
- potiboard.php
- thumbnail_gd.php
変更があったディレクトリ
- BladeOne/
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/basic.css
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/template_ini.php
[2022/03/12] v5.12.0
バグ修正
- Apple Pencilでメニューが操作できなくなっていたのを修正しました。
ChickenPaintやKlecksのメニュー操作がで操作できなくなっていたのを修正しました。
v3.19.5でペイント関連のテンプレートに追加したJavascriptが原因でした。
該当のJavascriptを削除して正常に動作することを確認しました。
Klecksを更新
- Klecksを最新版にアップデート。
新しいブラシが追加されました。ミラーペインティングができるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
テンプレート BASIC
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
テンプレート MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
POTI-board EVO v5.10.0 もご確認ください。
多くのファイルが更新されています。
[2022/03/8] v5.10.0
機能追加
- 新しいペイントアプリKlecksに対応しました。
わかりやすいUIと強力なブラシが使えるアプリです。
レイヤーは8枚使えます。
数多くのフィルタが使えます。輝度を透明に変換、明るさ/コントラスト、色調補正など。
このアプリの追加にともない、管理画面からアップロードできるファイル形式に「PSD」が追加されました。
PSDファイルを選択してペイントボタンを押すとKlecksのキャンバスにPSD画像が読み込まれます。
改善
- 複数の未投稿画像がある時は、一番新しい画像が選択されるようになりました。
これまでは、コメント欄のすぐ上の画像は投稿されず画面の一番上の画像が選択されていました。
バグ修正
- 強制sageが機能しなくなっていたのを修正しました。
- 未定義エラーを含む多くのマイナーなバグが修正されました。
レガシーなコードを整理
- 古いコードを整理ました。投稿するまえにJPEG/PNGを切り替える機能やペイント画面から新しい設定でお絵かきする機能は削除されました。
- 同梱テンプレートには存在しないものの、機能としては残っているのは文字色の選択機能だけになりました。
上書きアップデートするディレクトリ
BladeOne/
klecks/
テンプレートBASIC
templates/basic/
テンプレートMONO
templates/mono/
上書きアップデートするファイル
potiboard.php
save.php
追加するファイル
saveklecks.php
[2022/02/10] v5.05.0
バグ修正
テンプレートBASIC
- テンプレートBASICで管理者モードの時に「投稿フォーム」という文字列が「投稿フォーム」以外の時にも表示されていたバグを修正しました。
- img.logとtree.logの内容が一致しない時にレス画面に前後の画像を表示する機能で未定義エラーが発生する問題を修正しました。
しかし、img.logとtree.logの内容が一致しないという時点でそのログファイルは壊れています。
ログファイルが壊れるようなテストを行った過程でみつけた問題です。通常の使用ではログファイルは壊れないと思います。
機能追加
拒絶するURL
拒絶する文字列で指定された文字列がURLに存在する時は拒絶するようになりました。
また、拒絶する文字列とは別に使用できないURLの設定項目も追加しました。
//拒絶するurl
$badurl = array("example.com","www.example.com");
これまでは、URLのスパムワードチェックは何も行われていませんでした。
改善
日記モード
日記モードに設定しても、ペイントボタン下に表示される説明文が表示されたままになっていたのを改善しました。
しかし、追加の説明文 $addinfo
は表示する必要があるため、$addinfo
が存在するときは表示するように工夫しました。
古いスレッドでは続きを描くのリンクを表示しない。続きを描くを許可しない。
指定日数を超えた記事の編集をロックするだけでなく、続きを描く(画像の編集)もロックするようにしました。
これらの設定項目を作ったのはパスワードが第三者によって侵害されて記事が改変されるのを防ぐためです。
記事の編集はロックされますがユーザーによる削除はできます。
また管理者は指定日数を過ぎていてもテキストの編集ができます。
しかし、一定の指定日数でロックがかかると困る方もいらっしゃると思います。
define('ELAPSED_DAYS','365');
365
で1年以上経過したスレッドはロックされますが、
define('ELAPSED_DAYS','0');
0
に設定するとロックされません。
- 描いている最中に指定日数を過ぎてしまった時は新規投稿になります。
また描いている最中にスレッドが削除されていた時も新規投稿になるようにしました。
変更があったファイル
-
potiboard.php
-
config.php
新しい設定項目が必要ではない場合はすでに設定ずみの5.0系統のconfig.phpをそのまま使ってください。
テンプレートBASIC
日記モード時の表示の改善と管理画面の表示のバグ修正を行いました。
テンプレートMONO
日記モード時の表示の改善を行いました。
[2022/01/26] v5.01.03
概要
noteにまとめました。
PHP8.1対応作業。テンプレートエンジンに苦しめられる。|さとぴあ|note
テンプレートエンジンをbladeOneに変更
PHP8.1環境でSkinny.phpから非推奨のエラーが発生するため、テンプレートエンジンをbladeOneに変更しました。
しかし、それはテンプレートの互換性がなくなる事を意味します。
拡張子HTML
のテンプレートは、拡張子blade.php
のテンプレートに置き換えられました。
拡張子がHTML
ではないのでカスタマイズが難しそうに感じられるかもしれません。
しかし、中身は従来のテンプレートとほとんど同じです。
同梱したテンプレートは、これまで同梱していたPINKとMONOをBladeOneで使えるように修正したものです。
PINKの背景色を白に変更。名称もBASICに変更しました。
BASICは 黒鋼彗牙さんのCOOL SOLIDをベースにして作成したものです。
著作表記はテンプレートのLICENCEにあります。
テンプレートエンジンの変更で変わった事
PHP7.1
- PHP5.6環境でも動作するように開発していましたが、BladeOneのv4.2はPHP7.1以上の環境でなければ動作しない事がわかりました。
POTI-board EVO v5.xにはPHP7.1以上の環境が必要になりました。
改善
- 日記モードを調整しました。
新規投稿は管理者のみに設定してもペイントボタンは表示されたままで、絵を描き終わって投稿を完了させようと思ったら管理パス以外での投稿はできないというエラーが表示されて投稿できないとい...
POTI-board EVO v5.19.1 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.19.1 リリース
[2022/05/25] v5.19.1
- PHP7.1では動作しなくなっている事が確認されたため、必要な動作環境をPHP7.2以上に変更しました。
PHP7.1環境では、起動せずPHPのバージョンが低い事を伝えるエラーメッセージを出します。 - 未投稿画像のリンクはコメント未記入で画面から離れてしまったあとでも、再度投稿できるようにするためにあります。
しかしながら、コメントの記入欄や画像のアップロード欄があり、未投稿画像がない時にも送信フォームが表示されていました。
未投稿画像が存在しない時はフォームを表示しないようにしました。 - PaintBBSの画像を受け取り処理している
picpost.php
に画像とユーザーデータのファイルの存在確認を追加しました。
それらの必要なファイルが存在しない時はお絵かき画面から推移せずエラーをアラートで表示します。
画面を推移してしまうと、投稿に失敗したまま投稿画面の画像も消えてしまうためアラートで知らせます。
変更があったファイル
- potiboard.php
- picpost.php
変更があったテンプレート
MONO
- templates/mono/mono_other.blade.php
- templates/mono/css/
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
BASIC
- templates/basic/other.blade.php
(未投稿画像の箇所にフォームが表示されるこれまで通りの画面で構わければ更新の必要はありません)
[2022/05/25] v5.18.25
バグ修正
- レス省略件数の区切りの横線のレイアウトが崩れていたのを修正しました。
(テンプレートMONO使用時)
改善
- ChickenPaintが全画面で起動するようになりました。
- futaba.phpのログファイルを読み込んで表示できるようになりました。
カンマの数が一致しない事が原因で発生していたエラーを修正しました。
変更があったファイル
- potiboard.php
変更があったテンプレート
MONO
- templates/mono/mono_main.blade.php
レス省略件数の表示レイアウトが崩れていたのを修正しました。 - templates/mono/mono_paint.blade.php
ChickenPaintが全画面表示で起動するようになりました。
BASIC
- templates/basic/paint.blade.php
ChickenPaintを全画面表示で起動するようになりました。
[2022/05/25] v5.18.9
Klecks更新
Klecksを最新版にアップデートしました。
CheerpJをv2.3へ
しぃペインター使用時にJavaアプレットをJavaScriptに変換するCheerpJをv2.3に更新しました。
バグ修正
- テキストの編集時に、不要なスペースが入るバグを修正しました。
- スパム対策のための拒絶する文字列や拒絶するurlに、
/
(スラッシュ)が含まれていると正しく処理できなくなるバグを修正しました。 - テンポラリ不要ファイルの削除処理の経過日数の計算時に軽微なエラーが発生していたのを修正しました。
- 指定経過日数でレスフォームを閉じる時の日時の基準が親の投稿日時ではなく最新レスの投稿日時になっていたのを修正しました。
- Paintフォームの「Size」の文字の色指定が他の文字と異なっていたのを修正しました。
コード整理
- forで記述されていた箇所をforeachへ。file()で開いていたログファイルをfopen()に変更しました。
- PCHアップロードペイントの作業ファイルの削除処理を正規表現を使用する重い関数からstrpos()に変更しました。
改善
- トリップ機能を再実装。
隠し機能的な再実装になりますので、テンプレート「MONO」でのみ表示できます。
BASICは非対応。 - 空行が存在するログファイルを処理できるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/parts/paint_form.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/other.blade.php
(記事の編集時に余分な空白が入ってしまう問題を修正しました) - templates/basic/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
MONO
- templates/mono/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
[2022/04/28] v5.16.8
Klecksを更新しました。
- iPadOSで発生するいくつかの問題が修正されました。
- 使用可能な言語に繁体字中文が追加されました。
テンプレートエンジンBladeOneを更新しました。
- BladeOneをv4.5.3に更新しました。
改善
-
klecksの送信失敗の原因がサーバーエラーの時はエラー番号をアラートで表示します。
例えば、Klecksのデータを受信するsaveklecks.php
が存在しない時は、「エラー404」というアラートを表示します。 -
ファイルサイズが指定サイズよりも大きなときに、PNGからJPEGに変換する処理の作業ディレクトリを
TEMP_DIR
に変更しました。
処理に失敗して作業ファイルが残ってしまっても、テンポラリの自動削除機能で一定時間経過後に削除されるようになります。
バグ修正
- 動画(PCH)保存ディレクトリ
define('PCH_DIR', 'src/');
に、'src/'
以外のディレクトリが指定されている時にディレクトリの自動作成が機能せず、NEOの動画、ChickenPaintの.chi
ファイル、klecksの.psd
ファイルが保存できなくなっていたのを修正しました。ディレクトリが存在しない時は自動的に作成するようになりました。
変更があったディレクトリ
- BladeOne/ (BladeOne/ ディレクトリを上書きアップデート)
- klecks/ (klecks/ ディレクトリを上書きアップデート)
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/04/02] v5.16.5.1
Klecks更新
- レイヤーの最大枚数が8枚から16枚に増えました。
バグ修正
- テンプレートBASICのバグを修正しました。
search画面の画像の一覧のリンクが機能していなかったのを修正しました。
原因はHTMLの文法のミスでした。 - search画面のHTMLの文法エラーを修正しました。
checked="checked"
のクオートがエスケープされて文法エラーになっていたのを修正しました。
変更があったファイル
- search.php
変更があったディレクトリ
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/search.blade.php
MONO
- templates/mono/search.blade.php
[2022/03/25] v5.16.5
改善
Klecksの日本語訳
- Klecksを日本語に翻訳しました。
POTI-boardにも、日本語対応版を同梱する事ができました。
この新しいバージョンのKlecksは、ブラウザの言語の優先順位を自動検出して言語を切り替えてくれます。
また、ブラウザの言語の設定にかかわらず使用する言語を指定する事もできます。
英語、ドイツ語、日本語が選択できます。
中文は簡体字のみで細部はまだ英語のままです。
日本語訳のリソースはすでに開発元に統合されています。
アプリ固有ファイルのダウンロードボタンができました。
アプリ固有形式一覧
.pch
ファイル(PaintBBS).chi
ファイル(ChickenPaint).psd
ファイル(Klecks)
Klecksのレイヤー情報を含むファイルはPhotoshop形式の.psd
ファイルです。
ダウンロードした.psd
ファイルはクリスタやSAIそのほか多くのアプリで開く事ができます。
.pch
と、.chi
は、それぞれNEOとChickenPaintで開く事ができます。
管理者投稿過画面から.pch
、.chi
、.psd
を添付してペイントボタンを押せば、キャンバスに読み込んで投稿できます。
透過PNG、透過GIFのサムネイルの透明部分を白に変更
- 透過PNGの透明部分がJPEG化する時に、真っ黒になっていたのを修正しました。
透明色が黒も間違いではないのですが、意図しない結果になる事が多いため、透過GIF、透過PNGからJPEGに変換する時は、透明色を白に変換します。
バグ修正
- 管理者ログイン時に使うアップロードペイントアプリ固有形式、pch、chi、psdなどの不要になったファイルの自動削除機能の動作時に軽微なエラーが発生するケースがあったのを修正しました。
BladeOne更新
テンプレートエンジンBladeOneをv4.5に更新しました。
変更があったファイル
- potiboard.php
- thumbnail_gd.php
変更があったディレクトリ
- BladeOne/
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/basic.css
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/template_ini.php
[2022/03/12] v5.12.0
バグ修正
- Apple Pencilでメニューが操作できなくなっていたのを修正しました。
ChickenPaintやKlecksのメニュー操作がで操作できなくなっていたのを修正しました。
v3.19.5でペイント関連のテンプレートに追加したJavascriptが原因でした。
該当のJavascriptを削除して正常に動作することを確認しました。
Klecksを更新
- Klecksを最新版にアップデート。
新しいブラシが追加されました。ミラーペインティングができるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
テンプレート BASIC
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
テンプレート MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
POTI-board EVO v5.10.0 もご確認ください。
多くのファイルが更新されています。
[2022/03/8] v5.10.0
機能追加
- 新しいペイントアプリKlecksに対応しました。
わかりやすいUIと強力なブラシが使えるアプリです。
レイヤーは8枚使えます。
数多くのフィルタが使えます。輝度を透明に変換、明るさ/コントラスト、色調補正など。
このアプリの追加にともない、管理画面からアップロードできるファイル形式に「PSD」が追加されました。
PSDファイルを選択してペイントボタンを押すとKlecksのキャンバスにPSD画像が読み込まれます。
改善
- 複数の未投稿画像がある時は、一番新しい画像が選択されるようになりました。
これまでは、コメント欄のすぐ上の画像は投稿されず画面の一番上の画像が選択されていました。
バグ修正
- 強制sageが機能しなくなっていたのを修正しました。
- 未定義エラーを含む多くのマイナーなバグが修正されました。
レガシーなコードを整理
- 古いコードを整理ました。投稿するまえにJPEG/PNGを切り替える機能やペイント画面から新しい設定でお絵かきする機能は削除されました。
- 同梱テンプレートには存在しないものの、機能としては残っているのは文字色の選択機能だけになりました。
上書きアップデートするディレクトリ
BladeOne/
klecks/
テンプレートBASIC
templates/basic/
テンプレートMONO
templates/mono/
上書きアップデートするファイル
potiboard.php
save.php
追加するファイル
saveklecks.php
[2022/02/10] v5.05.0
バグ修正
テンプレートBASIC
- テンプレートBASICで管理者モードの時に「投稿フォーム」という文字列が「投稿フォーム」以外の時にも表示されていたバグを修正しました。
- img.logとtree.logの内容が一致しない時にレス画面に前後の画像を表示する機能で未定義エラーが発生する問題を修正しました。
しかし、img.logとtree.logの内容が一致しないという時点でそのログファイルは壊れています。
ログファイルが壊れるようなテストを行った過程でみつけた問題です。通常の使用ではログファイルは壊れないと思います。
機能追加
拒絶するURL
拒絶する文字列で指定された文字列がURLに存在する時は拒絶するようになりました。
また、拒絶する文字列とは別に使用できないURLの設定項目も追加しました。
//拒絶するurl
$badurl = array("example.com","www.example.com");
これまでは、URLのスパムワードチェックは何も行われていませんでした。
改善
日記モード
日記モードに設定しても、ペイントボタン下に表示される説明文が表示されたままになっていたのを改善しました。
しかし、追加の説明文 $addinfo
は表示する必要があるため、$addinfo
が存在するときは表示するように工夫しました。
古いスレッドでは続きを描くのリンクを表示しない。続きを描くを許可しない。
指定日数を超えた記事の編集をロックするだけでなく、続きを描く(画像の編集)もロックするようにしました。
これらの設定項目を作ったのはパスワードが第三者によって侵害されて記事が改変されるのを防ぐためです。
記事の編集はロックされますがユーザーによる削除はできます。
また管理者は指定日数を過ぎていてもテキストの編集ができます。
しかし、一定の指定日数でロックがかかると困る方もいらっしゃると思います。
define('ELAPSED_DAYS','365');
365
で1年以上経過したスレッドはロックされますが、
define('ELAPSED_DAYS','0');
0
に設定するとロックされません。
- 描いている最中に指定日数を過ぎてしまった時は新規投稿になります。
また描いている最中にスレッドが削除されていた時も新規投稿になるようにしました。
変更があったファイル
-
potiboard.php
-
config.php
新しい設定項目が必要ではない場合はすでに設定ずみの5.0系統のconfig.phpをそのまま使ってください。
テンプレートBASIC
日記モード時の表示の改善と管理画面の表示のバグ修正を行いました。
テンプレートMONO
日記モード時の表示の改善を行いました。
[2022/01/26] v5.01.03
概要
noteにまとめました。
PHP8.1対応作業。テンプレートエンジンに苦しめられる。|さとぴあ|note
テンプレートエンジンをbladeOneに変更
PHP8.1環境でSkinny.phpから非推奨のエラーが発生するため、テンプレートエンジンをbladeOneに変更しました。
しかし、それはテンプレートの互換性がなくなる事を意味します。
拡張子HTML
のテンプレートは、拡張子blade.php
のテンプレートに置き換えられました。
拡張子がHTML
ではないのでカスタマイズが難しそうに感じられるかもしれません。
しかし、中身は従来のテンプレートとほとんど同じです。
同梱したテンプレートは、これまで同梱していたPINKとMONOをBladeOneで使えるように修正したものです。
PINKの背景色を白に変更。名称もBASICに変更しました。
BASICは 黒鋼彗牙さんのCOOL SOLIDをベースにして作成したものです。
著作表記はテンプレートのLICENCEにあります。
テンプレートエンジンの変更で変わった事
PHP7.1
- PHP5.6環境でも動作するように開発していましたが、BladeOneのv4.2はPHP7.1以上の環境でなければ動作しない事がわかりました。
POTI-board EVO v5.xにはPHP7.1以上の環境が必要になりました。
改善
- 日記モードを調整しました。
新規投稿は管理者のみに設定してもペイントボタンは表示されたままで、絵を描き終わって投稿を完了させようと思ったら管理パス以外での投稿はできないというエラーが表示されて投稿できないという問題がありました。
新規投稿には管理パスが必要と設定した時点で新規投稿のためのペイントボタンが非表示になるようにしました。
管理者投稿画面にお絵かき機能を実装して、管理者はそこからお絵かき投稿が可能になるように作り直しました。
テンプレートをカスタマイズして使用している方のための情報。
スレッドの表示処理が大きく変わりました。
これまではスレッドの親の処理があり、それとは別にレスの処理がありました。
v5.xではその1スレッドの配列のループを一回で終わらせます。
そしてループの最初の一回目をスレッドの親として処理します。
具体的に書くと以下のような形です。
@foreach ($ress as $res)
{{-...
POTI-board EVO v5.18.9 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.18.9 リリース
[2022/05/25] v5.18.9
Klecks更新
Klecksを最新版にアップデートしました。
CheerpJをv2.3へ
しぃペインター使用時にJavaアプレットをJavaScriptに変換するCheerpJをv2.3に更新しました。
バグ修正
- テキストの編集時に、不要なスペースが入るバグを修正しました。
- スパム対策のための拒絶する文字列や拒絶するurlに、
/
(スラッシュ)が含まれていると正しく処理できなくなるバグを修正しました。 - テンポラリ不要ファイルの削除処理の経過日数の計算時に軽微なエラーが発生していたのを修正しました。
- 指定経過日数でレスフォームを閉じる時の日時の基準が親の投稿日時ではなく最新レスの投稿日時になっていたのを修正しました。
- Paintフォームの「Size」の文字の色指定が他の文字と異なっていたのを修正しました。
コード整理
- forで記述されていた箇所をforeachへ。file()で開いていたログファイルをfopen()に変更しました。
- PCHアップロードペイントの作業ファイルの削除処理を正規表現を使用する重い関数からstrpos()に変更しました。
改善
- トリップ機能を再実装。
隠し機能的な再実装になりますので、テンプレート「MONO」でのみ表示できます。
BASICは非対応。 - 空行が存在するログファイルを処理できるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
- search.php
変更があったテンプレート
BASIC
- templates/basic/main.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/parts/paint_form.blade.php
(見た目上の差異なので、気にならなければそのままでも) - templates/basic/other.blade.php
(記事の編集時に余分な空白が入ってしまう問題を修正しました) - templates/basic/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
MONO
- templates/mono/paint_klecks.blade.php
(サーバからのエラーがぴったり400番だった時にもエラーのアラートが開くようになりました)
[2022/04/28] v5.16.8
Klecksを更新しました。
- iPadOSで発生するいくつかの問題が修正されました。
- 使用可能な言語に繁体字中文が追加されました。
テンプレートエンジンBladeOneを更新しました。
- BladeOneをv4.5.3に更新しました。
改善
-
klecksの送信失敗の原因がサーバーエラーの時はエラー番号をアラートで表示します。
例えば、Klecksのデータを受信するsaveklecks.php
が存在しない時は、「エラー404」というアラートを表示します。 -
ファイルサイズが指定サイズよりも大きなときに、PNGからJPEGに変換する処理の作業ディレクトリを
TEMP_DIR
に変更しました。
処理に失敗して作業ファイルが残ってしまっても、テンポラリの自動削除機能で一定時間経過後に削除されるようになります。
バグ修正
- 動画(PCH)保存ディレクトリ
define('PCH_DIR', 'src/');
に、'src/'
以外のディレクトリが指定されている時にディレクトリの自動作成が機能せず、NEOの動画、ChickenPaintの.chi
ファイル、klecksの.psd
ファイルが保存できなくなっていたのを修正しました。ディレクトリが存在しない時は自動的に作成するようになりました。
変更があったディレクトリ
- BladeOne/ (BladeOne/ ディレクトリを上書きアップデート)
- klecks/ (klecks/ ディレクトリを上書きアップデート)
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/04/02] v5.16.5.1
Klecks更新
- レイヤーの最大枚数が8枚から16枚に増えました。
バグ修正
- テンプレートBASICのバグを修正しました。
search画面の画像の一覧のリンクが機能していなかったのを修正しました。
原因はHTMLの文法のミスでした。 - search画面のHTMLの文法エラーを修正しました。
checked="checked"
のクオートがエスケープされて文法エラーになっていたのを修正しました。
変更があったファイル
- search.php
変更があったディレクトリ
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/search.blade.php
MONO
- templates/mono/search.blade.php
[2022/03/25] v5.16.5
改善
Klecksの日本語訳
- Klecksを日本語に翻訳しました。
POTI-boardにも、日本語対応版を同梱する事ができました。
この新しいバージョンのKlecksは、ブラウザの言語の優先順位を自動検出して言語を切り替えてくれます。
また、ブラウザの言語の設定にかかわらず使用する言語を指定する事もできます。
英語、ドイツ語、日本語が選択できます。
中文は簡体字のみで細部はまだ英語のままです。
日本語訳のリソースはすでに開発元に統合されています。
アプリ固有ファイルのダウンロードボタンができました。
アプリ固有形式一覧
.pch
ファイル(PaintBBS).chi
ファイル(ChickenPaint).psd
ファイル(Klecks)
Klecksのレイヤー情報を含むファイルはPhotoshop形式の.psd
ファイルです。
ダウンロードした.psd
ファイルはクリスタやSAIそのほか多くのアプリで開く事ができます。
.pch
と、.chi
は、それぞれNEOとChickenPaintで開く事ができます。
管理者投稿過画面から.pch
、.chi
、.psd
を添付してペイントボタンを押せば、キャンバスに読み込んで投稿できます。
透過PNG、透過GIFのサムネイルの透明部分を白に変更
- 透過PNGの透明部分がJPEG化する時に、真っ黒になっていたのを修正しました。
透明色が黒も間違いではないのですが、意図しない結果になる事が多いため、透過GIF、透過PNGからJPEGに変換する時は、透明色を白に変換します。
バグ修正
- 管理者ログイン時に使うアップロードペイントアプリ固有形式、pch、chi、psdなどの不要になったファイルの自動削除機能の動作時に軽微なエラーが発生するケースがあったのを修正しました。
BladeOne更新
テンプレートエンジンBladeOneをv4.5に更新しました。
変更があったファイル
- potiboard.php
- thumbnail_gd.php
変更があったディレクトリ
- BladeOne/
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/basic.css
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/template_ini.php
[2022/03/12] v5.12.0
バグ修正
- Apple Pencilでメニューが操作できなくなっていたのを修正しました。
ChickenPaintやKlecksのメニュー操作がで操作できなくなっていたのを修正しました。
v3.19.5でペイント関連のテンプレートに追加したJavascriptが原因でした。
該当のJavascriptを削除して正常に動作することを確認しました。
Klecksを更新
- Klecksを最新版にアップデート。
新しいブラシが追加されました。ミラーペインティングができるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
テンプレート BASIC
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
テンプレート MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
POTI-board EVO v5.10.0 もご確認ください。
多くのファイルが更新されています。
[2022/03/8] v5.10.0
機能追加
- 新しいペイントアプリKlecksに対応しました。
わかりやすいUIと強力なブラシが使えるアプリです。
レイヤーは8枚使えます。
数多くのフィルタが使えます。輝度を透明に変換、明るさ/コントラスト、色調補正など。
このアプリの追加にともない、管理画面からアップロードできるファイル形式に「PSD」が追加されました。
PSDファイルを選択してペイントボタンを押すとKlecksのキャンバスにPSD画像が読み込まれます。
改善
- 複数の未投稿画像がある時は、一番新しい画像が選択されるようになりました。
これまでは、コメント欄のすぐ上の画像は投稿されず画面の一番上の画像が選択されていました。
バグ修正
- 強制sageが機能しなくなっていたのを修正しました。
- 未定義エラーを含む多くのマイナーなバグが修正されました。
レガシーなコードを整理
- 古いコードを整理ました。投稿するまえにJPEG/PNGを切り替える機能やペイント画面から新しい設定でお絵かきする機能は削除されました。
- 同梱テンプレートには存在しないものの、機能としては残っているのは文字色の選択機能だけになりました。
上書きアップデートするディレクトリ
BladeOne/
klecks/
テンプレートBASIC
templates/basic/
テンプレートMONO
templates/mono/
上書きアップデートするファイル
potiboard.php
save.php
追加するファイル
saveklecks.php
[2022/02/10] v5.05.0
バグ修正
テンプレートBASIC
- テンプレートBASICで管理者モードの時に「投稿フォーム」という文字列が「投稿フォーム」以外の時にも表示されていたバグを修正しました。
- img.logとtree.logの内容が一致しない時にレス画面に前後の画像を表示する機能で未定義エラーが発生する問題を修正しました。
しかし、img.logとtree.logの内容が一致しないという時点でそのログファイルは壊れています。
ログファイルが壊れるようなテストを行った過程でみつけた問題です。通常の使用ではログファイルは壊れないと思います。
機能追加
拒絶するURL
拒絶する文字列で指定された文字列がURLに存在する時は拒絶するようになりました。
また、拒絶する文字列とは別に使用できないURLの設定項目も追加しました。
//拒絶するurl
$badurl = array("example.com","www.example.com");
これまでは、URLのスパムワードチェックは何も行われていませんでした。
改善
日記モード
日記モードに設定しても、ペイントボタン下に表示される説明文が表示されたままになっていたのを改善しました。
しかし、追加の説明文 $addinfo
は表示する必要があるため、$addinfo
が存在するときは表示するように工夫しました。
古いスレッドでは続きを描くのリンクを表示しない。続きを描くを許可しない。
指定日数を超えた記事の編集をロックするだけでなく、続きを描く(画像の編集)もロックするようにしました。
これらの設定項目を作ったのはパスワードが第三者によって侵害されて記事が改変されるのを防ぐためです。
記事の編集はロックされますがユーザーによる削除はできます。
また管理者は指定日数を過ぎていてもテキストの編集ができます。
しかし、一定の指定日数でロックがかかると困る方もいらっしゃると思います。
define('ELAPSED_DAYS','365');
365
で1年以上経過したスレッドはロックされますが、
define('ELAPSED_DAYS','0');
0
に設定するとロックされません。
- 描いている最中に指定日数を過ぎてしまった時は新規投稿になります。
また描いている最中にスレッドが削除されていた時も新規投稿になるようにしました。
変更があったファイル
-
potiboard.php
-
config.php
新しい設定項目が必要ではない場合はすでに設定ずみの5.0系統のconfig.phpをそのまま使ってください。
テンプレートBASIC
日記モード時の表示の改善と管理画面の表示のバグ修正を行いました。
テンプレートMONO
日記モード時の表示の改善を行いました。
[2022/01/26] v5.01.03
概要
noteにまとめました。
PHP8.1対応作業。テンプレートエンジンに苦しめられる。|さとぴあ|note
テンプレートエンジンをbladeOneに変更
PHP8.1環境でSkinny.phpから非推奨のエラーが発生するため、テンプレートエンジンをbladeOneに変更しました。
しかし、それはテンプレートの互換性がなくなる事を意味します。
拡張子HTML
のテンプレートは、拡張子blade.php
のテンプレートに置き換えられました。
拡張子がHTML
ではないのでカスタマイズが難しそうに感じられるかもしれません。
しかし、中身は従来のテンプレートとほとんど同じです。
同梱したテンプレートは、これまで同梱していたPINKとMONOをBladeOneで使えるように修正したものです。
PINKの背景色を白に変更。名称もBASICに変更しました。
BASICは 黒鋼彗牙さんのCOOL SOLIDをベースにして作成したものです。
著作表記はテンプレートのLICENCEにあります。
テンプレートエンジンの変更で変わった事
PHP7.1
- PHP5.6環境でも動作するように開発していましたが、BladeOneのv4.2はPHP7.1以上の環境でなければ動作しない事がわかりました。
POTI-board EVO v5.xにはPHP7.1以上の環境が必要になりました。
改善
- 日記モードを調整しました。
新規投稿は管理者のみに設定してもペイントボタンは表示されたままで、絵を描き終わって投稿を完了させようと思ったら管理パス以外での投稿はできないというエラーが表示されて投稿できないという問題がありました。
新規投稿には管理パスが必要と設定した時点で新規投稿のためのペイントボタンが非表示になるようにしました。
管理者投稿画面にお絵かき機能を実装して、管理者はそこからお絵かき投稿が可能になるように作り直しました。
テンプレートをカスタマイズして使用している方のための情報。
スレッドの表示処理が大きく変わりました。
これまではスレッドの親の処理があり、それとは別にレスの処理がありました。
v5.xではその1スレッドの配列のループを一回で終わらせます。
そしてループの最初の一回目をスレッドの親として処理します。
具体的に書くと以下のような形です。
@foreach ($ress as $res)
{{-- 親記事ヘッダ --}}
@if ($loop->first)
{{-- 最初のループ --}}
<h2 class="article_title"><a href="{{$self}}?res={{$ress[0]['no']}}">[{{$ress[0]['no']}}]
{{$ress[0]['sub']}}</a></h2>
@else
<hr>
{{-- レス記事ヘッダ --}}
<div class="res_article_wrap">
<div class="res_article_title">[{{$res['no']}}] {{$res['sub']}}</div>
@endif
スレッドの最初のループの時は@if ($loop->first)
がtrueになります。
@if ($loop->first)
がtrueの時はスレッドの親として処理しています。
その箇所にスレッドの親の時だけ表示が異なる表題の<h2>
タグを入れています。
親とレスで別の変数を使う以前の方式では、何度も同じような事を書かなければいけませんでしたが、親とレスで表示が異なる箇所だけ分岐して、そのほかの箇所は共通部分として利用できるようになりました。
VScodeという無料のエディタに、拡張機能laravel-bladeをインストールするとエディタの画面がbladeの構文に最適化された配色に切り替わります。
v5.xのテンプレートが編集しやすくなります。
拡張機能もエディタ本体も無償で利用できます。
変更があったファイル
ChickenPaintの更新もありましたので、細かく列挙するよりもすべて変更と書いたほうがわかりやすいかもしれません。
config.phpは従来のものと大きくは変わっていないのですが最初から設定しなおしたほうが確実です。
気をつけなければならないのは、ログの保存件数です。
新しく設定したもののほうがログの保存件数が少なかった場合は、古いログファイルが意図ぜず保存件数オーバーになって消えてしまう事があるからです。
数年先を見据えて
テンプレートが非互換となったり、config.phpが再設定になってしまったりとお手数をおかけしますが、ご理解をいただけるようでしたら幸いです。
また、新しく1から作り直したお絵かき掲示板PHPスクリプトPetit Noteの使用もぜひご検討ください。
ダウンロード
下記ソースコードリンク...
POTI-board EVO v5.16.8 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.16.8 リリース
[2022/04/28] v5.16.8
Klecksを更新しました。
- iPadOSで発生するいくつかの問題が修正されました。
- 使用可能な言語に繁体字中文が追加されました。
テンプレートエンジンBladeOneを更新しました。
- BladeOneをv4.5.3に更新しました。
改善
-
klecksの送信失敗の原因がサーバーエラーの時はエラー番号をアラートで表示します。
例えば、Klecksのデータを受信するsaveklecks.php
が存在しない時は、「エラー404」というアラートを表示します。 -
ファイルサイズが指定サイズよりも大きなときに、PNGからJPEGに変換する処理の作業ディレクトリを
TEMP_DIR
に変更しました。
処理に失敗して作業ファイルが残ってしまっても、テンポラリの自動削除機能で一定時間経過後に削除されるようになります。
バグ修正
- 動画(PCH)保存ディレクトリ
define('PCH_DIR', 'src/');
に、'src/'
以外のディレクトリが指定されている時にディレクトリの自動作成が機能せず、NEOの動画、ChickenPaintの.chi
ファイル、klecksの.psd
ファイルが保存できなくなっていたのを修正しました。ディレクトリが存在しない時は自動的に作成するようになりました。
変更があったディレクトリ
- BladeOne/ (BladeOne/ ディレクトリを上書きアップデート)
- klecks/ (klecks/ ディレクトリを上書きアップデート)
変更があったファイル
- potiboard.php
変更があったテンプレート
BASIC
- templates/basic/paint_klecks.blade.php
MONO
- templates/mono/paint_klecks.blade.php
[2022/04/02] v5.16.5.1
Klecks更新
- レイヤーの最大枚数が8枚から16枚に増えました。
バグ修正
- テンプレートBASICのバグを修正しました。
search画面の画像の一覧のリンクが機能していなかったのを修正しました。
原因はHTMLの文法のミスでした。 - search画面のHTMLの文法エラーを修正しました。
checked="checked"
のクオートがエスケープされて文法エラーになっていたのを修正しました。
変更があったファイル
- search.php
変更があったディレクトリ
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/search.blade.php
MONO
- templates/mono/search.blade.php
[2022/03/25] v5.16.5
改善
Klecksの日本語訳
- Klecksを日本語に翻訳しました。
POTI-boardにも、日本語対応版を同梱する事ができました。
この新しいバージョンのKlecksは、ブラウザの言語の優先順位を自動検出して言語を切り替えてくれます。
また、ブラウザの言語の設定にかかわらず使用する言語を指定する事もできます。
英語、ドイツ語、日本語が選択できます。
中文は簡体字のみで細部はまだ英語のままです。
日本語訳のリソースはすでに開発元に統合されています。
アプリ固有ファイルのダウンロードボタンができました。
アプリ固有形式一覧
.pch
ファイル(PaintBBS).chi
ファイル(ChickenPaint).psd
ファイル(Klecks)
Klecksのレイヤー情報を含むファイルはPhotoshop形式の.psd
ファイルです。
ダウンロードした.psd
ファイルはクリスタやSAIそのほか多くのアプリで開く事ができます。
.pch
と、.chi
は、それぞれNEOとChickenPaintで開く事ができます。
管理者投稿過画面から.pch
、.chi
、.psd
を添付してペイントボタンを押せば、キャンバスに読み込んで投稿できます。
透過PNG、透過GIFのサムネイルの透明部分を白に変更
- 透過PNGの透明部分がJPEG化する時に、真っ黒になっていたのを修正しました。
透明色が黒も間違いではないのですが、意図しない結果になる事が多いため、透過GIF、透過PNGからJPEGに変換する時は、透明色を白に変換します。
バグ修正
- 管理者ログイン時に使うアップロードペイントアプリ固有形式、pch、chi、psdなどの不要になったファイルの自動削除機能の動作時に軽微なエラーが発生するケースがあったのを修正しました。
BladeOne更新
テンプレートエンジンBladeOneをv4.5に更新しました。
変更があったファイル
- potiboard.php
- thumbnail_gd.php
変更があったディレクトリ
- BladeOne/
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/basic.css
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/template_ini.php
[2022/03/12] v5.12.0
バグ修正
- Apple Pencilでメニューが操作できなくなっていたのを修正しました。
ChickenPaintやKlecksのメニュー操作がで操作できなくなっていたのを修正しました。
v3.19.5でペイント関連のテンプレートに追加したJavascriptが原因でした。
該当のJavascriptを削除して正常に動作することを確認しました。
Klecksを更新
- Klecksを最新版にアップデート。
新しいブラシが追加されました。ミラーペインティングができるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
テンプレート BASIC
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
テンプレート MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
POTI-board EVO v5.10.0 もご確認ください。
多くのファイルが更新されています。
[2022/03/8] v5.10.0
機能追加
- 新しいペイントアプリKlecksに対応しました。
わかりやすいUIと強力なブラシが使えるアプリです。
レイヤーは8枚使えます。
数多くのフィルタが使えます。輝度を透明に変換、明るさ/コントラスト、色調補正など。
このアプリの追加にともない、管理画面からアップロードできるファイル形式に「PSD」が追加されました。
PSDファイルを選択してペイントボタンを押すとKlecksのキャンバスにPSD画像が読み込まれます。
改善
- 複数の未投稿画像がある時は、一番新しい画像が選択されるようになりました。
これまでは、コメント欄のすぐ上の画像は投稿されず画面の一番上の画像が選択されていました。
バグ修正
- 強制sageが機能しなくなっていたのを修正しました。
- 未定義エラーを含む多くのマイナーなバグが修正されました。
レガシーなコードを整理
- 古いコードを整理ました。投稿するまえにJPEG/PNGを切り替える機能やペイント画面から新しい設定でお絵かきする機能は削除されました。
- 同梱テンプレートには存在しないものの、機能としては残っているのは文字色の選択機能だけになりました。
上書きアップデートするディレクトリ
BladeOne/
klecks/
テンプレートBASIC
templates/basic/
テンプレートMONO
templates/mono/
上書きアップデートするファイル
potiboard.php
save.php
追加するファイル
saveklecks.php
[2022/02/10] v5.05.0
バグ修正
テンプレートBASIC
- テンプレートBASICで管理者モードの時に「投稿フォーム」という文字列が「投稿フォーム」以外の時にも表示されていたバグを修正しました。
- img.logとtree.logの内容が一致しない時にレス画面に前後の画像を表示する機能で未定義エラーが発生する問題を修正しました。
しかし、img.logとtree.logの内容が一致しないという時点でそのログファイルは壊れています。
ログファイルが壊れるようなテストを行った過程でみつけた問題です。通常の使用ではログファイルは壊れないと思います。
機能追加
拒絶するURL
拒絶する文字列で指定された文字列がURLに存在する時は拒絶するようになりました。
また、拒絶する文字列とは別に使用できないURLの設定項目も追加しました。
//拒絶するurl
$badurl = array("example.com","www.example.com");
これまでは、URLのスパムワードチェックは何も行われていませんでした。
改善
日記モード
日記モードに設定しても、ペイントボタン下に表示される説明文が表示されたままになっていたのを改善しました。
しかし、追加の説明文 $addinfo
は表示する必要があるため、$addinfo
が存在するときは表示するように工夫しました。
古いスレッドでは続きを描くのリンクを表示しない。続きを描くを許可しない。
指定日数を超えた記事の編集をロックするだけでなく、続きを描く(画像の編集)もロックするようにしました。
これらの設定項目を作ったのはパスワードが第三者によって侵害されて記事が改変されるのを防ぐためです。
記事の編集はロックされますがユーザーによる削除はできます。
また管理者は指定日数を過ぎていてもテキストの編集ができます。
しかし、一定の指定日数でロックがかかると困る方もいらっしゃると思います。
define('ELAPSED_DAYS','365');
365
で1年以上経過したスレッドはロックされますが、
define('ELAPSED_DAYS','0');
0
に設定するとロックされません。
- 描いている最中に指定日数を過ぎてしまった時は新規投稿になります。
また描いている最中にスレッドが削除されていた時も新規投稿になるようにしました。
変更があったファイル
-
potiboard.php
-
config.php
新しい設定項目が必要ではない場合はすでに設定ずみの5.0系統のconfig.phpをそのまま使ってください。
テンプレートBASIC
日記モード時の表示の改善と管理画面の表示のバグ修正を行いました。
テンプレートMONO
日記モード時の表示の改善を行いました。
[2022/01/26] v5.01.03
概要
noteにまとめました。
PHP8.1対応作業。テンプレートエンジンに苦しめられる。|さとぴあ|note
テンプレートエンジンをbladeOneに変更
PHP8.1環境でSkinny.phpから非推奨のエラーが発生するため、テンプレートエンジンをbladeOneに変更しました。
しかし、それはテンプレートの互換性がなくなる事を意味します。
拡張子HTML
のテンプレートは、拡張子blade.php
のテンプレートに置き換えられました。
拡張子がHTML
ではないのでカスタマイズが難しそうに感じられるかもしれません。
しかし、中身は従来のテンプレートとほとんど同じです。
同梱したテンプレートは、これまで同梱していたPINKとMONOをBladeOneで使えるように修正したものです。
PINKの背景色を白に変更。名称もBASICに変更しました。
BASICは 黒鋼彗牙さんのCOOL SOLIDをベースにして作成したものです。
著作表記はテンプレートのLICENCEにあります。
テンプレートエンジンの変更で変わった事
PHP7.1
- PHP5.6環境でも動作するように開発していましたが、BladeOneのv4.2はPHP7.1以上の環境でなければ動作しない事がわかりました。
POTI-board EVO v5.xにはPHP7.1以上の環境が必要になりました。
改善
- 日記モードを調整しました。
新規投稿は管理者のみに設定してもペイントボタンは表示されたままで、絵を描き終わって投稿を完了させようと思ったら管理パス以外での投稿はできないというエラーが表示されて投稿できないという問題がありました。
新規投稿には管理パスが必要と設定した時点で新規投稿のためのペイントボタンが非表示になるようにしました。
管理者投稿画面にお絵かき機能を実装して、管理者はそこからお絵かき投稿が可能になるように作り直しました。
テンプレートをカスタマイズして使用している方のための情報。
スレッドの表示処理が大きく変わりました。
これまではスレッドの親の処理があり、それとは別にレスの処理がありました。
v5.xではその1スレッドの配列のループを一回で終わらせます。
そしてループの最初の一回目をスレッドの親として処理します。
具体的に書くと以下のような形です。
@foreach ($ress as $res)
{{-- 親記事ヘッダ --}}
@if ($loop->first)
{{-- 最初のループ --}}
<h2 class="article_title"><a href="{{$self}}?res={{$ress[0]['no']}}">[{{$ress[0]['no']}}]
{{$ress[0]['sub']}}</a></h2>
@else
<hr>
{{-- レス記事ヘッダ --}}
<div class="res_article_wrap">
<div class="res_article_title">[{{$res['no']}}] {{$res['sub']}}</div>
@endif
スレッドの最初のループの時は@if ($loop->first)
がtrueになります。
@if ($loop->first)
がtrueの時はスレッドの親として処理しています。
その箇所にスレッドの親の時だけ表示が異なる表題の<h2>
タグを入れています。
親とレスで別の変数を使う以前の方式では、何度も同じような事を書かなければいけませんでしたが、親とレスで表示が異なる箇所だけ分岐して、そのほかの箇所は共通部分として利用できるようになりました。
VScodeという無料のエディタに、拡張機能laravel-bladeをインストールするとエディタの画面がbladeの構文に最適化された配色に切り替わります。
v5.xのテンプレートが編集しやすくなります。
拡張機能もエディタ本体も無償で利用できます。
変更があったファイル
ChickenPaintの更新もありましたので、細かく列挙するよりもすべて変更と書いたほうがわかりやすいかもしれません。
config.phpは従来のものと大きくは変わっていないのですが最初から設定しなおしたほうが確実です。
気をつけなければならないのは、ログの保存件数です。
新しく設定したもののほうがログの保存件数が少なかった場合は、古いログファイルが意図ぜず保存件数オーバーになって消えてしまう事があるからです。
数年先を見据えて
テンプレートが非互換となったり、config.phpが再設定になってしまったりとお手数をおかけしますが、ご理解をいただけるようでしたら幸いです。
また、新しく1から作り直したお絵かき掲示板PHPスクリプトPetit Noteの使用もぜひご検討ください。
ダウンロード
下記ソースコードリンクからダウンロードできます。
Full Changelog: v5.16.5...v5.16.5.1
POTI-board EVO v5.16.5.1 リリース v3.09.x以下の古いバージョンには重大なバグがあります。
古いバージョンに存在する重大なバグ
-
v2.26.0以前のPOTI-boardにはXSSの脆弱性があります。
悪意のあるJavaScriptが実行される可能性があります。 -
v3.09.5以前のPOTI-boardのすべてのバージョンには重大な欠陥があります。
すべてのログファイルを失う可能性があります。
また、v3.x系統のPOTI-boardはPHP8.1環境下で非推奨のエラーが発生します。
現時点では警告ですがPHP9で動作が停止します。
そのためのv5.xの開発です。v5.xの利用をおすすめします。
POTI-board EVO v5.16.5.1 リリース
[2022/04/02] v5.16.5.1
Klecks更新
- レイヤーの最大枚数が8枚から16枚に増えました。
バグ修正
- テンプレートBASICのバグを修正しました。
search画面の画像の一覧のリンクが機能していなかったのを修正しました。
原因はHTMLの文法のミスでした。 - search画面のHTMLの文法エラーを修正しました。
checked="checked"
のクオートがエスケープされて文法エラーになっていたのを修正しました。
変更があったファイル
- search.php
変更があったディレクトリ
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/search.blade.php
MONO
- templates/mono/search.blade.php
[2022/03/25] v5.16.5
改善
Klecksの日本語訳
- Klecksを日本語に翻訳しました。
POTI-boardにも、日本語対応版を同梱する事ができました。
この新しいバージョンのKlecksは、ブラウザの言語の優先順位を自動検出して言語を切り替えてくれます。
また、ブラウザの言語の設定にかかわらず使用する言語を指定する事もできます。
英語、ドイツ語、日本語が選択できます。
中文は簡体字のみで細部はまだ英語のままです。
日本語訳のリソースはすでに開発元に統合されています。
アプリ固有ファイルのダウンロードボタンができました。
アプリ固有形式一覧
.pch
ファイル(PaintBBS).chi
ファイル(ChickenPaint).psd
ファイル(Klecks)
Klecksのレイヤー情報を含むファイルはPhotoshop形式の.psd
ファイルです。
ダウンロードした.psd
ファイルはクリスタやSAIそのほか多くのアプリで開く事ができます。
.pch
と、.chi
は、それぞれNEOとChickenPaintで開く事ができます。
管理者投稿過画面から.pch
、.chi
、.psd
を添付してペイントボタンを押せば、キャンバスに読み込んで投稿できます。
透過PNG、透過GIFのサムネイルの透明部分を白に変更
- 透過PNGの透明部分がJPEG化する時に、真っ黒になっていたのを修正しました。
透明色が黒も間違いではないのですが、意図しない結果になる事が多いため、透過GIF、透過PNGからJPEGに変換する時は、透明色を白に変換します。
バグ修正
- 管理者ログイン時に使うアップロードペイントアプリ固有形式、pch、chi、psdなどの不要になったファイルの自動削除機能の動作時に軽微なエラーが発生するケースがあったのを修正しました。
BladeOne更新
テンプレートエンジンBladeOneをv4.5に更新しました。
変更があったファイル
- potiboard.php
- thumbnail_gd.php
変更があったディレクトリ
- BladeOne/
- klecks/
ディレクトリ単位で上書きアップデート。
変更があったテンプレート
BASIC
- templates/basic/basic.css
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
- templates/basic/template_ini.php
MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
- templates/mono/template_ini.php
[2022/03/12] v5.12.0
バグ修正
- Apple Pencilでメニューが操作できなくなっていたのを修正しました。
ChickenPaintやKlecksのメニュー操作がで操作できなくなっていたのを修正しました。
v3.19.5でペイント関連のテンプレートに追加したJavascriptが原因でした。
該当のJavascriptを削除して正常に動作することを確認しました。
Klecksを更新
- Klecksを最新版にアップデート。
新しいブラシが追加されました。ミラーペインティングができるようになりました。
変更があったディレクトリ
- klecks/
変更があったファイル
- potiboard.php
テンプレート BASIC
- templates/basic/paint.blade.php
- templates/basic/paint_klecks.blade.php
テンプレート MONO
- templates/mono/mono_paint.blade.php
- templates/mono/paint_klecks.blade.php
POTI-board EVO v5.10.0 もご確認ください。
多くのファイルが更新されています。
[2022/03/8] v5.10.0
機能追加
- 新しいペイントアプリKlecksに対応しました。
わかりやすいUIと強力なブラシが使えるアプリです。
レイヤーは8枚使えます。
数多くのフィルタが使えます。輝度を透明に変換、明るさ/コントラスト、色調補正など。
このアプリの追加にともない、管理画面からアップロードできるファイル形式に「PSD」が追加されました。
PSDファイルを選択してペイントボタンを押すとKlecksのキャンバスにPSD画像が読み込まれます。
改善
- 複数の未投稿画像がある時は、一番新しい画像が選択されるようになりました。
これまでは、コメント欄のすぐ上の画像は投稿されず画面の一番上の画像が選択されていました。
バグ修正
- 強制sageが機能しなくなっていたのを修正しました。
- 未定義エラーを含む多くのマイナーなバグが修正されました。
レガシーなコードを整理
- 古いコードを整理ました。投稿するまえにJPEG/PNGを切り替える機能やペイント画面から新しい設定でお絵かきする機能は削除されました。
- 同梱テンプレートには存在しないものの、機能としては残っているのは文字色の選択機能だけになりました。
上書きアップデートするディレクトリ
BladeOne/
klecks/
テンプレートBASIC
templates/basic/
テンプレートMONO
templates/mono/
上書きアップデートするファイル
potiboard.php
save.php
追加するファイル
saveklecks.php
[2022/02/10] v5.05.0
バグ修正
テンプレートBASIC
- テンプレートBASICで管理者モードの時に「投稿フォーム」という文字列が「投稿フォーム」以外の時にも表示されていたバグを修正しました。
- img.logとtree.logの内容が一致しない時にレス画面に前後の画像を表示する機能で未定義エラーが発生する問題を修正しました。
しかし、img.logとtree.logの内容が一致しないという時点でそのログファイルは壊れています。
ログファイルが壊れるようなテストを行った過程でみつけた問題です。通常の使用ではログファイルは壊れないと思います。
機能追加
拒絶するURL
拒絶する文字列で指定された文字列がURLに存在する時は拒絶するようになりました。
また、拒絶する文字列とは別に使用できないURLの設定項目も追加しました。
//拒絶するurl
$badurl = array("example.com","www.example.com");
これまでは、URLのスパムワードチェックは何も行われていませんでした。
改善
日記モード
日記モードに設定しても、ペイントボタン下に表示される説明文が表示されたままになっていたのを改善しました。
しかし、追加の説明文 $addinfo
は表示する必要があるため、$addinfo
が存在するときは表示するように工夫しました。
古いスレッドでは続きを描くのリンクを表示しない。続きを描くを許可しない。
指定日数を超えた記事の編集をロックするだけでなく、続きを描く(画像の編集)もロックするようにしました。
これらの設定項目を作ったのはパスワードが第三者によって侵害されて記事が改変されるのを防ぐためです。
記事の編集はロックされますがユーザーによる削除はできます。
また管理者は指定日数を過ぎていてもテキストの編集ができます。
しかし、一定の指定日数でロックがかかると困る方もいらっしゃると思います。
define('ELAPSED_DAYS','365');
365
で1年以上経過したスレッドはロックされますが、
define('ELAPSED_DAYS','0');
0
に設定するとロックされません。
- 描いている最中に指定日数を過ぎてしまった時は新規投稿になります。
また描いている最中にスレッドが削除されていた時も新規投稿になるようにしました。
変更があったファイル
-
potiboard.php
-
config.php
新しい設定項目が必要ではない場合はすでに設定ずみの5.0系統のconfig.phpをそのまま使ってください。
テンプレートBASIC
日記モード時の表示の改善と管理画面の表示のバグ修正を行いました。
テンプレートMONO
日記モード時の表示の改善を行いました。
[2022/01/26] v5.01.03
概要
noteにまとめました。
PHP8.1対応作業。テンプレートエンジンに苦しめられる。|さとぴあ|note
テンプレートエンジンをbladeOneに変更
PHP8.1環境でSkinny.phpから非推奨のエラーが発生するため、テンプレートエンジンをbladeOneに変更しました。
しかし、それはテンプレートの互換性がなくなる事を意味します。
拡張子HTML
のテンプレートは、拡張子blade.php
のテンプレートに置き換えられました。
拡張子がHTML
ではないのでカスタマイズが難しそうに感じられるかもしれません。
しかし、中身は従来のテンプレートとほとんど同じです。
同梱したテンプレートは、これまで同梱していたPINKとMONOをBladeOneで使えるように修正したものです。
PINKの背景色を白に変更。名称もBASICに変更しました。
BASICは 黒鋼彗牙さんのCOOL SOLIDをベースにして作成したものです。
著作表記はテンプレートのLICENCEにあります。
テンプレートエンジンの変更で変わった事
PHP7.1
- PHP5.6環境でも動作するように開発していましたが、BladeOneのv4.2はPHP7.1以上の環境でなければ動作しない事がわかりました。
POTI-board EVO v5.xにはPHP7.1以上の環境が必要になりました。
改善
- 日記モードを調整しました。
新規投稿は管理者のみに設定してもペイントボタンは表示されたままで、絵を描き終わって投稿を完了させようと思ったら管理パス以外での投稿はできないというエラーが表示されて投稿できないという問題がありました。
新規投稿には管理パスが必要と設定した時点で新規投稿のためのペイントボタンが非表示になるようにしました。
管理者投稿画面にお絵かき機能を実装して、管理者はそこからお絵かき投稿が可能になるように作り直しました。
テンプレートをカスタマイズして使用している方のための情報。
スレッドの表示処理が大きく変わりました。
これまではスレッドの親の処理があり、それとは別にレスの処理がありました。
v5.xではその1スレッドの配列のループを一回で終わらせます。
そしてループの最初の一回目をスレッドの親として処理します。
具体的に書くと以下のような形です。
@foreach ($ress as $res)
{{-- 親記事ヘッダ --}}
@if ($loop->first)
{{-- 最初のループ --}}
<h2 class="article_title"><a href="{{$self}}?res={{$ress[0]['no']}}">[{{$ress[0]['no']}}]
{{$ress[0]['sub']}}</a></h2>
@else
<hr>
{{-- レス記事ヘッダ --}}
<div class="res_article_wrap">
<div class="res_article_title">[{{$res['no']}}] {{$res['sub']}}</div>
@endif
スレッドの最初のループの時は@if ($loop->first)
がtrueになります。
@if ($loop->first)
がtrueの時はスレッドの親として処理しています。
その箇所にスレッドの親の時だけ表示が異なる表題の<h2>
タグを入れています。
親とレスで別の変数を使う以前の方式では、何度も同じような事を書かなければいけませんでしたが、親とレスで表示が異なる箇所だけ分岐して、そのほかの箇所は共通部分として利用できるようになりました。
VScodeという無料のエディタに、拡張機能laravel-bladeをインストールするとエディタの画面がbladeの構文に最適化された配色に切り替わります。
v5.xのテンプレートが編集しやすくなります。
拡張機能もエディタ本体も無償で利用できます。
変更があったファイル
ChickenPaintの更新もありましたので、細かく列挙するよりもすべて変更と書いたほうがわかりやすいかもしれません。
config.phpは従来のものと大きくは変わっていないのですが最初から設定しなおしたほうが確実です。
気をつけなければならないのは、ログの保存件数です。
新しく設定したもののほうがログの保存件数が少なかった場合は、古いログファイルが意図ぜず保存件数オーバーになって消えてしまう事があるからです。
数年先を見据えて
テンプレートが非互換となったり、config.phpが再設定になってしまったりとお手数をおかけしますが、ご理解をいただけるようでしたら幸いです。
また、新しく1から作り直したお絵かき掲示板PHPスクリプトPetit Noteの使用もぜひご検討ください。
ダウンロード
下記ソースコードリンクからダウンロードできます。
Full Changelog: v5.16.5...v5.16.5.1