staff_classes.php
<?php
/**
* MCCodes Version 2
* Copyright (C) 2013 KyleMassacere
* All rights reserved.
*
* File: staff_classes.php
* Date: Sat, 12 May 13 07:09:30 +0000
*/
require_once('sglobals.php');
if ($ir['user_level'] != 2)
{
echo 'You cannot access this area.<br />
> <a href="staff.php">Go Back</a>';
die($h->endpage());
}
if (!isset($_GET['action']))
{
$_GET['action'] = '';
}
switch ($_GET['action'])
{
case "addclassform":
addclassform();
break;
case "addclasssub":
addclassSub();
break;
case "editclassform":
editclassform();
break;
case "editclasssub":
editclassSub();
break;
case "selectclass":
selectclass();
break;
default:
echo "Error: This script requires an action.";
break;
}
function addclassSub()
{
global $db, $ir, $c, $h, $userid;
$money = filter_var($_POST["money"], FILTER_VALIDATE_INT);
$crystals = filter_var($_POST["crystals"], FILTER_VALIDATE_INT);
$name = filter_var($_POST["class"], FILTER_SANITIZE_STRING);
$strength = filter_var($_POST["strength"], FILTER_VALIDATE_INT);
$guard = filter_var($_POST["guard"], FILTER_VALIDATE_INT);
$agility = filter_var($_POST["agility"], FILTER_VALIDATE_INT);
$iq = filter_var($_POST["iq"], FILTER_VALIDATE_INT);
$labor = filter_var($_POST["labor"], FILTER_VALIDATE_INT);
if (isset($name))
{
$q = $db->query("SELECT COUNT(*) FROM player_class WHERE classNAME = '{$name}'") or die(mysqli_error());
if ($db->fetch_single($q) > 0)
{
echo 'Whats the point of having 2 classes with the same name?<br />
> <a href="staff.php">Goto Main</a>';
die($h->endpage());
}
else
{
$insert = $db->query("INSERT INTO player_class(classNAME, money, crystals, strength, guard, agility, iq, labor) VALUES('$name', '$money', '$crystals', '$strength', '$guard', '$agility', '$iq', '$labor')");
echo 'Player Class: ' . $name . ' added to the game.<br />> <a href="staff.php">Goto Main</a>';
stafflog_add("{$ir['username']} Created Player Class: $name");
}
}
}
function addclassform()
{
global $db, $ir, $c, $h, $userid;
echo "
<h3>Add Class</h3>
<hr />
<form action='staff_classes.php?action=addclasssub' method='post'>
Name: <input type='text' name='name' placeholder='Name Here' />
<br />
Money: <input type='text' name='money' value='0' />
<br />
Crystals: <input type='text' name='crystals' value='0' />
<br />
Strength: <input type='text' name='strength' value='0' />
<br />
Guard: <input type='text' name='guard' value='0' />
<br />
Agility: <input type='text' name='agility' value='0' />
<br />
IQ: <input type='text' name='iq' value='0' />
<br />
Labor: <input type='text' name='labor' value='0' />
<br />
<input type='submit' value='Add Class' />
</form>
";
}
function editclassSub()
{
global $db, $ir, $c, $h, $userid;
$id = filter_var($_POST["id"], FILTER_VALIDATE_INT);
$money = filter_var($_POST["money"], FILTER_VALIDATE_INT);
$crystals = filter_var($_POST["crystals"], FILTER_VALIDATE_INT);
$name = filter_var($_POST["class"], FILTER_SANITIZE_STRING);
$strength = filter_var($_POST["strength"], FILTER_VALIDATE_INT);
$guard = filter_var($_POST["guard"], FILTER_VALIDATE_INT);
$agility = filter_var($_POST["agility"], FILTER_VALIDATE_INT);
$iq = filter_var($_POST["iq"], FILTER_VALIDATE_INT);
$labor = filter_var($_POST["labor"], FILTER_VALIDATE_INT);
if (empty($id))
{
echo 'Something went wrong.<br />
> <a href="staff.php">Goto Main</a>';
die($h->endpage());
}
$q = $db->query("SELECT classID FROM `player_class` WHERE `classNAME` = '{$name}' AND `classID` != {$_POST['id']}");
if ($db->num_rows($q) >= 1)
{
echo 'Sorry, you cannot have two classes with the same name.<br />> <a href="staff.php">Goto Main</a>';
die($h->endpage());
}
$db->query("UPDATE `player_class` SET `classNAME` = '$name', `money` = '$money', `crystals` = '$crystals', `strength` = '$strength', `guard` = '$guard', `agility` = '$agility', `iq` = '$iq', `labor` = '$labor' WHERE `classID` = {$_POST['id']}");
echo 'Class ' . $name . ' was edited successfully.<br />
> <a href="staff.php">Goto Main</a>';
stafflog_add("{$ir['username']} Edited Class: $name");
}
function editclassform()
{
global $db, $ir, $c, $h, $userid;
$id = filter_var($_POST["id"], FILTER_VALIDATE_INT);
if (empty($id))
{
echo 'Something went wrong.<br />
> <a href="staff.php">Goto Main</a>';
die($h->endpage());
}
$q = $db->query("SELECT classID, classNAME, money, crystals, strength, guard, agility, iq, labor FROM player_class WHERE classID = {$id}");
if ($db->num_rows($q) == 0)
{
echo 'Class doesn\'t exist.<br />
> <a href="staff.php">Goto Main</a>';
die($h->endpage());
}
$old = $db->fetch_row($q);
echo "
<h3>Editing a Player Class {$id}</h3>
<hr />
<form action='staff_classes.php?action=editclasssub' method='post'>
<input type='hidden' name='id' value='{$id}' />
Name: <input type='text' name='class' value='{$old['classNAME']}' /><br />
Money: <input type='text' name='money' value='{$old['money']}' /><br />
Crystals: <input type='text' name='crystals' value='{$old['crystals']}' /><br />
Strength: <input type='text' name='strength' value='{$old['strength']}' /><br />
Guard: <input type='text' name='guard' value='{$old['guard']}' /><br />
Agility: <input type='text' name='name' value='{$old['agility']}' /><br />
IQ: <input type='text' name='name' value='{$old['iq']}' /><br />
Labor: <input type='text' name='name' value='{$old['labor']}' /><br />
<input type='submit' value='Edit Class' />
</form>
";
}
function selectclass()
{
global $db, $ir, $c, $h, $userid;
echo "
<h3>Editing a Class</h3>
<hr />
<form action='staff_classes.php?action=editclassform' method='post'>
Class: " . class_dropdown(NULL, "id") . "
<br />
<input type='submit' value='Edit Class' />
</form>";
}
?>
Add into global_func.php
<?php
function class_dropdown($connection, $ddname = "classID", $selected = -1)
{
global $db;
$ret = "<select name='$ddname' type='dropdown'>";
$q = $db->query("SELECT `classID`, `classNAME` FROM `player_class` ORDER BY `classID` ASC");
if ($selected == -1)
{
$first = 0;
}
else
{
$first = 1;
}
while ($r = $db->fetch_row($q))
{
$ret .= "\n<option value='{$r['classID']}'";
if ($selected == $r['classID'] || $first == 0)
{
$ret .= " selected='selected'";
$first = 1;
}
$ret .= ">{$r['classNAME']}</option>";
}
$ret .= "\n</select>";
return $ret;
}
function getPlayerClass($uId = NULL)
{
global $db, $userid;
if (!$uId)
$uId = $userid;
$u = $db->fetch_row($db->query("SELECT `player_class` FROM `users` WHERE userid = {$uId}"));
$class = $db->query("SELECT `classNAME` FROM `player_class` WHERE `classID` = {$u['player_class']}");
if ($db->num_rows($class))
{
$c = $db->fetch_row($class);
return $c['classNAME'];
}
else
return "Not Defined";
}
Add into smenu.php
if ($ir['user_level'] == 2)
{
print "<b>User Classes</b><br />
> <a href='staff_classes.php?action=selectclass'>Edit Class</a><br />
> <a href='staff_classes.php?action=addclassform'>Add Class</a><br />";
}
register.php
Find:
/***I added this under the promo code stuff***/
$sm=100;
if($_POST['promo'] == "Your Promo Code Here")
{
$sm+=100;
}
Add:
$_POST["classID"] = filter_input(INPUT_POST, "classID", FILTER_VALIDATE_INT);
$class = $db->query("SELECT className, money, crystals, strength, guard, agility, iq, labor FROM player_class WHERE classID = {$_POST['classID']}");
if ($db->num_rows($class))
{
$c = $db->fetch_row($class);
$money = $c["money"] + $sm;
$crystals = $c["crystals"];
$strength = $c["strength"];
$guard = $c["guard"];
$agility = $c["agility"];
$iq = $c["iq"];
$labor = $c["labor"];
}
else
{
$crystals = 0;
$strength = 10;
$guard = 10;
$agility = 10;
$iq = 10;
$labor = 10;
}
Now find your users insert query and add in there player_class then for the values section of the query add '{$_POST['classID']}' a little like this:
/*DO NOT USE THIS BECAUSE IT IS AN EXAMPLE
UNLESS YOUR REGISTER IS COMPLETELY STOCK AND UN-TOUCHED*/
$r = $db->fetch_row($q);
}
$db->query("INSERT INTO users (username, login_name, userpass, level, money, crystals, donatordays, user_level, energy, maxenergy, will, maxwill,
brave, maxbrave, hp, maxhp, location, gender, signedup, email, bankmoney, lastip, lastip_signup,player_class) VALUES( '{$username}', '{$username}',
md5('{$_POST['password']}'), 1, $money, $crystals, 0, 1, 12, 12, 100, 100, 5, 5, 100, 100, 1, '{$_POST['gender']}', unix_timestamp(), '{$_POST['email']}',
-1, '$IP', '$IP','{$_POST['classID']}')");
$i = $db->insert_id();
Next for the drop down menu, remember for this you must include_once/require_once "global_func.php", so add this in where the player registers:
print "
<tr>
<td>Player Class</td>
<td colspan='2'>".class_dropdown(NULL, "classID")."
</td>
</tr>";
[/code]
Now find where the insert into userstats query is and add:
[php]
$db->query("INSERT INTO `userstats` VALUES($i, $strength, $agility, $guard, $labor, $iq)");
And finally the SQL
CREATE TABLE IF NOT EXISTS `player_class` (
`classID` tinyint(4) NOT NULL auto_increment,
`className` varchar(20) NOT NULL,
`money` tinyint(4) NOT NULL default '0',
`crystals` tinyint(4) NOT NULL default '0',
`strength` tinyint(4) NOT NULL default '0',
`guard` tinyint(4) NOT NULL default '0',
`agility` tinyint(4) NOT NULL default '0',
`iq` tinyint(4) NOT NULL default '0',
`labor` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`classID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
ALTER TABLE `users` ADD `player_class` tinyint(4) NOT NULL default '1';