XenForo-Importskript importierte gesperrte Benutzer sowie weich gelöschte Themen und Beiträge

Ich habe dieses Skript heute verwendet, und es hat gut funktioniert. Das einzige Problem, das ich hatte, war, dass es alle verbannten Benutzer sowie weich gelöschte (versteckte) Beiträge/Threads von Xenforo importierte. Dadurch wurden nach dem Import Hunderte von Spam-Beiträgen/Threads in Discourse sichtbar.

Wenn Sie viele Spam-Beiträge/Threads haben, die Sie nicht importieren möchten, sollten Sie folgende SQL-Änderungen im Skript „xenforo.rb" in Betracht ziehen:

  1. Fügen Sie die folgende WHERE-Klausel hinzu, um sicherzustellen, dass nur aktive, nicht verbannte Benutzer importiert werden.
       def import_users
        puts '', "creating users"

        total_count = mysql_query("SELECT count(*) count FROM #{TABLE_PREFIX}user;").first['count']

        batches(BATCH_SIZE) do |offset|
          results = mysql_query(
            "SELECT user_id id, username, email, custom_title title, register_date created_at,
                    last_activity last_visit_time, user_group_id, is_moderator, is_admin, is_staff
             FROM #{TABLE_PREFIX}user
             WHERE user_state = 'valid' AND is_banned = 0
             LIMIT #{BATCH_SIZE}
             OFFSET #{offset};")
  1. Ändern Sie die folgende WHERE-Klausel, um sicherzustellen, dass nur sichtbare Threads/Beiträge importiert werden.
       def import_posts
        puts "", "creating topics and posts"

        total_count = mysql_query("SELECT count(*) count from #{TABLE_PREFIX}post").first["count"]

        posts_sql = "
            SELECT p.post_id id,
                   t.thread_id topic_id,
                   #{@prefix_as_category ? 't.prefix_id' : 't.node_id'} category_id,
                   t.title title,
                   t.first_post_id first_post_id,
                   p.user_id user_id,
                   p.message raw,
                   p.post_date created_at
            FROM #{TABLE_PREFIX}post p,
                 #{TABLE_PREFIX}thread t
            WHERE p.thread_id = t.thread_id AND p.message_state = 'visible' AND t.discussion_state = 'visible'
            ORDER BY p.post_date
            LIMIT #{BATCH_SIZE}" # needs OFFSET
5 „Gefällt mir“

Klar, danke dafür. Können wir diese Änderungen in unser Skript einarbeiten, @techAPJ?

4 „Gefällt mir“

Erledigt über:

Danke für die Tipps, @msinger. :+1:

6 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.