-- -------------------------------------------------------- -- -- Modification / Changes for ver. 0.9 -- DROP PROCEDURE IF EXISTS updatePagesPostsValue; delimiter // CREATE PROCEDURE updatePagesPostsValue (OUT done INT) BEGIN DECLARE field_id INT; DECLARE field_posts INT; DECLARE cur1 CURSOR FOR SELECT `PageID`, COUNT(`PageID`) FROM `posts` GROUP BY `PageID`; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; SET done = 0; OPEN cur1; REPEAT FETCH cur1 INTO field_id, field_posts; IF NOT done THEN UPDATE `pages` SET `Posts` = field_posts WHERE `ID` = field_id; END IF; UNTIL done END REPEAT; CLOSE cur1; END// delimiter ; CALL updatePagesPostsValue(@done); SELECT @done; ALTER TABLE `pages` ADD INDEX ( `ViewableBy` ); DROP TABLE IF EXISTS `menuitems`; CREATE TABLE IF NOT EXISTS `menuitems` ( `ID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `Title` varchar(150) NOT NULL default '', `Path` varchar(255) NOT NULL default '', `Link` varchar(255) NOT NULL default '', `Deactivated` tinyint(1) unsigned NOT NULL DEFAULT '0', `ViewableBy` tinyint(1) unsigned NOT NULL DEFAULT '0', `SubMenuItemOfID` mediumint(8) unsigned NOT NULL DEFAULT '0', `MenuID` tinyint(3) unsigned NOT NULL DEFAULT '1', `LanguageID` tinyint(3) unsigned NOT NULL DEFAULT '0', `OrderID` mediumint(9) NOT NULL DEFAULT '0', `PageID` mediumint(8) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `Deactivated` (`Deactivated`), KEY `SubMenuItemOfID` (`SubMenuItemOfID`), KEY `OrderID` (`OrderID`), KEY `Path` (`Path`), KEY `MenuID` (`MenuID`), KEY `LanguageID` (`LanguageID`), KEY `ViewableBy` (`ViewableBy`) ) ENGINE=MyISAM; ALTER TABLE `menus` ADD `IncludeNewPages` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `Name`; SELECT @firstmenuid := `ID` FROM `menus` ORDER BY `OrderID`, `Title` LIMIT 1; UPDATE `menus` SET `IncludeNewPages` = 1 WHERE `ID` = @firstmenuid; INSERT INTO `menuitems` SELECT `ID`, `Title`, `Path`, `Link`, `Deactivated`, `ViewableBy`, `SubPageOfID` AS `SubMenuItemOfID`, `MenuID`, `LanguageID`, `OrderID`, `ID` AS `PageID` FROM `pages`; ALTER TABLE `pages` CHANGE `ViewableBy` `AccessibleBy` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0'; ALTER TABLE `pages` DROP `Link` , DROP `Hidden` , DROP `MenuID`; INSERT INTO `settings` (`ID` ,`Value` ,`TypeID` ,`OrderID`) VALUES ('Manual_Gettext', '0', '3', '6'); ALTER TABLE `bfprotection` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `bfprotectionbans` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `notecomments` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `notecommentsratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `postcomments` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `postcommentsratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `postratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `userlogins` CHANGE `FromIP` `FromIP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `userrequests` CHANGE `FromIP` `FromIP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `users` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `modules` ADD `Deactivated` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0', ADD INDEX ( `Deactivated` ); SELECT @postsformid := `ID` FROM `dynamicforms` WHERE `FormID` = 'posts'; UPDATE `dynamicformfields` SET `OrderID` = `OrderID`+1 WHERE `FormID` = @postsformid AND `Name` = 'Keywords'; UPDATE `dynamicformfields` SET `OrderID` = `OrderID`-1 WHERE `FormID` = @postsformid AND `Name` = 'URL'; UPDATE `dynamicformfields` SET `OrderID` = `OrderID`+1 WHERE `FormID` = @postsformid AND `Name` = 'OnMainPage'; UPDATE `dynamicformfields` SET `OrderID` = `OrderID`-1 WHERE `FormID` = @postsformid AND (`Name` = 'BlockID' OR `Name` = 'PartialContent'); UPDATE `dynamicformfields` SET `OrderID` = `OrderID`+1 WHERE `FormID` = @postsformid AND `OrderID` >= 16; INSERT INTO `dynamicformfields` (`FormID`, `Title`, `Name`, `TypeID`, `ValueType`, `Required`, `Searchable`, `PlaceholderText`, `TooltipText`, `AdditionalText`, `Attributes`, `Style`, `OrderID`, `Protected`) VALUES (@postsformid, 'Not Searchable', 'NotSearchable', 3, 10, 0, 0, '', '', '', '', '', 16, 1); ALTER TABLE `posts` ADD `NotSearchable` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `PartialContent` , ADD INDEX ( `NotSearchable` ); UPDATE `dynamicformfields` SET `OrderID` = `OrderID`+1 WHERE `FormID` = @postsformid AND `OrderID` >= 12; INSERT INTO `dynamicformfields` (`FormID`, `Title`, `Name`, `TypeID`, `ValueType`, `Required`, `Searchable`, `PlaceholderText`, `TooltipText`, `AdditionalText`, `Attributes`, `Style`, `OrderID`, `Protected`) VALUES (@postsformid, 'Hide when Expired', 'HideExpired', 3, 10, 0, 0, '', '', '', '', '', 12, 1); ALTER TABLE `posts` ADD `HideExpired` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `EndDate` , ADD INDEX ( `HideExpired` ); ALTER TABLE `modules` ADD `jQueryPlugins` VARCHAR( 255 ) NOT NULL DEFAULT ''; ALTER TABLE `templates` ADD `jQueryPlugins` VARCHAR( 255 ) NOT NULL DEFAULT ''; ALTER TABLE `templates` ADD `Installed` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `Name`; UPDATE `templates` SET `Installed` = 1; ALTER TABLE `modules` ADD INDEX ( `Installed` ); ALTER TABLE `templates` ADD INDEX ( `Installed` ); ALTER TABLE `posts` ADD `LanguageID` TINYINT UNSIGNED NOT NULL DEFAULT '0' AFTER `BlockID` , ADD INDEX ( `LanguageID` ); ALTER TABLE `pages` CHANGE `AccessibleBy` `AccessibleBy` SMALLINT UNSIGNED NOT NULL DEFAULT '0'; ALTER TABLE `blocks` CHANGE `ViewableBy` `ViewableBy` SMALLINT UNSIGNED NOT NULL DEFAULT '0'; ALTER TABLE `menuitems` CHANGE `ViewableBy` `ViewableBy` SMALLINT UNSIGNED NOT NULL DEFAULT '0'; ALTER TABLE `dynamicformfields` CHANGE `ViewableBy` `ViewableBy` SMALLINT UNSIGNED NOT NULL DEFAULT '0'; DROP TABLE IF EXISTS `layouts`; CREATE TABLE IF NOT EXISTS `layouts` ( `ID` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `Title` varchar(150) NOT NULL default '', `Deactivated` tinyint(1) unsigned NOT NULL DEFAULT '0', `TemplateID` smallint(5) unsigned NOT NULL DEFAULT '0', `OrderID` mediumint(9) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `Deactivated` (`Deactivated`), KEY `OrderID` (`OrderID`), KEY `TemplateID` (`TemplateID`) ) ENGINE=MyISAM; ALTER TABLE `blocks` ADD `LayoutID` SMALLINT UNSIGNED NOT NULL DEFAULT '0' AFTER `TemplateID` , ADD INDEX ( `LayoutID` ); ALTER TABLE `pages` ADD `LayoutID` SMALLINT UNSIGNED NOT NULL DEFAULT '0' AFTER `LanguageID` , ADD INDEX ( `LayoutID` ); ALTER TABLE `bfprotectionbans` ADD INDEX ( `EndTimeStamp` ); ALTER TABLE `pagemodules` ADD INDEX ( `ModuleID` ); ALTER TABLE `settings` ADD INDEX ( `TypeID` ); ALTER TABLE `dynamicforms` ADD INDEX ( `Protected` ); -- Modules -- FileSharing SET @moduleid = 0; SELECT @moduleid:=`ID` FROM `modules` WHERE `Name` LIKE 'FileSharing' AND `Installed`; DROP PROCEDURE IF EXISTS updateModule; delimiter // CREATE PROCEDURE updateModule(OUT done INT, IN moduleid INT) BEGIN SET done = 0; IF moduleid THEN ALTER TABLE `filesharingratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `filesharingcomments` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `filesharingcommentsratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; SET done = 1; END IF; END// delimiter ; CALL updateModule(@done, @moduleid); SELECT @done; -- PhotoGallery SET @moduleid = 0; SELECT @moduleid:=`ID` FROM `modules` WHERE `Name` LIKE 'PhotoGallery' AND `Installed`; DROP PROCEDURE IF EXISTS updateModule; delimiter // CREATE PROCEDURE updateModule(OUT done INT, IN moduleid INT) BEGIN SET done = 0; IF moduleid THEN ALTER TABLE `photogalleryratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `photogallerycomments` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `photogallerycommentsratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; SET done = 1; END IF; END// delimiter ; CALL updateModule(@done, @moduleid); SELECT @done; -- Poll SET @moduleid = 0; SELECT @moduleid:=`ID` FROM `modules` WHERE `Name` LIKE 'Poll' AND `Installed`; DROP PROCEDURE IF EXISTS updateModule; delimiter // CREATE PROCEDURE updateModule(OUT done INT, IN moduleid INT) BEGIN SET done = 0; IF moduleid THEN ALTER TABLE `pollvotes` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `pollcomments` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `pollcommentsratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; SET done = 1; END IF; END// delimiter ; CALL updateModule(@done, @moduleid); SELECT @done; -- VideoGallery SET @moduleid = 0; SELECT @moduleid:=`ID` FROM `modules` WHERE `Name` LIKE 'VideoGallery' AND `Installed`; DROP PROCEDURE IF EXISTS updateModule; delimiter // CREATE PROCEDURE updateModule(OUT done INT, IN moduleid INT) BEGIN SET done = 0; IF moduleid THEN ALTER TABLE `videogalleryratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `videogallerycomments` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `videogallerycommentsratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; SET done = 1; END IF; END// delimiter ; CALL updateModule(@done, @moduleid); SELECT @done; -- Shopping SET @moduleid = 0; SELECT @moduleid:=`ID` FROM `modules` WHERE `Name` LIKE 'Shopping' AND `Installed`; DROP PROCEDURE IF EXISTS updateModule; delimiter // CREATE PROCEDURE updateModule(OUT done INT, IN moduleid INT) BEGIN SET done = 0; IF moduleid THEN ALTER TABLE `shoppingitemratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `shoppingitemcomments` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `shoppingitemcommentsratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; SET done = 1; END IF; END// delimiter ; CALL updateModule(@done, @moduleid); SELECT @done; -- ShoppingOrders SET @moduleid = 0; SELECT @moduleid:=`ID` FROM `modules` WHERE `Name` LIKE 'ShoppingOrders' AND `Installed`; DROP PROCEDURE IF EXISTS updateModule; delimiter // CREATE PROCEDURE updateModule(OUT done INT, IN moduleid INT) BEGIN SET done = 0; IF moduleid THEN ALTER TABLE `shoppingordercomments` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `shoppingordercommentsratings` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; ALTER TABLE `shoppingorderdownloads` CHANGE `IP` `IP` DECIMAL( 39, 0 ) NOT NULL DEFAULT '0'; SET done = 1; END IF; END// delimiter ; CALL updateModule(@done, @moduleid); SELECT @done; -- ShoppingCart SET @moduleid = 0; SELECT @moduleid:=`ID` FROM `modules` WHERE `Name` LIKE 'ShoppingCart' AND `Installed`; DROP PROCEDURE IF EXISTS updateModule; delimiter // CREATE PROCEDURE updateModule(OUT done INT, IN moduleid INT) BEGIN SET done = 0; IF moduleid THEN CREATE TABLE IF NOT EXISTS `shoppingcartcoupons` ( `ID` smallint(5) unsigned NOT NULL auto_increment, `Coupon` varchar(25) NOT NULL default '', `DiscountPercent` tinyint(3) unsigned NOT NULL default '0', `DiscountValue` decimal(12,2) default NULL, `Quantity` SMALLINT NULL DEFAULT NULL, `StartDate` DATE NULL DEFAULT NULL, `EndDate` DATE NULL DEFAULT NULL, `Priority` SMALLINT NOT NULL DEFAULT '0', `Deactivated` tinyint(1) unsigned NOT NULL default '0', PRIMARY KEY (`ID`), KEY `Coupon` (`Coupon`), KEY `Quantity` (`Quantity`), KEY `StartDate` (`StartDate`), KEY `EndDate` (`EndDate`), KEY `Deactivated` (`Deactivated`), KEY `Priority` (`Priority`)) ENGINE=MyISAM ; INSERT INTO `shoppingcartsettings` (`ID`, `Value`, `TypeID`, `OrderID`) VALUES ('Shopping_Cart_Send_Notification_Email_On_Low_Stock', '1', 3, 3), ('Shopping_Cart_Send_Low_Stock_Notification_Email_To', '', 1, 3), ('Shopping_Cart_Low_Stock_Quantity', '5', 1, 3); SET done = 1; END IF; END// delimiter ; CALL updateModule(@done, @moduleid); SELECT @done;