-
Notifications
You must be signed in to change notification settings - Fork 19
/
mysql_updates.php
203 lines (171 loc) · 10 KB
/
mysql_updates.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<?php
/* Reminder: always indent with 4 spaces (no tabs). */
// +---------------------------------------------------------------------------+
// | Static Pages Plugin 1.7 |
// +---------------------------------------------------------------------------+
// | Upgrade SQL |
// +---------------------------------------------------------------------------+
// | Copyright (C) 2009-2017 by the following authors: |
// | |
// | Authors: Tom Homer - websitemaster AT cogeco DOT net |
// +---------------------------------------------------------------------------+
// | |
// | This program is licensed under the terms of the GNU General Public License|
// | as published by the Free Software Foundation; either version 2 |
// | of the License, or (at your option) any later version. |
// | |
// | This program is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
// | See the GNU General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with this program; if not, write to the Free Software Foundation, |
// | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
// | |
// +---------------------------------------------------------------------------+
/**
* MySQL updates
*
* @package StaticPages
*/
$_UPDATES = array(
'1.4.3' => array(
"ALTER TABLE {$_TABLES['staticpage']} ADD commentcode tinyint(4) NOT NULL default '0' AFTER sp_label",
// disable comments on all existing static pages
"UPDATE {$_TABLES['staticpage']} SET commentcode = -1"
),
'1.6.0' => array(
"ALTER TABLE {$_TABLES['staticpage']} ADD meta_description TEXT NULL AFTER commentcode",
"ALTER TABLE {$_TABLES['staticpage']} ADD meta_keywords TEXT NULL AFTER meta_description"
),
'1.6.1' => array(
"ALTER TABLE {$_TABLES['staticpage']} DROP COLUMN sp_uid",
"ALTER TABLE {$_TABLES['staticpage']} ADD draft_flag tinyint(1) unsigned default '0' AFTER meta_keywords",
"ALTER TABLE {$_TABLES['staticpage']} CHANGE sp_date `created` datetime default NULL",
"ALTER TABLE {$_TABLES['staticpage']} ADD modified datetime NOT NULL default '0000-00-00 00:00:00' AFTER `created`",
"UPDATE {$_TABLES['staticpage']} SET modified = `created`",
"ALTER TABLE {$_TABLES['staticpage']} ADD sp_page_title varchar(128) NOT NULL default '' AFTER sp_title"
),
'1.6.2' => array(
"ALTER TABLE {$_TABLES['staticpage']} ADD `template_flag` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `meta_keywords`",
"ALTER TABLE {$_TABLES['staticpage']} ADD `template_id` VARCHAR( 40 ) NOT NULL DEFAULT '' AFTER `template_flag`"
),
'1.6.3' => array(
"INSERT INTO {$_TABLES['features']} (ft_name, ft_descr, ft_gl_core) VALUES ('config.staticpages.tab_main', 'Access to configure static pages main settings', 0)",
"INSERT INTO {$_TABLES['features']} (ft_name, ft_descr, ft_gl_core) VALUES ('config.staticpages.tab_whatsnew', 'Access to configure static pages what\'s new block', 0)",
"INSERT INTO {$_TABLES['features']} (ft_name, ft_descr, ft_gl_core) VALUES ('config.staticpages.tab_search', 'Access to configure static pages search results', 0)",
"INSERT INTO {$_TABLES['features']} (ft_name, ft_descr, ft_gl_core) VALUES ('config.staticpages.tab_permissions', 'Access to configure static pages default permissions', 0)",
"INSERT INTO {$_TABLES['features']} (ft_name, ft_descr, ft_gl_core) VALUES ('config.staticpages.tab_autotag_permissions', 'Access to configure static pages autotag usage permissions', 0)"
),
'1.6.5' => array(
"ALTER TABLE {$_TABLES['staticpage']} ADD `cache_time` INT NOT NULL DEFAULT '0' AFTER `template_id`",
"ALTER TABLE {$_TABLES['staticpage']} CHANGE `sp_id` `sp_id` VARCHAR(128) NOT NULL DEFAULT ''"
),
'1.6.7' => array(
"ALTER TABLE {$_TABLES['staticpage']} MODIFY COLUMN `created` DATETIME DEFAULT NULL",
"ALTER TABLE {$_TABLES['staticpage']} MODIFY COLUMN `modified` DATETIME DEFAULT NULL",
"ALTER TABLE {$_TABLES['staticpage']} ADD `sp_onhits` TINYINT NOT NULL DEFAULT '1' AFTER `sp_onmenu`",
"ALTER TABLE {$_TABLES['staticpage']} ADD `sp_onlastupdate` TINYINT NOT NULL DEFAULT '1' AFTER `sp_onhits`"
),
'1.6.9' => array(
"ALTER TABLE {$_TABLES['staticpage']} ADD `sp_prev` VARCHAR(128) NOT NULL DEFAULT '' AFTER `postmode`",
"ALTER TABLE {$_TABLES['staticpage']} ADD `sp_next` VARCHAR(128) NOT NULL DEFAULT '' AFTER `sp_prev`",
"ALTER TABLE {$_TABLES['staticpage']} ADD `sp_parent` VARCHAR(128) NOT NULL DEFAULT '' AFTER `sp_next`",
),
'1.7.0' => array(
"ALTER TABLE {$_TABLES['staticpage']} ADD `structured_data_type` varchar(40) NOT NULL DEFAULT '' AFTER `commentcode`",
"ALTER TABLE {$_TABLES['staticpage']} ADD page_data TEXT DEFAULT NULL AFTER sp_content"
),
'1.7.1' => array(
"ALTER TABLE {$_TABLES['staticpage']} ADD `search` TINYINT(1) NOT NULL DEFAULT '1' AFTER `draft_flag`;"
),
);
/**
* Add is new security rights for the Group "Static Page Admin"
*
*/
function SP_update_ConfigSecurity_1_6_3()
{
global $_TABLES;
// Add in security rights for Static Page Admin
$group_id = DB_getItem($_TABLES['groups'], 'grp_id', "grp_name = 'Static Page Admin'");
if ($group_id > 0) {
$ft_names[] = 'config.staticpages.tab_main';
$ft_names[] = 'config.staticpages.tab_whatsnew';
$ft_names[] = 'config.staticpages.tab_search';
$ft_names[] = 'config.staticpages.tab_permissions';
$ft_names[] = 'config.staticpages.tab_autotag_permissions';
foreach ($ft_names as $name) {
$ft_id = DB_getItem($_TABLES['features'], 'ft_id', "ft_name = '$name'");
if ($ft_id > 0) {
$sql = "INSERT INTO {$_TABLES['access']} (acc_ft_id, acc_grp_id) VALUES ($ft_id, $group_id)";
DB_query($sql);
}
}
}
}
/**
* Handle update to plugin version 1.6.0: introduce meta tags option
*
*/
function SP_update_ConfValues_1_6_0()
{
global $_CONF, $_TABLES, $_SP_DEFAULT;
$c = config::get_instance();
require_once $_CONF['path'] . 'plugins/staticpages/install_defaults.php';
// meta tag config options.
$c->add('meta_tags', $_SP_DEFAULT['meta_tags'], 'select', 0, 0, 0, 120, true, 'staticpages');
// check for wrong Admin group name
$wrong_id = DB_getItem($_TABLES['groups'], 'grp_id',
"grp_name = 'Static Pages Admin'"); // wrong name
if (! empty($wrong_id)) {
$grp_id = DB_getItem($_TABLES['groups'], 'grp_id',
"grp_name = 'Static Page Admin'"); // correct name
if (empty($grp_id)) {
// correct name not found - probably a fresh install: rename
DB_query("UPDATE {$_TABLES['groups']} SET grp_name = 'Static Page Admin' WHERE grp_name = 'Static Pages Admin'");
} else {
// both names exist: delete wrong group & assignments
DB_delete($_TABLES['access'], 'acc_grp_id', $wrong_id);
DB_delete($_TABLES['group_assignments'], 'ug_grp_id', $wrong_id);
DB_delete($_TABLES['group_assignments'], 'ug_main_grp_id', $wrong_id);
DB_delete($_TABLES['groups'], 'grp_name', 'Static Pages Admin');
}
}
// move Default Permissions fieldset
DB_query("UPDATE {$_TABLES['conf_values']} SET fieldset = 3 WHERE (group_name = 'staticpages') AND (fieldset = 1)");
// What's New Block
$c->add('fs_whatsnew', NULL, 'fieldset', 0, 1, NULL, 0, true, 'staticpages');
$c->add('newstaticpagesinterval',$_SP_DEFAULT['new_staticpages_interval'],'text', 0, 1, NULL, 10, TRUE, 'staticpages');
$c->add('hidenewstaticpages',$_SP_DEFAULT['hide_new_staticpages'],'select', 0, 1, 0, 20, TRUE, 'staticpages');
$c->add('title_trim_length',$_SP_DEFAULT['title_trim_length'],'text', 0, 1, NULL, 30, TRUE, 'staticpages');
$c->add('includecenterblocks',$_SP_DEFAULT['include_centerblocks'],'select', 0, 1, 0, 40, TRUE, 'staticpages');
$c->add('includephp',$_SP_DEFAULT['include_PHP'],'select', 0, 1, 0, 50, TRUE, 'staticpages');
// Search Results
$c->add('fs_search', NULL, 'fieldset', 0, 2, NULL, 0, true, 'staticpages');
$c->add('includesearch', $_SP_DEFAULT['include_search'], 'select', 0, 2, 0, 10, true, 'staticpages');
$c->add('includesearchcenterblocks',$_SP_DEFAULT['include_search_centerblocks'],'select', 0, 2, 0, 20, TRUE, 'staticpages');
$c->add('includesearchphp',$_SP_DEFAULT['include_search_PHP'],'select', 0, 2, 0, 30, TRUE, 'staticpages');
return true;
}
/**
* Handle update to plugin version 1.6.1
*
*/
function SP_update_ConfValues_1_6_1()
{
global $_CONF, $_TABLES, $_SP_DEFAULT;
$c = config::get_instance();
require_once $_CONF['path'] . 'plugins/staticpages/install_defaults.php';
$c->add('comment_code', $_SP_DEFAULT['comment_code'], 'select',
0, 0, 17, 125, true, 'staticpages');
$c->add('draft_flag', $_SP_DEFAULT['draft_flag'], 'select',
0, 0, 0, 127, true, 'staticpages');
$c->add('sort_list_by', $_SP_DEFAULT['sort_list_by'], 'select',
0, 0, 4, 35, true, 'staticpages');
$c->del('hidenewstaticpages','staticpages');
$c->add('hidenewstaticpages',$_SP_DEFAULT['hide_new_staticpages'],'select',
0, 1, 5, 20, TRUE, 'staticpages');
return true;
}