
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();
'),
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);
}
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.