プロジェクト

全般

プロフィール

Bug(バグ) #3505

未完了

fileMaxSizeInfo が管理画面の「アップロード画像のファイルサイズ制限」を考慮していない

Yuya Watanabe さんが約11年前に追加. 約11年前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
対象バージョン:
-
開始日:
2013-11-28
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

説明

概要

fileMaxSizeInfo が管理画面の「アップロード画像のファイルサイズ制限」を考慮していない.

下記のような設定のときにレンダリングされた html 内の javascript の fileMaxSizeInfo は image_max_filesize を無視した値となっている.この fileMaxSizeInfo がなにに使われているかは調査していない.

mysql> select * from sns_config where name = 'image_max_filesize';
+----+--------------------+-------+
| id | name               | value |
+----+--------------------+-------+
| 10 | image_max_filesize | 300K  |
+----+--------------------+-------+
1 row in set (0.00 sec)

mysql> show variables like 'max_allowed_packet';
+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| max_allowed_packet | 134217728 |
+--------------------+-----------+
1 row in set (0.00 sec)

$ php -i | egrep "post_max_size|upload_max_filesize" 
post_max_size => 8M => 8M
upload_max_filesize => 64M => 64M

表示されたページの中では下記のようになっている.

var fileMaxSizeInfo = {
  'format': '8MB',
  'size'  : '8388608'
}

原因

おそらくは下記部分が該当し,ここでは image_max_filesize は考慮されていないように見える.

lib/util/opTimelinePluginUtil.class.php
 48   public static function getFileSizeMax()
 49   {
 50     $maxFileSize = min(
 51             self::calcConfigSizeToByte(ini_get('post_max_size')),
 52             self::calcConfigSizeToByte(ini_get('upload_max_filesize')),
 53             self::DB_MAX_FILE_SIZE);
 54 
 55     if (opTimelineDb::isMySQL())
 56     {
 57       return min($maxFileSize, (int) opTimelineDb::findVariableOfMySQL('max_allowed_packet'));
 58     }
 59 
 60     return $maxFileSize;
 61   }

他の形式にエクスポート: Atom PDF