View file install/import/Version3/GroupTopics.php

File size: 3.06Kb
<?php

class Install_Import_Version3_GroupTopics extends Install_Import_Version3_Abstract
{
  protected $_fromTable = 'se_grouptopics';

  protected $_toTable = 'engine4_group_topics';

  protected function  _translateRow(array $data, $key = null)
  {
    $newData = array();

    $newData['topic_id'] = $data['grouptopic_id'];
    $newData['group_id'] = $data['grouptopic_group_id'];
    $newData['user_id'] = $data['grouptopic_creatoruser_id'];
    $newData['title'] = $data['grouptopic_subject'];
    $newData['creation_date'] = $this->_translateTime($data['grouptopic_date']);
    $newData['modified_date'] = $this->_translateTime($data['grouptopic_date']);
    $newData['sticky'] = $data['grouptopic_sticky'];
    $newData['closed'] = $data['grouptopic_closed'];
    $newData['view_count'] = $data['grouptopic_views'];
    $newData['post_count'] = $data['grouptopic_totalposts'];

    // Lookup the last poster
    $lastPostInfo = $this->getFromDb()->select()
      ->from('se_groupposts', array('grouppost_id', 'grouppost_date', 'grouppost_authoruser_id'))
      ->where('grouppost_grouptopic_id = ?', $data['grouptopic_id'])
      ->order('grouppost_id DESC')
      ->limit(1)
      ->query()
      ->fetch()
      ;

    if( !empty($lastPostInfo) ) {
      $newData['lastpost_id'] = $lastPostInfo['grouppost_id'];
      $newData['lastposter_id'] = $lastPostInfo['grouppost_authoruser_id'];
    }
    
    // search
    //if( @$newData['search'] ) {
    //  $this->_insertSearch('group_topic', @$newData['topic_id'], @$newData['title'], @$newData['description']);
    //}

    return $newData;
  }
}

/*
CREATE TABLE IF NOT EXISTS `se_grouptopics` (
*  `grouptopic_id` int(9) NOT NULL auto_increment,
*  `grouptopic_group_id` int(9) NOT NULL default '0',
*  `grouptopic_creatoruser_id` int(9) NOT NULL default '0',
*  `grouptopic_date` int(14) NOT NULL default '0',
*  `grouptopic_subject` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL default '',
*  `grouptopic_views` int(9) NOT NULL default '0',
*  `grouptopic_sticky` tinyint(1) unsigned NOT NULL default '0',
*  `grouptopic_closed` tinyint(1) unsigned NOT NULL default '0',
*  `grouptopic_totalposts` smallint(5) unsigned NOT NULL default '0',
  PRIMARY KEY  (`grouptopic_id`),
  KEY `INDEX` (`grouptopic_group_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1 ;
 *
 */

/*
CREATE TABLE IF NOT EXISTS `engine4_group_topics` (
*  `topic_id` int(11) unsigned NOT NULL auto_increment,
*  `group_id` int(11) unsigned NOT NULL,
*  `user_id` int(11) unsigned NOT NULL,

*  `title` varchar(64) NOT NULL,
*  `creation_date` datetime NOT NULL,
*  `modified_date` datetime NOT NULL,
*  `sticky` tinyint(1) NOT NULL default '0',
*  `closed` tinyint(1) NOT NULL default '0',
*  `view_count` int(11) unsigned NOT NULL default '0',
*  `post_count` int(11) unsigned NOT NULL default '0',
*  `lastpost_id` int(11) unsigned NOT NULL,
*  `lastposter_id` int(11) unsigned NOT NULL,
  PRIMARY KEY  (`topic_id`),
  KEY `group_id` (`group_id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci ;
 *
 */