Вход Регистрация
Файл: forsoc.ru/ext/paybas/recenttopics/migrations/release_2_0_0.php
Строк: 135
<?php
/**
 *
 * @package Recent Topics Extension
 * @copyright (c) 2015 PayBas
 * @license GNU General Public License, version 2 (GPL-2.0)
 *
 * Based on the original NV Recent Topics by Joas Schilling (nickvergessen)
 *
 */

namespace paybasrecenttopicsmigrations;

class 
release_2_0_0 extends phpbbdbmigrationmigration
{
    public function 
effectively_installed()
    {
        return isset(
$this->config['rt_version']) && version_compare($this->config['rt_version'], '2.0.0''>=');
    }

    public function 
update_schema()
    {
        return array(
            
'add_columns' => array(
                
$this->table_prefix 'forums' => array(
                    
'forum_recent_topics' => array('TINT:1'1),
                ),
            ),
        );
    }

    public function 
revert_schema()
    {
        return array(
            
'drop_columns' => array(
                
$this->table_prefix 'forums' => array(
                    
'forum_recent_topics',
                ),
            ),
        );
    }

    public function 
update_data()
    {
        return array(

            
// Remove old config if it exists
            
array('if', array(
                (isset(
$this->config['recenttopics'])),
                array(
'config.remove', array('recenttopics')),
            )),
            array(
'if', array(
                (isset(
$this->config['rt_mod_version'])),
                array(
'config.remove', array('rt_mod_version')),
            )),
            array(
'if', array(
                (isset(
$this->config['rt_version'])),
                array(
'config.remove', array('rt_version')),
            )),
            array(
'if', array(
                (isset(
$this->config['rt_number'])),
                array(
'config.remove', array('rt_number')),
            )),
            array(
'if', array(
                (isset(
$this->config['rt_page_number'])),
                array(
'config.remove', array('rt_page_number')),
            )),
            array(
'if', array(
                (isset(
$this->config['rt_anti_topics'])),
                array(
'config.remove', array('rt_anti_topics')),
            )),
            array(
'if', array(
                (isset(
$this->config['rt_parents'])),
                array(
'config.remove', array('rt_parents')),
            )),
            array(
'if', array(
                (isset(
$this->config['rt_index'])),
                array(
'config.remove', array('rt_index')),
            )),

            
// Add new config vars
            
array('config.add', array('rt_version''2.0.0')),
            array(
'config.add', array('rt_number'5)),
            array(
'config.add', array('rt_page_number'0)),
            array(
'config.add', array('rt_anti_topics'0)),
            array(
'config.add', array('rt_parents'1)),
            array(
'config.add', array('rt_unreadonly'0)),
            array(
'config.add', array('rt_index'1)),

            
// Remove old (v1) modules
            
array('if', array(
                array(
'module.exists', array('acp''RECENT_TOPICS_MOD', array(
                    
'module_basename'    => 'recenttopics',
                    
'modes'    => array('overview'),
                    ),
                )),
                array(
'module.remove', array('acp''RECENT_TOPICS_MOD', array(
                    
'module_basename'    => 'recenttopics',
                    
'modes'    => array('overview'),
                    ),
                )),
            )),
            array(
'if', array(
                array(
'module.exists', array('acp''ACP_CAT_DOT_MODS''RECENT_TOPICS_MOD')),
                array(
'module.remove', array('acp''ACP_CAT_DOT_MODS''RECENT_TOPICS_MOD')),
            )),

            
// Remove early beta modules
            
array('if', array(
                array(
'module.exists', array('acp''RECENT_TOPICS_EXT', array(
                    
'module_basename'    => 'paybasrecenttopicsacprecenttopics_module',
                    
'modes'    => array('recenttopics_config'),
                    ),
                )),
                array(
'module.remove', array('acp''RECENT_TOPICS_EXT', array(
                    
'module_basename'    => 'paybasrecenttopicsacprecenttopics_module',
                    
'modes'    => array('recenttopics_config'),
                    ),
                )),
            )),
            array(
'if', array(
                array(
'module.exists', array('acp''ACP_CAT_DOT_MODS''RECENT_TOPICS_EXT')),
                array(
'module.remove', array('acp''ACP_CAT_DOT_MODS''RECENT_TOPICS_EXT')),
            )),

            
// Add new modules
            
array('module.add', array(
                
'acp',
                
'ACP_CAT_DOT_MODS',
                
'RECENT_TOPICS'
            
)),

            array(
'module.add', array(
                
'acp',
                
'RECENT_TOPICS',
                array(
                    
'module_basename'    => 'paybasrecenttopicsacprecenttopics_module',
                    
'modes'    => array('recenttopics_config'),
                ),
            )),
        );
    }

    public function 
revert_data()
    {
        return array(
            array(
'config.remove', array('rt_version')),
            array(
'config.remove', array('rt_number')),
            array(
'config.remove', array('rt_page_number')),
            array(
'config.remove', array('rt_anti_topics')),
            array(
'config.remove', array('rt_parents')),
            array(
'config.remove', array('rt_unreadonly')),
            array(
'config.remove', array('rt_index')),

            array(
'module.remove', array(
                
'acp',
                
'RECENT_TOPICS',
                array(
                    
'module_basename'    => 'paybasrecenttopicsacprecenttopics_module',
                    
'modes'    => array('recenttopics_config'),
                ),
            )),
            array(
'module.remove', array(
                
'acp',
                
'ACP_CAT_DOT_MODS',
                
'RECENT_TOPICS'
            
)),
        );
    }
}
Онлайн: 3
Реклама