Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Install/Upgrade/1000036-100b6.php
<?php

namespace XF\Install\Upgrade;

class
Version1000036 extends AbstractUpgrade
{
    public function
getVersionName()
    {
        return
'1.0.0 Beta 6';
    }

    public function
step1()
    {
       
$this->executeUpgradeQuery("
            INSERT IGNORE INTO xf_permission_entry
                (user_group_id, user_id, permission_group_id, permission_id, permission_value, permission_value_int)
            SELECT user_group_id, user_id, 'forum', 'like', 'allow', 0
            FROM xf_permission_entry
            WHERE permission_group_id = 'general'
                AND permission_id = 'view'
                AND permission_value = 'allow'
                AND (user_group_id > 1 OR user_id > 0)
        "
);

       
$this->executeUpgradeQuery("
            INSERT IGNORE INTO xf_permission_entry
                (user_group_id, user_id, permission_group_id, permission_id, permission_value, permission_value_int)
            SELECT user_group_id, user_id, 'profilePost', 'like', 'allow', 0
            FROM xf_permission_entry
            WHERE permission_group_id = 'profilePost'
                AND permission_id = 'view'
                AND permission_value = 'allow'
                AND (user_group_id > 1 OR user_id > 0)
        "
);
       
// the permission cache will be rebuilt at the end

       
$this->executeUpgradeQuery("
            ALTER TABLE xf_forum
                ADD moderate_messages TINYINT UNSIGNED NOT NULL DEFAULT 0,
                ADD allow_posting TINYINT UNSIGNED NOT NULL DEFAULT 1
        "
);

       
$this->executeUpgradeQuery("
            ALTER TABLE xf_user_option
                ADD enable_rte TINYINT UNSIGNED NOT NULL DEFAULT 1
        "
);

       
$this->executeUpgradeQuery("
            ALTER TABLE xf_language
                ADD language_code VARCHAR(25) NOT NULL DEFAULT ''
        "
);
       
$this->executeUpgradeQuery("
            UPDATE xf_language
            SET language_code = 'en-US'
            WHERE language_id = 1
        "
);

       
// create tables for feeder
       
$this->executeUpgradeQuery("
            CREATE TABLE xf_feed (
                feed_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
                title VARCHAR(250) NOT NULL,
                url VARCHAR(250) NOT NULL,
                frequency INT UNSIGNED NOT NULL DEFAULT 1800,
                node_id INT UNSIGNED NOT NULL,
                user_id INT UNSIGNED NOT NULL DEFAULT 0,
                title_template VARCHAR(250) NOT NULL DEFAULT '',
                message_template MEDIUMTEXT NOT NULL,
                discussion_visible TINYINT UNSIGNED NOT NULL DEFAULT 1,
                discussion_open TINYINT UNSIGNED NOT NULL DEFAULT 1,
                discussion_sticky TINYINT UNSIGNED NOT NULL DEFAULT 0,
                last_fetch INT UNSIGNED NOT NULL DEFAULT 0,
                active INT UNSIGNED NOT NULL DEFAULT 0,
                PRIMARY KEY (feed_id),
                KEY active (active)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        "
);

       
$this->executeUpgradeQuery("
            CREATE TABLE xf_feed_log (
                feed_id INT UNSIGNED NOT NULL,
                unique_id VARCHAR(250) NOT NULL,
                hash CHAR(32) NOT NULL COMMENT 'MD5(title + content)',
                thread_id INT UNSIGNED NOT NULL,
                PRIMARY KEY (feed_id,unique_id)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        "
);

       
// tables for QA CAPTCHA
       
$this->executeUpgradeQuery("
            CREATE TABLE xf_captcha_question (
                captcha_question_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
                question VARCHAR(250) NOT NULL,
                answers BLOB NOT NULL COMMENT 'Serialized array of possible correct answers.',
                active TINYINT UNSIGNED NOT NULL DEFAULT 1,
                PRIMARY KEY (captcha_question_id),
                KEY active (active)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        "
);

       
$this->executeUpgradeQuery("
            CREATE TABLE xf_captcha_log (
                hash CHAR(40) NOT NULL,
                captcha_type VARCHAR(250) NOT NULL,
                captcha_data VARCHAR(250) NOT NULL,
                captcha_date INT UNSIGNED NOT NULL,
                PRIMARY KEY (hash),
                KEY captcha_date (captcha_date)
            ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
        "
);

        return
true;
    }
}