To jakiś skrypt dostępny w darmowych konwerterach? Jeśli tak to by się można powzorować np. na MyBB konwersji i zrobić tak.
Plik: applications/convert/sources/Software/Forums/Mybb.php
Cała metoda konwersji postów (w trakcie której jest konwertowana reputacja):
/**
* Convert posts
*
* @return void
*/
public function convertForumsPosts()
{
$libraryClass = $this->getLibrary();
$libraryClass::setKey( 'pid' );
foreach( $this->fetch( 'posts', 'pid' ) AS $row )
{
switch( $row['visible'] )
{
case 1:
$queued = 0;
break;
case 0:
$queued = 1;
break;
case -1:
$queued = -1;
break;
}
$info = array(
'pid' => $row['pid'],
'topic_id' => $row['tid'],
'post' => $row['message'],
'edit_time' => $row['edittime'],
'author_id' => $row['uid'],
'author_name' => $row['username'],
'ip_address' => $row['ipaddress'],
'post_date' => $row['dateline'],
'queued' => $queued,
'post_edit_reason' => $row['editreason'],
);
$libraryClass->convertForumsPost( $info );
/* Reputation */
foreach( $this->db->select( '*', 'reputation', array( "pid=?", $row['pid'] ) ) AS $rep )
{
$reaction = ( $rep['reputation'] > 0 ) ? $this->app->_session['more_info']['convertForumsPosts']['rep_positive'] : $this->app->_session['more_info']['convertForumsPosts']['rep_negative'];
$libraryClass->convertReputation( array(
'id' => $rep['rid'],
'app' => 'forums',
'type' => 'pid',
'type_id' => $row['pid'],
'member_id' => $rep['adduid'],
'member_received' => $rep['uid'],
'rep_date' => $rep['dateline'],
'reaction' => $reaction
) );
}
/* Warnings */
foreach( $this->db->select( '*', 'warnings', array( "pid=?", $row['pid'] ) ) AS $warn )
{
$warnId = $libraryClass->convertWarnLog( array(
'wl_id' => $warn['wid'],
'wl_member' => $warn['uid'],
'wl_moderator' => $warn['issuedby'],
'wl_date' => $warn['dateline'],
'wl_points' => $warn['points'],
'wl_note_mods' => $warn['notes'],
) );
/* Add a member history record for this member */
$libraryClass->convertMemberHistory( array(
'log_id' => 'w' . $warn['wid'],
'log_member' => $warn['uid'],
'log_by' => $warn['issuedby'],
'log_type' => 'warning',
'log_data' => array( 'wid' => $warnId ),
'log_date' => $warn['dateline']
)
);
}
$libraryClass->setLastKeyValue( $row['pid'] );
}
}
A chodzi o ten fragment:
/* Reputation */
foreach( $this->db->select( '*', 'reputation', array( "pid=?", $row['pid'] ) ) AS $rep )
{
$reaction = ( $rep['reputation'] > 0 ) ? $this->app->_session['more_info']['convertForumsPosts']['rep_positive'] : $this->app->_session['more_info']['convertForumsPosts']['rep_negative'];
$libraryClass->convertReputation( array(
'id' => $rep['rid'],
'app' => 'forums',
'type' => 'pid',
'type_id' => $row['pid'],
'member_id' => $rep['adduid'],
'member_received' => $rep['uid'],
'rep_date' => $rep['dateline'],
'reaction' => $reaction
) );
}
Przypatrz się i może się uda. Jak coś to pytaj.