SMFPortal.de

Willkommen !

Autor Thema: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?  (Gelesen 10689 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

DieWachtGaming

  • Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
  • Dream Portal Teamer und creativer Querdenker :)
    • F8-2U
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #15 am: 07. August 2011, 19:03:42 »
Naj ich hätte ja nur mal die Augen aufmachen müssen :) dann hätte ich in Deiner Signatur gesehen woher Dein Wissen kommt und was Du so machst oder gemacht hast. Vor lauter Bäumen den Wald nicht sehen hihi. Interessant was Du da so alles machst. Kanns mir aber auch gut stressig vorstellen.

Nun gut zurück zum Thema. Also ich hab Deine Anleitung befolgt und nun kommt fast identisch die selbe Log Meldung nur "forum-tracker" hab auch schon geguckt aber ich selbst kann es nicht ausmachen. Dachte das müsste ja unmittelbar danach irgendwo stehen, aber war wohl nicht so.

Mir persönlich würden die Daten die bis jetzt schon funktionieren bei der Convertierung ausreichen, aber ich denken wir möchten eventuell schon erreichen, dass alle davon einen Nutzen haben oder ? Denke schon.

Hier der Log:

Code
Converting members... Successful.
Converting categories... Successful.
Converting boards... Successful.
Converting topics... Successful.
Converting posts (this may take some time)... Successful.
Converting polls... Successful.
Converting poll options... Successful.
Converting poll votes... Successful.
Converting personal messages (step 1)... Successful.
Converting personal messages (step 2)...Error in convert script - line 300!
Successful.
Converting board notifications... Unsuccessful!
This query:

    SELECT member_id AS id_member, forum_id AS id_board
    FROM `db131471x1511648`.forum_tracker
    LIMIT 0, 500;

Caused the error:

    Table 'db131471x1511648.forum_tracker' doesn't exist

Edit: Niemnad mehr da der helfen möchte? "TE" hast mich vergessen :( ?  Ich denke zumindest wie es auf mich den Eindruck macht, wäre da nun nicht mehr arg viel zu tun bis der Converter zu 100% funktionieren würde. Bitte helft mir damit.
« Letzte Änderung: 10. August 2011, 03:09:54 von DieWachtGaming »

Maybe the best portal for smf.

TE

  • Gast
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #16 am: 10. August 2011, 20:12:30 »
lösch doch einfach auch den Abschnitt für die Board-Notifications.. der sieht fast genau so aus, wie der für die Topic Notifications..

PS: deine Signatur ist zwecklos, außer mir kann da eh keiner helfen ;) und ehrlich gesagt hab ich eigentlich keine Lust mehr Arbeit in die SMF Converter zu stecken...

DieWachtGaming

  • Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
  • Dream Portal Teamer und creativer Querdenker :)
    • F8-2U
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #17 am: 10. August 2011, 20:41:06 »
Hallo TE, vielen Dank, dasds Du Dich nochmal gemeldet hast. Ich hab das so gemacht wie Du es gesagt hast. Im Anschluss kamen nochmal zwei weitere dieser Meldungen. Einmal für Smilies und einmal für Kalernder Events..... hab diese auch einfach gelöscht und siehe da....alles "habe fertig" jaaaa geschafft :!.!:

Schau:

Code
Converting...
Converting members... Successful.
Converting categories... Successful.
Converting boards... Successful.
Converting topics... Successful.
Converting posts (this may take some time)... Successful.
Converting polls... Successful.
Converting poll options... Successful.
Converting poll votes... Successful.
Converting personal messages (step 1)... Successful.
Converting personal messages (step 2)...Error in convert script - line 300!
Successful.
Converting censored words... Successful.
Converting user avatars...
Warning: copy() [function.copy]: The first argument to copy() function cannot be a directory in /hp/bd/ab/sr/www/platform/smf_forum/convert.php(1100) : eval()'d code on line 59
Successful.
Converting settings... Successful.
Recalculating forum statistics... Successful.
Conversion Complete
Congratulations, the conversion has completed successfully. If you have or had any problems with this converter, or need help using SMF, please feel free to look to us for support.
Please check this box to delete the converter right now for security reasons. (doesn't work on all servers.)

Now that everything is converted over, your SMF installation should have all the posts, boards, and members from the Invision Power Board 3.0 installation.

We hope you had a smooth transition!

So nun denke ich sollte es doch einwandfrei funktionieren oder kommen nun noch weitere Hyrden auf mich zu? Das Script arbeitet doch nun oder? Grossartig muss ich nun ja nichts mehr machen?

Ich will auf alle Fälle nochmal echt ganz ganz herzlich Danke sagen. Das bedeutet mir wirklich sehr viel, dass das geklappt hat.

Schönen Abend wünsch ich Dir noch, Grüsse, Andy


Edit

Für alle von Euch hier die auch von IBP 3.2 auf SMF 2.0 Gold convertieren möchten, im Anhang findet Ihr den funktionierenden Converter. Bedankt Euch bei "TE" dafür. Ich war nur der Finger an der Tastatur.
  :!.!:
« Letzte Änderung: 10. August 2011, 20:48:48 von DieWachtGaming »

Maybe the best portal for smf.

TE

  • Gast
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #18 am: 10. August 2011, 20:46:46 »
Sind die Avatare denn drüben? da ist so'n komischer fehler im Script..
ansonsten im Admin interface:
Admin - Maintenance - Routine:
- Recount Statistics
- Find and Fix any errors
dann noch in den Such-Einstellungen einen Search-Index definieren (ich würde FULLTEXT nehmen).

DieWachtGaming

  • Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
  • Dream Portal Teamer und creativer Querdenker :)
    • F8-2U
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #19 am: 10. August 2011, 21:10:40 »
Also TE

Recount u. Statistik: war alles erfolgreich
Find and Fix: Keine Fehler gefunden
Die Suche hab ich so eingestellt wie Du sagtest, mit Fulltext. Hab dazu eine fulltext index angelegt.

Nur das mit den Smilies war doof von mir, dass ich das ganz gelöscht habe aus dem Converter. Da kam nämlich auch so ein Fehler log und ich habs dann einfach eliminiert. Nun sehen die Smilies in jedem Forum Beitrag so aus:

Code
/public/style_emoticons/<#EMO_DIR#>/smile.png\' class=\'bbc_emoticon\' alt=\':)\' />
 

Was kann ich da noch machen?

Maybe the best portal for smf.

TE

  • Gast
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #20 am: 10. August 2011, 21:17:17 »
nachträglich ist das schwierig, die müssten per REGEX während der Convertierung der Beiträge gefixt werden... wieviele Beiträge hat das Forum denn?

DieWachtGaming

  • Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
  • Dream Portal Teamer und creativer Querdenker :)
    • F8-2U
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #21 am: 10. August 2011, 22:04:31 »
Das Forum hätte 1750 Beiträge. Ist quasi noch nicht so viel aber genug :)
Was ist REGEX und wie kann ich das nutzen? Ist das ein Tool oder ein Filter das automatisch in den Beiträgen wühlt und dort dann alles angleicht oder wie muss ich mir das vorstellen?
« Letzte Änderung: 10. August 2011, 22:07:05 von DieWachtGaming »

Maybe the best portal for smf.

TE

  • Gast
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #22 am: 10. August 2011, 22:21:25 »
REGEX (lange Form: regular Expressions oder zu deutsch Reguläre Ausdrücke) werden dazu benutzt einen Text zu manipulieren...
ein Beispiel dafür ist z.b. die preg_replace() Funktion vom PHP
http://www.php.net/preg_replace
im Body-Tag müsste demnach vor dem Einfügen in der Datenbank ein preg_replace() mit den entsprechenden Parametern aufgerufen werden..
dürfte etwa das hier sein:
Code
$row['body'] = preg_replace(
array('~public\/style_emoticons\/\<#EMO_DIR#\>/(.+?)\\\' class=\\\'bbc_emoticon\\\' alt=\\\'(.+?)\\\' \/>~is'),
array('$2'),
$row['body']
);

DieWachtGaming

  • Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
  • Dream Portal Teamer und creativer Querdenker :)
    • F8-2U
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #23 am: 10. August 2011, 23:07:30 »
Vielen Dank für die Erklärung. PHP wird wohl eines der nächsten Dinge sein die ich mir vermehrt aneignen will.

Von welchem Body Tag sprichst Du TE? In welcher Seite? index.php oder meinst Du in der "IPB3_to_SMF.sql" ?

Maybe the best portal for smf.

TE

  • Gast
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #24 am: 11. August 2011, 06:48:41 »
in der ipb3_to_smf.sql findest du ein Stelle, die die Überschchrift "Converting messages" trägt..
darunter dürfte ein Bereich sein, der mit ---{ anfängt. dort innerhalb des ---{ }--- muss der Code eingefügt werden.

DieWachtGaming

  • Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
  • Dream Portal Teamer und creativer Querdenker :)
    • F8-2U
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #25 am: 11. August 2011, 19:11:39 »
Nun gut ich habe danach gesucht aber nichts gefunden. Es sind folgende Bereiche vorhanden:

  • --- Converting categories...
  • --- Converting boards...
  • --- Converting topics...
  • --- Converting posts (this may take some time)...
  • --- Converting personal messages (step 1)...
  • --- Converting personal messages (step 2)...


Hier ist mal die ganze IBP.sql zur Übersicht:

Code
/* ATTENTION: You don't need to run or use this file!  The convert.php script does everything for you! */

/******************************************************************************/
---~ name: "Invision Power Board 3.2"
/******************************************************************************/
---~ version: "SMF 2.0"
---~ settings: "/conf_global.php"
---~ globals: INFO
---~ from_prefix: "`$INFO[sql_database]`.$INFO[sql_tbl_prefix]"
---~ table_test: "{$from_prefix}members"

/******************************************************************************/
--- Converting members...
/******************************************************************************/

TRUNCATE {$to_prefix}members;
TRUNCATE {$to_prefix}attachments;

---* {$to_prefix}members
---{
/* Fix for invalid birthdays */
if(!preg_match('/\d{4}-\d{2}-\d{2}/', $row['birthdate']))
$row['birthdate'] = '0001-01-01';
---}
SELECT
m.member_id AS id_member, SUBSTRING(m.name, 1, 80) AS member_name,
SUBSTRING(m.members_display_name, 1, 255) AS real_name, m.email AS email_address,
SUBSTRING(m.members_pass_hash, 1, 64) AS passwd, SUBSTRING(m.members_pass_salt, 1, 8) AS password_salt,
        m.last_visit AS last_login,
        m.joined AS date_registered, SUBSTRING(pc.field_3, 1, 255) AS website_url,
SUBSTRING(pc.field_3, 1, 255) AS website_title,
SUBSTRING(pc.field_4, 1, 255) AS icq, SUBSTRING(pc.field_1, 1, 16) AS aim,
SUBSTRING(pc.field_8, 1, 32) AS yim, SUBSTRING(pc.field_2, 1, 255) AS msn,
SUBSTRING(pp.signature, 1, 65534) AS signature, m.ip_address AS member_ip, m.ip_address AS member_ip2, '0' AS total_time_logged_in,
IF (m.bday_year IS NULL, '0001-01-01', IF (m.bday_year = 0 AND m.bday_month != 0 AND m.bday_day != 0, CONCAT('0004-', m.bday_month, '-', m.bday_day), CONCAT_WS('-', IF(m.bday_year <= 4, 0001, m.bday_year), IF(m.bday_month = 0, 01, IF(m.bday_month < 10, CONCAT('0', m.bday_month), m.bday_month)), IF(m.bday_day = 0, 01, IF(m.bday_day < 10, CONCAT('0', m.bday_day), m.bday_day))))) AS birthdate,
        CASE
WHEN (m.member_group_id = '4') THEN 1
                WHEN (m.member_group_id = '2') THEN -1
                WHEN (m.member_group_id = '6') THEN 2
ELSE 0
END AS id_group,
        CASE
WHEN (pc.field_5 = 'm') THEN 1
                WHEN (pc.field_5 = 'f') THEN 2
ELSE 0
END AS gender
FROM {$from_prefix}members AS m
     LEFT JOIN {$from_prefix}pfields_content AS pc ON (pc.member_id = m.member_id)
     LEFT JOIN {$from_prefix}profile_portal AS pp ON (pp.pp_member_id = m.member_id);

---{
// Get the buddies.
$id_member = $row['id_member'];
$result = convert_query("
SELECT friends_friend_id
FROM {$from_prefix}profile_friends
WHERE friends_member_id = {$id_member}");
if (convert_num_rows($result) > 0)
{
$buddy = array();
while ($row = convert_fetch_assoc($result))
$buddy[] = $row['friends_friend_id'];
$row['buddy_list'] = addslashes(implode(',', $buddy));
}

// Get the ignored users.
$id_member = $row['id_member'];
$result = convert_query("
SELECT ignore_ignore_id
FROM {$from_prefix}ignored_users
WHERE ignore_owner_id = {$id_member}");
if (convert_num_rows($result) > 0)
{
$buddy = array();
while ($row = convert_fetch_assoc($result))
$ignore[] = $row['ignore_ignore_id'];
$row['ignore_list'] = addslashes(implode(',', $ignore));
}

if (!empty($row['additional_groups']))
{
$temp = explode(',', $row['additional_groups']))
$groups = array();
foreach ($temp as $grp)
{
if (empty($grp))
continue;

if ($grp > 5)
$groups[] = $grp + 3;
elseif ($grp == $INFO['admin_group'])
$groups[] = 1;
elseif ($grp == 3)
$groups[] = 0;
else
$groups[] = $row['id_group'];
}
$row['additional_groups'] = implode(',', array_unique($groups));
}
---}
---*

/******************************************************************************/
--- Converting categories...
/******************************************************************************/

TRUNCATE {$to_prefix}categories;

---* {$to_prefix}categories
SELECT id AS id_cat, SUBSTRING(name, 1, 255) AS name, position AS cat_order
FROM {$from_prefix}forums
WHERE parent_id = -1;
---*

/******************************************************************************/
--- Converting boards...
/******************************************************************************/

TRUNCATE {$to_prefix}boards;

DELETE FROM {$to_prefix}board_permissions
WHERE id_group > 4;

/* The converter will set id_cat for us based on id_parent being wrong. */
---* {$to_prefix}boards
SELECT
b.id AS id_board, SUBSTRING(b.name, 1, 255) AS name,
SUBSTRING(b.description, 1, 65534) AS description, b.position AS board_order,
b.posts AS num_posts, IF (p.parent_id = -1, 0, p.parent_id) AS id_parent, b.inc_postcount AS count_posts,
        '-1,0' AS member_groups
FROM {$from_prefix}forums AS b
        LEFT JOIN {$from_prefix}forums AS p ON (b.parent_id = p.id)
WHERE b.parent_id != -1;
---*

/******************************************************************************/
--- Converting topics...
/******************************************************************************/

TRUNCATE {$to_prefix}topics;
TRUNCATE {$to_prefix}log_topics;
TRUNCATE {$to_prefix}log_boards;
TRUNCATE {$to_prefix}log_mark_read;

---* {$to_prefix}topics 250
---{
$ignore = true;
---}
SELECT
t.tid AS id_topic, t.pinned AS is_sticky, t.forum_id AS id_board,
t.starter_id AS id_member_started, t.last_poster_id AS id_member_updated,
IFNULL(pl.pid,0) AS id_poll, t.posts AS num_replies, t.views AS num_views,
MIN(p.pid) AS id_first_msg, MAX(p.pid) AS id_last_msg,
t.state = 'closed' AS locked, approved
FROM ({$from_prefix}topics AS t, {$from_prefix}posts AS p)
LEFT JOIN {$from_prefix}polls AS pl ON (pl.tid = t.tid)
WHERE p.topic_id = t.tid
GROUP BY t.tid
HAVING id_first_msg != 0
AND id_last_msg != 0;
---*

/******************************************************************************/
--- Converting posts (this may take some time)...
/******************************************************************************/

TRUNCATE {$to_prefix}messages;
TRUNCATE {$to_prefix}attachments;

---* {$to_prefix}messages 200
---{
if(empty($row['id_board']))
$row['id_board'] = 1;

$row['body'] = preg_replace('~\[quote name=(.+?) date=(.+?) timestamp=(.+?) post=(.+?)\]~ie', '\'[quote author=\' . substr(\'$1\', 5, -5) . \' link=topic=\'. $row[\'id_topic\'].\'.msg\' . substr(\'$4\', 5, -5) . \'#msg\' . substr(\'$4\', 5, -5) . \' date=\' . substr(\'$3\', 5, -5) . \']\'', $row['body']);
---}
SELECT
p.pid AS id_msg, p.topic_id AS id_topic, p.post_date AS poster_time,
p.author_id AS id_member, SUBSTRING(t.title, 1, 255) AS subject,
SUBSTRING(p.author_name, 1, 255) AS poster_name,
SUBSTRING(p.ip_address, 1, 255) AS poster_ip, p.use_emo AS smileys_enabled,
IFNULL(p.edit_time, 0) AS modified_time, SUBSTRING(p.edit_name, 1, 255) AS modified_name,
t.forum_id AS id_board, REPLACE(p.post, '<br />', '') AS body,
SUBSTRING(IFNULL(m.email, 'guest@example.com'), 1, 255) AS poster_email, 'xx' AS icon
FROM {$from_prefix}posts AS p
LEFT JOIN {$from_prefix}topics AS t ON (t.tid = p.topic_id)
LEFT JOIN {$from_prefix}members AS m ON (m.member_id = p.author_id);
---*

/******************************************************************************/
--- Converting polls...
/******************************************************************************/

TRUNCATE {$to_prefix}polls;
TRUNCATE {$to_prefix}poll_choices;
TRUNCATE {$to_prefix}log_polls;

---* {$to_prefix}polls
SELECT
p.pid AS id_poll, SUBSTRING(p.poll_question, 1, 255) AS question,
p.starter_id AS id_member, SUBSTRING(IFNULL(m.name, 'Guest'), 1, 255) AS poster_name
FROM {$from_prefix}polls AS p
LEFT JOIN {$from_prefix}members AS m ON (m.member_id = p.starter_id);
---*

/******************************************************************************/
--- Converting poll options...
/******************************************************************************/

---* {$to_prefix}poll_choices
---{
$no_add = true;
$keys = array('id_poll', 'id_choice', 'label', 'votes');
$choices = @unserialize(stripslashes($row['choices']));

if (is_array($choices))
{
foreach ($choices as $choice)
{
// Put the slashes back
$choice = addslashes_recursive($choice);

// Since we modified the poll thing, we need to stick the question in here
$pollquestion = $choice['question'];
$query = convert_query("
UPDATE {$to_prefix}polls
SET question = '$pollquestion'
WHERE id_poll = '$row[id_poll]'");

// Now that we've handled the question, go ahead with our choices and votes
foreach($choice['choice'] AS $choiceid => $label)
{
// The keys of the votes array correspond to the keys of the choice array,
// which are the ID_CHOICE values
$votes = $choice['votes'][$choiceid];

// Try to work around the multiple-questions-per-poll issue...
if(isset($current_choices[$row['id_poll']][$choiceid]))
continue;
else
$current_choices[$row['id_poll']][$choiceid] = $label;

// Finally - a row of information!
                        $rows[] = array(
                  'id_poll' => $row['id_poll'],
                  'id_choice' => $choiceid,
                  'label' => substr(addslashes($label), 0, 255),
                  'votes' => $votes,
               );
}
}
}
---}
SELECT pid AS id_poll, choices
FROM {$from_prefix}polls;
---*

/******************************************************************************/
--- Converting poll votes...
/******************************************************************************/

---* {$to_prefix}log_polls
---{
$ignore = true;
---}
SELECT pl.pid AS id_poll, v.member_id AS id_member
FROM {$from_prefix}voters AS v
LEFT JOIN {$from_prefix}polls AS pl ON (pl.tid = v.tid)
WHERE v.member_id != 0;
---*

/******************************************************************************/
--- Converting personal messages (step 1)...
/******************************************************************************/

TRUNCATE {$to_prefix}personal_messages;

---* {$to_prefix}personal_messages
SELECT
pm.msg_id AS id_pm, pm.msg_author_id AS id_member_from, pm.msg_date AS msgtime,
mt.mt_is_deleted AS deleted_by_sender, mt.mt_first_msg_id AS id_pm_head,
        SUBSTRING(IFNULL(m.name, "Guest"), 1, 255) AS from_name,
SUBSTRING(mt.mt_title, 1, 255) AS subject,
SUBSTRING(pm.msg_post, 1, 65534) AS body
FROM {$from_prefix}message_topics AS mt
        LEFT JOIN {$from_prefix}message_posts AS pm ON (mt.mt_id = pm.msg_topic_id)
        LEFT JOIN {$from_prefix}members AS m ON (m.member_id = pm.msg_author_id)
WHERE mt.mt_is_draft = 0;
---*

/******************************************************************************/
--- Converting personal messages (step 2)...
/******************************************************************************/

TRUNCATE {$to_prefix}pm_recipients;

---* {$to_prefix}pm_recipients
---{
$no_add = true;
$ignore = true;
---{
$no_add = true;
$keys = array('id_pm', 'id_member', 'labels', 'is_read');
$invited_members = @unserialize($row['invited_members']);

$rows[] = array(
'id_pm' => $row['id_pm'],
'id_member' => ($row['msg_author_id'] == $row['id_member']) ? $row['mt_starter_id'] : $row['id_member'],
'labels' => $row['labels'],
'is_read' => $row['is_read'],
   );

if (is_array($invited_members) && !empty($invited_members))
{
foreach ($invited_members as $invited => $id)
{
            if (!empty($invited))
       $rows[] = array(
   'id_pm' => $row['id_pm'],
   'id_member' => ($row['msg_author_id'] == $id) ? $row['mt_starter_id'] : $id,
   'labels' => $row['labels'],
   'is_read' => $row['is_read'],
       );
}
}
---}
SELECT pm.msg_id AS id_pm, mt.mt_to_member_id AS id_member, '-1' AS labels,
        IF(IFNULL(mtum.map_has_unread, 1) > 0, 0, 1) AS is_read,
        mt.mt_invited_members AS invited_members, pm.msg_author_id, mt.mt_starter_id, IF(mt.mt_is_deleted = 1 AND mt.mt_starter_id = pm.msg_author_id, 1, 0) AS deleted
FROM {$from_prefix}message_topics AS mt
    LEFT JOIN {$from_prefix}message_posts AS pm ON (mt.mt_id = pm.msg_topic_id)
    LEFT JOIN {$from_prefix}message_topic_user_map AS mtum ON (mtum.map_topic_id = mt.mt_id)
WHERE mt.mt_is_draft != 1;
---*


/******************************************************************************/
--- Converting censored words...
/******************************************************************************/

DELETE FROM {$to_prefix}settings
WHERE variable IN ('censor_vulgar', 'censor_proper');

---# Moving censored words...
---{
$result = convert_query("
SELECT type, swop
FROM {$from_prefix}badwords");
$censor_vulgar = array();
$censor_proper = array();
while ($row = convert_fetch_assoc($result))
{
$censor_vulgar[] = $row['type'];
$censor_proper[] = $row['swop'];
}
convert_free_result($result);

$censored_vulgar = addslashes(implode("\n", $censor_vulgar));
$censored_proper = addslashes(implode("\n", $censor_proper));

convert_query("
REPLACE INTO {$to_prefix}settings
(variable, value)
VALUES ('censor_vulgar', '$censored_vulgar'),
('censor_proper', '$censored_proper')");
---}
---#

SELECT member_id AS id_member, forum_id AS id_board
FROM {$from_prefix}moderators
WHERE member_id != -1;
---*

/******************************************************************************/
--- Converting user avatars...
/******************************************************************************/

---* {$to_prefix}attachments
---{
$no_add = true;
$keys = array('id_attach', 'size', 'filename', 'id_member', 'width', 'height', 'attachment_type');

if (!isset($oldAttachmentDir) || !isset($oldAvatarDir))
{
$result = convert_query("
SELECT conf_value
FROM {$from_prefix}core_sys_conf_settings
WHERE conf_key = 'upload_dir'
LIMIT 1");
list ($oldAvatarDir) = convert_fetch_row($result);
convert_free_result($result);

if (empty($oldAttachmentDir) || !file_exists($oldAvatarDir))
$oldAvatarDir = $_POST['path_from'] . '/uploads';
}

if (!isset($id_attach))
{
$request = convert_query("
SELECT MAX(ID_ATTACH)
FROM {$to_prefix}attachments");
list ($id_attach) = convert_fetch_row($request);
convert_free_result($request);
}

// Find out where uploaded avatars go
$request2 = convert_query("
SELECT value
FROM {$to_prefix}settings
WHERE variable = 'custom_avatar_enabled'
LIMIT 1");

if (convert_num_rows($request2))
list ($custom_avatar_enabled) = convert_fetch_row($request2);
else
$custom_avatar_enabled = false;
convert_free_result($request2);

if ($custom_avatar_enabled)
{
// Custom avatar dir.
$request2 = convert_query("
SELECT value
FROM {$to_prefix}settings
WHERE variable = 'custom_avatar_dir'
LIMIT 1");
list ($avatar_dir) = convert_fetch_row($request2);
$attachmentType = '1';
}
else
{
// Attachments dir.
$request2 = convert_query("
SELECT value
FROM {$to_prefix}settings
WHERE variable = 'attachmentUploadDir'
LIMIT 1");
list ($avatar_dir) = convert_fetch_row($request2);
$attachmentType = '0';
}
convert_free_result($request2);

$smf_avatar_filename = 'avatar_' . $row['id_member'] . strrchr($row['filename'], '.');
$ipb_avatar = $oldAvatarDir . '/' . $row['filename'];

if (strlen($smf_avatar_filename) <= 255 && copy($ipb_avatar, $avatar_dir . '/' . $smf_avatar_filename))
{
// Increase it.
++$id_attach;

// Get width, height, filename and ID_MEMBER
list ($width, $height) = explode('x', $row['dimension']);
$filesize = filesize($ipb_avatar);

        $rows[] = array(
'id_attach' => $id_attach,
'size' => $filesize,
'filename' => addslashes($smf_avatar_filename),
                'id_member' => $row['id_member'],
'width' => $width,
'height' => $height,
                'attachment_type' => $attachmentType,
);
}
---}
SELECT pp_member_id AS id_member, avatar_location AS filename, avatar_size AS dimension
FROM {$from_prefix}profile_portal
WHERE avatar_type = 'upload';
---*

/******************************************************************************/
--- Converting settings...
/******************************************************************************/

---# Moving settings...
---{
// We will do all updates once we find them all.
$update_settings = array();

$result = convert_query("
SELECT
conf_key AS config_name,
IF(conf_value = '', conf_default, conf_value) AS config_value
FROM {$from_prefix}core_sys_conf_settings");
while ($row = convert_fetch_assoc($result))
{
switch ($row['config_name'])
{
case 'board_name':
$forum_name = $row['config_value'];
break;

case 'offline_msg':
$maintenance_message = str_replace("\n", '<br />', $row['config_value']);
break;

case 'hot_topic':
$update_settings['hotTopicPosts'] = $row['config_value'];
break;

case 'display_max_posts':
$update_settings['defaultMaxMessages'] = $row['config_value'];
break;

case 'display_max_topics':
$update_settings['defaultMaxTopics'] = $row['config_value'];
break;

case 'flood_control':
$update_settings['spamWaitTime'] = $row['config_value'];
break;

case 'allow_online_list':
$update_settings['onlineEnable'] = $row['config_value'];
break;

case 'force_login':
break;

default:
break;
}
}
convert_free_result($result);

$result = convert_query("
SELECT cs_value
FROM {$from_prefix}cache_store
WHERE cs_key = 'stats'");
list ($inv_stats) = convert_fetch_row($result);
$inv_stats = unserialize($inv_stats);

if (!empty($inv_stats['most_count']) && !empty($inv_stats['most_date']))
{
$update_settings['mostOnline'] = $inv_stats['most_count'];
$update_settings['mostDate'] = $inv_stats['most_date'];
}

// While we coulddo this in one big batch, lets do it one by one.
foreach ($update_settings as $key => $value)
convert_query("
REPLACE INTO {$to_prefix}settings
(variable, value)
VALUES ('" . addslashes($key) . "', '" . addslashes($value) . "')");

updateSettingsFile(array(
'mbname' => '\'' . addcslashes($forum_name, '\'\\') . '\'',
'mmessage' => '\'' . addcslashes($maintenance_message, '\'\\') . '\''
));
---}
---#
« Letzte Änderung: 11. August 2011, 19:16:07 von DieWachtGaming »

Maybe the best portal for smf.

TE

  • Gast
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #26 am: 11. August 2011, 20:07:41 »
hier drunter:
Code
---* {$to_prefix}messages 200
---{

DieWachtGaming

  • Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
  • Dream Portal Teamer und creativer Querdenker :)
    • F8-2U
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #27 am: 11. August 2011, 21:02:42 »
Sehr schön TE, es hat teilweise funktioniert und manche Smilies sind nun sichtbar.
Aber es ist immer noch so ein Gruscht dabei:

Code
http://www.goblins-designes.de/:) http://www.goblins-designes.de/;) http://www.goblins-designes.de/:P http://www.goblins-designes.de/:D

Also einige der Smilies wollen anscheinend nicht und es wird nur die URL angezeigt.

Im Log kam lediglich noch diese meldung:

Code
Warning: copy() [function.copy]: The first argument to copy() function cannot be a directory in /hp/bd/ab/sr/www/platform/smf_forum/convert.php(1100) : eval()'d code on line 59

Sollten alle Stricke reissen und es gibt keine wirklich einfache Möglichkeit das zu bewerkstellingen, also die Smilies alle 1 zu 1 herüber zu kopieren, dann würde ich auch ganz auf die Smilies verzichten denn die sind ja nun echt nicht wichtig. Müsstest mir nur sagen was ich rauslöschen muss.

LG Andy
« Letzte Änderung: 11. August 2011, 21:12:23 von DieWachtGaming »

Maybe the best portal for smf.

TE

  • Gast
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #28 am: 11. August 2011, 21:25:32 »
schick mal per phpMyAdmin folgendes auf die SMF-Bank:
Code
UPDATE smf_messages SET body = REPLACE(body, 'http://www.goblin-designes.de/:)', ':)');
das machst du für jeden Smiley einmal, danach sollten die Beiträge sauber sein.
funktioniert nach dem PRinzip:
Code
UPDATE tabelle SET feldname = REPLACE(feldname, 'suchbegriff', 'ersatzbegriff');

DieWachtGaming

  • Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
  • Dream Portal Teamer und creativer Querdenker :)
    • F8-2U
Re: Invision Power Board 3.2 zu SMF 2.0 Gold Konverter ?
« Antwort #29 am: 11. August 2011, 21:35:03 »
Mach ich das mit der Funktion "SQL-Befehl(e) in Datenbank blablabla ausführen:" ?

Wäre auf alle Fälle eine sehr gute Idee. Kann mir vorstellen, dass es klappen wird.

Gibts auch eine Lösung das ganz zu löschen? Also, dass die ganzen doofen Smilies erst garnicht mit convertiert werden?  

P.S.: Sag mal hast Du ein eigenes Projekt mit PayPal Spendenkonto? Falls ja bitte ich Dich mir mal die URL dahin per PM zu schicken. Will mich etwas erkenntlich zeigen. Das Anliegen mit dem Converter war mich echt wichtig.
« Letzte Änderung: 11. August 2011, 21:55:32 von DieWachtGaming »

Maybe the best portal for smf.

 

Internes

Nutzungsbedingungen Impressum

Wissenswertes

Hilfe Knowledge Base

Nützliches

Downloads Socialmedia