1: <?php
2: 3: 4: 5:
6: if (!defined('XOOPS_ROOT_PATH')) exit();
7:
8: require_once XOOPS_ROOT_PATH.'/modules/legacy/admin/class/ModuleUpdater.class.php';
9:
10: class Message_myUpdater extends Legacy_ModulePhasedUpgrader
11: {
12: function Message_myUpdater()
13: {
14: parent::Legacy_ModulePhasedUpgrader();
15: $this->_mMilestone = array(
16: '041' => 'update041',
17: '060' => 'update060',
18: '070' => 'update070'
19: );
20: }
21:
22: function updatemain()
23: {
24: Legacy_ModuleInstallUtils::clearAllOfModuleTemplatesForUpdate($this->_mTargetXoopsModule, $this->mLog);
25: Legacy_ModuleInstallUtils::installAllOfModuleTemplates($this->_mTargetXoopsModule, $this->mLog);
26:
27: $this->saveXoopsModule($this->_mTargetXoopsModule);
28: $this->mLog->add('Version'.($this->_mTargetVersion / 100).' for update.');
29: $this->_mCurrentVersion = $this->_mTargetVersion;
30: }
31:
32: function update070()
33: {
34: $this->mLog->addReport(_AD_LEGACY_MESSAGE_UPDATE_STARTED);
35: $root = XCube_Root::getSingleton();
36: $db = $root->mController->getDB();
37:
38: $sql = "ALTER TABLE `".$db->prefix('message_inbox')."` ";
39: $sql.= "ADD `uname` varchar(100) NOT NULL default ''";
40: if (!$db->query($sql)) {
41: $this->mLog->addReport($db->error());
42: }
43:
44: $this->updatemain();
45: return true;
46: }
47:
48: function update060()
49: {
50: $this->mLog->addReport(_AD_LEGACY_MESSAGE_UPDATE_STARTED);
51: $root = XCube_Root::getSingleton();
52: $db = $root->mController->getDB();
53:
54: $sql = "ALTER TABLE `".$db->prefix('message_users')."` ";
55: $sql.= "ADD `viewmsm` int( 1 ) UNSIGNED NOT NULL DEFAULT '0', ";
56: $sql.= "ADD `pagenum` int( 2 ) UNSIGNED NOT NULL DEFAULT '0', ";
57: $sql.= "ADD `blacklist` VARCHAR( 255 ) NOT NULL DEFAULT ''";
58: if (!$db->query($sql)) {
59: $this->mLog->addReport($db->error());
60: }
61:
62: $this->updatemain();
63: return true;
64: }
65:
66: function update041()
67: {
68: $this->mLog->addReport(_AD_LEGACY_MESSAGE_UPDATE_STARTED);
69:
70:
71: $sqlfileInfo = $this->_mTargetXoopsModule->getInfo('sqlfile');
72: $dirname = $this->_mTargetXoopsModule->getVar('dirname');
73: $sqlfile = $sqlfileInfo[XOOPS_DB_TYPE];
74: $sqlfilepath = XOOPS_MODULE_PATH.'/'.$dirname.'/'.$sqlfile;
75: require_once XOOPS_MODULE_PATH.'/legacy/admin/class/Legacy_SQLScanner.class.php';
76: $scanner = new Legacy_SQLScanner();
77: $scanner->setDB_PREFIX(XOOPS_DB_PREFIX);
78: $scanner->setDirname($this->_mTargetXoopsModule->get('dirname'));
79: if (!$scanner->loadFile($sqlfilepath)) {
80: $this->mLog->addError(XCube_Utils::formatMessage(_AD_LEGACY_ERROR_SQL_FILE_NOT_FOUND, $sqlfile));
81: return false;
82: }
83:
84: $scanner->parse();
85: $sqls = $scanner->getSQL();
86: $root = XCube_Root::getSingleton();
87: $db = $root->mController->getDB();
88:
89: foreach ($sqls as $sql) {
90: if ( strpos($sql, '_message_users') !== false ) {
91: if (!$db->query($sql)) {
92: $this->mLog->addError($db->error());
93: return false;
94: }
95: }
96: }
97: $this->mLog->addReport(_AD_LEGACY_MESSAGE_DATABASE_SETUP_FINISHED);
98:
99:
100: $this->updatemain();
101: return true;
102: }
103: }
104: ?>
105: