mirror of
https://github.com/discourse/discourse.git
synced 2025-09-07 12:02:53 +08:00
DEV: Support phpBB 3.3 imports (#17641)
* handle polls with duplicate items * handle polls with incorrect poll_option_total values * handle group IDs in personal messages * support for version 3.3
This commit is contained in:
parent
994ca8f6de
commit
603f36ca4a
5 changed files with 29 additions and 11 deletions
|
@ -22,13 +22,13 @@ module ImportScripts::PhpBB3
|
|||
if version.start_with?('3.0')
|
||||
require_relative 'database_3_0'
|
||||
Database_3_0.new(@database_client, @database_settings)
|
||||
elsif version.start_with?('3.1') || version.start_with?('3.2')
|
||||
elsif version.start_with?('3.1') || version.start_with?('3.2') || version.start_with?('3.3')
|
||||
require_relative 'database_3_1'
|
||||
Database_3_1.new(@database_client, @database_settings)
|
||||
else
|
||||
raise UnsupportedVersionError, <<~TEXT
|
||||
Unsupported version (#{version}) of phpBB detected.
|
||||
Currently only version 3.0, 3.1 and 3.2 are supported by this importer.
|
||||
Currently only version 3.0, 3.1, 3.2 and 3.3 are supported by this importer.
|
||||
TEXT
|
||||
end
|
||||
end
|
||||
|
|
|
@ -115,13 +115,13 @@ module ImportScripts::PhpBB3
|
|||
def fetch_poll_options(topic_id)
|
||||
query(<<-SQL)
|
||||
SELECT o.poll_option_id, o.poll_option_text, o.poll_option_total AS total_votes,
|
||||
o.poll_option_total - (
|
||||
GREATEST(CAST(o.poll_option_total AS SIGNED) - (
|
||||
SELECT COUNT(DISTINCT v.vote_user_id)
|
||||
FROM #{@table_prefix}poll_votes v
|
||||
JOIN #{@table_prefix}users u ON (v.vote_user_id = u.user_id)
|
||||
JOIN #{@table_prefix}topics t ON (v.topic_id = t.topic_id)
|
||||
WHERE v.poll_option_id = o.poll_option_id AND v.topic_id = o.topic_id
|
||||
) AS anonymous_votes
|
||||
),0) AS anonymous_votes
|
||||
FROM #{@table_prefix}poll_options o
|
||||
WHERE o.topic_id = #{topic_id}
|
||||
ORDER BY o.poll_option_id
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue