Skip to content

Commit

Permalink
Add suggestions and bug reports
Browse files Browse the repository at this point in the history
- Add /suggest(s) /bug(s)
- 2 more tables
- #1
  • Loading branch information
MichaelBelgium committed Nov 5, 2017
1 parent 9fb37fa commit 3a8ba53
Show file tree
Hide file tree
Showing 3 changed files with 162 additions and 71 deletions.
Binary file modified filterscripts/MV_cPanel.amx
Binary file not shown.
86 changes: 85 additions & 1 deletion pawno/include/MV_cPanel/cPanel_Commands.inc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ CMD:cmds(playerid,params[])
{
new cmds[256*3];

strcat(cmds, "General:\nstats admins report changepassword\n\n");
strcat(cmds, "General:\nstats admins report changepassword suggest(s) bug(s)\n\n");

if(IsPlayerVIP(playerid)) strcat(cmds, "Vips:\nv(ip)veh v(ip)rep v(ip)repair v(ip)rep v(ip)nos v(ip)fl(ip) v(ip)unlimnos v(ip)heal v(ip)godcar v(ip)lock v(ip)chat\n\n");
if(IsPlayerAdminEx(playerid, LEVEL_TRIAL_MOD)) strcat(cmds, "Trial mod:\nwarn asay eject mute unmute slap spectate disarm adminduty togglechat\n\n");
Expand Down Expand Up @@ -112,6 +112,90 @@ CMD:report(playerid, params[])
return 1;
}

CMD:suggest(playerid, params[])
{
new text[256];
if(sscanf(params, "s[256]", text)) return SendClientMessage(playerid, COLOR_RED, "Usage: /suggest [your suggestion]");

mysql_format(gCon, query, sizeof(query), "INSERT INTO suggestions (Playername, Suggestion) VALUES ('%e', '%e')", GetPlayerNameEx(playerid), text);
mysql_tquery(gCon, query);

SendClientMessage(playerid, COLOR_GREEN, "You have successfully suggested something for the server. Execute /suggests to see all suggestions that has been made.");
return 1;
}

CMD:bug(playerid, params[])
{
new text[256];
if(sscanf(params, "s[256]", text)) return SendClientMessage(playerid, COLOR_RED, "Usage: /bug [your bug report]");

mysql_format(gCon, query, sizeof(query), "INSERT INTO bugs (Playername, Bug) VALUES ('%e', '%e')", GetPlayerNameEx(playerid), text);
mysql_tquery(gCon, query);

SendClientMessage(playerid, COLOR_GREEN, "You have successfully reported a bug. Execute /bugs to see all reported bugs.");
return 1;
}

CMD:suggests(playerid, params[])
{
new Cache:result, rows, suggestions[256*5], string[512*2];
new sID, name[MAX_PLAYER_NAME], sug[512], date[32];

result = mysql_query(gCon, "SELECT * FROM suggestions ORDER BY sID DESC LIMIT 10");
rows = cache_num_rows();

if(rows == 0)
suggestions = "No suggestions found";
else
{
for(new i = 0; i < rows; i++)
{
cache_get_value_name_int(i, "sID", sID);
cache_get_value_name(i, "Playername", name);
cache_get_value_name(i, "Suggestion", sug);
cache_get_value_name(i, "Date", date);

format(string, sizeof(string), "Suggestion %d by %s at %s\n\t%s\n\n", sID, name, date, sug);
strcat(suggestions, string);
}
}

cache_delete(result);

ShowPlayerDialog(playerid, DIALOG_NORESPONSE, DIALOG_STYLE_MSGBOX, "Last suggestions:", suggestions, "OK", "");
return 1;
}

CMD:bugs(playerid, params[])
{
new Cache:result, rows, bugs[256*5], string[512*2];
new bID, name[MAX_PLAYER_NAME], bug[512], date[32];

result = mysql_query(gCon, "SELECT * FROM bugs ORDER BY bID DESC LIMIT 10");
rows = cache_num_rows();

if(rows == 0)
bugs = "No bugs found";
else
{
for(new i = 0; i < rows; i++)
{
cache_get_value_name_int(i, "bID", bID);
cache_get_value_name(i, "Playername", name);
cache_get_value_name(i, "Bug", bug);
cache_get_value_name(i, "Date", date);

format(string, sizeof(string), "Bug report %d by %s at %s\n\t%s\n\n", bID, name, date, bug);
strcat(bugs, string);
}
}

cache_delete(result);

ShowPlayerDialog(playerid, DIALOG_NORESPONSE, DIALOG_STYLE_MSGBOX, "Last bugs:", bugs, "OK", "");
return 1;
}

// ================= ADMIN COMMANDS ===========================
CMD:cpanel(playerid, params[])
{
Expand Down
147 changes: 77 additions & 70 deletions sql_dump.sql
Original file line number Diff line number Diff line change
@@ -1,39 +1,64 @@
--
-- Table structure for table `Bans`
-- Table structure for table `bans`
--

CREATE TABLE `Bans` (
`bID` int(11) NOT NULL,
DROP TABLE IF EXISTS `bans`;
CREATE TABLE IF NOT EXISTS `bans` (
`bID` int(11) NOT NULL AUTO_INCREMENT,
`Player` varchar(24) NOT NULL,
`Admin` varchar(24) DEFAULT NULL,
`Reason` varchar(32) NOT NULL,
`IP` varchar(16) NOT NULL,
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`bID`),
KEY `Player` (`Player`,`Admin`),
KEY `Admin` (`Admin`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `Logs`
-- Table structure for table `bugs`
--

CREATE TABLE `Logs` (
`lID` int(11) NOT NULL,
DROP TABLE IF EXISTS `bugs`;
CREATE TABLE IF NOT EXISTS `bugs` (
`bID` int(11) NOT NULL AUTO_INCREMENT,
`Playername` varchar(24) NOT NULL,
`Bug` text NOT NULL,
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`bID`),
KEY `Playername` (`Playername`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `logs`
--

DROP TABLE IF EXISTS `logs`;
CREATE TABLE IF NOT EXISTS `logs` (
`lID` int(11) NOT NULL AUTO_INCREMENT,
`Type` tinyint(4) NOT NULL,
`Player` varchar(24) DEFAULT NULL,
`Target` varchar(24) DEFAULT NULL,
`Command` varchar(32) DEFAULT NULL,
`Params` varchar(64) DEFAULT NULL,
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`lID`),
KEY `Player` (`Player`),
KEY `Target` (`Target`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `Players`
-- Table structure for table `players`
--

CREATE TABLE `Players` (
DROP TABLE IF EXISTS `players`;
CREATE TABLE IF NOT EXISTS `players` (
`Playername` varchar(24) NOT NULL,
`Password` varchar(512) NOT NULL,
`Score` int(11) NOT NULL DEFAULT '0',
Expand All @@ -43,93 +68,75 @@ CREATE TABLE `Players` (
`Muted` tinyint(4) NOT NULL DEFAULT '0',
`OnlineTime` int(11) NOT NULL DEFAULT '0',
`rIP` varchar(16) NOT NULL COMMENT 'Registered IP',
`lIP` varchar(16) NOT NULL COMMENT 'Last IP'
`lIP` varchar(16) NOT NULL COMMENT 'Last IP',
PRIMARY KEY (`Playername`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `Vips`
-- Table structure for table `suggestions`
--

DROP TABLE IF EXISTS `suggestions`;
CREATE TABLE IF NOT EXISTS `suggestions` (
`sID` int(11) NOT NULL AUTO_INCREMENT,
`Playername` varchar(24) NOT NULL,
`Suggestion` text NOT NULL,
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`sID`),
KEY `Playername` (`Playername`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `vips`
--

CREATE TABLE `Vips` (
DROP TABLE IF EXISTS `vips`;
CREATE TABLE IF NOT EXISTS `vips` (
`Name` varchar(24) NOT NULL,
`Duration` int(11) NOT NULL DEFAULT '0',
`Toggle0` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Unlimited nitro',
`Toggle1` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Carlock',
`Toggle2` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Godcar',
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
`Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
KEY `Name` (`Name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `Bans`
--
ALTER TABLE `Bans`
ADD PRIMARY KEY (`bID`),
ADD KEY `Player` (`Player`,`Admin`),
ADD KEY `Admin` (`Admin`);

--
-- Indexes for table `Logs`
--
ALTER TABLE `Logs`
ADD PRIMARY KEY (`lID`),
ADD KEY `Player` (`Player`),
ADD KEY `Target` (`Target`);

--
-- Indexes for table `Players`
--
ALTER TABLE `Players`
ADD PRIMARY KEY (`Playername`);

--
-- Indexes for table `Vips`
--
ALTER TABLE `Vips`
ADD KEY `Name` (`Name`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `Bans`
-- Constraints for dumped tables
--
ALTER TABLE `Bans`
MODIFY `bID` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `Logs`
-- Constraints for table `bans`
--
ALTER TABLE `Logs`
MODIFY `lID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
ALTER TABLE `bans`
ADD CONSTRAINT `Bans_ibfk_1` FOREIGN KEY (`Player`) REFERENCES `players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `Bans_ibfk_2` FOREIGN KEY (`Admin`) REFERENCES `players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE;

--
-- Constraints for dumped tables
-- Constraints for table `bugs`
--
ALTER TABLE `bugs`
ADD CONSTRAINT `bugs_ibfk_1` FOREIGN KEY (`Playername`) REFERENCES `players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE;

--
-- Constraints for table `Bans`
-- Constraints for table `logs`
--
ALTER TABLE `Bans`
ADD CONSTRAINT `Bans_ibfk_1` FOREIGN KEY (`Player`) REFERENCES `Players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `Bans_ibfk_2` FOREIGN KEY (`Admin`) REFERENCES `Players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE;
ALTER TABLE `logs`
ADD CONSTRAINT `Logs_ibfk_1` FOREIGN KEY (`Player`) REFERENCES `players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `Logs_ibfk_2` FOREIGN KEY (`Target`) REFERENCES `players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE;

--
-- Constraints for table `Logs`
-- Constraints for table `suggestions`
--
ALTER TABLE `Logs`
ADD CONSTRAINT `Logs_ibfk_1` FOREIGN KEY (`Player`) REFERENCES `Players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `Logs_ibfk_2` FOREIGN KEY (`Target`) REFERENCES `Players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE;
ALTER TABLE `suggestions`
ADD CONSTRAINT `suggestions_ibfk_1` FOREIGN KEY (`Playername`) REFERENCES `players` (`Playername`) ON DELETE NO ACTION ON UPDATE CASCADE;

--
-- Constraints for table `Vips`
-- Constraints for table `vips`
--
ALTER TABLE `Vips`
ADD CONSTRAINT `Vips_ibfk_1` FOREIGN KEY (`Name`) REFERENCES `Players` (`Playername`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;
ALTER TABLE `vips`
ADD CONSTRAINT `Vips_ibfk_1` FOREIGN KEY (`Name`) REFERENCES `players` (`Playername`) ON DELETE CASCADE ON UPDATE CASCADE;

0 comments on commit 3a8ba53

Please sign in to comment.