Skip to content

Releases: satopian/Petit_Note

Petit Note v1.65.0リリース

23 Jul 15:00
Compare
Choose a tag to compare

Petit Noteとは

  • 1スレッド1ログファイル形式のスレッド式の画像掲示板です。
    PaintBBS NEO,tegaki.jsAXNOS Paint,ChickenPaint,Klecksが使えるお絵かき掲示板です。

ダウンロード

  • このページの一番下のソースコードリンクからダウンロードできます。

English version is here

Petit Note v1.65.0リリース

2024/12/24 v1.65.0.1

PaintBBS NEOの続きを描く画面でアニメーションを再生しない

  • NEOで続きを描くと、描いた手順の描画アニメが再生され再生を最後まで待つか、画面をタップして再生をスキップする必要がありました。
  • 今回の更新で続きを描く画面では描画アニメを再生せず、アニメデータからレイヤー情報だけを取得して静止画として画面に出力するようになりました。
  • これにより、アニメの再生がはじまった時にタップしてスキップする必要がなくなりました。
  • アニメを見られたくない人が「動画を表示しない」にしていても、誰でも続きが描ける時はキャンバス上でアニメが再生され描いた手順を見られてしまうという問題を解消する事ができました。
  • オリジナルのPaintBBSにより近い動作になりました。

変更があったファイル

  • app/neo/neo.js
  • index.php

変更があったテンプレート

  • template/basic/paint_neo.html

2024/12/16 v1.63.5

「SNSで共有」機能がThreadsに対応しました

241216_Threads対応

  • Meta社のSNS「Threads」の共有リンクが作成できるようになりました。
    変更するファイルの数は少ないのですが、「Threads」に対応させるには、config.phpの再設定が必要になります。
    「Threads」対応の必要が無い場合は、config.phpの再設定は必要ありません。
// SNS共有の時に一覧で表示するサーバ
//例 	["表示名","https://example.com (SNSのサーバのurl)"],(最後にカンマが必要です)

$servers =
[
		
	["X","https://x.com"],
	["Bluesky","https://bsky.app"],
	["Threads","https://www.threads.net"],
	["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"],

];
// SNS共有の時に開くWindowsの幅と高さ

//windowの幅 初期値 600
$sns_window_width = 600;

//windowの高さ 初期値 600
$sns_window_height = 600;

["Threads","https://www.threads.net"],
が1行追加になり
さらに
$sns_window_width = 600;
$sns_window_height = 600;
のように、初期値を600pxに変更しています。
ここのウィンドウサイズを変更しなくても表示できますが、画面下側が少し隠れ気味になります。
また、従来のウィンドウ幅でSNSの共有先の画面が表示されたあとの操作のための幅と高さが不足していたかもしれません。
そのため、幅、高さともに600pxに拡張しています。

変更があったファイル

  • config.php
    (SNS共有で、Threadsの共有リンクを作成したい場合は更新が必要)
  • functions.php
  • index.php

2024/12/12 v1.63.5

PaintBBS NEOで「画像から続き」を描いた時にもレイヤー情報を保存

  • 「動画から続きを描く」「画像から続きを描く」のうち、画像から続きを描くを選択した時には、描画アニメデータを保存しない仕様を廃止して、どちらを選択しても、描画アニメデータを記録するようにしました。
    「画像から続きを描く」とその画像以前の描画アニメデータは消えますが、そこから作画した描画アニメデータは記録されるようになりました。
    単に作画工程を再現するだけでなく、そこにはレイヤー情報が含まれているからです。
    意図せずレイヤー情報が消えてしまうリスクを減らします。
  • 描画アニメデータが保存されない時は、「レイヤー情報は保存されません。続行してよろしいですか?」という確認ダイヤログが開くようになりました。
    「OK」「キャンセル」のうち「OK」を押した時にのみ、レイヤー情報なしの状態で保存します。
    キャンセルすれば、レイヤー情報が消えてしまう前提で作画を続行できます。
  • 「画像から続き」を描いた時にも描画アニメデータが記録されるようになったため、「動画を表示しない」のチェックボックスを表示するしないの判定をJavaScriptで行うようになりました。

マークダウン形式のリンクの機能を改善

  • マークダウン形式のリンク[文字列](URL)を改善しました。
    文字列を指定する[]の中にさらに[]がある時は、バックスラッシュ(円マーク)でエスケープします。
    エスケープされていれば
    [12345] Petit Note
    のようなリンクになります。
    例)
[\[12345\] Petit Note](https://example.com)

マークダウン形式のリンクを作成するChromeの拡張機能のいくつかは、上記の例のように[]の中の[]をバックスラッシュでエスケープしますから、拡張機能が作成したマークダウンのリンクをそのまま使う事ができます。

記事編集前画面からスレッドに戻る

  • 記事の編集・削除前画面からスレッドに戻るリンクをクリックした時に、該当発言の位置まで画面がスクロールするようになりました。

AXNOS Paint更新

  • 軽微なCSSのバグを修正しました。

変更があったファイル

  • app/axnos/axnospaint-lib.min.js
  • app/neo/neo.js
  • functions.php
  • index.php

変更があったテンプレート

  • template/basic/continue.html
  • template/basic/paint_neo.html
  • template/basic/parts/before_edit_nav_menu.html

2024/12/08 v1.61.1

ペイントツール固有形式ファイルが存在している時にもすべてのツールで続きを描く事が可能に

  • これまではChickenPaint固有形式.chi、PaintBBS NEO固有形式.pch、Klecks固有形式.psdが存在する時は対応するペイントツールが起動して、他のツールを選択する事ができませんでした。
    これは、レイヤー情報を含むファイルが存在しているのに、レイヤー情報を引き継ぐ事ができない別のペイントツールを選択する必要はないという判断からでした。
    しかしながら合作などの場合には、描きやすいツールが人によって異なるため、ツールを自由に切り替える選択肢も必要でした。

241208_続きを描くツールを選択可能に

「続きを描く」時に、レイヤー情報が存在するツールのみの状態で画面が開いたあと、「別のツールを選択する」ボタンを押下すればツール選択のプルダウンメニューが表示されるようになりました。

AXNOS Paint更新

  • 画面が狭い端末でも操作しやすくなりました。

変更があったファイル

  • app/axnos/ ディレクトリを上書きアップデート
  • index.php

変更があったテンプレート

  • template/basic/continue.html
    (従来と同じ機能のままで問題なければテンプレートを変更する必要はありません。)

2024/12/04 v1.60.7

ChickenPaint Beで通信エラーが発生した時のHTTPステータスコードをよりわかりやすく

  • これまでChickenPaint Beで通信エラーが発生した時のエラーメッセージは英語のみでした。
    今回の更新で日本語環境の時には、通信エラー時のエラーメッセージが日本語で表示されるようになりました。
  • 最初に表示される「画像を保存できませんでした。」に続く文言に「エラーメッセージをご確認ください。」と入るようになりました。
    エラーが発生した状況の詳細は、このアラートではなく次に表示されるエラーメッセージにあるのでそちらを見て欲しいからです。

image

「エラーメッセージをご確認ください」に文言を変更。

image

エラーメッセージの3桁の数字がHTTPステータスコードである事をわかりやすく表示。

この場合は「404」なので、404Not Foundです。
サーバが混雑している時には「503」が返ってくる可能性が高く、サーバによる拒否であれば「403」が返ってきます。
「200」の時には投稿可能な状態なので、エラーメッセージは表示されず投稿処理が行われます。

変更があったファイル

  • app/chickenpaint/ ディレクトリを上書きアップデート
  • index.php

2024/12/03 v1.60.6

ユーザー認証コードの見直し

  • ユーザーコードを64文字に拡大しました。
  • 画像差し換え時の認証コードのハッシュ値の種にパスワードを使用するのを止めました。
  • 画像差し換え時の認証コードに、記事番号と記事IDをそのまま含める形にし、記事が異なる時には認証コードの重複が発生しないようにしました。
    (従来の方式でも重複発生による事故は確認されていません。)
  • 画像差し換え処理の時にも、投稿された画像の本人確認を追加して、ユーザーコードあるいはIPアドレスが一致する時にのみ投稿が成功するようにしました。

コード整理

  • 機能上はなんら変わりありませんが、削除可能な箇所のコードを削除して、メンテナンスしやすくしました。

ChickenPaint Be更新

image

Feature request/proposal: converting brightness to opacity · Issue #4 · satopian/ChickenPaint_Be

  • 「輝度を透明度に変換」機能を追加しました。
  • @SuzuSuzu-HaruHaruさんが作成した原型をもとに不透明度の計算方法を調整し、一般的なペイントソフトと比較しても遜色のない機能として実装しました。

変更があったファイル

  • app/chickenpaint/ ディレクトリを上書きアップデート
  • functions.php
  • index.php
  • misskey_note.inc.php

変更があったテンプレート

  • template/basic/continue.html
  • template/basic/search.html
    今回のテンプレートの更新はHTMLファイル内のif文の複雑さの解消だったりしますので、とくに更新しなくても問題なく動作します。

2024/11/26 v1.58.3

  • PHP8.4で、exit()が言語構造から関数になったため、丸括弧なしのexit;exit();に変更しました。
    丸括弧なしのexit;は将来のバージョンのPHPでは非推奨になる可能性があります。

【PHP8.4】exitが言語構造ではなくなった #日本語訳 - Qiita
https://qiita.com/rana_kualu/items/60912b8cac8deeaa3560

  • webp形式のサムネイルへの切り替えの対応が不十分だっただめ、投稿通知メールに、サムネイルのurlが表示されなくなっていたのを修正しました。
  • サムネイル作成ができるかどうかチェックしていた関数をthumbnail_gd.inc.phpのメソッドにして1つのclassにまとめました。
    functions.phpの行数が減りメンテナンスしやすくなりました。

変更があったファイル

  • functions.php
  • index.php
  • thumbnail_gd.inc.php

変更があったテンプレート

  • template/basic/error.html

2024/11/22 v1.58.3

新しいPHP8.4に対応させるため古いPHP5.6の対応を終了

  • 古いPHP5.6でも使えるようにしてきましたが、PHP7.0以後に追加された新しい関数を使用する必要にせまられたため、PHP5.6の対応を終了しました。
  • 動作環境はPHP7.0-PHP8.4になります。

PHP8.4のRFCで削除が検討されたものの、反対票がわずかに多かったため非推奨にならなかった関数のいくつかをPetit Noteで使用していました。

PHP: rfc:deprecations_php_8_4
https://wiki.php.net/rfc/deprecations_php_8_4

Deprecate uniqid()

今後の事を考えて、uniqid()の使用をやめ、代わりにrandom_bytes()を使用する事にしました。
しかし、この関数はPHP7.0以降でなければ使う事ができないため、Petit Noteの動作環境を、PHP7.0からPHP8.4に変更しなければならなくなりました。
よほど古いサーバであったり、古いPHPスクリプトを動作させる必要があるとかでなければ、PHP5.6対応終了で困る事はないと思いますが、サーバのPHPのバージョンの設定でPHP5.6を選択している方は、お手数ですがPHP7.0以降への設定の切り替えをお願いします。

同じ画像チェックのためのハッシュ値のアルゴリズムをmd5からsha256へ

Deprecate md5(), sha1(), md5_file(), and sha1_file()

PHP8.4のRFCでmd5()の廃止も検討されていました。
そのため、同じ画像が連続投稿されるのを防止するために使用していたmd5による画像のハッシュ値の取得をsha256に変更しました。

問題点

  • これまでのログファイルのハッシュ値はmd5で取得したものであるため、過去の画像のハッシュ値は意味をなさなくなってしまいます。
  • そのため、v1.58.3への更新後に新規に投稿された画像のみが重複チェックの対象になります。

クロールしても意味がない「編集」「未投稿画像」のリンクにrel="nofollow"

  • Googleがクロールに使ってくれる時間は有限でリンク数が多いと「割当量を超えています」となり、それ以上クロールしてくれません。
  • この時に、クロールしても意味が無いリンクをクロールしないように指定するとその分、必要なクロールをしてくれます。
  • 「編集」「未投稿画像」のリンクを辿ってクロールしないように指定しました。

変更があったファイル

  • functions.php
  • index.php
  • misskey_note.inc.php

変更があったテンプレート

  • template/basic/main.html
  • template/basic/res.html
  • template/basic/paint_axnos.html

2024/11/15 v1.57.5

NEO更新

  • PaintBBS NEOを v1.6.8(Petit Note版)に更新しました。

描画時間の英語表記の改善

  • hrをhour、hoursに変更。単数形と複数形の切り替え。「1 hour」「2 hours」のようなより自然な英語表記になります。
  • 日本語表示に変更はありません。ブラウザの優先言語が日本語の時には日本語で「1時間」「2時間」のように表示します。

短くできるコードは短くする

  • ファイルポインタを開いてユーザーデータを取得していた処理を、file_get_contents()に置き換えてコードをより簡潔に。

クロールしても意味がないSNS連携のリンクにrel="nofollow"

  • Googleなどの検索エンジンにこのリンクを辿らないようにと指示をだす、rel="nofollow"で、SNS連携のリンクをクロール対象から外します。
  • クロールしても意味がないにも関わらずSNS連携のリンクは1スレッドに一箇所存在するため、Googleはクロールしようとします。
  • クロールして欲しいページが割当量超過でクロールされなくなる問題の改善を期待して実装しました。

変更があったファイル

  • app/neo/ ディレクトリを上書きアップデート
  • functions.php
  • index.php

変更があったテンプレート

  • template/basic/parts/threads_loop.html

2024/11/11 v1.57.2

バグ修正

  • v1.57.0で発生した、記事を編集するとサムネイル画像ではなく、本体画像がそのまま表示されてしまうバグを修正しました。
  • 修正されたv1.57.2で再度記事を編集すれば、再度サムネイル用の縮小された画像が表示されるようになります。

.htaccessをApache2.2形式からApache2.4形式に

  • Apache2.4で非推奨になったorder allow denyを、Apache2.4にあわせて書き直しました。
    2024年時点のレンタルサーバの多くは、まだ古い書き方でも動作しているようですが、Apache2.2は2017年にサポートが終了しているため、新しい.htaccessへの更新をお願いします。

参考文献

Upgrading to 2.4 from 2.2 - Apache HTTP Server Version 2.4
https://httpd.apache.org/docs/2.4/ja/upgrading.html

Apache | Requireディレクティブ:アクセスの許可や拒否などのアクセス制限を行う(Apache2.4以降)
https://www.javadrive.jp/apache/allow/index1.html

変更があったファイル

  • index.php
  • .htaccess
  • template/.htaccess

2024/11/10 v1.57.0

webpサムネイルがある時はjpegのサムネイルを作成しない

  • これまではjpeg、webp両方のサムネイルを作成して、pictureタグでwebp形式の画像が表示できないブラウザの時にはjpeg形式のサムネイルを表示していました。
    しかしながら、v1.56.2で、本体画像そのもののwebp形式への変換が行われる仕様になったため、すでにwebpが表示できないブラウザの対応ができなくなっていました。
    そのため、中途半端なwebpが表示できないブラウザの対応を終了します。
    これにより、webp形式のサムネイルが作成に成功した時はjpeg形式のサムネイルを作成する必要がなくなりました。
    テンプレートのhtmlのpictureタグでwebpとjpegを振り分けていた処理が必要なくなりました。

変更があったファイル

  • functions.php
  • index.php

変更があったテンプレート

  • template/basic/parts/before_edit_del_res_loop.html
  • template/basic/parts/edit_form_res_loop.html
  • template/basic/parts/threads_loop.html

2024/11/08 v1.56.8

Klecksでファイルサイズが大きすぎる時に詳細なエラーメッセージを表示

  • 「ファイルサイズが大きすぎます。制限値:20MB 現在値30MB」のような形式でエラーメッセージを表示します。
    Klecksで出力するPNG形式の画像...
Read more

Petit Note v0.81.5リリース

06 Jul 12:24
Compare
Choose a tag to compare

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のサーバ一覧画面の操作性を向上

image

共有するサーバの選択時にラベルの文字列の上にカーソルをあわせなくても選択できるようにしました。
ラベルの文字列の右側の余白をタップした時にも選択できるうようになりました。

  • 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のサーバ一覧画面のデザインを調整しました。

image

ラジオボタンのチェックサークルを非表示にしました。
ラベルのホバー時に背景色が表示されるようにしました。

変更があったファイル

  • 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に投稿を共有できるようになりました。

image

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に記事を共有できます。
    一覧に無いサーバも直接入力すれば共有できます。

image

変更があったファイル

  • 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の描画アニメの記録と再生に対応しました。

230621_tegaki_sukumizu_001

描画アニメにはレイヤー情報が保存されているのですが、現時点では続きを描く事ができるのはレイヤーが統合された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 に対応

image

英語文化圏の画像掲示板で使用されているお絵かきアプリ、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では軽微な表現の場合にもメディアへの「閲覧注意」の設定が義務付けられています。
一方で「閲覧注意」のメディアをぼかさずそのまま表示する事もできるようになっています。
この事によって、観たくない人の目にはふれにくくなり、一方で見たい人は余分なタップを行う事なく画像を閲覧する事ができるようになっています。
それとほぼ同じ設定項目を「編集メニュー」に追加しました。

230609_001nsfw

これにより、閲覧注意に設定された画像が増えた場合でも、閲覧注意を隠さないに設定している人はそのまま画像を表示できます。
管理者権限で閲覧注意に切り替えた場合、投稿者が「ぼかしが入ってしまったし見てくれる人はいない」と感じる場合があります。
今回の機能追加によって、閲覧注意に変更されても画像をそのまま見ている人もいると捉えてもらえるようになるかもしれません。

ぼかしが入らない状態でも、閲覧注意に設定されている画像には「NSFW」の文字が小さく入ります。
投稿者が閲覧注意に設定して配慮している事がわかるようにするためです。

// 閲覧注意を設定する
//する: trueに設定すると閲覧注意の設定ができるようになります。閲覧注意画像にぼかしが入ります。
// する: ...
Read more

Petit Note v0.78.9リリース

03 Jun 12:47
Compare
Choose a tag to compare

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の描画アニメの記録と再生に対応しました。

230621_tegaki_sukumizu_001

描画アニメにはレイヤー情報が保存されているのですが、現時点では続きを描く事ができるのはレイヤーが統合された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 に対応

image

英語文化圏の画像掲示板で使用されているお絵かきアプリ、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では軽微な表現の場合にもメディアへの「閲覧注意」の設定が義務付けられています。
一方で「閲覧注意」のメディアをぼかさずそのまま表示する事もできるようになっています。
この事によって、観たくない人の目にはふれにくくなり、一方で見たい人は余分なタップを行う事なく画像を閲覧する事ができるようになっています。
それとほぼ同じ設定項目を「編集メニュー」に追加しました。

230609_001nsfw

これにより、閲覧注意に設定された画像が増えた場合でも、閲覧注意を隠さないに設定している人はそのまま画像を表示できます。
管理者権限で閲覧注意に切り替えた場合、投稿者が「ぼかしが入ってしまったし見てくれる人はいない」と感じる場合があります。
今回の機能追加によって、閲覧注意に変更されても画像をそのまま見ている人もいると捉えてもらえるようになるかもしれません。

ぼかしが入らない状態でも、閲覧注意に設定されている画像には「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になりました。

image

  • 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スレッド分さかのぼって重複チェックをして...
Read more

Petit Note v0.72.8リリース

06 May 14:14
Compare
Choose a tag to compare

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枚で起動するようになりました。

image

真っ白な背景レイヤーと透明なレイヤー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で設定できるようになりました。

image

これらは、上記設置サポート掲示板などで利用する時に必要な設定項目でした。
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

エラーメッセージの非同期通信化をさらに拡大

image

  • エラーメッセージを画面を切り替えることなく表示することができるようになりました。コメントの入力欄だけでなく、お絵かきボタン、続きを描く、ダウンロード、編集、削除、管理者ログイン各フォームで非同期通信を使ったエラーメッセージの表示ができるうようになりました。
    これにより、エラー画面が表示され、戻るリンクをタップして前の画面に戻るという一連の煩わしい操作から解放されます。
    またエラーメッセージの表示をより安全な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

  • 編集画面→画像差し換えの時のエラメッセージも非同期通信で取得します。エラーメッセージは、同じ画面に表示されます。

image

変更があったフィル

  • 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等。

image

入力したテキストがWAFによって誤検知された時には、403 Forbiddenとなります。
サーバの...

Read more

Petit Note v0.68.8.1リリース

11 Apr 06:36
Compare
Choose a tag to compare

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

エラーメッセージの非同期通信化をさらに拡大

image

  • エラーメッセージを画面を切り替えることなく表示することができるようになりました。コメントの入力欄だけでなく、お絵かきボタン、続きを描く、ダウンロード、編集、削除、管理者ログイン各フォームで非同期通信を使ったエラーメッセージの表示ができるうようになりました。
    これにより、エラー画面が表示され、戻るリンクをタップして前の画面に戻るという一連の煩わしい操作から解放されます。
    またエラーメッセージの表示をより安全な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

  • 編集画面→画像差し換えの時のエラメッセージも非同期通信で取得します。エラーメッセージは、同じ画面に表示されます。

image

変更があったフィル

  • 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等。

image

入力したテキストがWAFによって誤検知された時には、403 Forbiddenとなります。
サーバのWAFが有効でかつコメントの入力欄にJavaScriptやPHP等のコードが記入された時にセキュリティ上のリスクを回避するために403 Forbiddenとなる場合があります。
その場合はテキストを短く分割してみる。コードを書かない。WAFを解除するなどの検討をお願いします。
通常の会話の内容であれば誤検出される事はないと思います。

###変更があったファイル

  • template/basic/js/common.js

v0.65.2 のリリース内容もあわせてご確認ください。

23/04/19 v0.65.2

エラーメッセージをフォーム入力欄に直接表示する事ができるようになりました

  • 従来のエラー画面

230420_fetch_api_0

  • 新しいエラー表示

230420_fetch_api

サーバーに通信する時にブラウザの画面を切り替える必要がない、非同期通信を採用し、エラーが発生した時のエラーメッセージをフォームの入力欄の上に表示します。
これによりエラー画面からもどって修正する必要がなくなります。

  • CSRFトークンが一致しませんについて
    「CSRFトークンが一致しません。」というエラーメッセージがでた時には入力欄でリロードする必要があります。
    エラーメッセージは別画面に表示されるためエラーメッセージが表示されている画面でリロードしてもエラーはなくなりません。
    さらに、エラーメッセージの表示の「もどる」のリンクで前の画面にブラウザバックすると古いトークンがキャッシュされた画面が表示されるため、トークン不一致のエラーから抜け出せなくなる事がありました。

今回の更新でエラーメッセージのテキストの内容も修正し「CSRFトークンが一致しません。リロードしてください。」というエラーメッセージをフォームの入力欄の画面に表示する形に変更する事ができました。
エラーメッセージにしたがってリロードすればトークン不一致のエラーから抜け出せます。

ひとつ前のバージョンv0.63.10に投稿者のIPアドレスが表示されてしまう大きなバグがありました。

  • 管理者のみが閲覧可能なはずのIPアドレスが、表示されてしまうバグが見つかりました。
    これは、v0.63.10の以下の機能追加の時に発生した作業ミスによるものです。

「この記事は存在しません」という投稿を管理者編集モードで表示したときに、投稿者にホスト名を表示できるようにしました。

「この記事は存在しません。」という表示になった時は誰でもIPアドレスを閲覧可能になっていました。
公開からあまり時間が経過していない事からv0.63.10を使っている方は少数とは思いますが、もしもv0.63.10をご利用の場合は、ただちに最新版へのアップデートをお願いします。
テンプレートの、main.htmlres.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ページ中にすでに閉じたスレッドがある時にそのスレッドより下のスレッドが閉じている...

Read more

Petit Note v0.63.5​リリース

27 Mar 10:55
Compare
Choose a tag to compare

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つの時は、その記事を削除すればスレッドが削除されます。

スレッドを立てた人が最初の投稿を削除するとスレッド全体が削除されるてしまう問題を修正しました。
スレッドの最初の投稿のみを削除できるようになりました。

管理者編集モードでログインしている管理者は、「スレッドを削除」を選択する事ができます。

Screen-2023-03-27_18-49-56

スレッドの最初の投稿を削除しても、スレッド削除を選択していない場合は、「この記事はありません。」に表示が置き換わり、スレッドは削除されません。

Screen-2023-03-27_18-53-08

そのほか

  • 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つのスレッドにまとめる事ができるようになります。

また返信として投稿されたお絵かき画像からの続きを描く時には、同じスレッドへの投稿になるようにしていましたが、こちらも返信からの新規投稿を新しいスレッドに投稿したい場合があり、自由に選択できるようにするべきという結論に達しました。

230307_続きを描く_同じスレッドに投稿する

その選択のために「同じスレッドに投稿する」というチェックボックスを追加しました。
しかし「画像差し換え」の場合は同じスレッドに投稿するより他ないためこの選択肢は不要です。

そこで、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を最新版にアップデート

image

  • ダークテーマが選択可能になりました。
  • フランス語に対応しました。
  • iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。

カタログ画面の表示が検索画面と同じ表示になりました。

  • 大き目のディスプレイを使用時3列、スマホ2列だった表示を5列、スマホ4列に変更しました。
  • 検索画面と共通のCSSを使用する形に変更になりました。
    <div class="catalog_desc_wrap">が、<div class="catalog_wrap">に変更されていたり、divがspanに変更になっていたりします。
    また検索画面のテンプレートは大幅に変更になりました。

index.csssearch.csscatalog.htmlsearch.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のほうが高機能です。

230220_002_検索機能を追加

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フォルダの...
Read more

Petit Note v0.61.9​リリース

06 Mar 23:30
Compare
Choose a tag to compare

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つのスレッドにまとめる事ができるようになります。

また返信として投稿されたお絵かき画像からの続きを描く時には、同じスレッドへの投稿になるようにしていましたが、こちらも返信からの新規投稿を新しいスレッドに投稿したい場合があり、自由に選択できるようにするべきという結論に達しました。

230307_続きを描く_同じスレッドに投稿する

その選択のために「同じスレッドに投稿する」というチェックボックスを追加しました。
しかし「画像差し換え」の場合は同じスレッドに投稿するより他ないためこの選択肢は不要です。

そこで、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を最新版にアップデート

image

  • ダークテーマが選択可能になりました。
  • フランス語に対応しました。
  • iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。

カタログ画面の表示が検索画面と同じ表示になりました。

  • 大き目のディスプレイを使用時3列、スマホ2列だった表示を5列、スマホ4列に変更しました。
  • 検索画面と共通のCSSを使用する形に変更になりました。
    <div class="catalog_desc_wrap">が、<div class="catalog_wrap">に変更されていたり、divがspanに変更になっていたりします。
    また検索画面のテンプレートは大幅に変更になりました。

index.csssearch.csscatalog.htmlsearch.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のほうが高機能です。

230220_002_検索機能を追加

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

スレッドを閉じる前に事前に知らせる機能を追加しました

image

  • 古いスレッドが閉じられる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...
Read more

Petit Note v0.60.10​リリース

19 Feb 13:24
Compare
Choose a tag to compare

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を最新版にアップデート

image

  • ダークテーマが選択可能になりました。
  • フランス語に対応しました。
  • iPhone、iPadのタッチジェスチャーでフリーズする問題が修正されました。

カタログ画面の表示が検索画面と同じ表示になりました。

  • 大き目のディスプレイを使用時3列、スマホ2列だった表示を5列、スマホ4列に変更しました。
  • 検索画面と共通のCSSを使用する形に変更になりました。
    <div class="catalog_desc_wrap">が、<div class="catalog_wrap">に変更されていたり、divがspanに変更になっていたりします。
    また検索画面のテンプレートは大幅に変更になりました。

index.csssearch.csscatalog.htmlsearch.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のほうが高機能です。

230220_002_検索機能を追加

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

スレッドを閉じる前に事前に知らせる機能を追加しました

image

  • 古いスレッドが閉じられる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の動画ファイルを表示するしないを投稿者が選択できるようになりました

image

お絵かきコメントの時に「動画を表示しない」を選択すると、動画のリンクがでません。
また動画のURLを呼び出してもエラーになります。

image

編集画面で、「動画を表示しない」のチェックを外すと、動画が表示されるようになります。
編集画面で、「動画を表示しない」にチェックをいれると、動画が表示されなくなります。

image

「続きを描く」画面で「動画を表示しない」を選択すると、「差し換え」でも「新規投稿でも」動画のリンクがでなくなります。

PaintBBS NEOの動画は描いた手順を記録しているだけでなく、レイヤー情報も保存しているため続きを描く時に必要になります。
そのため、「動画を保存しない」というオプションはPetit Noteでは採用していません。
しかし、どうしても動画を完全にサーバから消してしまいたい時もあるかもしれません。
その場合は、「動画から続きを描く」となっている箇所を「画像から続きを描く」に変更して描くと、これまで記録されていた動画ファイルが削除されます。

PaintBBS NEOでコピー、レイヤー結合などキャンバス周辺を含む操作で画面が上下に動かないようにする工夫

コピーやレイヤー結合などの時にキャンバス周辺の紫の網目のところをスワイプしても画面が上下に動かなくする工夫を行っていましたが、その事が原因でモバイル端末で操作不能になるケースもありました。
今回の更新で、開いたキャンバスサイズの幅に対して端末の横幅に余裕がある時だけ、NEOのキャンバスの周囲の網目のところでスワイプしない形に変更になりました。
NEOの網目のところをつかんでスクロールできるようにしておかなければ操作不能になるからです。
キャンバスサイズと比較して、端末の横幅に余裕がある時は、NEOの網目のところをつかんでもスクロールしなくなります。
コピーやレイヤー結合、Bz曲線の操作の時に画面が上下に動いてしまうからです。

また、ピンチズームで拡大している時も網目のところをつかんでスクロールできるようになりました。
操作不能になるのを回避するためです。
これらは、NEOのペイント画面のインラインのJavaScriptで実装していますので、ペイント画面のテンプレートの更新が必要です。

NEO_issue_230201

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 キャンバスの使用が強制され、頻繁 に呼び出すときにメモリを節約できます...

Read more

Petit Note v0.57.5.2​リリース

31 Jan 12:51
Compare
Choose a tag to compare

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

スレッドを閉じる前に事前に知らせる機能を追加しました

image

  • 古いスレッドが閉じられる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の動画ファイルを表示するしないを投稿者が選択できるようになりました

image

お絵かきコメントの時に「動画を表示しない」を選択すると、動画のリンクがでません。
また動画のURLを呼び出してもエラーになります。

image

編集画面で、「動画を表示しない」のチェックを外すと、動画が表示されるようになります。
編集画面で、「動画を表示しない」にチェックをいれると、動画が表示されなくなります。

image

「続きを描く」画面で「動画を表示しない」を選択すると、「差し換え」でも「新規投稿でも」動画のリンクがでなくなります。

PaintBBS NEOの動画は描いた手順を記録しているだけでなく、レイヤー情報も保存しているため続きを描く時に必要になります。
そのため、「動画を保存しない」というオプションはPetit Noteでは採用していません。
しかし、どうしても動画を完全にサーバから消してしまいたい時もあるかもしれません。
その場合は、「動画から続きを描く」となっている箇所を「画像から続きを描く」に変更して描くと、これまで記録されていた動画ファイルが削除されます。

PaintBBS NEOでコピー、レイヤー結合などキャンバス周辺を含む操作で画面が上下に動かないようにする工夫

コピーやレイヤー結合などの時にキャンバス周辺の紫の網目のところをスワイプしても画面が上下に動かなくする工夫を行っていましたが、その事が原因でモバイル端末で操作不能になるケースもありました。
今回の更新で、開いたキャンバスサイズの幅に対して端末の横幅に余裕がある時だけ、NEOのキャンバスの周囲の網目のところでスワイプしない形に変更になりました。
NEOの網目のところをつかんでスクロールできるようにしておかなければ操作不能になるからです。
キャンバスサイズと比較して、端末の横幅に余裕がある時は、NEOの網目のところをつかんでもスクロールしなくなります。
コピーやレイヤー結合、Bz曲線の操作の時に画面が上下に動いてしまうからです。

また、ピンチズームで拡大している時も網目のところをつかんでスクロールできるようになりました。
操作不能になるのを回避するためです。
これらは、NEOのペイント画面のインラインのJavaScriptで実装していますので、ペイント画面のテンプレートの更新が必要です。

NEO_issue_230201

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接続による手動での解除は面倒なため、ログ...

Read more

Petit Note v0.56.3.1​リリース

25 Jan 09:04
Compare
Choose a tag to compare

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の動画ファイルを表示するしないを投稿者が選択できるようになりました

image

お絵かきコメントの時に「動画を表示しない」を選択すると、動画のリンクがでません。
また動画のURLを呼び出してもエラーになります。

image

編集画面で、「動画を表示しない」のチェックを外すと、動画が表示されるようになります。
編集画面で、「動画を表示しない」にチェックをいれると、動画が表示されなくなります。

image

「続きを描く」画面で「動画を表示しない」を選択すると、「差し換え」でも「新規投稿でも」動画のリンクがでなくなります。

PaintBBS NEOの動画は描いた手順を記録しているだけでなく、レイヤー情報も保存しているため続きを描く時に必要になります。
そのため、「動画を保存しない」というオプションはPetit Noteでは採用していません。
しかし、どうしても動画を完全にサーバから消してしまいたい時もあるかもしれません。
その場合は、「動画から続きを描く」となっている箇所を「画像から続きを描く」に変更して描くと、これまで記録されていた動画ファイルが削除されます。

PaintBBS NEOでコピー、レイヤー結合などキャンバス周辺を含む操作で画面が上下に動かないようにする工夫

コピーやレイヤー結合などの時にキャンバス周辺の紫の網目のところをスワイプしても画面が上下に動かなくする工夫を行っていましたが、その事が原因でモバイル端末で操作不能になるケースもありました。
今回の更新で、開いたキャンバスサイズの幅に対して端末の横幅に余裕がある時だけ、NEOのキャンバスの周囲の網目のところでスワイプしない形に変更になりました。
NEOの網目のところをつかんでスクロールできるようにしておかなければ操作不能になるからです。
キャンバスサイズと比較して、端末の横幅に余裕がある時は、NEOの網目のところをつかんでもスクロールしなくなります。
コピーやレイヤー結合、Bz曲線の操作の時に画面が上下に動いてしまうからです。

また、ピンチズームで拡大している時も網目のところをつかんでスクロールできるようになりました。
操作不能になるのを回避するためです。
これらは、NEOのペイント画面のインラインのJavaScriptで実装していますので、ペイント画面のテンプレートの更新が必要です。

230124_001_NEO_issue

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
    (アプリの選択メニューの共通箇所を外部化しました。このファイルがないとアプリの選択メニューがでません。必ず追加してください。)

今回追加された設定項目を有効にするためのテンプレートの更新です...

Read more