Probleme beim Konvertieren

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
BrainsAFK
Mitglied
Beiträge: 72
Registriert: 24.11.2014 02:12
Kontaktdaten:

Re: Probleme beim Konvertieren

Beitrag von BrainsAFK »

Nein, $this->db ist verfügbar, auch $db->sql_escape() ;)
Andere SQL Anweisungen wärend dem Konvertieren laufen ja auch damit.

Ich habe das Problem aber Lösen können. Ich habe mir eine Eigene Funktion geschrieben die sich am Ende des Konvertieren um die Avatare in der DB kümmert.

convert_cf3.php

Code: Alles auswählen

'execute_last'    => array('
            add_bots();
        ', '
            update_folder_pm_count();
        ', '
            update_unread_count();
        ', '
            $convert->helper->close_extraneous_reports();
        ', '
            $convert->helper->flag_attachments();
            ', '
            $convert->helper->set_avatar();
        '), 
functions_cf3.php

Code: Alles auswählen

public function set_avatar()
    {
        $sql = 'SELECT *
            FROM ' . $this->src_table_prefix . 'users
             WHERE user_id <> 2
             AND user_id <> 1
             AND user_avatar <> ""
             ORDER BY user_id';
        $result = $this->src_query($sql);
        while ($row = $this->src_db->sql_fetchrow($result))
        {
            $sql = ' UPDATE ' . USERS_TABLE . ' SET
        user_avatar = "'.$row['user_avatar'].'",
        user_avatar_type = "avatar.driver.upload"
        WHERE user_id = "'.$row['user_id'].'"
        ';
            $this->db->sql_query($sql);
        }
        $this->db->sql_freeresult($result);


    } 
Ganz zum Schluss führt phpBB noch den Schritt der "Letzten Post Aktualisierung" durch. Kann man Irgendwie verhindern das er dies ausführt den wären er die Forem Konvertiert, trägt er diese Informationen gleich mit ein

Code: Alles auswählen

// Define the new forums sql ary
            $sql_ary = array(
                'forum_id'            => (int) $row['forum_id'],
                'forum_name'        => $this->htmlspecialchars($row['forum_name']),
                'parent_id'            => (int) $row['forum_cat_id'],
                'forum_parents'        => (int) $row['forum_parrent'],
                'forum_desc'        => $this->htmlspecialchars($row['forum_desc']),
                'forum_type'        => $forum_type,
                'forum_status'        => 1,
              .....
......

                'forum_flags'        => $this->get_forum_flags(),
                'forum_options'        => 0,
                'forum_last_post_id'=> (int) $row['forum_last_post'],
                'forum_last_poster_id'=> (int) $row['forum_last_poster'],
                'forum_last_post_subject'=>  $row['forum_last_post_subject'],
                'forum_last_post_time'=> (int) $row['forum_last_post_time'],
                'forum_last_poster_name'=> (int) $row['forum_last_poster_name'],

            );

            $sql = 'SELECT MAX(right_id) AS right_id
            FROM ' . FORUMS_TABLE;
            $result = $this->src_query($sql);
            $cat_row = $this->src_db->sql_fetchrow($result);
            $this->db->sql_freeresult($result);

            $sql_ary['right_id'] = (int) ($cat_row['right_id'] + 3);
            $sql_ary['left_id'] = (int) ($cat_row['right_id'] + 2);

            $sql = 'INSERT INTO ' . FORUMS_TABLE . ' ' . $this->db->sql_build_array('INSERT', $sql_ary);
            $this->db->sql_query($sql); 

Dies klappt 1A. Wenn er aber aber den letzten ABschlissenden Schritten die phpBB eigene Funktion für die Letzten Post nutzt, werden diese Werte überschrieben bzw. die Spalten für den Last Post aus der foren Tabelle entfernt.
Antworten

Zurück zu „Support-Forum“