1
INSERT INTO `pages` (`name`, `pagegroupID`)
2
VALUES ('help', '2'), ('clock', 2);
4
CREATE TABLE IF NOT EXISTS `help` (
5
`HelpID` int(11) NOT NULL auto_increment,
6
`Topic` varchar(254) NOT NULL,
7
`Category` varchar(254) NOT NULL default 'General',
8
`Link` varchar(254) NOT NULL,
10
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
12
INSERT INTO `help` (`HelpID`, `Topic`, `Category`, `Link`) VALUES
13
(1, 'Layout', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts'),
14
(2, 'Content', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Media#The_Library'),
15
(4, 'Schedule', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Scheduling'),
16
(5, 'Group', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users#Groups'),
17
(6, 'Admin', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Settings'),
18
(7, 'Report', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Log'),
19
(8, 'Dashboard', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Overview#Dashboard'),
20
(9, 'User', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users'),
21
(10, 'Display', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays'),
22
(11, 'Displaygroup', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays#Groups'),
23
(12, 'Layout', 'Add', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts:Design#Adding_Layouts'),
24
(13, 'Layout', 'Background', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts:Design#Layout_Designer'),
25
(14, 'Content', 'Assign', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts:Design#Library'),
26
(15, 'Layout', 'RegionOptions', 'http://wiki.xibo.org.uk/wiki/Manual:Layouts:Design#Assigning_Media'),
27
(16, 'Content', 'AddtoLibrary', 'http://wiki.xibo.org.uk/wiki/Manual:Media'),
28
(17, 'Display', 'Edit', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays'),
29
(18, 'Display', 'Delete', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays#Delete'),
30
(19, 'Displays', 'Groups', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Displays#Groups'),
31
(20, 'Groups', 'General', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users'),
32
(21, 'User', 'Add', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users#Add'),
33
(22, 'User', 'Delete', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Users#Delete'),
34
(23, 'Content', 'Config', 'http://wiki.xibo.org.uk/wiki/Manual:Administration:Settings');
37
/* New page for display groups */
38
INSERT INTO `pages` (`name` , `pagegroupID`)
39
VALUES ('displaygroup', '7');
41
/* New menu item for display groups */
42
INSERT INTO `menuitem` ( `MenuID` , `PageID` , `Args` , `Text` , `Class` , `Img` , `Sequence`)
43
SELECT 4, PageID, NULL, 'Display Groups', NULL, NULL, 2 FROM pages WHERE `name` = 'displaygroup';
46
/* Create display groups. 20.php will handle adding a IsDisplaySpecific group for each display and linking it. */
47
CREATE TABLE IF NOT EXISTS `displaygroup` (
48
`DisplayGroupID` int(11) NOT NULL auto_increment,
49
`DisplayGroup` varchar(50) NOT NULL,
50
`Description` varchar(254) default NULL,
51
`IsDisplaySpecific` tinyint(4) NOT NULL default '0',
52
PRIMARY KEY (`DisplayGroupID`)
53
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
55
CREATE TABLE IF NOT EXISTS `lkdisplaydg` (
56
`LkDisplayDGID` int(11) NOT NULL auto_increment,
57
`DisplayGroupID` int(11) NOT NULL,
58
`DisplayID` int(11) NOT NULL,
59
PRIMARY KEY (`LkDisplayDGID`),
60
KEY `DisplayGroupID` (`DisplayGroupID`),
61
KEY `DisplayID` (`DisplayID`)
62
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
64
ALTER TABLE `lkdisplaydg`
65
ADD CONSTRAINT `lkdisplaydg_ibfk_1` FOREIGN KEY (`DisplayGroupID`) REFERENCES `displaygroup` (`DisplayGroupID`),
66
ADD CONSTRAINT `lkdisplaydg_ibfk_2` FOREIGN KEY (`DisplayID`) REFERENCES `display` (`displayid`);
68
/* Last accessed date on display table need to be a timestamp */
69
UPDATE display SET lastaccessed = NULL;
70
ALTER TABLE `display` CHANGE `lastaccessed` `lastaccessed` INT NULL DEFAULT NULL;
71
UPDATE display SET lastaccessed = UNIX_TIMESTAMP() - 86400;
73
/* Permissions for Display Groups against Groups */
74
CREATE TABLE `lkgroupdg` (
75
`LkGroupDGID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
76
`GroupID` INT NOT NULL ,
77
`DisplayGroupID` INT NOT NULL
78
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci ;
80
ALTER TABLE `lkgroupdg` ADD INDEX ( `GroupID` ) ;
82
ALTER TABLE `lkgroupdg` ADD INDEX ( `DisplayGroupID` ) ;
84
ALTER TABLE `lkgroupdg` ADD FOREIGN KEY ( `GroupID` ) REFERENCES `group` (
88
ALTER TABLE `lkgroupdg` ADD FOREIGN KEY ( `DisplayGroupID` ) REFERENCES `displaygroup` (
93
/* Change the display list to a display group list */
94
ALTER TABLE `schedule` CHANGE `displayID_list` `DisplayGroupIDs` VARCHAR( 254 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'A list of the display group ids for this event' ;
96
ALTER TABLE `schedule`
97
ADD `FromDT` BIGINT NOT NULL DEFAULT '0',
98
ADD `ToDT` BIGINT NOT NULL DEFAULT '0',
99
ADD `recurrence_range_temp` BIGINT NULL ;
102
FromDT = UNIX_TIMESTAMP(start),
103
ToDT = UNIX_TIMESTAMP(end),
104
recurrence_range_temp = CASE WHEN recurrence_range IS NULL THEN NULL ELSE UNIX_TIMESTAMP(recurrence_range) END ;
106
ALTER TABLE `schedule`
107
DROP `recurrence_range`,
111
ALTER TABLE `schedule` CHANGE `recurrence_range_temp` `recurrence_range` BIGINT( 20 ) NULL DEFAULT NULL ;
113
/* Schedule Detail */
114
ALTER TABLE `schedule_detail` DROP FOREIGN KEY `schedule_detail_ibfk_3` ;
116
ALTER TABLE `schedule_detail` DROP FOREIGN KEY `schedule_detail_ibfk_4` ;
118
ALTER TABLE `schedule_detail` ADD FOREIGN KEY ( `layoutID` ) REFERENCES `layout` (
122
ALTER TABLE `schedule_detail` DROP FOREIGN KEY `schedule_detail_ibfk_5` ;
124
ALTER TABLE `schedule_detail` ADD FOREIGN KEY ( `eventID` ) REFERENCES `schedule` (
128
ALTER TABLE `schedule_detail` CHANGE `displayID` `DisplayGroupID` INT( 11 ) NOT NULL ;
130
ALTER TABLE `schedule_detail` DROP INDEX `displayid` ,
131
ADD INDEX `DisplayGroupID` ( `DisplayGroupID` ) ;
133
ALTER TABLE `schedule_detail`
134
ADD `FromDT` BIGINT NOT NULL DEFAULT '0',
135
ADD `ToDT` BIGINT NOT NULL DEFAULT '0';
137
UPDATE `schedule_detail` SET
138
FromDT = UNIX_TIMESTAMP( starttime ) ,
139
ToDT = UNIX_TIMESTAMP( endtime ) ;
141
ALTER TABLE `schedule_detail`
145
UPDATE schedule_detail SET FromDT = 946684800 WHERE FromDT = 0;
147
ALTER TABLE `schedule_detail` DROP INDEX `schedule_detail_ibfk_3`;
148
ALTER TABLE `schedule_detail` DROP INDEX `IM_SDT_DisplayID`;
151
/* Users and Groups */
152
CREATE TABLE IF NOT EXISTS `lkusergroup` (
153
`LkUserGroupID` int(11) NOT NULL auto_increment,
154
`GroupID` int(11) NOT NULL,
155
`UserID` int(11) NOT NULL,
156
PRIMARY KEY (`LkUserGroupID`),
157
KEY `GroupID` (`GroupID`),
158
KEY `UserID` (`UserID`)
159
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
161
/* Add the user specific flag to groups */
162
ALTER TABLE `group` ADD `IsUserSpecific` TINYINT NOT NULL DEFAULT '0';
165
/* Add contraints to the new table */
166
ALTER TABLE `lkusergroup` ADD FOREIGN KEY ( `GroupID` ) REFERENCES `group` (
170
ALTER TABLE `lkusergroup` ADD FOREIGN KEY ( `UserID` ) REFERENCES `user` (
176
/* Set the version table, etc */
177
UPDATE `version` SET `app_ver` = '1.1.0';
178
UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE';
179
UPDATE `version` SET `DBVersion` = '20';