<?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();
 
//experience
 
echo "<fieldset><legend>Experience</legend>";
 
echo "<form method='post'><p>Username: <select name='exp_user'>";
 
$users = $g->get_users();
 
foreach($users as $val)
 
{
 
    echo "<option value='".$val["username"]."'>".$val["username"]."</option>";
 
}
 
echo "</select> amount of experience: <select name='exp_amount'>";
 
echo "<option value='1'>1</option>";
 
echo "<option value='10'>10</option>";
 
echo "<option value='20'>20</option>";
 
echo "<option value='50'>50</option>";
 
echo "<option value='100'>100</option>";
 
echo "</select> <input type='submit' value='Get Experience'/></p></form>";
 
if(isset($_POST["exp_user"]))
 
{
 
    $level = $g->add_experience($_POST["exp_user"], $_POST["exp_amount"]);
 
    $info = $g->get_user($_POST["exp_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"])."</li>";
 
        }
 
    }
 
    echo "</ul></p>";
 
    echo "</fieldset>";
 
    if(is_array($level))
 
    {
 
        echo "<fieldset><legend>Level up</legend>";
 
        echo "<h1>New level achieved: ".$level["level_name"]."</h1>";
 
        echo "</fieldset>";
 
    }
 
}
 
echo "</fieldset>";
 
//achievements
 
echo "<fieldset><legend>Achievements</legend>";
 
echo "<form method='post'><p>Username: <select name='ach_user'>";
 
$users = $g->get_users();
 
foreach($users as $val)
 
{
 
    echo "<option value='".$val["username"]."'>".$val["username"]."</option>";
 
}
 
echo "</select>";
 
echo " achievement: <select name='ach_id'>";
 
$ach = $g->get_achievements();
 
foreach($ach as $val)
 
{
 
    echo "<option value='".$val["ID"]."'>".$val["achievement_name"]."</option>";
 
}
 
echo "</select>";
 
echo " amount of actions: <select name='ach_amount'>";
 
echo "<option value='1'>1</option>";
 
echo "<option value='10'>10</option>";
 
echo "<option value='20'>20</option>";
 
echo "<option value='50'>50</option>";
 
echo "<option value='100'>100</option>";
 
echo "</select> <input type='submit' value='Perform action'/></p></form>";
 
if(isset($_POST["ach_user"]))
 
{
 
    $ach = $g->action($_POST["ach_user"], $_POST["ach_id"], $_POST["ach_amount"]);
 
    $info = $g->get_user($_POST["ach_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"])."</li>";
 
        }
 
    }
 
    echo "</ul></p>";
 
    echo "</fieldset>";
 
    if(is_array($ach))
 
    {
 
        echo "<fieldset><legend>Achievement unlocked</legend>";
 
        echo "<h1>New achievement unlocked: ".$ach["achievement_name"]."</h1>";
 
        echo "<p><img src='".$ach["badge_src"]."' border='0'/></p>";
 
        echo "</fieldset>";
 
    }
 
}
 
echo "</fieldset>";
 
//errors
 
echo "<fieldset><legend>Errors</legend>";
 
$err = $g->get_errors();
 
foreach($err as $val)
 
{
 
    echo "<p>".$val."</p>";
 
}
 
echo "</fieldset>";
 
?>
 
 |