View file install/import/Version3/ForumModerators.php

File size: 2.2Kb
<?php

class Install_Import_Version3_ForumModerators extends Install_Import_Version3_Abstract
{
  protected $_fromTable = 'se_forummoderators';

  protected $_toTable = 'engine4_forum_listitems';

  protected function _initPost()
  {
    if( $this->_toTableTruncate ) {
      try {
        $this->getToDb()->query('TRUNCATE TABLE ' . $this->getToDb()->quoteIdentifier('engine4_forum_lists'));
      } catch( Exception $e ) {
        
      }
    }
  }

  protected function  _translateRow(array $data, $key = null)
  {
    // Check for list
    $forumListIdentity = $this->getToDb()->select()
      ->from('engine4_forum_lists', 'list_id')
      ->where('owner_id = ?', $data['forummoderator_forum_id'])
      ->limit(1)
      ->query()
      ->fetchColumn(0)
      ;

    if( !$forumListIdentity ) {
      $this->getToDb()->insert('engine4_forum_lists', array(
        'owner_id' => $data['forummoderator_forum_id'],
        'child_count' => 0,
      ));
      $forumListIdentity = $this->getToDb()->lastInsertId();
    }

    // Make data
    $newData = array();

    $newData['list_id'] = $forumListIdentity;
    $newData['child_id'] = $data['forummoderator_user_id'];

    return $newData;
  }
}

/*
CREATE TABLE IF NOT EXISTS `se_forummoderators` (
  `forummoderator_forum_id` int(10) unsigned NOT NULL default '0',
  `forummoderator_user_id` int(10) unsigned NOT NULL default '0',
  UNIQUE KEY `unique` (`forummoderator_forum_id`,`forummoderator_user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
 *
 */

/*
CREATE TABLE IF NOT EXISTS `engine4_forum_listitems` (
  `listitem_id` int(11) unsigned NOT NULL auto_increment,
  `list_id` int(11) unsigned NOT NULL,
  `child_id` int(11) unsigned NOT NULL,
  PRIMARY KEY  (`listitem_id`, `child_id`),
  KEY `list_id` (`list_id`),
  KEY `child_id` (`child_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci ;
 *
 */

/*
CREATE TABLE IF NOT EXISTS `engine4_forum_lists` (
  `list_id` int(11) unsigned NOT NULL auto_increment,
  `owner_id` int(11) unsigned NOT NULL,
  `child_count` int(11) unsigned NOT NULL default '0',
  PRIMARY KEY  (`list_id`),
  KEY `owner_id` (`owner_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci ;
 *
 */