Ver. 2.7.20 から Ver. 2.7.27 のブログエクスポートで問題が見つかりました。

内容

下記バージョンについて、管理ページ > ブログ の ブログエクスポート機能で ブログとカテゴリーのカスタムフィールドがエクスポートできない問題が発見されました。

対応が必要なバージョン

  • Ver. 2.7.20
  • Ver. 2.7.21
  • Ver. 2.7.22
  • Ver. 2.7.23
  • Ver. 2.7.24
  • Ver. 2.7.25
  • Ver. 2.7.26
  • Ver. 2.7.27

対応方法

  • Ver. 2.7.28 以上にアップデートを行う (ダウンロード
  • 以下パッチを適応する

ファイルを開く

パッチ

この度は、ご迷惑をおかけしてしまい大変申し訳ございませんでした。 今後ともa-blog cmsをよろしくお願いいたします。

Ver. 3.0.10、Ver. 2.11.49 リリースのお知らせ


この記事では、2022年5月18日にリリースした Ver. 3.0.10Ver. 2.11.49 の修正内容について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 3.0.10 リリースノート

  • CMS-5954 CookieにSameSite 属性を付与 (デフォルトはLax, php7.3以上)
  • CMS-5917 ブログを削除すると、PHPエラーが発生する問題を修正
  • CMS-5918 プロ版以上で承認機能有効時、読者ユーザーでもエントリ編集ボタンが表示されてしまう問題を修正
  • CMS-5920 スケジュールモジュールが、PHP8.0でエラーを出してしまう問題を修正
  • CMS-5924 子ブログの静的書き出しで、古いファイルが削除されない問題を修正
  • CMS-5927 ページキャッシュのPHPエラーがたまに発生する問題を修正
  • CMS-5934 管理画面へのIDベースのリンクに、ブログコードが入ってしまう箇所がある問題を修正
  • CMS-5936 Touch_EditInsertやTouch_EditUpdateのタッチモジュールが、管理側の編集画面で反応しない問題を修正
  • CMS-5940 静的書き出しの差分書き出しで、新規エントリーの場合、ファイルパスがリンク切れになる問題を修正
  • CMS-5946 サーバー環境によって、メルマガや ACMS_POST_Download モジュールが動作しない場合がある問題を修正
  • CMS-5952 Entry_Archivelistでアーカイブの単位を年度単位にしたときに、月のURLコンテキストが未指定だとエラー出る問題の修正
  • CMS-5943 ユーザーの切り替え機能が動作していない問題を修正
  • CMS-5951 standalone.php で env関数未定義エラーが出る問題の修正
  • CMS-5956 管理系のCSSにライセンスコメントを追加
  • CMS-5955 セレクトメニューの長さが強制的に100%になってしまう問題を修正
  • CMS-5928 scroll-hintをv1.2.5にアップデート & config.jsにoffsetオプションを追加
  • CMS-5964 /category/xxxxxx.html のURLで、エントリーが存在し、そのエントリー専用のテンプレートがある場合、そのページのページネーションのリンクがおかしくなる問題を修正
  • CMS-5966 X-Forwarded-Forで、ポート指定がある場合、正常に接続元アドレスを認識できない問題を修正
  • CMS-5968 読者関連の文言調整
  • CMS-5891 各システムメールをHTMLメールに対応
  • CMS-5973 UTSUWAで文字エンコーディングが指定されてない問題
  • CMS-5935 Entry_Bodyの前後リンクで、更新順と投稿順の対応ができない問題を修正
  • CMS-5938 メディア一覧のページネーションがすべてのページが出力されるので、ボタンが膨大なってしまう問題を修正
  • CMS-5913 ルートブログで静的書き出しを実行すると子ブログでも静的書き出しをしている場合、子ブログのarchives内の画像が消えてしまう問題を修正
  • CMS-5910 スケジュールモジュールで、php7.4以上の場合データを保存していない月表示でphpエラーが出る問題を修正
  • CMS-5911 カスタムフィールドメーカーでカスタムユニットのテーブルを作った場合、ユニット追加時にテーブル編集のUIが動かない問題を修正
  • CMS-5912 関連エントリー選択UIでカスタムフィールドの追加表示ができない問題を修正
  • CMS-5976 Category_Listでカテゴリーをフィールドなどで絞り込み、親カテゴリーがない場合、表示が崩れや階層の絞り込みができない問題を修正

Ver. 2.11.49 リリースノート

  • CMS-5937 Touch_EditInsertやTouch_EditUpdateのタッチモジュールが、管理側の編集画面で反応しない問題を修正
  • CMS-5941 静的書き出しの差分書き出しで、新規エントリーの場合、ファイルパスがリンク切れになる問題を修正
  • CMS-5947 サーバー環境によって、メルマガや ACMS_POST_Download モジュールが動作しない場合がある問題を修正
  • CMS-5952 Entry_Archivelistでアーカイブの単位を年度単位にしたときに、月のURLコンテキストが未指定だとエラー出る問題の修正
  • CMS-5965 /category/xxxxxx.html のURLで、エントリーが存在し、そのエントリー専用のテンプレートがある場合、そのページのページネーションのリンクがおかしくなる問題を修正
  • CMS-5967 X-Forwarded-Forで、ポート指定がある場合、正常に接続元アドレスを認識できない問題を修正
  • CMS-5974 Entry_Bodyの前後リンクで、更新順と投稿順の対応ができない問題を修正
  • CMS-5975 メディア一覧のページネーションがすべてのページが出力されるので、ボタンが膨大なってしまう問題を修正
  • CMS-5772 ルートブログで静的書き出しを実行すると子ブログでも静的書き出しをしている場合、子ブログのarchives内の画像が消えてしまう問題を修正
  • CMS-5725 スケジュールモジュールで、php7.4以上の場合データを保存していない月表示でphpエラーが出る問題を修正
  • CMS-5743 カスタムフィールドメーカーでカスタムユニットのテーブルを作った場合、ユニット追加時にテーブル編集のUIが動かない問題を修正
  • CMS-5748 関連エントリー選択UIでカスタムフィールドの追加表示ができない問題を修正
  • CMS-5977 Category_Listでカテゴリーをフィールドなどで絞り込み、親カテゴリーがない場合、表示が崩れや階層の絞り込みができない問題を修正

主なリリースノートの詳細な内容

CMS-5954 CookieにSameSite 属性を付与 (デフォルトはLax, php7.3以上)

セッション管理などで使用されるCookieの属性にSameSite属性を付与されるようにしました。SameSite属性はセキュリティに関する属性で、以下3つの値を設定できるようになっております。

  • None (なし)
  • Lax (緩い) デフォルト値
  • Strict (厳しい)

設定する箇所は「config.server.php」になります。

define('COOKIE_SAME_SITE', 'Lax');

注意点

注意点として、Ver. 3.0.10 以上、PHP7.3.0以上で動作する機能になります。バージョンが低い方はアップデートして対応ください。

セキュリティレベルを「Strict」にしてしまうと、CMSにログインしていても、他サイトからの移動で来た場合、ログアウト状態になってしまいます。特に理由がなければ、デフォルト値のLaxで運用をお願いします。

CMS-5924 CMS-5940 CMS-5913 CMS-5941 CMS-5772 静的書き出し機能の修正

静的書き出し機能が、いくつか修正がされています。

  • 子ブログの静的書き出しで、古いファイルが削除されない問題を修正
  • 静的書き出しの差分書き出しで、新規エントリーの場合、ファイルパスがリンク切れになる問題を修正
  • ルートブログで静的書き出しを実行すると子ブログでも静的書き出しをしている場合、子ブログのarchives内の画像が消えてしまう問題を修正

ファイルパスがリンク切れになってしまったり、複数ブログで静的書き出しを行う場合、画像やファイルが消えてしまう可能性があるので、当てはまる方はアップデート対応をお願いいたします。

CMS-5968 読者関連の文言調整

権限の「読者」と、機能の「読者登録機能」の表記ゆれを修正いたしました。
名称のみの変更となります。これに伴う仕様の変更などはございません。

修正例

  • 購読者 -> 読者
  • 購読者権限 -> 読者権限
  • 購読者機能 -> 読者登録機能
  • 読者機能 -> 読者登録機能

CMS-5966 CMS-5967 X-Forwarded-Forで、ポート指定がある場合、正常に接続元アドレスを認識できない問題を修正

ロードバランサリバースプロキシ などがある環境で、クライアントの接続元IPアドレスを取得する方法として、「X-Forwarded-For」リクエストヘッダーを参照しますが、この指定に「ポート番号」が含まれる指定の場合、正常に接続元IPアドレスが取得できておりませんでした。

X-Forwarded-For: xxx.xxx.xxx.xxx:8080

これを修正し、ポート番号付きの「X-Forwarded-For」でも正常に接続元IPアドレスを取得できるようになりました。

CMS-5891 各システムメールをHTMLメールに対応

以下システムからのメールはテキストメールでしたが、デフォルトでHTMLメールが送信されるようになりました。

  • 承認機能
  • コメント機能
  • パスワード再発行
  • システムのリストア通知
  • 読者登録機能
  • ユーザー情報の更新通知

これらの設定は「管理画面 > コンフィグ > メール設定」で変更できるようになっており、HTMLテンプレートを削除すれば、以前のテキストメールでの送信に変更できます。

CMS-5935 CMS-5974 Entry_Bodyの前後リンクで、更新順と投稿順の対応ができない問題を修正

Entry_Bodyモジュールの「前後リンク」で、ソートが「更新順」や「投稿順」だった場合、ソートに合わせて前後リンクが生成されておらず、「エントリーID」の順番でリンクが生成されていました。

これを修正しソートが「更新順」や「投稿順」でも、そのソート通りに「前後リンク」が生成されるようになりました。

CMS-5976 CMS-5977 Category_Listでカテゴリーをフィールドなどで絞り込み、親カテゴリーがない場合、表示が崩れや階層の絞り込みができない問題を修正

Category_Listモジュールで、カスタムフィールド絞り込みを使ってカテゴリーを絞り込んだ場合、場合によって親カテゴリーが存在しないカテゴリーが存在してしまい、表示が崩れたり、階層の絞り込みができない問題が起きてました。

これを修正し、絞り込み後、親カテゴリーが存在しないカテゴリーはリストから除外するようにいたしました。 これにより階層構造が崩れず、正常に表示ができ、階層の絞り込みも動作するようになりました。

CMS-5928 scroll-hintをv1.2.5にアップデート & config.jsにoffsetオプションを追加

組み込みJSの、テーブルレイアウトでスクロールできることを認識させる「scroll-hint」をアップデートしました。

これにより、表示されるアイコンの表示位置を調整したり、表示されるタイミングを制御できるようになります。

詳しくはドキュメントをご覧ください。
https://developer.a-blogcms.jp/document/reference/builtinjs/adjust-layout/scroll-hint.html

最後に

該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。
また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。
今後ともどうぞよろしくお願いいたします。

Ver. 2.7.25 〜 2.7.28 のカスタムフィールド画像保存で問題が見つかりました

内容

下記バージョンについて、カスタムフィールド画像の保存時にエラーがでる問題が確認されました。

対応が必要なバージョン

  • Ver. 2.7.25
  • Ver. 2.7.26
  • Ver. 2.7.27
  • Ver. 2.7.28

現象

DEBUG_MODEがONで画像のカスタムフィールドを拡大画像なしでフィールドを作った場合、 管理ページ側でエントリーを保存するとエラーが表示される。

対応方法

  • Ver. 2.7.29 以上にアップデートを行う (ダウンロード
  • 下記の修正を行う。

php/Services/Storage/Filesystem.php の changeModメソッドを以下のように変更

public function changeMod($path, $mode = null)
{
	$path = $this->convertStrToLocal($path);

	if (is_null($mode)) {
		if ($this->isDirectory($path)) {
			$mode = intval($this->directoryMod);
		} else {
			$mode = intval($this->fileMod);
		}
	}
	if ($this->exists($path)) {
		return chmod($path, $mode);
	}
	return false;
}

この度は、ご迷惑をおかけしてしまい大変申し訳ございませんでした。 今後ともa-blog cmsをよろしくお願いいたします。