t('acp.map.err_ini_size'), UPLOAD_ERR_FORM_SIZE => t('acp.map.err_form_size'), UPLOAD_ERR_PARTIAL => t('acp.map.err_partial'), UPLOAD_ERR_NO_TMP_DIR => t('acp.map.err_no_tmp_dir'), UPLOAD_ERR_CANT_WRITE => t('acp.map.err_cant_write'), UPLOAD_ERR_EXTENSION => t('acp.map.err_extension'), ]; acp_flash_error($reasons[(int)$file['error']] ?? t('acp.map.upload_failed')); acp_redirect('minimap'); } if (!is_uploaded_file((string)$file['tmp_name'])) { acp_flash_error(t('acp.map.unverified')); acp_redirect('minimap'); } $error = null; if (minimap_import((string)$file['tmp_name'], (string)$file['name'], $error)) { $fresh = json_decode((string)file_get_contents(minimap_meta_path()), true); acp_log('minimap.import', (string)$file['name'], [ 'tiles' => (int)($fresh['tiles'] ?? 0), 'floors' => count((array)($fresh['floors'] ?? [])), ]); acp_flash_success(t('acp.map.imported', [ 'tiles' => number_format((int)($fresh['tiles'] ?? 0)), 'floors' => number_format(count((array)($fresh['floors'] ?? []))), ])); } else { acp_flash_error((string)$error); } acp_redirect('minimap'); } } $minimap = minimap_data(); $root = minimap_root(); $diskBytes = 0; foreach (glob($root . '/*.png') ?: [] as $tile) { $diskBytes += (int)filesize($tile); } $writable = is_dir($root) ? is_writable($root) : is_writable(dirname($root)); $maxUpload = min( (int)serverdata_ini_bytes((string)ini_get('upload_max_filesize')), (int)serverdata_ini_bytes((string)ini_get('post_max_size')) ); ?>

'minimap']) ?>

'' . h(ZNOTE_MINIMAP_DIR) . '']) ?>
'gd', 'zlib' => 'zlib']) ?>

'' . h(ZNOTE_MINIMAP_DIR) . '', 'max' => (int)(ZNOTE_MINIMAP_MAX_BYTES / 1048576), 'accepts' => h(serverdata_human_size($maxUpload)), ]) ?>