• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[PHP]Help in CODE NICAW ACC ! PLEASE :)

GarneT

Silence
Joined
Apr 7, 2010
Messages
190
Reaction score
1
Location
Egypt
first , i wanna help to add section in admin panel to add prem days to players ( like i write char name and how many days i wanna to add them to char ).

second , i wanna a section to check how many prem days that player have ?

third , i wanna add prem status to chars ( like when you make char search ) it say if he is prem account or not .

this is admin panel file >>

PHP:
<?
/*FILE INFO:
admin panel*/

session_start();
include ("config.php");
include ("functions.php");
print_r($_SESSION);
if (isset($_GET['logout']) || (time()-$_SESSION['last_activity'])>$cfg['session_timeout'] ){
    $_SESSION['account']='';
    $_SESSION['access']='';
}
if ($_SESSION['access'] < $cfg['admin_access'] || empty($_SESSION['account'])){die("Access denied.");}
$_SESSION['time']=time();
$ptitle="Admin Panel - $cfg[server_name]";
include ("header.php");
?>
<div id="content">
<div class="top">.:Admin Panel:.</div>
<div class="mid">
<input type="button" value="Back" onclick="self.window.location.href='account.php'"/><br/><br/>
<form method="post" action="<?=htmlspecialchars($_SERVER['PHP_SELF'])?>">
<input type="text" name="char"/>
<input type="submit" value="Search"/>
</form>
Notice:<br/>
-Character must be offline to edit his settings.<br/>
-There's built in exp calculator. You just need to change level.<br/>
-If autounban is on, you can increase bantime by decreasing lastlogin.<br/>
<?

if (!empty($_POST['char'])){
            $_SESSION['edit-char'] = $_POST['char'];
}
$player = new Player($_SESSION['edit-char']);
if ($player->load()){

$account = new Account($player->data['account']);
if (!$account->load()){die ('Failed loading account');}

if (!empty($_POST['submit'])){

//Log events
$log = fopen("logs/adminlog.txt","a");
fwrite($log,date("jS F Y H:i:s",time()).' '.$_SERVER['REMOTE_ADDR'].' '.$_SESSION['account'].' '.$_SESSION['edit-char']."\n");
foreach($cfg['admin_attrs'] as $key){
        if ((string) $player->data[$key] != (string)$_POST[$key]){
            $before[$key] = (string) $player->data[$key];
            $after[$key] = (string)$_POST[$key];
        }
}
fwrite($log,print_r($before,true));
fwrite($log,print_r($after,true));
fclose($log);

    if ($_POST['name'] != $player->data['name']){
        $tmp = new Player($_POST['name']);
        if (!$tmp->exist()){
            $_SESSION['edit-char'] = $_POST['name'];
            $account->changeName($player->data['name'],$_POST['name']);
            $account->save();
            $player->changeName($_POST['name']);
            }else{
                $error="Character Exists";
                $_POST['name'] = $player->data['name'];
                }
    }

    foreach($cfg['admin_attrs'] as $key){
        $player->data[$key] = (string)$_POST[$key];    }

    if ($_POST['pass'] != $account->data['pass']){
        if ($cfg['md5passwords']){
        $account->data['pass']=md5($_POST['pass']);
        }else{
            $account->data['pass']=$_POST['pass'];
        }
        $account->contents = $account->data->asXML();
        $account->save();
    }
$player->save();
}elseif (!empty($_POST['delete'])){
    $account->deleteChar($player->name);
    $account->save();
    $player->deleteChar();
    $_SESSION['edit-char'] = '';
}elseif (!empty($_POST['teleport'])){
    $player->data->spawn['x'] = (int)$player->data->temple['x'];
    $player->data->spawn['y'] = (int)$player->data->temple['y'];
    $player->data->spawn['z'] = (int)$player->data->temple['z'];
    $player->save();
}

if (empty($_POST['delete'])){

echo '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="post" name="form"><input type="submit" name="submit" value="Update Information"/><table>'."\n";
foreach ($cfg['admin_attrs'] as $key){
    echo '<tr><td>'.$key.'</td><td><input name="'.$key.'" value="'.$player->data[$key].'" type="text" class="textfield"';
    if ($key == 'level') echo ' onchange="onLevelChange()" ';
    echo '/></td></tr>'."\n";
}

echo '<tr><td>password</td><td><input name="pass" value="'.$account->data['pass'].'" type="text"  class="textfield" /></td></tr>'."\n";
echo '</table>';
echo '<input type="submit" name="delete" value="Delete Character" onclick="return confirm(\'Are you sure?\')"/>';
echo '<input type="submit" name="teleport" value="Teleport to Temple"/></form>';
}else{
    //Log events
    $log = fopen("logs/adminlog.txt","a");
    fwrite($log,date("jS F Y H:i:s",time()).' '.$_SERVER['REMOTE_ADDR'].' '.$_SESSION['account'].' '.$_SESSION['edit-char']." deleted\n");
    fclose($log);
}}else{$_SESSION['edit-char'] = '';
    if (!empty($_POST['char'])){$error = "Character not found.";}}?>
</div>
<div class="bot"></div>
</div>
<?include ("footer.php");?>

and this is characters file >>

PHP:
<?
/*FILE INFO:
character lookup*/
include ("config.php");
include ("functions.php");
$ptitle="Characters - $cfg[server_name]";
include("header.php");
//you can add extra cities here. they will not be displayed when creating character
$cfg['temple']['edron'] = array (x=>1651, y=>519, z=>8);
?>
<div id="content">
<div class="top">.:Character Search:.</div>
<div class="mid">
<?
if (!empty($_GET['char'])){
    if (@ ereg("^[0-9A-Za-z -]{2,30}$",$_GET['char'])){
        $player = new Player($_GET['char']);
        if ($player->load()){
            echo '<b>Name:</b> '.$player->data['name']."<br/>\n";
            echo '<b>Level:</b> '.$player->data[level]."<br/>\n";
            echo '<b>Magic Level:</b> '.$player->data[maglevel]."<br/>\n";
            $voc = (int) $player->data['voc'];

            if ($player->data['promoted'] == 1){
                echo '<b>Vocation:</b> '.$cfg[voc_promoted][$voc]."<br/>\n";
            }else{
                echo '<b>Vocation:</b> '.$cfg[voc_normal][$voc]."<br/>\n";
            }

            $gender = Array('Female','Male');
            $sex = (int) $player->data['sex'];
            echo "<b>Gender:</b> $gender[$sex]<br/>\n";
            $cities=array_keys($cfg['temple']);
            if (isset($cities[1])){
                while ($coords = current($cfg['temple'])){
                    if ($coords['x'] == $player->data -> temple['x'] &&
                        $coords['y'] == $player->data -> temple['y'] &&
                        $coords['z'] == $player->data -> temple['z'] ){
                            echo "<b>Residence</b>: ".ucfirst(key($cfg['temple']))."<br/>";
                            break;
                    }
                    next($cfg['temple']);
                }
            }
            if ($player->data['access'] >= count($cfg['positions'])){
                echo "<b>Position: </b> ".end($cfg['positions'])."<br/>";
            }else{ echo "<b>Position: </b> ".$cfg['positions'][ (int) $player->data['access']]."<br/>"; }
            echo "<b>Last Login:</b> ".date("jS F Y H:i:s",(int) $player->data['lastlogin'])."<br/>\n";
            if (isset($player->data->guild)){
                echo '<b>Guild:</b> '.$player->data->guild['rank'].' of <a href="guilds.php?guild='.$player->data->guild['name'].'#'.str_replace(' ','',$player->data->guild['name']).'">'. $player->data->guild['name'].'</a><br/>'."\n";
                }
            if ($player->data['banned'] == 1){
                echo "<b style=\"color: red\">Character is banned</b><br/>";
            }
            echo "<br/>";
            //skils
            $sn = Array('Fist Fighting', 'Club Fighting', 'Sword Fighting', 'Axe Fighting', 'Distance Fighting', 'Shielding', 'Fishing');
            for ($i=0; $i < count($sn); $i++){
                echo "<b>$sn[$i]:</b> ".$player->data->skills->skill[$i]['level']."<br/>\n";
            }
            echo "<br/>\n";
            $account = new Account($player->data['account']);
            $account->load();
            if (strlen($account->data->comment)>0){
                echo "<b>Comments</b><br/><div style=\"overflow:hidden\"><pre>".$account->data->comment."</pre></div><br/>\n";
            }
            echo "<b>Deaths</b><br/>\n";

            //deaths
            $i = 0;
            while(isset($player->data -> deaths -> death[$i])){
                $time = (int) $player->data -> deaths -> death[$i]['time'];
                $name = (string) $player->data -> deaths -> death[$i]['name'];
                $level = (int) $player->data -> deaths -> death[$i]['level'];
                if (file_exists($cfg['dirplayer'].$name.".xml")){
                    $name= "<a href=\"characters.php?char=$name\">$name</a>";
                }
                if ($time !== 0) {echo "<i>".date("Y.m.d H:i:s",$time)."</i> ";}
                echo "Killed at level $level by $name<br/>\n";
                $i++;
            }      
        }else{$error = "Player does not exist";}
    }else{$error = "Name not valid";}
}
?>
<form method="get" action="<?=htmlspecialchars($_SERVER['PHP_SELF'])?>">
<input type="text" name="char"/>
<input type="submit" value="Search"/>
</form>
</div>
<div class="bot"></div>
</div>
<?include ("footer.php");?>

Keep in mind that it NICAW for xml servers .. Server is Aries 8.10 XML !

Nicaw XML v2.11

Please , any one can help me ?
 
Last edited:
Back
Top