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 >>
and this is characters file >>
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 ?
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: