Seasoft
Seasoft
## 概要(Overview) Q だと、設定している店名によってはエンコード後の文字列が非常に長くなり、MTA が From: を途中でぶった切るケースがあった。このパターンだと、リレー先の MTA によっては、拒否されることもある。 他にも、Name をオミットして、メールアドレスだけでリレーするケースもあった。 ただ、Swift_Mime_HeaderEncoder_QpHeaderEncoder はマルチバイトを適切に処理できない気がするので、一筋縄ではいかないかも。PHP の生関数で、簡単に処理できた気もしたけど、記憶違いかも。 ### 環境 (environment) + EC-CUBE: 4.0.3 - swiftmailer/swiftmailer は v6.3.0 に更新。 + PHP: 7.2.26
#814 で追加した PHP8 互換関数のコードを除去して、外部ライブラリへ移行する。 SC_Initial::compatPhp() 外部ライブラリの例 - [Symfony Polyfill / Php80](https://packagist.org/packages/symfony/polyfill-php80) - PHP >= 7.1 なので、#681 の実現後に導入可能となる。
登録時に一瞬不自然な画面が表示されることがあった。 リダイレクトに JavaScript を使っているが、必要性が不明。(未調査) ``` javascript // ``` 他と同じ 302 リダイレクトで処理できないか検討。
- [x] 数値項目が空文字の場合にシステムエラーになる(#1129) - [x] Warning 解消(#1130) - [ ] 数量及び税率が空文字の場合にエラーメッセージを表示する
何箇所か ```umask(0)``` が実装されている。これは以下の目的と理解している。 - ファイル群の管理を行うOSユーザーとは別のユーザー (典型的には apache や nobody) で PHP を実行している場合に、EC-CUBE が新たに作成したファイルを、管理者が容易に変更できるため。 - バッチ処理を WEB の PHP と別のユーザー (典型的にはファイル群の管理ユーザー) で実行した際に生成されたファイルを WEB から変更できるため。 しかし、suEXEC などで、同一ユーザーで PHP 実行している環境では、そういった考慮は通常不要。 また、過去に umask が反映されていないファイルが作成されるケースを見かけた記憶がある。(現バージョンの標準実装の範囲で生じ得るかは不確か。)...
#224 から分離しました。 - テーブル名は、mtb_allowed_tag か。 - ブラックリストに初期登録する要素は、こんなところか。 - script - html - body - head - title - meta - frame - frameset - object - embed - param -...
どこまでまとめるかは、検討の余地があるが、少なくとも現況のように多数に分けるメリットは薄れている。 そもそも、html/user_data/packages/default/*/import.css とかやってる時点で、分類以外にメリットあるのか謎。 むしろ、どのセレクタがどこに記述されているか不明なため grep しないといけないシーンがあり不便だった。
URL 変更するとき、DB ダンプに無意味に旧 URL が出て邪魔だし。
``` Fatal error(E_ERROR): Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /**/data/Smarty/templates_c/admin/804dc0e4d49a6f63dd14a13f26304a7894724e1e_0.file.edit.tpl.php:930 ``` PHP 8.0、8.1、8.2 いずれも同様の様子。 新規入力で発生を確認。 既存の受注情報を編集する場合は発生しない様子。 section 使わず、foreach 使えば回避できるけど、項目ごとに別の配列だから、それはそれで微妙になる。 (もっと根本的には、このデータは2次元配列として foreach で扱いたいれど、それはまた別の話。)...