PHP Classes

File: admin.php

Recommend this page to a friend!
  Classes of Arturs Sosins   Gamify   admin.php   Download  
File: admin.php
Role: Example script
Content type: text/plain
Description: simple game administration example
Class: Gamify
Manage user points to implement site game logic
Author: By
Last change:
Date: 12 years ago
Size: 9,805 bytes
 

Contents

Class file image Download
<?php
/*************************************************************
 * This script is developed by Arturs Sosins aka ar2rsawseen, http://webcodingeasy.com
 * Feel free to distribute and modify code, but keep reference to its creator
 *
 * Gamify class allows to implement game logic into PHP aplications.
 * It can create needed tables for storing information on most popular database platforms using PDO.
 * It also can add users, define levels and achievements and generate user statistics and tops.
 * Then it is posible to bind class functions to user actions, to allow them gain experience and achievements.
 *
 * For more information, examples and online documentation visit:
 * http://webcodingeasy.com/PHP-classes/Implement-game-logic-to-your-web-application
**************************************************************/
include("./gamify.php");
$g = new gamify("localhost", "root", "password", "gamify");
$g->debug();

//create new user
if(isset($_POST["new_user"]) && $_POST["new_user"] != "")
{
   
$g->create_user($_POST["new_user"]);
}

//save edited user info
if(isset($_POST["save_user"]))
{
   
$g->edit_user($_POST["save_user"], $_POST["save_username"], $_POST["save_experience"], $_POST["save_level"]);
}

//delete user
if(isset($_POST["del_user"]) && $_POST["del_user"] != "")
{
   
$g->delete_user($_POST["del_user"]);
}

//create new level
if(isset($_POST["new_level"]) && $_POST["new_level"] != "")
{
   
$g->create_level($_POST["new_level"], $_POST["new_level_exp"]);
}
//save edited level info
if(isset($_POST["save_level"]))
{
   
$g->edit_level($_POST["save_level"], $_POST["save_name"], $_POST["save_experience"]);
}
//delete level
if(isset($_POST["del_level"]) && $_POST["del_level"] != "")
{
   
$g->delete_level($_POST["del_level"]);
}


//create new achievement
if(isset($_POST["new_ach"]) && $_POST["new_ach"] != "")
{
   
$g->create_achievement($_POST["new_ach"], $_POST["new_ach_amount"], $_POST["new_ach_period"], $_POST["new_ach_badge"]);
}
//save edited achievement info
if(isset($_POST["save_ach"]))
{
   
$g->edit_achievement($_POST["save_ach"], $_POST["save_name"], $_POST["save_badge"], $_POST["save_amount"], $_POST["save_period"], $_POST["status"]);
}
//delete achievement
if(isset($_POST["del_ach"]) && $_POST["del_ach"] != "")
{
   
$g->delete_achievement($_POST["del_ach"]);
}
/**************************************************
* USERS
**************************************************/
echo "<fieldset><legend>Users</legend>";
//create new
echo "<form method='post'><p>Enter username: <input type='text' name='new_user'/> <input type='submit' value='Create new user'/></p></form>";
//get user info
echo "<form method='post'><p>Information about user: <select name='info_user'>";
echo
"<option value=''>---</option>";
$users = $g->get_users();
foreach(
$users as $val)
{
    echo
"<option value='".$val["username"]."'>".$val["username"]."</option>";
}
echo
"</select> <input type='submit' value='Get info'/></p></form>";
if(isset(
$_POST["info_user"]) && $_POST["info_user"] != "")
{
   
$info = $g->get_user($_POST["info_user"]);
    echo
"<fieldset><legend>Info about ".$info["username"]."</legend>";
    echo
"<p>Username: ".$info["username"]."</p>";
    echo
"<p>Experience: ".$info["experience"]."</p>";
    echo
"<p>Level: ".$info["level"]."</p>";
    echo
"<p>Achievements: <ul>";
    foreach(
$info["achievements"] as $val)
    {
        if(
$val["status"] == "completed")
        {
            echo
"<li>".$val["achievement_name"]." - Badge: <img src='".$val["badge_src"]."' width='50px' border='0'/>. Earned : ".date("r", $val["time"]).". Status: Completed</li>";
        }
        else
        {
            echo
"<li>".$val["achievement_name"]." - Badge: <img src='".$val["badge_src"]."' width='50px' border='0'/>. Earned : ".date("r", $val["time"]).". Status: ".$val["amount_got"]." out of ".$val["amount_needed"]."</li>";
        }
    }
    echo
"</ul></p>";
    echo
"</fieldset>";
}

//edit users
echo "<form method='post'><p>Edit users: <select name='edit_user'>";
echo
"<option value=''>---</option>";
$users = $g->get_users();
foreach(
$users as $val)
{
    echo
"<option value='".$val["username"]."'>".$val["username"]."</option>";
}
echo
"</select> <input type='submit' value='Edit'/></p></form>";
//edit user
if(isset($_POST["edit_user"]) && $_POST["edit_user"] != "")
{
   
$arr = $g->get_user($_POST["edit_user"]);
    echo
"<fieldset><legend>Edit user ".$arr["username"]."</legend>";
    echo
"<form method='post'>";
    echo
"<p>Username: <input type='text' name='save_username' value='".$arr["username"]."'/></p>";
    echo
"<p>Experience: <input type='text' name='save_experience' value='".$arr["experience"]."'/></p>";
    echo
"<p>Level: <select name='save_level'>";
   
$levels = $g->get_levels("experience_needed");
    foreach(
$levels as $val)
    { if(
$val["ID"] == $arr["level"])
        {
            echo
"<option value='".$val["ID"]."' selected>".$val["level_name"]."</option>";
        }
        else
        {
            echo
"<option value='".$val["ID"]."'>".$val["level_name"]."</option>";
        }
    }
    echo
"</select></p>";
    echo
"<input type='hidden' name='save_user' value='".$arr["ID"]."'/>";
    echo
"<p><input type='submit' value='Save'/></p>";
    echo
"</form>";
    echo
"</fieldset>";
}
//delete users
echo "<form method='post'><p>Delete users: <select name='del_user'>";
echo
"<option value=''>---</option>";
$users = $g->get_users();
foreach(
$users as $val)
{
    echo
"<option value='".$val["username"]."'>".$val["username"]."</option>";
}
echo
"</select> <input type='submit' value='Delete'/></p></form>";
echo
"</fieldset>";

/**************************************************
* LEVELS
**************************************************/
echo "<fieldset><legend>Levels</legend>";
//create new
echo "<form method='post'><p>Enter level name: <input type='text' name='new_level'/> and experience needed for level <input type='text' name='new_level_exp'/> <input type='submit' value='Create new level'/></p></form>";
//edit level
echo "<form method='post'><p>Edit level: <select name='edit_level'>";
$levels = $g->get_levels("experience_needed");
foreach(
$levels as $val)
{
    echo
"<option value='".$val["ID"]."'>".$val["level_name"]."</option>";
}
echo
"</select> <input type='submit' value='Edit'/></p></form>";
//edit level
if(isset($_POST["edit_level"]) && $_POST["edit_level"] != "")
{
   
$arr = $g->get_level($_POST["edit_level"]);
    echo
"<fieldset><legend>Edit level ".$arr["level_name"]."</legend>";
    echo
"<form method='post'>";
    echo
"<p>Level name: <input type='text' name='save_name' value='".$arr["level_name"]."'/></p>";
    echo
"<p>Experience: <input type='text' name='save_experience' value='".$arr["experience_needed"]."'/></p>";
    echo
"<input type='hidden' name='save_level' value='".$arr["ID"]."'/>";
    echo
"<p><input type='submit' value='Save'/></p>";
    echo
"</form>";
    echo
"</fieldset>";
}
//delete level
echo "<form method='post'><p>Delete level: <select name='del_level'>";
$levels = $g->get_levels("experience_needed");
foreach(
$levels as $val)
{
    echo
"<option value='".$val["ID"]."'>".$val["level_name"]."</option>";
}
echo
"</select> <input type='submit' value='Delete'/></p></form>";
echo
"</fieldset>";

/**************************************************
* ACHIEVEMENTS
**************************************************/
echo "<fieldset><legend>Achievements</legend>";
//create new
echo "<form method='post'><p>Enter achievement name: <input type='text' name='new_ach'/><br/>Link to badge image: <input type='text' name='new_ach_badge'/><br/>Amount of actions for achievement: <input type='text' name='new_ach_amount'/><br/>Period of time in seconds between actions: <input type='text' name='new_ach_period'/><br/> <input type='submit' value='Create new achievement'/></p></form>";
//edit level
echo "<form method='post'><p>Edit achievement: <select name='edit_ach'>";
echo
"<option value=''>---</option>";
$ach = $g->get_achievements();
foreach(
$ach as $val)
{
    echo
"<option value='".$val["ID"]."'>".$val["achievement_name"]."</option>";
}
echo
"</select> <input type='submit' value='Edit'/></p></form>";
//edit level
if(isset($_POST["edit_ach"]) && $_POST["edit_ach"] != "")
{
   
$arr = $g->get_achievement($_POST["edit_ach"]);
    echo
"<fieldset><legend>Edit achievement ".$arr["achievement_name"]."</legend>";
    echo
"<form method='post'>";
    echo
"<p>Achievement name: <input type='text' name='save_name' value='".$arr["achievement_name"]."'/></p>
    <p>Link to badge image: <input type='text' name='save_badge' value='"
.$arr["badge_src"]."'/></p>
    <p>Amount of actions for achievement: <input type='text' name='save_amount' value='"
.$arr["amount_needed"]."'/></p>
    <p>Period of time in seconds between actions: <input type='text' name='save_period' value='"
.$arr["time_period"]."'/></p>";
    echo
"<select name='save_status'>";
    echo
"<option value='active'>Active</option>";
    if(
$arr["status"] == "inactive")
    {
        echo
"<option value='inactive' selected>Inactive</option>";
    }
    else
    {
        echo
"<option value='inactive'>Inactive</option>";
    }
    echo
"</select>";
    echo
"<input type='hidden' name='save_ach' value='".$arr["ID"]."'/>";
    echo
"<p><input type='submit' value='Save'/></p>";
    echo
"</form>";
    echo
"</fieldset>";
}
//delete users
echo "<form method='post'><p>Delete achievements: <select name='del_ach'>";
echo
"<option value=''>---</option>";
$ach = $g->get_achievements();
foreach(
$ach as $val)
{
    echo
"<option value='".$val["ID"]."'>".$val["achievement_name"]."</option>";
}
echo
"</select> <input type='submit' value='Delete'/></p></form>";
echo
"</fieldset>";

//errors
echo "<fieldset><legend>Errors</legend>";
$err = $g->get_errors();
foreach(
$err as $val)
{
    echo
"<p>".$val."</p>";
}
echo
"</fieldset>";
?>