CSA-Panel V3.3 (Control System Admin) Stable Version

Anunturi legate de vanzari/cumparari.
*Nu suntem responsabili de tranzactiile efectuate intre membri. Utilizatorii sunt sfatuiti sa-si ia maximul de precautii inainte de finalizarea unei tranzactii pentru a preveni posibilitatea unei inselaciuni.

Moderators: Moderatori ajutatori, Moderatori

Post Reply
User avatar
alynut
Administrator
Administrator
Posts: 7120
Joined: 02 Jul 2012, 06:31
Detinator Steam: Da
CS Status: In concediu, activez mai rar .
SteamID: alynut991
Reputatie: Fost Administrator
Fost Intermediar
Location: Bucuresti
Has thanked: 183 times
Been thanked: 441 times

28 Jun 2016, 23:04

Se mai ocupa cineva de acest proiect?
Am si eu licenta v3.3 si nu reusesc sa o instalez .
RoyalServer 2
User avatar
Fantasy1
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 4836
Joined: 05 Jul 2012, 01:26
Detinator Steam: Da
Reputatie: Membru Club eXtreamCS (1 Mar)
Utilizator neserios (TEPAR!)
Has thanked: 278 times
Been thanked: 217 times
Contact:

29 Jun 2016, 22:43

alynut wrote:Se mai ocupa cineva de acest proiect?
Am si eu licenta v3.3 si nu reusesc sa o instalez .
Da, acum scoate noua versiune.
Daca intampini probleme, o sa ii las eu mesaj lui Deve cu problema ta.

Vei primi in curand PM.
El este foarte, foarte punctual la probleme dar are niste probleme personale si sper ca le-a rezolvat.
CLICK AICI pentru FORUM
- Un Forum Care Nu Poate Fi Spart -
- Un Forum Care Nu Modifica Topicurile Cu Tepari -
- Vrei Indexare In Google? Posteaza Tzeparii La Noi -

- Daca ai nevoie sa te ajut cu un addons/plugin etc se plateste, nu ajut cu nimic pe GRATIS -
User avatar
blkaro
Membru, skill +1
Membru, skill +1
Posts: 458
Joined: 19 Aug 2015, 09:24
Detinator Steam: Da
SteamID: self-hate
Fond eXtream: 0
Location: /etc/shadow

30 Jun 2016, 10:39

alynut wrote:Se mai ocupa cineva de acest proiect?
Am si eu licenta v3.3 si nu reusesc sa o instalez .
poti sa-ti cumperi gsp panel fiindca csa e copie cap-coada de la panelul lor :) am demonstrat asta cu codurile sursa
User avatar
CristianG.
Membru, skill +1
Membru, skill +1
Posts: 262
Joined: 25 Jun 2013, 16:04
Detinator Steam: Nu
CS Status: CSA-PanelV3.4 UnderDev
Has thanked: 2 times
Been thanked: 4 times
Contact:

30 Jun 2016, 19:35

Ai mare dreptate :) Ai demonstrat nimic ! Nu are nici o legatura si nu va avea niciodata CSA-Panel cu GSP vostru.

1. Install-ul este total diferit aici poti vedea dovada !

http://prntscr.com/bn3yie

http://prntscr.com/bn3z7c

http://prntscr.com/bn3zj1

http://prntscr.com/bn3zpt

http://prntscr.com/bn40fm

http://prntscr.com/bn40kn

http://prntscr.com/bn412c

http://prntscr.com/bn419z

GamePanel

http://prntscr.com/bn41y7

http://prntscr.com/bn425l

http://prntscr.com/bn42lt

http://prntscr.com/bn44l9


Iar cu updatele nu pot da o data cand va fi public din motiv ca am si o viata persoanal care trebuie sa imi dau mai mult interes !

CU 3.3 nu prea mai dau interesul dar voi incerca sa imi fac timp asa ca te astept cu un PM cum putem lua legatura sa te ajut.

Multumesc
CSAPanel Members 1.0 (Lista utilizatori seriosi/neseriosi) :
[*]Demo Project
[*]GitHub Project

CSA War System Engine Final 2.0.0 :
[*]Buy your own license!
User avatar
blkaro
Membru, skill +1
Membru, skill +1
Posts: 458
Joined: 19 Aug 2015, 09:24
Detinator Steam: Da
SteamID: self-hate
Fond eXtream: 0
Location: /etc/shadow

01 Jul 2016, 08:38

^ am demonstrat prin codurile sursa la versiunea ta 3.3 CA ERAU FIX LA FEL ! doar design-ul difera :) mare *****.
User avatar
CristianG.
Membru, skill +1
Membru, skill +1
Posts: 262
Joined: 25 Jun 2013, 16:04
Detinator Steam: Nu
CS Status: CSA-PanelV3.4 UnderDev
Has thanked: 2 times
Been thanked: 4 times
Contact:

01 Jul 2016, 19:23

Ai demonstrat cu ce ? :|

Tu macar ai habar ce vorbesti :)) Facem o mica comapartie in codate si vedem cu ce poti demonstra ? =)) plus daca tot vorbim de php mai invata sa faci o diferenta :)

Defapt de ce oare imi bat capu cu copilasi ca voi =))
CSAPanel Members 1.0 (Lista utilizatori seriosi/neseriosi) :
[*]Demo Project
[*]GitHub Project

CSA War System Engine Final 2.0.0 :
[*]Buy your own license!
aelius
Membru, skill 0
Membru, skill 0
Posts: 1
Joined: 30 Jun 2016, 21:46
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

01 Jul 2016, 21:00

CristianG. wrote:Ai demonstrat cu ce ? :|

Tu macar ai habar ce vorbesti :)) Facem o mica comapartie in codate si vedem cu ce poti demonstra ? =)) plus daca tot vorbim de php mai invata sa faci o diferenta :)

Defapt de ce oare imi bat capu cu copilasi ca voi =))
de fapt*, capul sau capu`*, comparatie*

in codate, serios? Serios, tu esti programator sau analfabet? Tind sa ii dau dreptate lui blkaro la cum violezi Lb. Romana, mai rau ca aia din Vaslui in p?la mea.
User avatar
blkaro
Membru, skill +1
Membru, skill +1
Posts: 458
Joined: 19 Aug 2015, 09:24
Detinator Steam: Da
SteamID: self-hate
Fond eXtream: 0
Location: /etc/shadow

01 Jul 2016, 21:34

/admin/manageusergames.php - gsp panel version:
| Afiseaza codul
<?php

require_once("../includes/gsp-panel.php");

// Check if demo mode is enabled
if(defined("DEMO"))
{
    if($_SERVER['REQUEST_METHOD'] == 'POST' || in_array($_REQUEST['mode'], array("moveserver", "installgame", "getconfig", "viewconsole", "start", "stop", "restart", "delete", "reinstall", "suspendgame", "unsuspendgame", "installaddon", "installupdate", "backup", "deletebackup", "restorebackup", "saveconfig", "addcron", "deletecron", "rconcommand", "enablemaintenace", "disablemaintenace")))
    {
        die("This feature is disabled in demo mode");
    }
}

// Permission checks for sub-admins
if($_SESSION['mainadmin'] != "1")
{
    if($_REQUEST['mode'] == "editgame" && !in_array("editservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if(($_REQUEST['mode'] == "addgame" || $_REQUEST['mode'] == "installgame" || $_REQUEST['mode'] == "gameoptions") && !in_array("addservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if($_REQUEST['mode'] == "delete" && !in_array("deleteservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if(($_REQUEST['mode'] == "suspendgame" || $_REQUEST['mode'] == "unsuspendgame") && !in_array("suspendservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if(($_REQUEST['mode'] == "managegame" || $_REQUEST['mode'] == "gameinfo") && (!in_array("editservice", $_SESSION['permissions']) && !in_array("suspendservice", $_SESSION['permissions']) && !in_array("deleteservice", $_SESSION['permissions']) && !in_array("manageservice", $_SESSION['permissions'])))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if(($_REQUEST['mode'] == "viewconsole" || $_REQUEST['mode'] == "start" || $_REQUEST['mode'] == "stop" || $_REQUEST['mode'] == "restart" || $_REQUEST['mode'] == "installaddon" || $_REQUEST['mode'] == "installupdate" || $_REQUEST['mode'] == "addcron" || $_REQUEST['mode'] == "deletecron" || $_REQUEST['mode'] == "rconcommand") && !in_array("manageservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if($_REQUEST['mode'] == "moveserver" || $_REQUEST['mode'] == "reinstall")
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
}

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    /*
     * Edit game
     */
    if($_REQUEST['mode'] == "editgame")
    {
        $params = array('ugid' => $_REQUEST['ugid'],
            'port_main' => $_REQUEST['port_main'],
            'port_query' => $_REQUEST['port_query'],
            'port_rcon' => $_REQUEST['port_rcon'],
            'port_custom1' => $_REQUEST['port_custom1'],
            'port_custom2' => $_REQUEST['port_custom2'],
            'port_custom3' => $_REQUEST['port_custom3'],
            'port_custom4' => $_REQUEST['port_custom4'],
            'private' => $_REQUEST['private'],
            'priority' => $_REQUEST['priority'],
            'affinity' => $_REQUEST['affinity'],
            'maxslots' => $_REQUEST['maxslots'],
            'billingid' => $_REQUEST['billingid'],
            'dedicatedip' => $_REQUEST['dedicatedip'],
            'fastdl' => $_REQUEST['fastdl'],
            'config' => $_REQUEST['config'],
            'restartserver' => $_REQUEST['restartserver'],
            'commandline' => $_REQUEST['commandline']);
        $returnval = Games::EditUserGame($params);
        if($returnval['error'] == 0)
        {
            $_SESSION['goodmessage'] = $lang['usergamesaved'];
            header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
            exit();
        }
        elseif($returnval['error'] == -1)
        {
            $error = $lang['usergamenotspecified'];
        }
        elseif($returnval['error'] == -2)
        {
            $error = $lang['usergamenotfound'];
        }
        elseif($returnval['error'] == -3)
        {
            $error = $lang['usergamenotfound'];
        }
        elseif($returnval['error'] == -4)
        {
            $error = $lang['badport'];
        }
        elseif($returnval['error'] == -5)
        {
            $error = $lang['serveroffline'];
        }
        if(!empty($error))
        {
            $display->errormessage = $error;
            $_REQUEST['mode'] = "managegame";
            $display->tab = 3;
        }
    }
    /*
     * Add game
     */
    elseif($_REQUEST['mode'] == "addgame")
    {
        $params = array('uid' => $_REQUEST['uid'],
            'sid' => $_REQUEST['sid'],
            'gid' => $_REQUEST['game'],
            'install' => true,
            'private' => $_REQUEST['private'],
            'priority' => $_REQUEST['priority'],
            'maxslots' => $_REQUEST['maxslots'],
            'config' => $_REQUEST['config'],
            'dedicatedip' => $_REQUEST['dedicatedip'],
            'fastdl' => $_REQUEST['fastdl'],
            'email' => true);
        $results = Games::AddUserGame($params);
        if($results['error'] == 0)
        {
            $_SESSION['goodmessage'] = $lang['usergameinstalling'];
            header("Location: clients.php?mode=summary&uid=".$_REQUEST['uid']);
            exit();
        }
        elseif($results['error'] == -1)
        {
            $error = $lang['missinginformation'];
        }
        elseif($results['error'] == -2)
        {
            $error = $lang['nouserdatabase'];
        }
        elseif($results['error'] == -3)
        {
            $error = $lang['gamenotindatabase'];
        }
        elseif($results['error'] == -7)
        {
            $_SESSION['errormessage'] = $lang['serveraddederror'];
            header("Location: clients.php?mode=summary&uid=".$_REQUEST['uid']);
            exit();
        }
        elseif($results['error'] == -8)
        {
            $error = $lang['machinenotfound'];
        }
        elseif($results['error'] == -10)
        {
            $error = $lang['licensecountrestrict'];
        }
        if(!empty($error))
        {
            $display->errormessage = $error;
        }
    }
    elseif($_REQUEST['mode'] == "moveserver")
    {
        if(isset($_REQUEST['movefiles']) && $_REQUEST['movefiles'] == "1")
        {
            $params = array("ugid" => $_REQUEST['ugid'], "sid" => $_REQUEST['sid'], "movefile" => true);
        }
        else
        {
            $params = array("ugid" => $_REQUEST['ugid'], "sid" => $_REQUEST['sid']);
        }

        $results = Games::MoveUserGame($params);

        if($results['error'] == 0)
        {
            $_SESSION['goodmessage'] = $lang['beingmoved'];
        }
        elseif($results['error'] == -1)
        {
            $_SESSION['errormessage'] = $lang['missinginformation'];
        }
        elseif($results['error'] == -2)
        {
            $_SESSION['errormessage'] = $lang['usergamenotfound'];
        }
        elseif($results['error'] == -3)
        {
            $_SESSION['errormessage'] = $lang['gamenotexist'];
        }
        elseif($results['error'] == -4)
        {
            $_SESSION['errormessage'] = $lang['machinenotfound'];
        }
        elseif($results['error'] == -5)
        {
            $_SESSION['errormessage'] = $lang['gamealreadyonip'];
        }
        elseif($results['error'] == -7)
        {
            $_SESSION['errormessage'] = $lang['servermoveinstallerror'];
        }
        elseif($results['error'] == -8)
        {
            $_SESSION['errormessage'] = $lang['machineofflinecantmove'];
        }
        elseif($results['error'] == -9)
        {
            $_SESSION['errormessage'] = $lang['unableremovegamedebug'];
        }
        elseif($results['error'] == -13)
        {
            $_SESSION['errormessage'] = $lang['lockedtask'];
        }
        elseif($results['error'] == -14)
        {
            $_SESSION['errormessage'] = $lang['errorbackingup'];
        }
        header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
        exit();
    }
    elseif($_REQUEST['mode'] == "rconcommand")
    {
        $results = Games::Rcon(array("command" => $_REQUEST['rconcommand'], "password" => $_REQUEST['rconpassword'], "ugid" => $_REQUEST['ugid']));

        if($results['error'] == 0)
        {
            echo "<pre>";
            if(!empty($results['data']))
            {
                echo $results['data'];
            }
            else
            {
                echo $lang['noreply'];
            }
            echo "</pre>";
        }
        if($results['error'] == -1)
        {
            echo $lang['nogameid'];
        }
        elseif($results['error'] == -2)
        {
            echo $lang['commandmissing'];
        }
        elseif($results['error'] == -3)
        {
            echo $lang['gamenotindatabase'];
        }
        elseif($results['error'] == -4)
        {
            echo $lang['noprotocol'];
        }
        elseif($results['error'] == -5)
        {
            echo $lang['noprotocolfound'];
        }
        elseif($results['error'] == -6)
        {
            echo $lang['unknownerror'];
            echo "<pre>";
            echo $results['data'];
            echo "</pre>";
        }
    }
    elseif($_REQUEST['mode'] == "addcron")
    {
        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `scheduler` WHERE `ugid`='%i'", array($_REQUEST['ugid'])));
        if($query && $query->num_rows >= 5)
        {
            echo '<div id="error">'.$lang['youcanonlyhave']." 5 ".$lang['scheduledperserver'].'</div>';
            exit();
        }

        if($_REQUEST['action'] != "start" && $_REQUEST['action'] != "restart" && $_REQUEST['action'] != "stop" || $_REQUEST['action'] != "backup")
        {
            header("Location: index.php");
        }

        $results = Cron::Add(array("time" => $_REQUEST['crontime'], "type" => $_REQUEST['action'], "ugid" => $_REQUEST['ugid']));

        if($results['error'] == -1)
        {
             echo '<div id="error">'.$lang['badcrontime'].'</div>';
        }
        elseif($results['error'] == -2)
        {
            echo '<div id="error">'.$lang['noscheduletype'].'</div>';
        }
        elseif($results['error'] == -3)
        {
            echo '<div id="error">'.$lang['nosyscontrolid'].'</div>';
        }
        elseif($results['error'] == -4)
        {
            echo '<div id="error">'.$lang['missingugidoruvid'].'</div>';
        }
        elseif($results['error'] == -5)
        {
            echo '<div id="error">'.$lang['servermonscheduled'].'</div>';
        }
        elseif($results['error'] == 0)
        {
            echo '<div id="good">'.$lang['scheduledtaskadded'].'</div>';
        }
        exit();
    }
    elseif($_REQUEST['mode'] == "saveconfig")
    {
        LoadClass("ftp");

        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames` WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
        $row = $query->fetch_assoc();

        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games_configs` WHERE `gid`=%i AND `cfid`=%i LIMIT 1", array($row['gid'], $_REQUEST['configid'])));
        $rowconfig = $query->fetch_assoc();

        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games` WHERE `gid`=%i LIMIT 1", array($row['gid'])));
        $rowgame = $query->fetch_assoc();


        $ftp = new ftp($_REQUEST['ugid']);
        if($ftp->loggedOn)
        {
            $ftp->setCurrentDir($ftp->userDir);
            $ftp->setMode(1);

            if(!empty($rowgame['redirectfolder']))
            {
                $rowconfig['directory'] = str_replace($rowgame['redirectfolder'], "", $rowconfig['directory']);
            }

            $rowconfig['directory'] = ltrim($rowconfig['directory'], "/");
            $ftp->setCurrentDir($rowconfig['directory']);

            $temp_file = tempnam($ftp->downloadDir, 'gsp');
            $fp = fopen($temp_file, "w+t");
            if($bytes = !fwrite($fp, $_REQUEST['fileContent'], strlen($_REQUEST['fileContent'])))
            {
                echo '<div id="error">'.$lang['errorupload'].'</div>';
            }
            else
            {
                //Upload the file to the server
                if(!$ftp->put($ftp->currentDir."/".$ftp->filePart($rowconfig['filename']), $temp_file))
                {
                    echo '<div id="error">'.$lang['errorupload'].'</div>';
                }
                else
                {
                    echo '<div id="good">'.$lang['filesaved'].'</div>';
                }
            }
            fclose($fp);
            unlink($temp_file);
            exit;
        }
        else
        {
            echo '<div id="error">'.$lang['errorconnect'].'</div>';
        }
    }
}
if(empty($_REQUEST['mode']))
{
    header("Location: clients.php");
}
elseif($_REQUEST['mode'] == "addgame")
{
    $display->pagename = $lang['addagame'];
    if(empty($_REQUEST['uid']))
    {
        $display->clients = User::ListUsers(array("status" => "1"));
    }
    else
    {
        $display->uid = $_REQUEST['uid'];
        $display->email = User::UIDToUser($_REQUEST['uid']);
    }

    $display->games = Games::ListGames();

    $display->DisplayType("admin");
    $display->Output("admin/manageusergames/add-game.tpl");
}
elseif($_REQUEST['mode'] == "managegame")
{
    $display->pagename = $lang['managegameserver'];

    $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT *, usergames.fastdl as 'ugfastdl', games.addonmanager FROM `usergames` JOIN `games` ON usergames.gid=games.gid WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
    if($query && $query->num_rows == 1)
    {
        $rowgame = $query->fetch_assoc();
        if($rowgame['locked'] == "1")
        {
            $_SESSION['errormessage'] = $lang['lockedtask'];
            header("Location: index.php");
        }

        if($rowgame['maintenance'] == "1")
        {
            $display->errormessage = $lang['gamemaintenancemodeon'];
        }

        // Get the ip and port
        $rowgame['ip'] = Machines::GetIP($rowgame['ipid'], true);

        $display->sinfo = $rowgame;
        // Get the user information
        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `users` JOIN `users_profile` ON users_profile.uid=users.uid WHERE userlevel=0 AND users.uid='%i' LIMIT 1", array($rowgame['uid'])));
        if($query && $query->num_rows == 1)
        {
            $rowuser = $query->fetch_assoc();
            $rowuser['password'] = User::GetPass($rowuser['uid']);
            $display->cinfo = $rowuser;
        }
        $querylogin = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `events` WHERE `type`='login' AND `userid`='%i' ORDER BY `time` DESC LIMIT 1", array($rowuser['uid'])));
        if($querylogin && $querylogin->num_rows == 1)
        {
            $rowlogin = $querylogin->fetch_assoc();
            $display->lastlogin = $rowlogin['time'];
        }

        // Get the config options
        $configoptions = array();
        $x = 0;
        $queryoptions = GSP::getInstance()->db->query(SafeSQL::query("SELECT ug.*, gc.name, gc.value as `options`, gc.fieldtype FROM `usergames_configoptions` as ug JOIN `games_configoptions` as gc ON ug.optionid=gc.optionid WHERE `ugid`=%i AND gc.type='' ORDER BY `order` ASC", array($_REQUEST['ugid'])));
        while($rowoptions = $queryoptions->fetch_assoc())
        {
            $configoptions[$x]['name'] = $rowoptions['name'];
            $configoptions[$x]['control'] = $rowoptions['control'];
            $configoptions[$x]['optionid'] = $rowoptions['optionid'];
            $configoptions[$x]['fieldtype'] = $rowoptions['fieldtype'];
            $configoptions[$x]['value'] = $rowoptions['value'];
            if($rowoptions['fieldtype'] == "selectbox")
            {
                $tempoptions = explode(",", $rowoptions['options']);
                foreach($tempoptions as $key => $val)
                {
                    if(strpos($val, "=") !== false)
                    {
                        $split = explode("=", $val);
                        $configoptions[$x]['options'][$key]['full'] = $val;
                        $configoptions[$x]['options'][$key]['value'] = $split[1];
                        $configoptions[$x]['options'][$key]['display'] = $split[0];
                    }
                    else
                    {
                        $configoptions[$x]['options'][$key]['full'] = $val;
                        $configoptions[$x]['options'][$key]['value'] = $val;
                        $configoptions[$x]['options'][$key]['display'] = $val;
                    }
                }
            }

            $x++;
        }

        // Replace default options that user might be missing
        $queryoptions = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games_configoptions` WHERE `gid`='%i' AND `type`='' ORDER BY `order` ASC", array($rowgame['gid'])));
        while($rowoptions = $queryoptions->fetch_assoc())
        {
            if(Strings::search_array($rowoptions['name'], $configoptions, "name") == -1)
            {
                $configoptions[$x]['name'] = $rowoptions['name'];
                $configoptions[$x]['control'] = $rowoptions['control'];
                $configoptions[$x]['optionid'] = $rowoptions['optionid'];
                $configoptions[$x]['fieldtype'] = $rowoptions['fieldtype'];
                $configoptions[$x]['value'] = $rowoptions['value'];
                if($rowoptions['fieldtype'] == "selectbox")
                {
                    $tempoptions = explode(",", $rowoptions['value']);
                    foreach($tempoptions as $key => $val)
                    {
                        if(strpos($val, "=") !== false)
                        {
                            $split = explode("=", $val);
                            $configoptions[$x]['options'][$key]['full'] = $val;
                            $configoptions[$x]['options'][$key]['value'] = $split[1];
                            $configoptions[$x]['options'][$key]['display'] = $split[0];
                        }
                        else
                        {
                            $configoptions[$x]['options'][$key]['full'] = $val;
                            $configoptions[$x]['options'][$key]['value'] = $val;
                            $configoptions[$x]['options'][$key]['display'] = $val;
                        }
                    }
                }
                $x++;
            }
        }

        if(!empty($configoptions))
        {
            $display->configoptions = $configoptions;
        }

        // Get maxslots settings
        $maxslots = array();
        $queryslots = GSP::getInstance()->db->query(SafeSQL::query("SELECT ug.*, gc.name FROM `usergames_configoptions` as ug JOIN `games_configoptions` as gc ON ug.optionid=gc.optionid WHERE `ugid`=%i AND gc.type='maxslots' LIMIT 1", array($_REQUEST['ugid'])));
        if($queryslots && $queryslots->num_rows == 1)
        {
            $rowslots = $queryslots->fetch_assoc();
            $maxslots['name'] = $rowslots['name'];
            $maxslots['value'] = $rowslots['value'];

            $display->maxslots = $maxslots;
        }

        // Get the updates list->
        $display->updates = Games::ListUpdates($rowgame['gid']);

        // Get the QuickEdit list
        $quickedit = array();
        $x = 0;
        $queryquickedit = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games_configs` WHERE `gid`='%i' AND `quickedit`='1'", array($rowgame['gid'])));
        while($rowquickedit = $queryquickedit->fetch_assoc())
        {
            $queryconfigs = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames_configs` WHERE `ugid`='%i' AND `cfid`='%i' LIMIT 1", array($rowgame['ugid'], $rowquickedit['cfid'])));
            if($queryconfigs && $queryconfigs->num_rows == 1)
            {
                $rowconfigs = $queryconfigs->fetch_assoc();
                if($rowconfigs['exist'] == "0")
                {
                    continue;
                }
            }
            $quickedit[$x] = $rowquickedit;
            $x++;
        }
        if(!empty($quickedit))
        {
            $display->quickedit = $quickedit;
        }

        $display->webftp = false;
        $display->ftp = false;
        $display->fastdl = false;


        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT ftpport, cpucores, httpport, main_ip, os, id, backupfile_location FROM `machines` JOIN `iplist` ON machines.id=iplist.sid WHERE iplist.ipid='%i' LIMIT 1", array($rowgame['ipid'])));
        if($query && $query->num_rows == 1)
        {
            $rowmachine = $query->fetch_assoc();
            $display->os = $rowmachine['os'];
            if($rowmachine['cpucores'] != "0" && !empty($rowmachine['cpucores']))
            {
                $x = 0;
                $affinity = array();
                $totalcores = $rowmachine['cpucores'] - 1;
                while($x <= $totalcores)
                {
                    $affinity[$x] = $x;
                    $x++;
                }
                $display->affinity = $affinity;
            }

            if($rowgame['ftp'] == "1" && !empty($rowmachine['ftpport']) && $rowmachine['ftpport'] != "0")
            {
                $display->ftp = true;
                $display->ftpip = $rowgame['ip'];
                $display->ftpport = $rowmachine['ftpport'];
                if(GSP::getInstance()->settings['webftp'] == "1")
                {
                    $display->webftp = true;
                }
            }
            if($rowgame['fastdl'] == "1" && !empty($rowmachine['httpport']) && $rowmachine['httpport'] != "0")
            {
                if($rowgame['ugfastdl'] == "1")
                {
                    $display->fastdlurl = "http://".$rowmachine['main_ip'].":".$rowmachine['httpport']."/".$rowgame['ip']."-".$rowgame['port_main'];
                }
                $display->fastdl = true;
            }
        }

        // Enable backup display if it's available
        $display->backups = false;
        if($rowgame['backups'] == "1" && !empty($rowmachine['backupfile_location']))
        {
            $display->backups = true;
            $backuplist = Backup::ListBackups(array("ugid" => $_REQUEST['ugid']));
            $display->backuplist = $backuplist['data'];
        }

        // Get debugging info if main admin
        if($_SESSION['mainadmin'] == "1")
        {
            $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames` JOIN `games` ON games.gid=usergames.gid  WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
            if($query && $query->num_rows == 1)
            {
                $row = $query->fetch_assoc();

                $serverinfo['ip'] = Machines::GetIP($row['ipid']);
                $serverinfo['port'] = $row['port_main'];
                $serverinfo['name'] = $row['name'];
                $serverinfo['ugid'] = $row['ugid'];
                $display->serverinfo = $serverinfo;

                // Get server info
                $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `machines` JOIN `iplist` ON machines.id=iplist.sid WHERE `ipid`='%i' LIMIT 1", array($row['ipid'])));
                if($query && $query->num_rows == 1)
                {
                    $rowserver = $query->fetch_assoc();
                }

                $display->debug['machine'] = $rowserver;

                // Windows
                if($rowserver['os'] == "1")
                {
                    if(!empty($row['windows_startmode']))
                    {
                        $results = Strings::GameReplaceVars(array(
                                    "ugid" => $row['ugid'],
                                    "content" => $row['windows_startmode']));
                        if($results['error'] == 0)
                        {
                            $startmode = $results['content'];
                        }
                    }
                    else
                    {
                        $startmode = "";
                    }

                    $username = "gsp_".$row['uid'];

                    $gamedir = $rowserver['userfile_location']."\\".$username."\\".$serverinfo['ip']."-".$row['port_main'];
                    $display->debug['dir'] = $gamedir;

                    $command[] = "cd ".$gamedir;
                    $command[] = $row['windows_exec']." ".$startmode;
                }
                else // Linux
                {
                    $homedir = $rowserver['userfile_location']."/gsp_".$row['uid'];
                    $usergamedir = $homedir."/".$serverinfo['ip']."-".$row['port_main'];
                    $display->debug['dir'] = $usergamedir;

                    $results = Strings::GameReplaceVars(array(
                                "ugid" => $row['ugid'],
                                "content" => $row['linux_startmode']));
                    if($results['error'] == 0)
                    {
                        $startmode = $results['content'];
                    }

                    $queryscript = GSP::getInstance()->db->query(SafeSQL::query("SELECT content FROM `games_scripts` WHERE `gid`=%i AND `os`='0' AND `legacy`='1' AND `event`='beforestart'", array($row['gid'])));
                    if($queryscript && $queryscript->num_rows > 0)
                    {
                        $rowscript = $queryscript->fetch_assoc();
                        if(!empty($rowscript['content']))
                        {
                            $results = Strings::GameReplaceVars(array(
                                        "ugid" => $row['ugid'],
                                        "content" => $rowscript['content']));
                            if($results['error'] == 0)
                            {
                                $premode = rtrim($results['content'], ";");
                            }
                        }
                    }

                    $command[] = "chsh -s /bin/bash gsp_".$row['uid'];
                    $command[] = "su gsp_".$row['uid'];
                    $command[] = "cd ".$usergamedir;
                    if(isset($premode))
                    {
                        $command[] = $premode;
                    }
                    $command[] = $startmode;
                    $display->debug['finishcommand'] = "chsh -s $(which nologin) gsp_".$row['uid'];
                }
            }
            $display->debug['command'] = $command;
        }

        $cronjobs = Cron::ListJobs(array("ugid" => $_REQUEST['ugid']));
        if($cronjobs['error'] == 0)
        {
            $display->cronjobs = $cronjobs['data'];
        }

        // assign the ugid variable
        $display->ugid = $rowgame['ugid'];

        // Get any news
        if($rowmachine['os'] == "1")
        {
            $gameos = "allwindows";
        }
        else
        {
            $gameos = "alllinux";
        }
        $querynews = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `news` WHERE 
            (`machine`='all' AND (`game`='all' OR `game`='".$gameos."' OR `game`='".$row['gid']."' OR `game`='')) 
            OR (`machine`='".$gameos."' AND (`game`='all' OR `game`='".$gameos."' OR `game`='".$row['gid']."' OR `game`='')) 
            OR (`machine`='' AND (`game`='all' OR `game`='".$gameos."' OR `game`='".$row['gid']."' OR `game`='')) 
            OR (`machine`='".$rowmachine['id']."' AND (`game`='all' OR `game`='".$gameos."' OR `game`='".$row['gid']."' OR `game`='')) 
            ORDER BY `datetime` DESC", array()));
        if($querynews && $querynews->num_rows > 0)
        {
            while($rownews = $querynews->fetch_assoc())
            {
                $news[] = $rownews;
            }
            $display->news = $news;
        }
    }
    else
    {
        $_SESSION['errormessage'] = $lang['nouserdatabase'];
        header("Location: index.php");
        exit();
    }

    $display->DisplayType("admin");
    $display->Output("admin/manageusergames/managegame.tpl");
}
elseif($_REQUEST['mode'] == "gameinfo")
{
    $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames` JOIN `games` ON usergames.gid=games.gid WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
    if($query && $query->num_rows == 1)
    {
        $rowgame = $query->fetch_assoc();

        // Get the ip and port
        $rowgame['ip'] = Machines::GetIP($rowgame['ipid'], true);

        if($rowgame['status'] == 1)
        {
            $results = Games::QueryGame(array('ugid' => $rowgame['ugid'], 'nomap' => false));
            if($results['error'] == 0)
            {
                if($results['status'] == 1)
                {
                    $rowgame['hostname'] = $results['hostname'];
                    $rowgame['map'] = $results['map'];
                    $rowgame['players'] = $results['active']."/".$results['total'];
                }
                else
                {
                    $rowgame['status'] = "3";
                }
            }
        }
        $querymachine = GSP::getInstance()->db->query(SafeSQL::query("SELECT machines.alias FROM `iplist` JOIN `machines` ON machines.id=iplist.sid WHERE `ipid`='%i'", array($rowgame['ipid'])));
        $resultmachine = $querymachine->fetch_assoc();
        $rowgame['machinealias'] = $resultmachine['alias'];

        // Get the disk usage
        if(isset($rowgame['alertdiskusage']) && !empty($rowgame['alertdiskusage']))
        {
            if(isset($rowgame['size']) && !empty($rowgame['size']))
            {
                $rowgame['diskusage'] = Strings::ByteSize($rowgame['size'])." / ".Strings::ByteSize($rowgame['alertdiskusage']);
            }
            else
            {
                $rowgame['diskusage'] = $lang['unknown']."/".Strings::ByteSize($rowgame['alertdiskusage']);
            }
        }
        else
        {
            $rowgame['diskusage'] = "N/A";
        }

        $display->sinfo = $rowgame;

        // Get maxslots settings
        $maxslots = array();
        $queryslots = GSP::getInstance()->db->query(SafeSQL::query("SELECT ug.*, gc.name FROM `usergames_configoptions` as ug JOIN `games_configoptions` as gc ON ug.optionid=gc.optionid WHERE `ugid`=%i AND gc.type='maxslots' LIMIT 1", array($_REQUEST['ugid'])));
        if($queryslots && $queryslots->num_rows == 1)
        {
            $rowslots = $queryslots->fetch_assoc();
            $maxslots['name'] = $rowslots['name'];
            $maxslots['value'] = $rowslots['value'];

            $display->maxslots = $maxslots;
        }

        // assign the ugid variable
        $display->ugid = $rowgame['ugid'];
    }

    $display->DisplayType("ajax");
    $display->Output("admin/manageusergames/managegame-info.tpl");
}
elseif($_REQUEST['mode'] == "gameoptions")
{
    if(!empty($_REQUEST['gid']))
    {
        $querygame = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games` WHERE `gid`=%i LIMIT 1", array($_REQUEST['gid'])));
        if($querygame && $querygame->num_rows == 1)
        {
            $serverlist = Machines::GameLocationIPList(array("gid" => $_REQUEST['gid'], "iplist" => false));
            if(!empty($serverlist))
            {
                $display->machines = $serverlist;
            }
        }
    }
    elseif(!empty($_REQUEST['ugid']))
    {
        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames` WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
        if($query && $query->num_rows == 1)
        {
            $row = $query->fetch_assoc();
            $serverlist = Machines::GameLocationIPList(array("gid" => $_REQUEST['gid'], "iplist" => false, "currentip" => $row['ipid']));
            if(!empty($serverlist))
            {
                $display->machines = $serverlist;
            }
        }
    }

    $querygame = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games` WHERE `gid`=%i LIMIT 1", array($_REQUEST['gid'])));
    if($querygame && $querygame->num_rows == 1)
    {
        $configoptions = array();
        $rowgame = $querygame->fetch_assoc();
        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games_configoptions` WHERE `gid`=%i AND `type`=''", array($_REQUEST['gid'])));
        if($query && $query->num_rows > 0)
        {
            $x = 0;
            while($row = $query->fetch_assoc())
            {
                $configoptions[$x] = $row;
                if($row['fieldtype'] == "selectbox")
                {
                    $tempoptions = explode(",", $row['value']);
                    foreach($tempoptions as $key => $val)
                    {
                        if(strpos($val, "=") !== false)
                        {
                            $split = explode("=", $val);
                            $configoptions[$x]['options'][$key]['full'] = $val;
                            $configoptions[$x]['options'][$key]['value'] = $split[1];
                            $configoptions[$x]['options'][$key]['display'] = $split[0];
                        }
                        else
                        {
                            $configoptions[$x]['options'][$key]['full'] = $val;
                            $configoptions[$x]['options'][$key]['value'] = $val;
                            $configoptions[$x]['options'][$key]['display'] = $val;
                        }
                    }
                }
                $x++;
            }
            if(count($configoptions) > 0)
            {
                $display->configoptions = $configoptions;
            }
        }
        $maxslots = array();
        $queryslots = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games_configoptions` WHERE `gid`=%i AND `type`='maxslots' LIMIT 1", array($_REQUEST['gid'])));
        if($queryslots && $queryslots->num_rows == 1)
        {
            $rowslots = $queryslots->fetch_assoc();
            $maxslots['name'] = $rowslots['name'];
            $maxslots['value'] = $rowslots['value'];

            $display->maxslots = $maxslots;
        }
    }
    $display->fastdl = false;
    if($rowgame['fastdl'] == "1")
    {
        $display->fastdl = true;
    }
    $display->DisplayType("ajax");
    $display->Output("admin/manageusergames/ajax-gameoptions.tpl");
}
elseif($_REQUEST['mode'] == "moveserver")
{
    $display->pagename = $lang['moveserver'];
    if(!empty($_REQUEST['ugid']))
    {
        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames` JOIN `games` ON games.gid=usergames.gid  WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
        if($query && $query->num_rows == 1)
        {
            $row = $query->fetch_assoc();

            $serverinfo['ip'] = Machines::GetIP($row['ipid']);
            $serverinfo['port'] = $row['port_main'];
            $serverinfo['name'] = $row['name'];
            $serverinfo['ugid'] = $row['ugid'];
            $display->serverinfo = $serverinfo;

            $serverlist = Machines::GameLocationIPList(array("gid" => $row['gid'], "iplist" => true, "currentip" => $row['ipid'], "dedicatedip" => $row['dedicatedip']));
            $display->machines = $serverlist;

            $display->DisplayType("admin");
            $display->Output("admin/manageusergames/moveserver.tpl");
        }
        else
        {
            $_SESSION['errormessage'] = $lang['gamenotfound'];
            header("Location: index.php");
        }
    }
    else
    {
        $_SESSION['errormessage'] = $lang['gamenotfound'];
        header("Location: index.php");
    }
}
elseif($_REQUEST['mode'] == "installgame")
{
    $results = Games::InstallToUser(array("ugid" => $_REQUEST['ugid'], "email" => true));
    if($results['error'] == 0)
    {
        echo $lang['installing'];
    }
    elseif($results['error'] == -4)
    {
        echo $lang['errorinstalling'];
    }
    elseif($results['error'] == -5)
    {
        echo $lang['serverofflinesh'];
    }
    exit();
}
elseif($_REQUEST['mode'] == "viewconsole")
{
    $results = Games::GetGameConsole($_REQUEST['ugid']);

    if($results['error'] == 0)
    {
        echo "<div style='text-align:left; margin-left:2px; overflow: auto; width: 98%;'>".str_replace('&#10;', '<br />', Strings::filter($results['data'], 'special'))."</div>";
    }
    elseif($results['error'] == -1)
    {
        echo $lang['nousergameid'];
    }
    elseif($results['error'] == -2)
    {
        echo $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        echo $lang['serverofflinesh'];
    }
    elseif($results['error'] == -4)
    {
        echo $lang['consoledisabled'];
    }
}
elseif($_REQUEST['mode'] == "start")
{
    $results = Games::ControlGame(array("ugid" => $_REQUEST['ugid'], "action" => "start"));
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverstarted'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['missinginformation'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['unablecompleteaction'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['cannotstartsuspended'];
    }
}
elseif($_REQUEST['mode'] == "stop")
{
    $results = Games::ControlGame(array("ugid" => $_REQUEST['ugid'], "action" => "stop"));
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverstopped'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['missinginformation'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['unablecompleteaction'];
    }
}
elseif($_REQUEST['mode'] == "restart")
{
    $results = Games::ControlGame(array("ugid" => $_REQUEST['ugid'], "action" => "restart"));
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverrestarted'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['missinginformation'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['unablecompleteaction'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['cannotstartsuspended'];
    }
}
elseif($_REQUEST['mode'] == "delete")
{
    if(isset($_REQUEST['forceremove']))
    {
        $forceremove = true;
    }
    else
    {
        $forceremove = false;
    }
    $results = Games::DeleteFromUser($_REQUEST['ugid'], true, $forceremove);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverdeleted'];
        exit("clients.php");
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['unableremovegameoffline']." <a class='delete' href='manageusergames.php?mode=delete&ugid=".$_REQUEST['ugid']."&forceremove=true'>".$lang['clickforceremove']."</a>";
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['unablecompleteaction'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "reinstall")
{
    $results = Games::DeleteFromUser($_REQUEST['ugid'], false);
    if($results['error'] == 0 || $results['error'] == -4)
    {
        if($results['error'] == -4)
        {
            $deletefailed = true;
        }
        else
        {
            $deletefailed = false;
        }
        $results = Games::InstallToUser(array("ugid" => $_REQUEST['ugid'], "email" => false));
        if($results['error'] == 0)
        {
            if($deletefailed == true)
            {
                $_SESSION['goodmessage'] = $lang['unableremovereinstall'];
            }
            else
            {
                $_SESSION['goodmessage'] = $lang['serverreinstalling'];
            }
        }
        elseif($results['error'] == -1)
        {
            $_SESSION['errormessage'] = $lang['nogameid'];
        }
        elseif($results['error'] == -2)
        {
            $_SESSION['errormessage'] = $lang['gamenotindatabase'];
        }
        elseif($results['error'] == -3)
        {
            $_SESSION['errormessage'] = $lang['gamenotonserver'];
        }
        elseif($results['error'] == -4)
        {
            $_SESSION['errormessage'] = $lang['cannotinstall'];
        }
        elseif($results['error'] == -5)
        {
            $_SESSION['errormessage'] = $lang['reinstalloffline'];
        }
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['reinstalloffline'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "suspendgame")
{
    $results = Games::SuspendServer($_REQUEST['ugid']);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serversuspended'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
}
elseif($_REQUEST['mode'] == "unsuspendgame")
{
    $results = Games::UnsuspendServer($_REQUEST['ugid']);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverunsuspended'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
}
elseif($_REQUEST['mode'] == "enablemaintenance")
{
    $results = Games::EnableMaintenance($_REQUEST['ugid']);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['maintenanceenabled'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
}
elseif($_REQUEST['mode'] == "disablemaintenance")
{
    $results = Games::DisableMaintenance($_REQUEST['ugid']);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['maintenancedisabled'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }

    header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
    exit();
}
elseif($_REQUEST['mode'] == "installaddon")
{
    $results = Games::InstallAddon($_REQUEST['ugid'], $_REQUEST['addonid']);
    if($results['error'] == 0)
    {
        if(!empty($results['message']))
        {
            $_SESSION['goodmessage'] = $results['message'];
        }
        else
        {
            $_SESSION['goodmessage'] = $lang['addoninstalled'];
        }
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['noaddonid'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['addonnotfound'];
    }
    elseif($results['error'] == -5)
    {
        $_SESSION['errormessage'] = $lang['addonnotforos'];
    }
    elseif($results['error'] == -6)
    {
        $_SESSION['errormessage'] = $lang['usersnotinstalled'];
    }
    elseif($results['error'] == -7)
    {
        $_SESSION['errormessage'] = $lang['addoncannotinstall'];
    }
}
elseif($_REQUEST['mode'] == "installupdate")
{
    $results = Games::InstallUpdate($_REQUEST['ugid'], $_REQUEST['updateid']);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['updatestarted'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['noupdateid'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['updatenotfound'];
    }
    elseif($results['error'] == -5)
    {
        $_SESSION['errormessage'] = $lang['updatenotforos'];
    }
    elseif($results['error'] == -6)
    {
        $_SESSION['errormessage'] = $lang['usersnotinstalled'];
    }
    exit();
}
elseif($_REQUEST['mode'] == "graphs")
{
    if(!empty($_REQUEST['ugid']))
    {
        $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames` JOIN `games` ON usergames.gid=games.gid WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
        if($query && $query->num_rows == 1)
        {
            $rowgame = $query->fetch_assoc();
            $display->graphs = $rowgame['graphs'];
        }
        $display->ugid = $_REQUEST['ugid'];
        $display->DisplayType("ajax");
        $display->Output("admin/manageusergames/graphs.tpl");
    }
}
elseif($_REQUEST['mode'] == "backup")
{
    $results = Backup::CreateBackup(array("ugid" => $_REQUEST['ugid']));
    if($results['error'] == 0)
    {
        echo '<div id="good">'.$lang['backupstarted'].'</div>';
    }
    elseif($results['error'] == -1)
    {
        echo '<div id="error">'.$lang['nogameid'].'</div>';
    }
    elseif($results['error'] == -2)
    {
        echo '<div id="error">'.$lang['gamenotindatabase'].'</div>';
    }
    elseif($results['error'] == -3)
    {
        echo '<div id="error">'.$lang['usersnotinstalled'].'</div>';
    }
    elseif($results['error'] == -4)
    {
        echo '<div id="error">'.$lang['backupalreadyprogress'].'</div>';
    }
    elseif($results['error'] == -5)
    {
        echo '<div id="error">'.$lang['errorconnecting'].'</div>';
    }
    elseif($results['error'] == -6)
    {
        echo '<div id="error">'.$lang['backupsnotenabled'].'</div>';
    }
    elseif($results['error'] == -7)
    {
        echo '<div id="error">'.$lang['backupsexceedlimit'].'</div>';
    }
}
elseif($_REQUEST['mode'] == "deletebackup")
{
    $results = Backup::DeleteBackup($_REQUEST['backupid']);
    if($results['error'] == 0)
    {
        echo '<div id="good">'.$lang['backupdeleted'].'</div>';
    }
    elseif($results['error'] == -1)
    {
        echo '<div id="error">'.$lang['backupnotfound'].'</div>';
    }
    elseif($results['error'] == -2)
    {
        echo '<div id="error">'.$lang['backupnotfound'].'</div>';
    }
    elseif($results['error'] == -3)
    {
        echo '<div id="error">'.$lang['backupinprogress'].'</div>';
    }
}
elseif($_REQUEST['mode'] == "restorebackup")
{
    $results = Backup::RestoreBackup($_REQUEST['backupid']);
    if($results['error'] == 0)
    {
        echo '<div id="good">'.$lang['backupbeingrestored'].'</div>';
    }
    elseif($results['error'] == -1)
    {
        echo '<div id="error">'.$lang['backupnotfound'].'</div>';
    }
    elseif($results['error'] == -2)
    {
        echo '<div id="error">'.$lang['backupnotfound'].'</div>';
    }
    elseif($results['error'] == -3)
    {
        echo '<div id="error">'.$lang['backupinprogress'].'</div>';
    }
    elseif($results['error'] == -3)
    {
        echo '<div id="error">'.$lang['lockedtask'].'</div>';
    }
}
elseif($_REQUEST['mode'] == "viewbackups")
{
    $backuplist = Backup::ListBackups(array("ugid" => $_REQUEST['ugid']));
    $display->backuplist = $backuplist['data'];

    $display->DisplayType("ajax");
    $display->Output("admin/manageusergames/ajax-backups.tpl");
}
elseif($_REQUEST['mode'] == "getconfig")
{
    LoadClass("ftp");

    $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames` WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
    $row = $query->fetch_assoc();

    $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games_configs` WHERE `gid`=%i AND `cfid`=%i LIMIT 1", array($row['gid'], $_REQUEST['configid'])));
    $rowconfig = $query->fetch_assoc();

    $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `games` WHERE `gid`=%i LIMIT 1", array($row['gid'])));
    $rowgame = $query->fetch_assoc();

    // Connect to the FTP
    $ftp = new ftp($_REQUEST['ugid']);
    if($ftp->loggedOn)
    {
        $ftp->setResumeDownload(false);
        $ftp->setCurrentDir($ftp->userDir);
        $ftp->setMode(1);

        $temp_file = tempnam($ftp->downloadDir, 'gsp');

        if(!empty($rowgame['redirectfolder']))
        {
            $rowconfig['directory'] = str_replace($rowgame['redirectfolder'], "", $rowconfig['directory']);
        }

        $rowconfig['directory'] = ltrim($rowconfig['directory'], "/");
        $ftp->setCurrentDir($rowconfig['directory']);

        if($ftp->get($rowconfig['filename'], $temp_file))
        {
            $content = file_get_contents($temp_file);
            //  $content = stripslashes(htmlspecialchars($content, ENT_QUOTES));
            //  $content = trim($content);
            $content = str_replace("\r\n", "\n", $content);
            $display->ftpmode = $ftp->mode;
            $display->content = $content;
            $display->ugid = $_REQUEST['ugid'];
            $display->configid = $_REQUEST['configid'];
            $display->Output("admin/manageusergames/quickedit.tpl");
            unlink($temp_file);
            exit;
        }
        else
        {
            echo '<div id="error">'.$lang['errordownloading'].'</div>';
        }
    }
    else
    {
        echo '<div id="error">'.$lang['errorconnect'].'</div>';
    }
}
elseif($_REQUEST['mode'] == "checkport")
{
    if($_REQUEST['port'] == "0")
    {
        echo "valid";
    }
    $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `usergames` WHERE `ugid`=%i", array($_REQUEST['ugid'])));
    $row = $query->fetch_assoc();

    if(in_array($_REQUEST['port'], array($row['port_main'], $row['port_query'], $row['port_rcon'], $row['port_custom1'], $row['port_custom2'], $row['port_custom3'], $row['port_custom4'])))
    {
        echo "alreadyused";
        exit();
    }

    if(Machines::isPortUsed($row['ipid'], $_REQUEST['port']))
    {
        echo "error";
    }
    else
    {
        echo "valid";
    }
}
elseif($_REQUEST['mode'] == "deletecron")
{
    $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT * FROM `scheduler` WHERE `id`='%i' AND `ugid`='%i' LIMIT 1", array($_REQUEST['cronid'], $_REQUEST['ugid'])));
    if($query && $query->num_rows == 1)
    {
        $return = Cron::Remove($_REQUEST['cronid']);
        if($return['error'] == -1)
        {
            echo '<div id="error">'.$lang['notaskspecified'].'</div>';
        }
        else
        {
            echo '<div id="good">'.$lang['scheduledtaskdeleted'].'</div>';
        }
    }
    exit();
}
elseif($_REQUEST['mode'] == "viewcrons")
{
    $cronjobs = Cron::ListJobs(array("ugid" => $_REQUEST['ugid']));
    if($cronjobs['error'] == 0)
    {
        $display->cronjobs = $cronjobs['data'];
    }

    $display->DisplayType("ajax");
    $display->Output("admin/manageusergames/ajax-cron.tpl");
}
elseif($_REQUEST['mode'] == "listaddons")
{
    $query = GSP::getInstance()->db->query(SafeSQL::query("SELECT usergames.gid, games.addonmanager FROM `usergames` JOIN `games` ON usergames.gid=games.gid WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
    if($query && $query->num_rows == 1)
    {
        $row = $query->fetch_assoc();
        if(!empty($row['addonmanager']) && $row['addonmanager'] != "stock")
        {
            Plugins::getInstance()->triggerPluginEvent($row['addonmanager'], "displayaddons", $row['gid']);
        }
        else
        {
            $display->addons = Games::ListAddons($row['gid']);
            $display->DisplayType("ajax");
            $display->Output("admin/manageusergames/ajax-addonlist.tpl");
        }
    }
}
elseif($_REQUEST['mode'] == "unlock")
{
    $result = Games::UnlockGame($_REQUEST['ugid']);
    if($result['error'] == 0 || $result['error'] == -3)
    {
        $_SESSION['goodmessage'] = $lang['gameserverunlocked'];
    }
    header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
?>
/admin/manageusergames.php - ,,csa panel" version:
| Afiseaza codul
<?php
require_once("../includes/csa-panel.php");

// Permission checks for sub-admins
if($_SESSION['mainadmin'] != "1")
{
    if($_REQUEST['mode'] == "editgame" && !in_array("editservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if(($_REQUEST['mode'] == "addgame" || $_REQUEST['mode'] == "installgame" || $_REQUEST['mode'] == "gameoptions") && !in_array("addservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if($_REQUEST['mode'] == "delete" && !in_array("deleteservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if(($_REQUEST['mode'] == "suspendgame" || $_REQUEST['mode'] == "unsuspendgame") && !in_array("suspendservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if(($_REQUEST['mode'] == "managegame" || $_REQUEST['mode'] == "gameinfo") && (!in_array("editservice", $_SESSION['permissions']) && !in_array("suspendservice", $_SESSION['permissions']) && !in_array("deleteservice", $_SESSION['permissions']) && !in_array("manageservice", $_SESSION['permissions'])))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if(($_REQUEST['mode'] == "viewconsole" || $_REQUEST['mode'] == "start" || $_REQUEST['mode'] == "stop" || $_REQUEST['mode'] == "restart" || $_REQUEST['mode'] == "installaddon" || $_REQUEST['mode'] == "installupdate" || $_REQUEST['mode'] == "addcron" || $_REQUEST['mode'] == "deletecron" || $_REQUEST['mode'] == "rconcommand") && !in_array("manageservice", $_SESSION['permissions']))
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
    if($_REQUEST['mode'] == "moveserver" || $_REQUEST['mode'] == "reinstall")
    {
        $_SESSION['errormessage'] = $lang['nopermission'];
        header("Location: index.php");
        exit();
    }
}

if(isset($_GET['tab']) && !empty($_GET['tab']))
{
    $smartyvalues['tab'] = $_GET['tab'];
}
else
{
    $smartyvalues['tab'] = 0;
}

if(isset($_POST['submit']))
{
    /*     * *************************
      SAVE EDIT
     * ************************* */
    if($_REQUEST['mode'] == "editgame")
    {
        $params = array('ugid' => $_REQUEST['ugid'],
            'port_main' => $_REQUEST['port_main'],
            'port_query' => $_REQUEST['port_query'],
            'port_rcon' => $_REQUEST['port_rcon'],
            'port_custom1' => $_REQUEST['port_custom1'],
            'port_custom2' => $_REQUEST['port_custom2'],
            'port_custom3' => $_REQUEST['port_custom3'],
            'port_custom4' => $_REQUEST['port_custom4'],
            'private' => $_REQUEST['private'],
            'priority' => $_REQUEST['priority'],
            'affinity' => $_REQUEST['affinity'],
            'maxslots' => $_REQUEST['maxslots'],
            'billingid' => $_REQUEST['billingid'],
            'dedicatedip' => $_REQUEST['dedicatedip'],
            'fastdl' => $_REQUEST['fastdl'],
            'config' => $_REQUEST['config'],
            'restartserver' => $_REQUEST['restartserver']);
        LoadClass('games');
        $returnval = $games->EditUserGame($params);
        if($returnval['error'] == 0)
        {
            $_SESSION['goodmessage'] = $lang['usergamesaved'];
            header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
            exit();
        }
        elseif($returnval['error'] == -1)
        {
            $error = $lang['usergamenotspecified'];
        }
        elseif($returnval['error'] == -2)
        {
            $error = $lang['usergamenotfound'];
        }
        elseif($returnval['error'] == -3)
        {
            $error = $lang['usergamenotfound'];
        }
        elseif($returnval['error'] == -4)
        {
            $error = $lang['badport'];
        }
        elseif($returnval['error'] == -5)
        {
            $error = $lang['serveroffline'];
        }
        if(!empty($error))
        {
            $smartyvalues['errormessage'] = $error;
            $_REQUEST['mode'] = "managegame";
            $smartyvalues['tab'] = 3;
        }
    }
    /*     * *************************
      ADD GAME
     * ************************* */
    elseif($_REQUEST['mode'] == "addgame")
    {
        $params = array('uid' => $_REQUEST['uid'],
            'sid' => $_REQUEST['sid'],
            'gid' => $_REQUEST['game'],
            'install' => true,
            'private' => $_REQUEST['private'],
            'priority' => $_REQUEST['priority'],
            'maxslots' => $_REQUEST['maxslots'],
            'config' => $_REQUEST['config'],
            'dedicatedip' => $_REQUEST['dedicatedip'],
            'fastdl' => $_REQUEST['fastdl'],
            'email' => true);
        LoadClass('games');
        $results = $games->AddUserGame($params);
        if($results['error'] == 0)
        {
            $_SESSION['goodmessage'] = $lang['usergameinstalling'];
            header("Location: clients.php?mode=summary&uid=".$_REQUEST['uid']);
            exit();
        }
        elseif($results['error'] == -1)
        {
            $error = $lang['missinginformation'];
        }
        elseif($results['error'] == -2)
        {
            $error = $lang['nouserdatabase'];
        }
        elseif($results['error'] == -3)
        {
            $error = $lang['gamenotindatabase'];
        }
        elseif($results['error'] == -4)
        {
            $error = $lang['servernotindb'];
        }
        elseif($results['error'] == -5)
        {
            $error = $lang['gamenotonserver'];
        }
        elseif($results['error'] == -6)
        {
            $error = $lang['serveroffline'];
        }
        elseif($results['error'] == -7)
        {
            $_SESSION['errormessage'] = $lang['serveraddederror'];
            header("Location: clients.php?mode=summary&uid=".$_REQUEST['uid']);
            exit();
        }
        elseif($results['error'] == -8)
        {
            $error = $lang['machinenotfound'];
        }
        elseif($results['error'] == -9)
        {
            $error = $lang['allabovequota'];
        }
        elseif($results['error'] == -10)
        {
            $error = $lang['licensecountrestrict'];
        }
        elseif($results['error'] == -12)
        {
            $error = $lang['noips'];
        }
        if(!empty($error))
        {
            $smartyvalues['errormessage'] = $error;
        }
    }
    elseif($_REQUEST['mode'] == "moveserver")
    {
        if(isset($_REQUEST['movefiles']) && $_REQUEST['movefiles'] == "1")
        {
            $params = array("ugid" => $_REQUEST['ugid'], "sid" => $_REQUEST['sid'], "movefile" => true);
        }
        else
        {
            $params = array("ugid" => $_REQUEST['ugid'], "sid" => $_REQUEST['sid']);
        }
        

        LoadClass('games');
        $results = $games->MoveUserGame($params);

        if($results['error'] == 0)
        {
            $_SESSION['goodmessage'] = $lang['beingmoved'];
        }
        elseif($results['error'] == -1)
        {
            $_SESSION['errormessage'] = $lang['missinginformation'];
        }
        elseif($results['error'] == -2)
        {
            $_SESSION['errormessage'] = $lang['usergamenotfound'];
        }
        elseif($results['error'] == -3)
        {
            $_SESSION['errormessage'] = $lang['gamenotexist'];
        }
        elseif($results['error'] == -4)
        {
            $_SESSION['errormessage'] = $lang['machinenotfound'];
        }
        elseif($results['error'] == -5)
        {
            $_SESSION['errormessage'] = $lang['gamealreadyonip'];
        }
        elseif($results['error'] == -6)
        {
            $_SESSION['errormessage'] = $lang['machinecannotrun'];
        }
        elseif($results['error'] == -7)
        {
            $_SESSION['errormessage'] = $lang['servermoveinstallerror'];
        }
        elseif($results['error'] == -8)
        {
            $_SESSION['errormessage'] = $lang['machineofflinecantmove'];
        }
        elseif($results['error'] == -9)
        {
            $_SESSION['errormessage'] = $lang['unableremovegamedebug'];
        }
        elseif($results['error'] == -10)
        {
            $_SESSION['errormessage'] = $lang['machinenotfound'];
        }
        elseif($results['error'] == -11)
        {
            $_SESSION['errormessage'] = $lang['machinecannotconnect2'];
        }
        elseif($results['error'] == -12)
        {
            $_SESSION['errormessage'] = $lang['nobelowquota'];
        }
        elseif($results['error'] == -13)
        {
            $_SESSION['errormessage'] = $lang['lockedtask'];
        }
        elseif($results['error'] == -14)
        {
            $_SESSION['errormessage'] = $lang['errorbackingup'];
        }
        header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
        exit();
    }
}
if(empty($_REQUEST['mode']))
{
    header("Location: clients.php");
}
elseif($_REQUEST['mode'] == "addgame")
{
    $smartyvalues['pagename'] = $lang['addagame'];
    if(empty($_REQUEST['uid']))
    {
        $clients = array();
        $x = 0;
        $query = mysql_query("SELECT * FROM `users` JOIN `users_profile` ON users_profile.uid=users.uid WHERE userlevel=0 AND `status`='1'");
        if($query && mysql_num_rows($query) > 0)
        {
            while($row = mysql_fetch_array($query))
            {
                $clients[$x] = $row;
                $x++;
            }
            $smartyvalues['clients'] = $clients;
        }
    }
    $games = array();
    $x = 0;
    $query = mysql_query("SELECT * FROM `games`");
    if($query && mysql_num_rows($query) > 0)
    {
        while($row = mysql_fetch_array($query))
        {
            $games[$x] = $row;
            $x++;
        }
        $smartyvalues['games'] = $games;
    }
    $smartyvalues['uid'] = $_REQUEST['uid'];
    $smartyvalues['email'] = $user->UIDToUser($_REQUEST['uid']);

    $display->DisplayType("admin");
    $display->Output("admin/manageusergames/add-game.tpl");
}
elseif($_REQUEST['mode'] == "managegame")
{
    $smartyvalues['pagename'] = $lang['managegameserver'];

    $query = mysql_query($safesql->query("SELECT *, usergames.fastdl as 'ugfastdl' FROM `usergames` JOIN `games` ON usergames.gid=games.gid WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
    if($query && mysql_num_rows($query) == 1)
    {
        $rowgame = mysql_fetch_array($query);
        if($rowgame['locked'] == "1")
        {
            $_SESSION['errormessage'] = $lang['lockedtask'];
            header("Location: index.php");
        }

        // Get the ip and port
        LoadClass('machines');
        $rowgame['ip'] = $machines->GetIP($rowgame['ipid'], true);

        $smartyvalues['sinfo'] = $rowgame;
        // Get the user information
        $query = mysql_query($safesql->query("SELECT * FROM `users` JOIN `users_profile` ON users_profile.uid=users.uid WHERE userlevel=0 AND users.uid='%s' LIMIT 1", array($rowgame['uid'])));
        if($query && mysql_num_rows($query) == 1)
        {
            LoadClass('user');
            $rowuser = mysql_fetch_array($query);
            $rowuser['password'] = $user->GetPass($rowuser['uid']);
            $smartyvalues['cinfo'] = $rowuser;
        }
        $querylogin = mysql_query($safesql->query("SELECT * FROM `events` WHERE `type`='login' AND `userid`='%s' ORDER BY `time` DESC LIMIT 1", array($rowuser['uid'])));
        if($querylogin && mysql_num_rows($querylogin) == 1)
        {
            $rowlogin = mysql_fetch_array($querylogin);
            $smartyvalues['lastlogin'] = $rowlogin['time'];
        }

        // Get the config options
        $configoptions = array();
        $x = 0;
        $queryoptions = mysql_query($safesql->query("SELECT ug.*, gc.name, gc.value as `options`, gc.fieldtype FROM `usergames_configoptions` as ug JOIN `games_configoptions` as gc ON ug.optionid=gc.optionid WHERE `ugid`=%i AND gc.type='' ORDER BY `order` ASC", array($_REQUEST['ugid'])));
        while($rowoptions = mysql_fetch_array($queryoptions))
        {
            $configoptions[$x]['name'] = $rowoptions['name'];
            $configoptions[$x]['control'] = $rowoptions['control'];
            $configoptions[$x]['optionid'] = $rowoptions['optionid'];
            $configoptions[$x]['fieldtype'] = $rowoptions['fieldtype'];
            $configoptions[$x]['value'] = $rowoptions['value'];
            if($rowoptions['fieldtype'] == "selectbox")
            {
                $tempoptions = explode(",", $rowoptions['options']);
                foreach($tempoptions as $key => $val)
                {
                    if(strpos($val, "=") !== false)
                    {
                        $split = explode("=", $val);
                        $configoptions[$x]['options'][$key]['full'] = $val;
                        $configoptions[$x]['options'][$key]['value'] = $split[1];
                        $configoptions[$x]['options'][$key]['display'] = $split[0];
                    }
                    else
                    {
                        $configoptions[$x]['options'][$key]['full'] = $val;
                        $configoptions[$x]['options'][$key]['value'] = $val;
                        $configoptions[$x]['options'][$key]['display'] = $val;
                    }
                }
            }

            $x++;
        }



        // Replace default options that user might be missing
        $queryoptions = mysql_query($safesql->query("SELECT * FROM `games_configoptions` WHERE `gid`='%s' AND `type`='' ORDER BY `order` ASC", array($rowgame['gid'])));
        while($rowoptions = mysql_fetch_array($queryoptions))
        {
            if($strings->search_array($rowoptions['name'], $configoptions, "name") == -1)
            {
                $configoptions[$x]['name'] = $rowoptions['name'];
                $configoptions[$x]['control'] = $rowoptions['control'];
                $configoptions[$x]['optionid'] = $rowoptions['optionid'];
                $configoptions[$x]['fieldtype'] = $rowoptions['fieldtype'];
                $configoptions[$x]['value'] = $rowoptions['value'];
                if($rowoptions['fieldtype'] == "selectbox")
                {
                    $tempoptions = explode(",", $rowoptions['value']);
                    foreach($tempoptions as $key => $val)
                    {
                        if(strpos($val, "=") !== false)
                        {
                            $split = explode("=", $val);
                            $configoptions[$x]['options'][$key]['full'] = $val;
                            $configoptions[$x]['options'][$key]['value'] = $split[1];
                            $configoptions[$x]['options'][$key]['display'] = $split[0];
                        }
                        else
                        {
                            $configoptions[$x]['options'][$key]['full'] = $val;
                            $configoptions[$x]['options'][$key]['value'] = $val;
                            $configoptions[$x]['options'][$key]['display'] = $val;
                        }
                    }
                }
                $x++;
            }
        }

        if(!empty($configoptions))
        {
            $smartyvalues['configoptions'] = $configoptions;
        }

        // Get maxslots settings
        $maxslots = array();
        $queryslots = mysql_query($safesql->query("SELECT ug.*, gc.name FROM `usergames_configoptions` as ug JOIN `games_configoptions` as gc ON ug.optionid=gc.optionid WHERE `ugid`=%i AND gc.type='maxslots' LIMIT 1", array($_REQUEST['ugid'])));
        if($queryslots && mysql_num_rows($queryslots) == 1)
        {
            $rowslots = mysql_fetch_array($queryslots);
            $maxslots['name'] = $rowslots['name'];
            $maxslots['value'] = $rowslots['value'];

            $smartyvalues['maxslots'] = $maxslots;
        }

        // Get the addons list
        $addons = array();
        $x = 0;
        $queryaddons = mysql_query($safesql->query("SELECT * FROM `games_addons` WHERE `gid`='%s'", array($rowgame['gid'])));
        while($rowaddons = mysql_fetch_array($queryaddons))
        {
            $addons[$x] = $rowaddons;
            $x++;
        }
        if(!empty($addons))
        {
            $smartyvalues['addons'] = $addons;
        }

        // Get the updates list
        $updates = array();
        $x = 0;
        $queryupdates = mysql_query($safesql->query("SELECT * FROM `games_updates` WHERE `gid`='%s'", array($rowgame['gid'])));
        while($rowupdates = mysql_fetch_array($queryupdates))
        {
            $updates[$x] = $rowupdates;
            $x++;
        }
        if(!empty($updates))
        {
            $smartyvalues['updates'] = $updates;
        }

        // Get the QuickEdit list
        $quickedit = array();
        $x = 0;
        $queryquickedit = mysql_query($safesql->query("SELECT * FROM `games_configs` WHERE `gid`='%s' AND `quickedit`='1'", array($rowgame['gid'])));
        while($rowquickedit = mysql_fetch_array($queryquickedit))
        {
            $queryconfigs = mysql_query($safesql->query("SELECT * FROM `usergames_configs` WHERE `ugid`='%s' AND `cfid`='%i' LIMIT 1", array($rowgame['ugid'], $rowquickedit['cfid'])));
            if($queryconfigs && mysql_num_rows($queryconfigs) == 1)
            {
                $rowconfigs = mysql_fetch_array($queryconfigs);
                if($rowconfigs['exist'] == "0")
                {
                    continue;
                }
            }
            $quickedit[$x] = $rowquickedit;
            $x++;
        }
        if(!empty($quickedit))
        {
            $smartyvalues['quickedit'] = $quickedit;
        }

        $smartyvalues['webftp'] = false;
        $smartyvalues['ftp'] = false;
        $smartyvalues['fastdl'] = false;

        $query = mysql_query($safesql->query("SELECT ftpport, cpucores, httpport, main_ip FROM `machines` JOIN `iplist` ON machines.id=iplist.sid WHERE iplist.ipid='%s' LIMIT 1", array($rowgame['ipid'])));
        if($query && mysql_num_rows($query) == 1)
        {
            $rowmachine = mysql_fetch_array($query);
            if($rowmachine['cpucores'] != "0" && !empty($rowmachine['cpucores']))
            {
                $x = 0;
                $affinity = array();
                $totalcores = $rowmachine['cpucores'] - 1;
                while($x <= $totalcores)
                {
                    $affinity[$x] = $x;
                    $x++;
                }
                $smartyvalues['affinity'] = $affinity;
            }

            if($rowgame['ftp'] == "1" && !empty($rowmachine['ftpport']) && $rowmachine['ftpport'] != "0")
            {
                $smartyvalues['ftp'] = true;
                $smartyvalues['ftpip'] = $rowgame['ip'];
                $smartyvalues['ftpport'] = $rowmachine['ftpport'];
                if($settings['webftp'] == "1")
                {
                    $smartyvalues['webftp'] = true;
                }
            }
			if($rowgame['fastdl'] == "1" && !empty($rowmachine['httpport']) && $rowmachine['httpport'] != "0")
			{
				if($rowgame['ugfastdl'] == "1")
				{
					if(empty($rowgame['fastdlurl']) || !$rowgame['fastdlurl']) {
						$smartyvalues['fastdlurl'] = "http://".$rowmachine['main_ip'].":".$rowmachine['httpport']."/".$rowgame['ip']."-".$rowgame['port_main'];
					} else {
						$smartyvalues['fastdlurl'] = "http://".$rowgame['fastdlurl'].":".$rowmachine['httpport']."/".$rowgame['ip']."-".$rowgame['port_main'];
					}
				}
				$smartyvalues['fastdl'] = true;
			}
        }

        // Get debugging info if main admin
        if($_SESSION['mainadmin'] == "1")
        {
            $query = mysql_query($safesql->query("SELECT * FROM `usergames` JOIN `games` ON games.gid=usergames.gid  WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
            if($query && mysql_num_rows($query) == 1)
            {
                $row = mysql_fetch_array($query);

                LoadClass('machines');
                $serverinfo['ip'] = $machines->GetIP($row['ipid']);
                $serverinfo['port'] = $row['port_main'];
                $serverinfo['name'] = $row['name'];
                $serverinfo['ugid'] = $row['ugid'];
                $smartyvalues['serverinfo'] = $serverinfo;

                // Get server info
                $query = mysql_query($safesql->query("SELECT * FROM `machines` JOIN `iplist` ON machines.id=iplist.sid WHERE `ipid`='%s' LIMIT 1", array($row['ipid'])));
                if($query && mysql_num_rows($query) == 1)
                {
                    $rowserver = mysql_fetch_array($query);
                }

                $smartyvalues['debug']['machine'] = $rowserver;

                // Windows
                if($rowserver['os'] == "1")
                {
                    if(!empty($row['windows_startmode']))
                    {
                        $results = $strings->GameReplaceVars(array(
                            "ugid" => $row['ugid'],
                            "content" => $row['windows_startmode']));
                        if($results['error'] == 0)
                        {
                            $startmode = $results['content'];
                        }
                    }
                    else
                    {
                        $startmode = "";
                    }

                    $username = "csa_".$row['uid'];

                    $gamedir = $rowserver['userfile_location']."\\".$username."\\".$serverinfo['ip']."-".$row['port_main'];
                    $smartyvalues['debug']['dir'] = $gamedir;

                    $command[] = "cd ".$gamedir;
                    $command[] = $row['windows_exec']." ".$startmode;
                }
                else // Linux
                {
                    $homedir = $rowserver['userfile_location']."/csa_".$row['uid'];
                    $usergamedir = $homedir."/".$serverinfo['ip']."-".$row['port_main'];
                    $smartyvalues['debug']['dir'] = $usergamedir;

                    $results = $strings->GameReplaceVars(array(
                        "ugid" => $row['ugid'],
                        "content" => $row['linux_startmode']));
                    if($results['error'] == 0)
                    {
                        $startmode = $results['content'];
                    }

                    $queryscript = mysql_query($safesql->query("SELECT content FROM `games_scripts` WHERE `gid`=%i AND `os`='0' AND `legacy`='1' AND `event`='beforestart'", array($row['gid'])));
                    if($queryscript && mysql_num_rows($queryscript) > 0)
                    {
                        $rowscript = mysql_fetch_assoc($queryscript);
                        if(!empty($rowscript['content']))
                        {
                            $results = $strings->GameReplaceVars(array(
                                "ugid" => $row['ugid'],
                                "content" => $rowscript['content']));
                            if($results['error'] == 0)
                            {
                                $premode = rtrim($results['content'], ";");
                            }
                        }
                    }

                    $command[] = "chsh -s /bin/bash csa_".$row['uid'];
                    $command[] = "su csa_".$row['uid'];
                    $command[] = "cd ".$usergamedir;
                    if(isset($premode))
                    {
                        $command[] = $premode;
                    }
                    $command[] = $startmode;
                    $smartyvalues['debug']['finishcommand'] = "chsh -s $(which nologin) csa_".$row['uid'];
                }
            }
            $smartyvalues['debug']['command'] = $command;
        }

        $cronjobs = array();
        $x = 0;
        $query = mysql_query($safesql->query("SELECT * FROM `scheduler` WHERE `ugid`='%i'", array($_REQUEST['ugid'])));
        if($query && mysql_num_rows($query) > 0)
        {
            while($row = mysql_fetch_assoc($query))
            {
                $cronjobs[$x]['cronid'] = $row['id'];
                $cronjobs[$x]['crontime'] = $row['crontime'];
                $cronjobs[$x]['type'] = $row['type'];
                $cronjobs[$x]['ugid'] = $row['ugid'];
                $x++;
            }
        }

        $smartyvalues['cronjobs'] = $cronjobs;

        // assign the ugid variable
        $smartyvalues['ugid'] = $rowgame['ugid'];
    }
    else
    {
        $_SESSION['errormessage'] = $lang['nouserdatabase'];
        header("Location: index.php");
        exit();
    }

    $display->DisplayType("admin");
    $display->Output("admin/manageusergames/managegame.tpl");
}
elseif($_REQUEST['mode'] == "gameinfo")
{
    $query = mysql_query($safesql->query("SELECT * FROM `usergames` JOIN `games` ON usergames.gid=games.gid WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
    if($query && mysql_num_rows($query) == 1)
    {
        $rowgame = mysql_fetch_array($query);

        // Get the ip and port
        LoadClass('machines');
        $rowgame['ip'] = $machines->GetIP($rowgame['ipid'], true);

        if($rowgame['status'] == 1)
        {
            LoadClass('games');
            $params = array('ugid' => $rowgame['ugid'],
                'nomap' => false);
            $results = $games->QueryGame($params);
            if($results['error'] == 0)
            {
                $services[$x]['status'] = $results['status'];
                if($results['status'] == 1)
                {
                    $rowgame['hostname'] = $results['hostname'];
                    $rowgame['map'] = $results['map'];
                    $rowgame['players'] = $results['active']."/".$results['total'];
                }
                else
                {
                    $rowgame['status'] = "3";
                }
            }
        }
        $querymachine = mysql_query($safesql->query("SELECT machines.alias FROM `iplist` JOIN `machines` ON machines.id=iplist.sid WHERE `ipid`='%s'", array($rowgame['ipid'])));
        $resultmachine = mysql_fetch_array($querymachine);
        $rowgame['machinealias'] = $resultmachine['alias'];

        // Get the disk usage
        if(isset($rowgame['alertdiskusage']) && !empty($rowgame['alertdiskusage']))
        {
            LoadClass("strings");
            if(isset($rowgame['size']) && !empty($rowgame['size']))
            {
                $rowgame['diskusage'] = $strings->ByteSize($rowgame['size'])." / ".$strings->ByteSize($rowgame['alertdiskusage']);
            }
            else
            {
                $rowgame['diskusage'] = $lang['unknown']."/".$strings->ByteSize($rowgame['alertdiskusage']);
            }
        }
        else
        {
            $rowgame['diskusage'] = "N/A";
        }

        $smartyvalues['sinfo'] = $rowgame;

        // Get maxslots settings
        $maxslots = array();
        $queryslots = mysql_query($safesql->query("SELECT ug.*, gc.name FROM `usergames_configoptions` as ug JOIN `games_configoptions` as gc ON ug.optionid=gc.optionid WHERE `ugid`=%i AND gc.type='maxslots' LIMIT 1", array($_REQUEST['ugid'])));
        if($queryslots && mysql_num_rows($queryslots) == 1)
        {
            $rowslots = mysql_fetch_array($queryslots);
            $maxslots['name'] = $rowslots['name'];
            $maxslots['value'] = $rowslots['value'];

            $smartyvalues['maxslots'] = $maxslots;
        }

        // assign the ugid variable
        $smartyvalues['ugid'] = $rowgame['ugid'];
    }

    $display->DisplayType("ajax");
    $display->Output("admin/manageusergames/managegame-info.tpl");
}
elseif($_REQUEST['mode'] == "gameoptions")
{
    if(!empty($_REQUEST['gid']))
    {
        $querygame = mysql_query($safesql->query("SELECT * FROM `games` WHERE `gid`=%i LIMIT 1", array($_REQUEST['gid'])));
        if($querygame && mysql_num_rows($querygame) == 1)
        {
            $params = array("gid" => $_REQUEST['gid'], "iplist" => false);
            LoadClass('machines');
            $serverlist = $machines->GameLocationIPList($params);
            if(!empty($serverlist))
            {
                $smartyvalues['machines'] = $serverlist;
            }
        }
    }
    elseif(!empty($_REQUEST['ugid']))
    {
        $query = mysql_query($safesql->query("SELECT * FROM `usergames` WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
        if($query && mysql_num_rows($query) == 1)
        {
            $row = mysql_fetch_array($query);
            $params = array("gid" => $_REQUEST['gid'], "iplist" => false, "currentip" => $row['ipid']);
            LoadClass('machines');
            $serverlist = $machines->GameLocationIPList($params);
            if(!empty($serverlist))
            {
                $smartyvalues['machines'] = $serverlist;
            }
        }
    }

    $querygame = mysql_query($safesql->query("SELECT * FROM `games` WHERE `gid`=%i LIMIT 1", array($_REQUEST['gid'])));
    if($querygame && mysql_num_rows($querygame) == 1)
    {
        $configoptions = array();
        $rowgame = mysql_fetch_array($querygame);
        $query = mysql_query($safesql->query("SELECT * FROM `games_configoptions` WHERE `gid`=%i AND `type`=''", array($_REQUEST['gid'])));
        if($query && mysql_num_rows($query) > 0)
        {
            $x = 0;
            while($row = mysql_fetch_array($query))
            {
                $configoptions[$x] = $row;
                if($row['fieldtype'] == "selectbox")
                {
                    $tempoptions = explode(",", $row['value']);
                    foreach($tempoptions as $key => $val)
                    {
                        if(strpos($val, "=") !== false)
                        {
                            $split = explode("=", $val);
                            $configoptions[$x]['options'][$key]['full'] = $val;
                            $configoptions[$x]['options'][$key]['value'] = $split[1];
                            $configoptions[$x]['options'][$key]['display'] = $split[0];
                        }
                        else
                        {
                            $configoptions[$x]['options'][$key]['full'] = $val;
                            $configoptions[$x]['options'][$key]['value'] = $val;
                            $configoptions[$x]['options'][$key]['display'] = $val;
                        }
                    }
                }
                $x++;
            }
            if(count($configoptions) > 0)
            {
                $smartyvalues['configoptions'] = $configoptions;
            }
        }
        $maxslots = array();
        $queryslots = mysql_query($safesql->query("SELECT * FROM `games_configoptions` WHERE `gid`=%i AND `type`='maxslots' LIMIT 1", array($_REQUEST['gid'])));
        if($queryslots && mysql_num_rows($queryslots) == 1)
        {
            $rowslots = mysql_fetch_array($queryslots);
            $maxslots['name'] = $rowslots['name'];
            $maxslots['value'] = $rowslots['value'];

            $smartyvalues['maxslots'] = $maxslots;
        }
    }
    $smartyvalues['fastdl'] = false;
    if($rowgame['fastdl'] == "1")
    {
        $smartyvalues['fastdl'] = true;
    }
    $display->DisplayType("ajax");
    $display->Output("admin/manageusergames/ajax-gameoptions.tpl");
}
elseif($_REQUEST['mode'] == "moveserver")
{
    $smartyvalues['pagename'] = $lang['moveserver'];
    if(!empty($_REQUEST['ugid']))
    {
        $query = mysql_query($safesql->query("SELECT * FROM `usergames` JOIN `games` ON games.gid=usergames.gid  WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
        if($query && mysql_num_rows($query) == 1)
        {
            $row = mysql_fetch_array($query);

            LoadClass('machines');
            $serverinfo['ip'] = $machines->GetIP($row['ipid']);
            $serverinfo['port'] = $row['port_main'];
            $serverinfo['name'] = $row['name'];
            $serverinfo['ugid'] = $row['ugid'];
            $smartyvalues['serverinfo'] = $serverinfo;

            $params = array("gid" => $row['gid'], "iplist" => true, "currentip" => $row['ipid'], "dedicatedip" => $row['dedicatedip']);

            $serverlist = $machines->GameLocationIPList($params);
            $smartyvalues['machines'] = $serverlist;

            $display->DisplayType("admin");
            $display->Output("admin/manageusergames/moveserver.tpl");
        }
        else
        {
            $_SESSION['errormessage'] = $lang['gamenotfound'];
            header("Location: index.php");
        }
    }
    else
    {
        $_SESSION['errormessage'] = $lang['gamenotfound'];
        header("Location: index.php");
    }
}
elseif($_REQUEST['mode'] == "installgame")
{
    LoadClass('games');
    $params = array("ugid" => $_REQUEST['ugid'], "email" => true);
    $results = $games->InstallToUser($params);
    if($results['error'] == 0)
    {
        echo $lang['installing'];
    }
    elseif($results['error'] == -4)
    {
        echo $lang['errorinstalling'];
    }
    elseif($results['error'] == -5)
    {
        echo $lang['serverofflinesh'];
    }
    exit();
}
elseif($_REQUEST['mode'] == "viewconsole")
{
    LoadClass('games');
    $results = $games->GetGameConsole($_REQUEST['ugid']);
    if($results['error'] == 0)
    {
        echo "<div class='span11 panel'><div class='panel-header'><i class='icon-align-left icon-blue'></i><h2>Server Console</h2></div><div class='panel-content'><div style='text-align:left; overflow: auto;height: 300px;'>".str_replace('&#10;', '<br />', $strings->filter($results['data'], 'special'))."</div></div></div>";
    }
    elseif($results['error'] == -1)
    {
        echo $lang['nousergameid'];
    }
    elseif($results['error'] == -2)
    {
        echo $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        echo $lang['serverofflinesh'];
    }
    elseif($results['error'] == -4)
    {
        echo $lang['consoledisabled'];
    }
}
elseif($_REQUEST['mode'] == "start")
{
    LoadClass('games');
    $results = $games->ControlGame(array("ugid" => $_REQUEST['ugid'], "action" => "start"));
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverstarted'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['missinginformation'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['unablecompleteaction'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['cannotstartsuspended'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "stop")
{
    LoadClass('games');
    $results = $games->ControlGame(array("ugid" => $_REQUEST['ugid'], "action" => "stop"));
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverstopped'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['missinginformation'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['unablecompleteaction'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "restart")
{
    LoadClass('games');
    $results = $games->ControlGame(array("ugid" => $_REQUEST['ugid'], "action" => "restart"));
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverrestarted'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['missinginformation'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['unablecompleteaction'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['cannotstartsuspended'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "delete")
{
    LoadClass('games');
    $results = $games->DeleteFromUser($_REQUEST['ugid'], true);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverdeleted'];
        exit("clients.php");
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['unableremovegameoffline'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['unablecompleteaction'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "reinstall")
{
    LoadClass('games');
    $results = $games->DeleteFromUser($_REQUEST['ugid'], false);
    if($results['error'] == 0 || $results['error'] == -4)
    {
        if($results['error'] == -4)
        {
            $deletefailed = true;
        }
        else
        {
            $deletefailed = false;
        }
        $params = array("ugid" => $_REQUEST['ugid'], "email" => false);
        $results = $games->InstallToUser($params);
        if($results['error'] == 0)
        {
            if($deletefailed == true)
            {
                $_SESSION['goodmessage'] = $lang['unableremovereinstall'];
            }
            else
            {
                $_SESSION['goodmessage'] = $lang['serverreinstalling'];
            }
        }
        elseif($results['error'] == -1)
        {
            $_SESSION['errormessage'] = $lang['nogameid'];
        }
        elseif($results['error'] == -2)
        {
            $_SESSION['errormessage'] = $lang['gamenotindatabase'];
        }
        elseif($results['error'] == -3)
        {
            $_SESSION['errormessage'] = $lang['gamenotonserver'];
        }
        elseif($results['error'] == -4)
        {
            $_SESSION['errormessage'] = $lang['cannotinstall'];
        }
        elseif($results['error'] == -5)
        {
            $_SESSION['errormessage'] = $lang['reinstalloffline'];
        }
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['reinstalloffline'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "suspendgame")
{
    LoadClass('games');
    $results = $games->SuspendServer($_REQUEST['ugid']);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serversuspended'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "unsuspendgame")
{
    LoadClass('games');
    $results = $games->UnsuspendServer($_REQUEST['ugid']);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['serverunsuspended'];
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']);
}
elseif($_REQUEST['mode'] == "installaddon")
{
    LoadClass('games');
    $results = $games->InstallAddon($_REQUEST['ugid'], $_REQUEST['addonid']);
    if($results['error'] == 0)
    {
        if(!empty($results['message']))
        {
            $_SESSION['goodmessage'] = $results['message'];
        }
        else
        {
            $_SESSION['goodmessage'] = $lang['addoninstalled'];
        }
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['noaddonid'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['addonnotfound'];
    }
    elseif($results['error'] == -5)
    {
        $_SESSION['errormessage'] = $lang['addonnotforos'];
    }
    elseif($results['error'] == -6)
    {
        $_SESSION['errormessage'] = $lang['usersnotinstalled'];
    }
    elseif($results['error'] == -7)
    {
        $_SESSION['errormessage'] = $lang['addoncannotinstall'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']."&tab=4");
}
elseif($_REQUEST['mode'] == "installupdate")
{
    LoadClass('games');
    $results = $games->InstallUpdate($_REQUEST['ugid'], $_REQUEST['updateid']);
    if($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['updatestarted'];
        $query = mysql_query($safesql->query("SELECT uid FROM `usergames` WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
        $row = mysql_fetch_array($query);

        exit("clients.php?mode=summary&uid=".$row['uid']."");
    }
    elseif($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['noupdateid'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['updatenotfound'];
    }
    elseif($results['error'] == -5)
    {
        $_SESSION['errormessage'] = $lang['updatenotforos'];
    }
    elseif($results['error'] == -6)
    {
        $_SESSION['errormessage'] = $lang['usersnotinstalled'];
    }
    exit("manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']."&tab=5");
}
elseif($_REQUEST['mode'] == "graphs")
{
    if(!empty($_REQUEST['ugid']))
    {
        $query = mysql_query($safesql->query("SELECT * FROM `usergames` JOIN `games` ON usergames.gid=games.gid WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
        if($query && mysql_num_rows($query) == 1)
        {
            $rowgame = mysql_fetch_array($query);
            $smartyvalues['graphs'] = $rowgame['graphs'];
        }
        $smartyvalues['ugid'] = $_REQUEST['ugid'];
        $display->DisplayType("ajax");
        $display->Output("admin/manageusergames/graphs.tpl");
    }
}
elseif($_REQUEST['mode'] == "backup")
{
    LoadClass("games");
    $results = $games->BackupGame($_REQUEST['ugid']);
    if($results['error'] == 0)
    {
        echo '<div id="good">'.$lang['backupstarted'].'</div>';
    }
    elseif($results['error'] == -1)
    {
        echo '<div id="error">'.$lang['nogameid'].'</div>';
    }
    elseif($results['error'] == -2)
    {
        echo '<div id="error">'.$lang['gamenotindatabase'].'</div>';
    }
    elseif($results['error'] == -3)
    {
        echo '<div id="error">'.$lang['usersnotinstalled'].'</div>';
    }
    elseif($results['error'] == -4)
    {
        echo '<div id="error">'.$lang['backupalreadyprogress'].'</div>';
    }
    elseif($results['error'] == -5)
    {
        echo '<div id="error">'.$lang['errorconnecting'].'</div>';
    }
}
elseif($_REQUEST['mode'] == "getconfig")
{
    LoadClass("ftp");

    $query = mysql_query($safesql->query("SELECT * FROM `usergames` WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
    $row = mysql_fetch_array($query);

    $query = mysql_query($safesql->query("SELECT * FROM `games_configs` WHERE `gid`=%i AND `cfid`=%i LIMIT 1", array($row['gid'], $_REQUEST['configid'])));
    $rowconfig = mysql_fetch_array($query);

    $query = mysql_query($safesql->query("SELECT * FROM `games` WHERE `gid`=%i LIMIT 1", array($row['gid'])));
    $rowgame = mysql_fetch_array($query);

    // Connect to the FTP
    $ftp = new ftp($_REQUEST['ugid']);
    if($ftp->loggedOn)
    {
        $ftp->setResumeDownload(false);
        $ftp->setCurrentDir($ftp->userDir);
        $ftp->setMode(1);

        $temp_file = tempnam($ftp->downloadDir, 'csa');

        if(!empty($rowgame['redirectfolder']))
        {
            $rowconfig['directory'] = str_replace($rowgame['redirectfolder'], "", $rowconfig['directory']);
        }

        $rowconfig['directory'] = ltrim($rowconfig['directory'], "/");
        $ftp->setCurrentDir($rowconfig['directory']);

        if($ftp->get($rowconfig['filename'], $temp_file))
        {
            $content = file_get_contents($temp_file);
            $content = stripslashes(htmlspecialchars($content, ENT_QUOTES));
            $content = trim($content);
            $content = str_replace("\r\n", "\n", $content);
            $smarty->assign("ftpmode", $ftp->mode);
            $smarty->assign("content", $content);
            $smarty->assign("ugid", $_REQUEST['ugid']);
            $smarty->assign("configid", $_REQUEST['configid']);
            $smarty->display("admin/manageusergames/quickedit.tpl");
            unlink($temp_file);
            exit;
        }
        else
        {
            echo '<div id="error">'.$lang['errordownloading'].'</div>';
        }
    }
    else
    {
        echo '<div id="error">'.$lang['errorconnect'].'</div>';
    }
}
elseif($_REQUEST['mode'] == "saveconfig")
{
    LoadClass("ftp");

    $query = mysql_query($safesql->query("SELECT * FROM `usergames` WHERE `ugid`=%i LIMIT 1", array($_REQUEST['ugid'])));
    $row = mysql_fetch_array($query);

    $query = mysql_query($safesql->query("SELECT * FROM `games_configs` WHERE `gid`=%i AND `cfid`=%i LIMIT 1", array($row['gid'], $_REQUEST['configid'])));
    $rowconfig = mysql_fetch_array($query);

    $query = mysql_query($safesql->query("SELECT * FROM `games` WHERE `gid`=%i LIMIT 1", array($row['gid'])));
    $rowgame = mysql_fetch_array($query);


    $ftp = new ftp($_REQUEST['ugid']);
    if($ftp->loggedOn)
    {
        $ftp->setCurrentDir($ftp->userDir);
        $ftp->setMode(1);

        if(!empty($rowgame['redirectfolder']))
        {
            $rowconfig['directory'] = str_replace($rowgame['redirectfolder'], "", $rowconfig['directory']);
        }

        $rowconfig['directory'] = ltrim($rowconfig['directory'], "/");
        $ftp->setCurrentDir($rowconfig['directory']);

        $temp_file = tempnam($ftp->downloadDir, 'csa');
        $fp = fopen($temp_file, "w+t");
        if($bytes = !fwrite($fp, stripslashes($_REQUEST['fileContent']), strlen($_REQUEST['fileContent'])))
        {
            echo '<div id="error">'.$lang['errorupload'].'</div>';
        }
        else
        {
            //Upload the file to the server
            if(!$ftp->put($ftp->currentDir."/".$ftp->filePart(StripSlashes($rowconfig['filename'])), $temp_file))
            {
                echo '<div id="error">'.$lang['errorupload'].'</div>';
            }
            else
            {
                echo '<div id="good">'.$lang['filesaved'].'</div>';
            }
        }
        fclose($fp);
        unlink($temp_file);
        exit;
        break;
    }
    else
    {
        echo '<div id="error">'.$lang['errorconnect'].'</div>';
    }
}
elseif($_REQUEST['mode'] == "checkport")
{
    if($_REQUEST['port'] == "0")
    {
        echo "valid";
    }
    $query = mysql_query($safesql->query("SELECT * FROM `usergames` WHERE `ugid`=%i", array($_REQUEST['ugid'])));
    $row = mysql_fetch_array($query);

    if($row['port_main'] == $_REQUEST['port'] || $row['port_query'] == $_REQUEST['port'] || $row['port_rcon'] == $_REQUEST['port'] || $row['port_custom1'] == $_REQUEST['port'] ||
            $row['port_custom2'] == $_REQUEST['port'] || $row['port_custom3'] == $_REQUEST['port'] || $row['port_custom4'] == $_REQUEST['port'])
    {
        echo "alreadyused";
        exit();
    }

    LoadClass("machines");
    global $machines;
    if($machines->CheckPort($row['ipid'], $_REQUEST['port']))
    {
        echo "error";
    }
    else
    {
        echo "valid";
    }
}
elseif($_REQUEST['mode'] == "addcron")
{
    $query = mysql_query($safesql->query("SELECT * FROM `scheduler` WHERE `ugid`='%i'", array($_REQUEST['ugid'])));
    if($query && mysql_num_rows($query) >= 5)
    {
        $_SESSION['errormessage'] = $lang['youcanonlyhave']." 5 ".$lang['scheduledperserver'];
        header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']."&tab=8");
    }

    if($_REQUEST['action'] != "start" && $_REQUEST['action'] != "restart" && $_REQUEST['action'] != "stop")
    {
        header("Location: index.php");
    }

    LoadClass("cron");
    $results = $cron->Add(array("time" => $_REQUEST['crontime'], "type" => $_REQUEST['action'], "ugid" => $_REQUEST['ugid']));

    if($results['error'] == -1)
    {
        $_SESSION['errormessage'] = $lang['badcrontime'];
    }
    elseif($results['error'] == -2)
    {
        $_SESSION['errormessage'] = $lang['noscheduletype'];
    }
    elseif($results['error'] == -3)
    {
        $_SESSION['errormessage'] = $lang['nosyscontrolid'];
    }
    elseif($results['error'] == -4)
    {
        $_SESSION['errormessage'] = $lang['missingugidoruvid'];
    }
    elseif($results['error'] == -5)
    {
        $_SESSION['errormessage'] = $lang['servermonscheduled'];
    }
    elseif($results['error'] == 0)
    {
        $_SESSION['goodmessage'] = $lang['scheduledtaskadded'];
    }

    header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']."&tab=8");
}
elseif($_REQUEST['mode'] == "deletecron")
{
    $query = mysql_query($safesql->query("SELECT * FROM `scheduler` WHERE `id`='%i' AND `ugid`='%i' LIMIT 1", array($_REQUEST['cronid'], $_REQUEST['ugid'])));
    if($query && mysql_num_rows($query) == 1)
    {
        LoadClass("cron");
        $return = $cron->Remove($_REQUEST['cronid']);
        if($return['error'] == -1)
        {
            $_SESSION['errormessage'] = $lang['notaskspecified'];
        }
        else
        {
            $_SESSION['goodmessage'] = $lang['scheduledtaskdeleted'];
        }
    }
    header("Location: manageusergames.php?mode=managegame&ugid=".$_REQUEST['ugid']."&tab=8");
}
elseif($_REQUEST['mode'] == "rconcommand")
{
    LoadClass("games");
    $results = $games->Rcon(array("command" => $_REQUEST['rconcommand'], "password" => $_REQUEST['rconpassword'], "ugid" => $_REQUEST['ugid']));

    if($results['error'] == 0)
    {
        echo "<pre>";
        if(!empty($results['data']))
        {
            echo $results['data'];
        }
        else
        {
            echo $lang['noreply'];
        }
        echo "</pre>";
    }
    if($results['error'] == -1)
    {
        echo $lang['nogameid'];
    }
    elseif($results['error'] == -2)
    {
        echo $lang['commandmissing'];
    }
    elseif($results['error'] == -3)
    {
        echo $lang['gamenotindatabase'];
    }
    elseif($results['error'] == -4)
    {
        echo $lang['noprotocol'];
    }
    elseif($results['error'] == -5)
    {
        echo $lang['noprotocolfound'];
    }
    elseif($results['error'] == -6)
    {
        echo $lang['unknownerror'];
        echo "<pre>";
        echo $results['data'];
        echo "</pre>";
    }
}
?>
concluzie: ai eliminat cateva linii de cod/schimbat
easy to make ,,csa panel"
sa nu mai vorbim de cum arata tot panelul (adica e copiat fisier cu fisier si folder cu folder complet de la gsp panel)
http://prntscr.com/bnlo4g
User avatar
Cineva66
Membru, skill 0
Membru, skill 0
Posts: 18
Joined: 30 Mar 2016, 23:51
Detinator Steam: Da
CS Status: Scândură, te cheamă mă-ta !
Detinator server CS: Project.Max3Semne.Ro
Fond eXtream: 0

02 Jul 2016, 00:33

O prostie , nu recomand.
User avatar
SirFulgeruL
Fost moderator
Fost moderator
Posts: 741
Joined: 18 Jun 2014, 22:16
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
SteamID: SirFulgeruL
Reputatie: Fost moderator
Fond eXtream: 0
Contact:

03 Jul 2016, 08:32

Ai cumva si lifetime licente ? Am intrat pe site la producte si vad ca pe an poti plati decat .
Stiu ca intr-un timp aveai si licente lifetime.
"Ma intreaba toata lumea si nu stiu de ce. Cum de imi permit sa imi fac toate poftele. " - Fratele Salam
User avatar
CristianG.
Membru, skill +1
Membru, skill +1
Posts: 262
Joined: 25 Jun 2013, 16:04
Detinator Steam: Nu
CS Status: CSA-PanelV3.4 UnderDev
Has thanked: 2 times
Been thanked: 4 times
Contact:

03 Jul 2016, 16:48

@SirFulgeruL momentan ce este pe site este in beta asta referitor la pachetul respectiv. Momentan nu am terminat acolo pentru ca sunt cate criteri pe care inca mai lipsesc.

@blkaro am facut anuntul acum 2 ani si ceva din cate stiu eu unde am renuntat la scriptul ala :)

Ca sa te lamuresc nu voi afisia codul doar iti voi arata cum arata in momentul de fata o parte din el !
/admin/gameservers.php | Afiseaza codul
<?php
/**
 * Control System Administrator Panel. CSAPanel
 *
 * Copyright CSAPanel, Inc
 * This source file is subject to the Apache-2.0 License that is bundled
 * with this source code in the file LICENSE
 * @Developer : Cristian G. Danasel
 * @copyright : CSAPanel (http://www.csa-panel.ro)
 * @license : Under GNU Apache-2.0
 */


require_once("../includes/csa-panel.php");

if($_SESSION['mainadmin'] != "1" && (!in_array("addservice", $_SESSION['permissions']) && !in_array("editservice", $_SESSION['permissions']) && !in_array("deleteservice", $_SESSION['permissions']) && !in_array("suspendservice", $_SESSION['permissions']) && !in_array("manageservice", $_SESSION['permissions']))) {
	$_SESSION['errormessage'] = $lang['nopermission'];
	header("Location: index.php");
	exit();
}
switch($_REQUEST['mode']) {
	case "pagination" : {
		$limit = 30;
		$total_rows = count(Games::ListGameServers(array("sid" => $_GET['sid'], "gid" => $_GET['gid'], "ip" => $_GET['ip'])));
		$pages['totalpage'] = ceil($total_rows / $limit);
		if(!isset($_REQUEST['page']) || empty($_REQUEST['page'])) {
			$_REQUEST['page'] = 0;
		} else {
			$_REQUEST['page'] = $_REQUEST['page'] - 1;
		}
		$pages['current'] = $_REQUEST['page'] + 1;
		$display->gameservers = Games::ListGameServers(array("sid" => $_GET['sid'], "gid" => $_GET['gid'], "ip" => $_GET['ip'], "limit" => ($_REQUEST['page'] * $limit).",".$limit));
		
		$display->pages = $pages;
		$display->DisplayType("ajax");
		$display->Output("admin/gameservers/ajax-gameserverslist.tpl");
		break;
	}
	case "serverinfo" : {
		$online = '<span class="label label-success">Online</span>';
		$offline = '<span class="label label-danger">Offline</span>';
		$query = CSA::getInstance()->sqli->query("************************************");
		if($query->num_rows == 1) {
			$row = $query->fetch_assoc();
			if($row['status'] == 1) {
				$results = Games::QueryGame(array(
					'ugid' => $row['ugid'],
					'nomap' => true
				));
				if($results['response'] == 0) {
					if($results['status'] == 1) {
						echo '<div id="status">'.$online.'</div>';
						echo '<div id="players">'.$results['active']."/".$results['total'].'</div>';
						if(strlen($results['hostname']) > 30) {
							$results['hostname'] = substr($results['hostname'], 0, 27)."...";
						}
						echo '<div id="hostname">'.$results['hostname'].'</div>';
						exit();
					}
				}
			}
		}
		echo '<div id="status">'.$offline.'</div>';
		echo '<div id="players">'."N/A".'</div>';
		echo '<div id="hostname">'."N/A".'</div>';
		break;
	}
	default : {
		$display->pagename = $lang['gameservers'];
		$display->DisplayType("admin");
		$limit = 30;
		$pages['current'] = 1;
		$total_rows = count(Games::ListGameServers(array()));
		$pages['totalpage'] = ceil($total_rows / $limit);
		$display->gameservers = Games::ListGameServers(array("limit" => "0,".$limit));
		$display->machines = Machines::ListMachines();
		$display->games = Games::ListGames();
		$display->pages = $pages;
		$display->Output("admin/gameservers/gameservers-list.tpl");
		break;
	}
}

Fara sa mai stau sa ma argumentez cu tine ca devi plictisitor.
1. Invata ce inseama OOP si cum se aplica.
2. Invata smarty template framework si cum se aplica.
3. Bootstrap nu are rost sa vorbim ca este design`ul deci in concluzie poate ca eram foarte bucuros daca aveam o dezbatere pe codare si alte aspecte :)

Succes.

PS: Nu am postat alte surse pentru ca nu sunt hotarat cat din script va fi codat.!

PS2 : Si daca tot incerci sa iti arati prostia ... atunci te invit sa urmaresti proiectul oferit de mine pentru extreamcs :)

1. productia-extream/csa-panel-members-t299322.html

2. Direct Link la sursa : https://github.com/developerkryss/csapanel-members

Hai sa aud si proiectul asta l-am furat sau am copiat sau am editat =)) =))
CSAPanel Members 1.0 (Lista utilizatori seriosi/neseriosi) :
[*]Demo Project
[*]GitHub Project

CSA War System Engine Final 2.0.0 :
[*]Buy your own license!
AGCS
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 23
Joined: 24 May 2016, 16:24
Detinator Steam: Da
CS Status: CS-16.RO SERVERE GRATIS
Detinator server CS: CS.CS-16.RO
Reputatie: Utilizator neserios ( tepar )
Fond eXtream: 0
Location: Bucuresti
Contact:

03 Jul 2016, 17:50

CristianG. wrote:@SirFulgeruL momentan ce este pe site este in beta asta referitor la pachetul respectiv. Momentan nu am terminat acolo pentru ca sunt cate criteri pe care inca mai lipsesc.

@blkaro am facut anuntul acum 2 ani si ceva din cate stiu eu unde am renuntat la scriptul ala :)

Ca sa te lamuresc nu voi afisia codul doar iti voi arata cum arata in momentul de fata o parte din el !
/admin/gameservers.php | Afiseaza codul
<?php
/**
 * Control System Administrator Panel. CSAPanel
 *
 * Copyright CSAPanel, Inc
 * This source file is subject to the Apache-2.0 License that is bundled
 * with this source code in the file LICENSE
 * @Developer : Cristian G. Danasel
 * @copyright : CSAPanel (http://www.csa-panel.ro)
 * @license : Under GNU Apache-2.0
 */


require_once("../includes/csa-panel.php");

if($_SESSION['mainadmin'] != "1" && (!in_array("addservice", $_SESSION['permissions']) && !in_array("editservice", $_SESSION['permissions']) && !in_array("deleteservice", $_SESSION['permissions']) && !in_array("suspendservice", $_SESSION['permissions']) && !in_array("manageservice", $_SESSION['permissions']))) {
	$_SESSION['errormessage'] = $lang['nopermission'];
	header("Location: index.php");
	exit();
}
switch($_REQUEST['mode']) {
	case "pagination" : {
		$limit = 30;
		$total_rows = count(Games::ListGameServers(array("sid" => $_GET['sid'], "gid" => $_GET['gid'], "ip" => $_GET['ip'])));
		$pages['totalpage'] = ceil($total_rows / $limit);
		if(!isset($_REQUEST['page']) || empty($_REQUEST['page'])) {
			$_REQUEST['page'] = 0;
		} else {
			$_REQUEST['page'] = $_REQUEST['page'] - 1;
		}
		$pages['current'] = $_REQUEST['page'] + 1;
		$display->gameservers = Games::ListGameServers(array("sid" => $_GET['sid'], "gid" => $_GET['gid'], "ip" => $_GET['ip'], "limit" => ($_REQUEST['page'] * $limit).",".$limit));
		
		$display->pages = $pages;
		$display->DisplayType("ajax");
		$display->Output("admin/gameservers/ajax-gameserverslist.tpl");
		break;
	}
	case "serverinfo" : {
		$online = '<span class="label label-success">Online</span>';
		$offline = '<span class="label label-danger">Offline</span>';
		$query = CSA::getInstance()->sqli->query("************************************");
		if($query->num_rows == 1) {
			$row = $query->fetch_assoc();
			if($row['status'] == 1) {
				$results = Games::QueryGame(array(
					'ugid' => $row['ugid'],
					'nomap' => true
				));
				if($results['response'] == 0) {
					if($results['status'] == 1) {
						echo '<div id="status">'.$online.'</div>';
						echo '<div id="players">'.$results['active']."/".$results['total'].'</div>';
						if(strlen($results['hostname']) > 30) {
							$results['hostname'] = substr($results['hostname'], 0, 27)."...";
						}
						echo '<div id="hostname">'.$results['hostname'].'</div>';
						exit();
					}
				}
			}
		}
		echo '<div id="status">'.$offline.'</div>';
		echo '<div id="players">'."N/A".'</div>';
		echo '<div id="hostname">'."N/A".'</div>';
		break;
	}
	default : {
		$display->pagename = $lang['gameservers'];
		$display->DisplayType("admin");
		$limit = 30;
		$pages['current'] = 1;
		$total_rows = count(Games::ListGameServers(array()));
		$pages['totalpage'] = ceil($total_rows / $limit);
		$display->gameservers = Games::ListGameServers(array("limit" => "0,".$limit));
		$display->machines = Machines::ListMachines();
		$display->games = Games::ListGames();
		$display->pages = $pages;
		$display->Output("admin/gameservers/gameservers-list.tpl");
		break;
	}
}

Fara sa mai stau sa ma argumentez cu tine ca devi plictisitor.
1. Invata ce inseama OOP si cum se aplica.
2. Invata smarty template framework si cum se aplica.
3. Bootstrap nu are rost sa vorbim ca este design`ul deci in concluzie poate ca eram foarte bucuros daca aveam o dezbatere pe codare si alte aspecte :)

Succes.

PS: Nu am postat alte surse pentru ca nu sunt hotarat cat din script va fi codat.!

PS2 : Si daca tot incerci sa iti arati prostia ... atunci te invit sa urmaresti proiectul oferit de mine pentru extreamcs :)

1. productia-extream/csa-panel-members-t299322.html

2. Direct Link la sursa : https://github.com/developerkryss/csapanel-members

Hai sa aud si proiectul asta l-am furat sau am copiat sau am editat =)) =))

Nu te mai kaka atat pe tine, ca acest script e editat de tine.. este exact ca cel oferit de game panel / gsa.. daca arunci o privire cam toate scripturile arata la fel.. Si tu bun, ai facut de la 0 totul... ai fost foarte inspirat sa stii, de fiecare folder/fisier numai zic de surse sunt exact acesi treaba.

Va cakati pe voi atat.. cand vreodata un roman face un proiect de la 0? stiti doar sa furati/editati/plagiati de la alti...
Mai si vinzi porcaria aia asta de script.. de ce as cumpara de la tine? cand ce ai tu e un nulled editat? vezi ca daca vede sursa cine a creato, ai belit manzu
Last edited by AGCS on 03 Jul 2016, 18:49, edited 1 time in total.
Post Reply

Return to “Anunturi”

  • Information