Even with the PLUG-IN system, this baby just wouldn't uninstall.. I wound up manually adding and changing and running the uninstall (from Plugin) over and over again... Finally got it removed from my system.
The reason for the CREATE TABLE statements in the code below is that the uninstaller would drop those tables before erroring out on the "drop arcadepermissions" statements... So that when I put the data in (using the ALTER TABLE statement).. the uninstaller would then croak on a "Table not found" error.. So, as I then had to go back and put the table back in, round and round and round she went... Finally got the right sequence and the uninstaller removed (safely I hope) what it wanted and finished completely..
All I can say is WHAT A MESS! - Here's the SQL statements I had to put in pieces at a time as I ran the uninstaller...
Code:
ALTER TABLE usergroup ADD arcadepermissions INT( 10 ) UNSIGNED NOT NULL;
ALTER TABLE user ADD arcadeoptions INT( 10 ) UNSIGNED NOT NULL;
ALTER TABLE user ADD challengecache INT( 10 ) UNSIGNED NOT NULL;
CREATE TABLE arcade_categories (
categoryid int(10) unsigned NOT NULL auto_increment,
catname varchar(250) NOT NULL default '',
displayorder int(10) unsigned NOT NULL default '0',
PRIMARY KEY (categoryid)
);
INSERT INTO arcade_categories VALUES (7,'Puzzle',1),(8,'Action',2),(3,'Retro',3),(4,'Sport',4),(5,'Shooters',5),(1,'Other',100),(2,'Favorites',101);
CREATE TABLE arcade_games (
gameid int(11) unsigned NOT NULL auto_increment,
shortname varchar(100) NOT NULL default '',
title varchar(100) NOT NULL default '',
description text NOT NULL,
file varchar(100) NOT NULL default '',
width smallint(4) unsigned NOT NULL default '550',
height smallint(4) unsigned NOT NULL default '400',
miniimage varchar(100) NOT NULL default '',
stdimage varchar(100) NOT NULL default '',
gamepermissions int(10) unsigned NOT NULL default '7',
highscorerid int(10) unsigned NOT NULL default '0',
highscore int(50) unsigned NOT NULL default '0',
gamehash varchar(50) NOT NULL default '',
categoryid int(10) unsigned NOT NULL default '1',
timesplayed int(10) unsigned NOT NULL default '0',
dateadded int(10) unsigned NOT NULL default '0',
system tinyint(1) unsigned NOT NULL default '0',
votepoints int(3) unsigned NOT NULL default '0',
votecount int(6) unsigned NOT NULL default '0',
sessioncount int(10) unsigned NOT NULL default '0',
minpoststotal int(10) unsigned NOT NULL default '0',
minpostsperday int(10) unsigned NOT NULL default '0',
minreglength int(10) unsigned NOT NULL default '0',
minrep int(10) NOT NULL default '0',
PRIMARY KEY (gameid)
);
INSERT INTO arcade_games VALUES (1,'snake','Snake','The mobile phone classic, \"Snake\" can now be played on your PC! Save your phone battery and play to get a high score on the leaderboard','snake.swf',360,300,'snake2.gif','snake1.gif',7,0,0,'',1,0,0,0,0,0,0,0,0,0,0),(2,'spaceinvaders','Space Invaders','Space Invaders is that game that started it all. Battle against aliens in a desperate attempt to save earth from total destruction.','spaceinvaders.swf',550,400,'spaceinvaders2.gif','spaceinvaders1.gif',7,0,0,'',1,0,0,0,0,0,0,0,0,0,0),(7,'asteroids','Asteroids','The arcade classic returns! Blast your way through asteroids and the occasional flying saucer to hit the top of the leaderboard.','asteroids.swf',500,375,'asteroids2.gif','asteroids1.gif',7,0,0,'',1,0,0,0,0,0,0,0,0,0,0),(5,'chopper','Chopper Challenge','Flying a helicopter through an obstacle course... Sounds dull? It\'s harder than it looks!','chopper.swf',400,300,'chopper2.gif','chopper1.gif',7,0,0,'',1,0,0,0,0,0,0,0,0,0,0),(6,'tetris','Tetris','A classic puzzle game that will keep you entertained for hours.','tetris.swf',382,380,'tetris2.gif','tetris1.gif',7,0,0,'',1,0,0,0,0,0,0,0,0,0,0);
ALTER TABLE arcade_games ADD isreverse INT( 10 ) UNSIGNED NOT NULL;
CREATE TABLE arcade_news (
newsid int(10) unsigned NOT NULL auto_increment,
newstext mediumtext NOT NULL,
newstype varchar(20) NOT NULL default '',
datestamp int(13) unsigned NOT NULL default '0',
PRIMARY KEY (newsid)
);
INSERT INTO arcade_news VALUES (1,'Arcade Installation Complete','auto', " . TIMENOW . ");
CREATE TABLE arcade_sessions (
sessionid int(10) unsigned NOT NULL auto_increment,
gameid int(10) unsigned NOT NULL default '0',
gamename varchar(20) NOT NULL default '',
userid int(7) unsigned NOT NULL default '0',
start int(10) unsigned NOT NULL default '0',
finish int(10) unsigned NOT NULL default '0',
ping float(7,2) unsigned NOT NULL default '0.00',
comment varchar(200) NOT NULL default '',
valid tinyint(1) unsigned NOT NULL default '0',
score int(50) unsigned NOT NULL default '0',
sessiontype tinyint(1) unsigned NOT NULL default '1',
challengeid int(15) unsigned NOT NULL default '0',
PRIMARY KEY (sessionid)
);
CREATE TABLE arcade_challenges (
challengeid int(10) unsigned NOT NULL auto_increment,
fromuserid int(10) unsigned NOT NULL default '0',
touserid int(10) unsigned NOT NULL default '0',
winnerid int(10) unsigned NOT NULL default '0',
loserid int(10) unsigned NOT NULL default '0',
gameid int(10) unsigned NOT NULL default '0',
datestamp int(10) unsigned NOT NULL default '0',
fromsessionid int(10) unsigned NOT NULL default '0',
tosessionid int(10) unsigned NOT NULL default '0',
fromscore float(15,3) unsigned NOT NULL default '0.000',
toscore float(15,3) unsigned NOT NULL default '0.000',
status tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (challengeid)
);
CREATE TABLE arcade_ratings (
ratingid int(10) unsigned NOT NULL auto_increment,
gameid int(10) unsigned NOT NULL default '0',
userid int(10) unsigned NOT NULL default '0',
rating int(10) unsigned NOT NULL default '0',
PRIMARY KEY (ratingid)
);
Why is it authors only worry about PUTTING the stuff into your database and really spend little time helping you remove it safely and properly?...