* moved admin pages to twig

* edited account.management.html.twig to fit modern templates, tibiacom have its own template
* sample characters are now assigned to admin account and have group_id 4 to not be shown on highscores
* fixed database pages loading
* added require.database plugin option, which will prove if DATABASE_VERSION is enough
This commit is contained in:
slawkens 2017-10-10 15:32:59 +02:00
parent 856e72150c
commit 0a82f306f6
11 changed files with 837 additions and 695 deletions

View File

@ -50,11 +50,14 @@ else
$uri = str_replace(array('index.php/', '?'), '', $uri);
$uri = strtolower($uri);
$found = false;
if(empty($uri) || isset($_REQUEST['template'])) {
$_REQUEST['p'] = 'news';
$found = true;
}
else if(file_exists(SYSTEM . 'pages/' . $uri . '.php')) {
$_REQUEST['p'] = $uri;
$found = true;
}
else {
$rules = array(
@ -100,7 +103,6 @@ else {
exit();
}
$found = false;
foreach($rules as $rule => $redirect) {
if (preg_match($rule, $uri)) {
$tmp = explode('/', $uri);
@ -118,15 +120,18 @@ else {
}
}
if(!$found) {
$_REQUEST['p'] = '404';
}
if(!$found)
$_REQUEST['p'] = $uri;
}
// define page visited, so it can be used within events system
$page = isset($_REQUEST['subtopic']) ? $_REQUEST['subtopic'] : (isset($_REQUEST['p']) ? $_REQUEST['p'] : '');
if(empty($page) || preg_match('/[^A-z0-9_\-]/', $page))
if(empty($page) || preg_match('/[^A-z0-9_\-]/', $page)) {
if(!$found)
$page = '404';
else
$page = 'news';
}
$page = strtolower($page);
define('PAGE', $page);
@ -306,7 +311,7 @@ if($load_it)
else
{
$file = SYSTEM . 'pages/' . $page . '.php';
if(!@file_exists($file))
if(!@file_exists($file) && !$found)
{
$page = '404';
$file = SYSTEM . 'pages/404.php';

View File

@ -146,31 +146,31 @@ INSERT INTO `myaac_news` (`id`, `type`, `date`, `category`, `title`, `body`, `pl
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Rook Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Rook Sample', 1, 1, 1, 0, 150, 150, 4200, 118, 114, 38, 57, 130, 0, 0, 0, 0, 100, 11, 2200, 1298, 7, '', 400, 1, 1255179613, 2453925456, 1, 1255179614, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
if(!query($insert_into_players . "(null, 'Rook Sample', 4, " . $_SESSION['account'] . ", 1, 0, 150, 150, 4200, 118, 114, 38, 57, 130, 0, 0, 0, 0, 100, 11, 2200, 1298, 7, '', 400, 1, 1255179613, 2453925456, 1, 1255179614, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Sorcerer Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Sorcerer Sample', 1, 1, 8, 1, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179571, 2453925456, 1, 1255179612, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
if(!query($insert_into_players . "(null, 'Sorcerer Sample', 4, " . $_SESSION['account'] . ", 8, 1, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179571, 2453925456, 1, 1255179612, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Druid Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Druid Sample', 1, 1, 8, 2, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179655, 2453925456, 1, 1255179658, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
if(!query($insert_into_players . "(null, 'Druid Sample', 4, " . $_SESSION['account'] . ", 8, 2, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179655, 2453925456, 1, 1255179658, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Paladin Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Paladin Sample', 1, 1, 8, 3, 185, 185, 4200, 118, 114, 38, 57, 129, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179854, 2453925456, 1, 1255179858, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
if(!query($insert_into_players . "(null, 'Paladin Sample', 4, " . $_SESSION['account'] . ", 8, 3, 185, 185, 4200, 118, 114, 38, 57, 129, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179854, 2453925456, 1, 1255179858, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Knight Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Knight Sample', 1, 1, 8, 4, 185, 185, 4200, 118, 114, 38, 57, 131, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179620, 2453925456, 1, 1255179654, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
if(!query($insert_into_players . "(null, 'Knight Sample', 4, " . $_SESSION['account'] . ", 8, 4, 185, 185, 4200, 118, 114, 38, 57, 131, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179620, 2453925456, 1, 1255179654, 0, 0, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}

View File

@ -334,6 +334,9 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
throw new E_OTS_NotLoaded();
}
if($this->data['lastday'] == 0)
return 0;
return round(($this->data['lastday'] - time()) / (24 * 60 * 60), 3);
//return $this->data['premdays'] - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $this->data['lastday']))) - date("z", $this->data['lastday']));
}

View File

@ -138,6 +138,7 @@ else
if($logged) {
$logged_flags = $account_logged->getWebFlags();
$twig->addGlobal('logged', true);
$twig->addGlobal('account_logged', $account_logged);
}
}

View File

@ -64,7 +64,7 @@ $errors = array();
else
{
if($config['generate_new_reckey'] && $config['mail_enabled'])
$account_registered = '<b><font color="green">Yes ( <a href="?subtopic=accountmanagement&action=registernew"> Buy new Recovery Key </a> )</font></b>';
$account_registered = '<b><font color="green">Yes ( <a href="' . getLink('account/register/new') . '"> Buy new Recovery Key </a> )</font></b>';
else
$account_registered = '<b><font color="green">Yes</font></b>';
}
@ -105,18 +105,6 @@ $errors = array();
$players = array();
$account_players = $account_logged->getPlayersList();
$account_players->orderBy('id');
//show list of players on account
foreach($account_players as $player)
{
$players[] = array(
'name' => $player->getName(),
'name_encoded' => urlencode($player->getName()),
'deleted' => $player->isDeleted(),
'level' => $player->getLevel(),
'vocation' => $config['vocations'][$player->getVocation()],
'online' => $player->isOnline()
);
}
echo $twig->render('account.management.html.twig', array(
'welcome_message' => $welcome_message,
@ -133,7 +121,7 @@ $errors = array();
'account_rlname' => $account_rlname,
'account_location' => $account_location,
'actions' => $actions,
'players' => $players
'players' => $account_players
));
}
//########### CHANGE PASSWORD ##########
@ -147,31 +135,31 @@ $errors = array();
else
{
if(empty($new_password) || empty($new_password2) || empty($old_password)){
$show_msgs[] = "Please fill in form.";
$errors[] = "Please fill in form.";
}
$password_strlen = strlen($new_password);
if($new_password != $new_password2) {
$show_msgs[] = "The new passwords do not match!";
$errors[] = "The new passwords do not match!";
}
else if($password_strlen < 8) {
$show_msgs[] = "New password minimal length is 8 characters.";
$errors[] = "New password minimal length is 8 characters.";
}
else if($password_strlen > 32) {
$show_msgs[] = "New password maximal length is 32 characters.";
$errors[] = "New password maximal length is 32 characters.";
}
if(empty($show_msgs)) {
if(empty($errors)) {
if(!check_password($new_password)) {
$show_msgs[] = "New password contains illegal chars (a-z, A-Z and 0-9 only!). Minimum password length is 7 characters and maximum 32.";
$errors[] = "New password contains illegal chars (a-z, A-Z and 0-9 only!). Minimum password length is 7 characters and maximum 32.";
}
$old_password = encrypt(($config_salt_enabled ? $account_logged->getCustomField('salt') : '') . $old_password);
if($old_password != $account_logged->getPassword()) {
$show_msgs[] = "Current password is incorrect!";
$errors[] = "Current password is incorrect!";
}
}
if(!empty($show_msgs)){
if(!empty($errors)){
//show errors
echo $twig->render('error_box.html.twig', array('errors' => $show_msg));
echo $twig->render('error_box.html.twig', array('errors' => $errors));
//show form
echo $twig->render('account.change_password.html.twig');

View File

@ -83,147 +83,35 @@ if(!empty($action))
if(!empty($errors))
echo $twig->render('error_box.html.twig', array('errors' => $errors));
}
?>
<?php
$use_tinymce = false;
//if($action != 'edit' || !$php)
// $use_tinymce = true;
if($use_tinymce): ?>
<script type="text/javascript" src="tools/tiny_mce/jquery.tinymce.js"></script>
<script type="text/javascript">
$(function() {
$('#news-body').tinymce({
script_url : 'tools/tiny_mce/tiny_mce.js',
forced_root_block : false,
theme : "advanced",
plugins: "safari,advimage,emotions,insertdatetime,preview,wordcount",
theme_advanced_buttons3_add : "emotions,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
});
<?php /*if($action != 'edit'): ?>
$("#page-edit-table").hide();
$("#page-button").click(function() {
$("#page-edit-table").toggle();
return false;
});
<?php endif; */ ?>
});
</script>
<!--script type="text/javascript">
tinyMCE.init({
forced_root_block : false,
mode : "textareas",
theme : "advanced",
plugins: "safari,advimage,emotions,insertdatetime,preview,wordcount",
theme_advanced_buttons3_add : "emotions,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
});
</script-->
<?php endif; ?>
<form method="post" action="?p=pages&action=<?php echo ($action == 'edit' ? 'edit' : 'add'); ?>">
<?php if($action == 'edit'): ?>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<?php endif; ?>
<table class="table" id="page-edit-table" width="100%" border="0" cellspacing="1" cellpadding="4">
<tr>
<th><b><?php echo ($action == 'edit' ? 'Edit' : 'Add'); ?> page</b></th>
</tr>
<tr>
<td>
<table border="0" cellpadding="1">
<tr>
<td>Link/name:</td>
<td><input name="name" value="<?php echo $name; ?>" size="29" maxlength="29"/></td>
</tr>
<tr>
<td>Title:</td>
<td><input name="title" value="<?php echo $p_title; ?>" size="29" maxlength="29"/></td>
</tr>
<tr>
<td>PHP:</td>
<td><input type="checkbox" id="news-checkbox" name="php" title="Check if page should be executed as PHP" value="1" <?php if($php) echo 'checked="true"'; ?>/></td>
</tr>
<tr>
<td>Content:</td>
<td>
<textarea id="news-body" name="body" maxlength="65000" <?php /*if($use_tinymce) echo 'class="tinymce"';*/ ?> cols="50" rows="5"><?php echo htmlentities(isset($body) ? $body : '', ENT_COMPAT, 'UTF-8'); ?></textarea>
<?php if($use_tinymce): ?>
<br/>
<a href="javascript:;" onmousedown="$('#news-body').tinymce().hide();">[Hide]</a>
<a href="javascript:;" onmousedown="$('#news-body').tinymce().show();">[Show]</a>
<?php endif; ?>
</td>
<tr/>
<tr>
<td>Access:</td>
<td>
<select name="access">
<?php foreach($groups->getGroups() as $id => $group): ?>
<option value="<?php echo $group->getAccess(); ?>" <?php echo ($access == $group->getAccess() ? 'selected' : ''); ?>><?php echo $group->getName(); ?></option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr>
<td align="right"><input type="submit" class="button" value="Save"/></td>
<td align="left">
<input type="button" onclick="window.location = '<?php echo getLink(PAGE) . ($config['friendly_urls'] ? '?' : '&'); ?>p=pages';" class="button" value="Cancel"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<table class="table" width="100%" cellspacing="1" cellpadding="4">
<tr>
<th><b>Name</b></th>
<th><b>Title</b></th>
<th><b>Options</b></th>
</tr>
<?php
$pages =
$query =
$db->query('SELECT * FROM ' . $db->tableName(TABLE_PREFIX . 'pages'));
$i = 0;
foreach($pages as $_page): ?>
<tr>
<td><?php echo getFullLink($_page['name'], $_page['name']); ?></td>
<td><i><?php echo substr($_page['title'], 0, 20); ?></i></td>
<td>
<a href="?p=pages&action=edit&id=<?php echo $_page['id']; ?>" class="ico" title="Edit">
<img src="<?php echo BASE_URL; ?>images/edit.png"/>
Edit
</a>
<a href="<?php echo ADMIN_URL; ?>?p=pages&action=delete&id=<?php echo $_page['id']; ?>" class="ico" onclick="return confirm('Are you sure?');" title="Delete">
<img src="<?php echo BASE_URL; ?>images/del.png"/>
Delete
</a>
<a href="?p=pages&action=hide&id=<?php echo $_page['id']; ?>" class="ico" title="<?php echo ($_page['hidden'] != 1 ? 'Hide' : 'Show'); ?>">
<img src="<?php echo BASE_URL; ?>images/<?php echo ($_page['hidden'] != 1 ? 'success' : 'error'); ?>.png"/>
<?php echo ($_page['hidden'] != 1 ? 'Hide' : 'Show'); ?>
</a>
</td>
</tr>
<?php endforeach; ?>
</table>
$pages = array();
foreach($query as $_page) {
$pages[] = array(
'link' => getFullLink($_page['name'], $_page['name']),
'title' => substr($_page['title'], 0, 20),
'id' => $_page['id'],
'hidden' => $_page['hidden']
);
}
echo $twig->render('admin.pages.form.html.twig', array(
'action' => $action,
'id' => $action == 'edit' ? $id : null,
'name' => $name,
'title' => $p_title,
'php' => $php,
'body' => isset($body) ? htmlentities($body, ENT_COMPAT, 'UTF-8') : '',
'groups' => $groups->getGroups(),
'access' => $access
));
echo $twig->render('admin.pages.html.twig', array(
'pages' => $pages
));
<?php
class Pages
{
static public function get($id)
@ -243,7 +131,7 @@ class Pages
{
$query = $db->select(TABLE_PREFIX . 'pages', array('name' => $name));
if($query === false)
$db->insert(TABLE_PREFIX . 'pages', array('name' => $name, 'title' => $title, 'body' => $body, 'player_id' => $player_id, 'php' => $php, 'access' => $access));
$db->insert(TABLE_PREFIX . 'pages', array('name' => $name, 'title' => $title, 'body' => $body, 'player_id' => $player_id, 'php' => $php ? '1' : '0', 'access' => $access));
else
$errors[] = 'Page with this words already exists.';
}

View File

@ -132,21 +132,29 @@ else if(isset($_FILES["plugin"]["name"]))
if(isset($plugin['require'])) {
$require = $plugin['require'];
if(isset($require['myaac'])) {
$require_myaac = $require['myaac'];
if(isset($require_myaac)) {
if(version_compare(MYAAC_VERSION, $require_myaac, '<')) {
warning("This plugin requires MyAAC version " . $require_myaac . ", you're using version " . MYAAC_VERSION . " - please update.");
$continue = false;
}
}
if(isset($require['php'])) {
$require_php = $require['php'];
if(isset($require_php)) {
if(version_compare(phpversion(), $require_php, '<')) {
warning("This plugin requires PHP version " . $require_php . ", you're using version " . phpversion() . " - please update.");
$continue = false;
}
}
if(isset($require['database'])) {
$require_database = $require['database'];
if($require_database < DATABASE_VERSION) {
warning("This plugin requires database version " . $require_database . ", you're using version " . DATABASE_VERSION . " - please update.");
$continue = false;
}
}
}
if($continue) {

View File

@ -1,367 +1,62 @@
<div class="SmallBox">
<div class="MessageContainer">
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="Message">
<div class="BoxFrameVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<div class="BoxFrameVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<table>
<tr>
<td width="100%"></td>
<td>
<table border="0" cellspacing="0" cellpadding="0" >
<form action="{{ getLink('account/logout') }}" method="post" >
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div>
<input class="ButtonText" type="image" name="Logout" alt="Logout" src="{{ template_path }}/images/buttons/_sbutton_logout.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</div>
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
</div>
</div>
<br/>
<center>
<table>
<tr>
<td>
<img src="{{ template_path }}/images/content/headline-bracer-left.gif" />
</td>
<td style="text-align:center;vertical-align:middle;horizontal-align:center;font-size:17px;font-weight:bold;" >{{ welcome_message }}<br/></td>
<td><img src="{{ template_path }}/images/content/headline-bracer-right.gif" /></td>
</tr>
</table>
<br/>
</center>
<h1>My account</h1>
<p>Welcome to your account page, {{ account }}<br>
You have {{ account_logged.getPremDays() }} days remaining premium account.</p>
{# if account dont have recovery key show hint #}
{% if recovery_key is empty %}
<div class="SmallBox">
<div class="MessageContainer">
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="Message">
<div class="BoxFrameVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<div class="BoxFrameVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<table>
<tr>
<td class="LabelV" >Hint:</td>
<td style="width:100%;" >You can register your account for increased protection. Click on "Register Account" and get your free recovery key today!</td>
</tr>
</table>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0">
<div align="center">
You can register your account for increased protection. Click on "Register Account" and get your free recovery key today!<br/>
<form action="{{ getLink('account/register') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div>
<input class="ButtonText" type="image" name="Register Account" alt="Register Account" src="{{ template_path }}/images/buttons/_sbutton_registeraccount.gif" ></div>
</div>
</td>
</tr>
<input type="submit" value="Register Account" />
</form>
</table>
</div>
</div>
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);" /></div>
<div class="BoxFrameEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);" /></div>
<div class="BoxFrameEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);" /></div>
</div>
</div>
<br/>
{% endif %}
{% if email_request %}
<div class="SmallBox">
<div class="MessageContainer">
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="Message">
<div class="BoxFrameVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<div class="BoxFrameVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<table>
<tr>
<td class="LabelV" >Note:</td>
<td style="width:100%;" >A request has been submitted to change the email address of this account to <b>{{ email_new }}</b>. After <b>{{ email_new_time|date("j F Y, G:i:s") }}</b> you can accept the new email address and finish the process. Please cancel the request if you do not want your email address to be changed! Also cancel the request if you have no access to the new email address!</td>
</tr>
</table>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0">
A request has been submitted to change the email address of this account to <b>{{ email_new }}</b>. After <b>{{ email_new_time|date("j F Y, G:i:s") }}</b> you can accept the new email address and finish the process. Please cancel the request if you do not want your email address to be changed! Also cancel the request if you have no access to the new email address!
<form action="{{ getLink('account/email') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div>
<input class="ButtonText" type="image" name="Edit" alt="Edit" src="{{ template_path }}/images/buttons/_sbutton_edit.gif" ></div>
</div>
</td>
</tr>
<input type="submit" value="Edit" />
</form>
</table>
</div>
</div>
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
</div>
</div>
<br/><br/>
{% endif %}
<a name="General+Information" ></a>
<div class="TopButtonContainer">
<div class="TopButton">
<a href="#top">
<img style="border:0px;" src="{{ template_path }}/images/content/back-to-top.gif" />
</a>
</div>
</div>
<div class="TableContainer">
<table class="Table3" cellpadding="0" cellspacing="0">
<div class="CaptionContainer">
<div class="CaptionInnerContainer">
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<div class="Text" >General Information</div>
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
</div>
</div>
<tr>
<td>
<div class="InnerTableContainer">
<table style="width:100%;" >
<tr>
<td>
<div class="TableShadowContainerRightTop">
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
</div>
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
<div class="TableContentContainer">
<table class="TableContent" width="100%">
<h2>General Information</h2>
<table width="100%">
<tr style="background-color: {{ config.lightborder }};" >
<td class="LabelV" >Account {% if constant('USE_ACCOUNT_NAME') %}Name{% else %}Number{% endif %}:</td>
<td>Account {% if constant('USE_ACCOUNT_NAME') %}Name{% else %}Number{% endif %}:</td>
<td style="width:90%;" >{{ account }}</td>
</tr>
<tr style="background-color: {{ config.darkborder }};" >
<td class="LabelV" >Email Address:</td>
<td>Email Address:</td>
<td style="width:90%;" >{{ account_email ~ email_change}}</td>
</tr>
<tr style="background-color: {{ config.lightborder }};" >
<td class="LabelV" >Created:</td>
<td>Created:</td>
<td>{{ account_created|date("j F Y, G:i:s") }}</td>
</tr>
<tr style="background-color: {{ config.darkborder }};" >
<td class="LabelV" >Last Login:</td>
<td>Last Login:</td>
<td>{{ "now"|date("j F Y, G:i:s") }}</td>
</tr>
{% autoescape false %}
<tr style="background-color: {{ config.lightborder }};" >
<td class="LabelV" >Account Status:</td>
<td>Account Status:</td>
<td>{{ account_status }}</td>
</tr>
<tr style="background-color: {{ config.darkborder }};" >
<td class="LabelV" >Registered:</td>
<td>Registered:</td>
<td>{{ account_registered }}</td>
</tr>
{% endautoescape %}
</table>
</div>
</div>
<div class="TableShadowContainer">
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
</div>
</td>
</tr>
<tr>
<td>
<table class="InnerTableButtonRow" cellpadding="0" cellspacing="0">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/password') }}" method="post">
<tr>
<td style="border:0px;" >
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Change Password" alt="Change Password" src="{{ template_path }}/images/buttons/_sbutton_changepassword.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/email') }}" method="post">
<tr>
<td style="border:0px;">
<input type="hidden" name="newemail" value=""/>
<input type="hidden" name="newemaildate" value="0">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Change Email" alt="Change Email" src="{{ template_path }}/images/buttons/_sbutton_changeemail.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
<td width="100%"></td>
{# show button "register account" #}
{% if recovery_key is empty %}
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/register') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Register Account" alt="Register Account" src="{{ template_path }}/images/buttons/_sbutton_registeraccount.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
{% endif %}
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</table>
<br/>
<a name="Public+Information"></a>
<div class="TopButtonContainer">
<div class="TopButton">
<a href="#top">
<img style="border:0px;" src="{{ template_path }}/images/content/back-to-top.gif"/>
</a>
</div>
</div>
<div class="TableContainer">
<table class="Table5" cellpadding="0" cellspacing="0">
<div class="CaptionContainer">
<div class="CaptionInnerContainer">
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<div class="Text" >Public Information</div>
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
</div>
</div>
<tr>
<td>
<div class="InnerTableContainer">
<table style="width:100%;">
<tr>
<td>
<div class="TableShadowContainerRightTop">
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);" ></div>
</div>
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);" >
<div class="TableContentContainer">
<table class="TableContent" width="100%">
<tr>
<td>
<table style="width:100%;">
<tr>
<td class="LabelV" >Real Name:</td>
<td style="width:90%;" >{{ account_rlname }}</td>
</tr>
<tr>
<td class="LabelV" >Location:</td>
<td style="width:90%;" >{{ account_location }}</td>
</tr>
</table>
</td>
<td align=right>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/info') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Edit" alt="Edit" src="{{ template_path }}/images/buttons/_sbutton_edit.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</div>
</div>
<div class="TableShadowContainer">
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);">
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br/>
<a name="Account+Logs" ></a>
<div class="TopButtonContainer">
<div class="TopButton">
<a href="#top">
<img style="border:0px;" src="{{ template_path }}/images/content/back-to-top.gif"/>
</a>
</div>
</div>
<div class="TableContainer">
<table class="Table5" cellpadding="0" cellspacing="0">
<div class="CaptionContainer">
<div class="CaptionInnerContainer">
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<div class="Text" >Account logs</div>
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
</div>
</div>
<tr>
<td>
<div class="InnerTableContainer">
<table style="width:100%;">
<tr>
<td>
<div class="TableShadowContainerRightTop">
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
</div>
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);" >
<div class="TableContentContainer" >
<table class="TableContent" width="100%">
<tr class="LabelH">
<td style="width:60%">Action</td>
<td style="width:25%">Date</td>
<td style="width:15%">IP</td>
<h2>Action Log</h2>
<table>
<tr bgcolor="{{ config.vdarkborder }}" class="white">
<th>Action</th><th>Date</th><th>IP</th>
</tr>
{% autoescape false %}
{% set i = 0 %}
@ -374,158 +69,47 @@
</tr>
{% endfor %}
{% endautoescape %}
</table>
</div>
</div>
<div class="TableShadowContainer" >
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
</div>
</div>
</td>
<td align=right>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</table>
<br/>
<a name="Characters" ></a>
<div class="TopButtonContainer">
<div class="TopButton" >
<a href="#top">
<img style="border:0px;" src="{{ template_path }}/images/content/back-to-top.gif" />
</a>
</div>
</div>
<div class="TableContainer">
<table class="Table5" cellpadding="0" cellspacing="0">
<div class="CaptionContainer" >
<div class="CaptionInnerContainer">
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<div class="Text">Characters</div>
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
</div>
</div>
<tr>
<td>
<div class="InnerTableContainer">
<table style="width:100%;">
<tr>
<td>
<div class="TableShadowContainerRightTop">
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
</div>
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
<div class="TableContentContainer">
<table class="TableContent" width="100%">
<tr class="LabelH">
<td style="width:65%">Name</td>
<td style="width:15%">Level</td>
<td style="width:7%">Status</td>
<td style="width:5%">&#160;</td>
<h2>Character list: {{ players|length }} characters.</h2>
<table>
<tr bgcolor="{{ config.vdarkborder }}" class="white">
<th>Name</th><th>Level</th><th>Vocation</th><th>Town</th><th>Last login</th><th>Status</th><th>Hide</th><th>Edit</th>
</tr>
{% set i = 0 %}
{% for player in players %}
{% set i = i + 1 %}
<tr style="background-color: {{ getStyle(i) }};">
<td>
<nobr>{{ i }}. {{ player.name }}{% if player.deleted %}<font color="red"><b> [ DELETED ] </b></font>{% endif %}</nobr>
</td>
<td>
<nobr>{{ player.level }} {{ player.vocation }}</nobr>
</td>
{% if player.online %}
<td><font color="green"><b>Online</b></font></td>
{% else %}
<td><font color="red"><b>Offline</b></font></td>
{% endif %}
<td>[<a href="{{ getLink('account/character/comment/' ~ player.name_encoded) }}" >Edit</a>]</td>
<tr bgcolor="{{ getStyle(i) }}">
<td><a href="{{ getLink('characters/' ~ player.getName()|url_encode) }}">{{ player.getName() }}</a></td><td>{{ player.getLevel() }}</td><td>{{ config.vocations[player.getVocation()] }}</td><td>{{ config.towns[player.getTownId()] }}</td><td>{% if player.getLastLogin() > 0 %}{{ player.getLastLogin|date('d F Y (H:i)') }}{% else %}Never.{% endif %}</td><td>{% if player.isOnline() %}<font color="green">ONLINE</font>{% else %}<font color="red">Offline</font>{% endif %}</td><td>{% if player.isHidden() %}Hidden{% else %}Visible{% endif %}</td><td>[<a href="{{ getLink('account/character/comment/' ~ player.getName|url_encode) }}" >Edit</a>]</td>
</tr>
{% endfor %}
</table>
</div>
</div>
<div class="TableShadowContainer">
<div class="TableBottomShadow" style="background-image:url('.$template_path.'/images/content/table-shadow-bm.gif);" >
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
</div>
</td>
</tr>
</table>
<br/>
<table>
<tr>
<td>
<table class="InnerTableButtonRow" cellpadding="0" cellspacing="0" >
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0" >
<form action="{{ getLink('account/character/create') }}" method="post" >
<tr>
<td style="border:0px;" ><div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div>
<input class="ButtonText" type="image" name="Create Character" alt="Create Character" src="{{ template_path }}/images/buttons/_sbutton_createcharacter.gif" ></div>
</div>
</td>
</tr>
<input type="Submit" name="Create Character" value="Create Character" />
</form>
</table>
</td>
{% if config.account_change_character_name %}
<td>
<table border="0" cellspacing="0" cellpadding="0" >
<form action="{{ getLink('account/character/name') }}" method="post" >
<tr>
<td style="border:0px;" ><div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$template_path.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Change Name" alt="Change Name" src="images/buttons/_sbutton_change_name.gif" ></div>
</div>
</td>
</tr>
<input type="Submit" name="Change Name" value="Change Name" />
</form>
</table>
</td>
{% endif %}
{% if config.account_change_character_sex %}
<td>
<table border="0" cellspacing="0" cellpadding="0" >
<form action="{{ getLink('account/character/sex') }}" method="post" >
<tr>
<td style="border:0px;" ><div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$template_path.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Change Sex" alt="Change Sex" src="images/buttons/_sbutton_change_sex.gif" ></div>
</div>
</td>
</tr>
<input type="Submit" name="Change Sex" value="Change Sex" />
</form>
</table>
</td>
{% endif %}
<td style="width:100%;" ></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/character/delete') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Delete Character" alt="Delete Character" src="{{ template_path }}/images/buttons/_sbutton_deletecharacter.gif" ></div>
</div>
</td>
</tr>
<input type="Submit" name="Delete Character" value="Delete Character" />
</form>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br/><br/>
</table>

View File

@ -0,0 +1,107 @@
{% set use_tinymce = false %}
<!--
//if($action != 'edit' || !$php)
// $use_tinymce = true;
-->
{% if use_tinymce %}
<script type="text/javascript" src="tools/tiny_mce/jquery.tinymce.js"></script>
<script type="text/javascript">
$(function() {
$('#news-body').tinymce({
script_url : 'tools/tiny_mce/tiny_mce.js',
forced_root_block : false,
theme : "advanced",
plugins: "safari,advimage,emotions,insertdatetime,preview,wordcount",
theme_advanced_buttons3_add : "emotions,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
});
<?php /*if($action != 'edit'): ?>
$("#page-edit-table").hide();
$("#page-button").click(function() {
$("#page-edit-table").toggle();
return false;
});
<?php endif; */ ?>
});
</script>
<!--script type="text/javascript">
tinyMCE.init({
forced_root_block : false,
mode : "textareas",
theme : "advanced",
plugins: "safari,advimage,emotions,insertdatetime,preview,wordcount",
theme_advanced_buttons3_add : "emotions,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
});
</script-->
{% endif %}
<form method="post" action="?p=pages&action={% if action == 'edit' %}edit{% else %}add{% endif %}">
{% if action == 'edit' %}
<input type="hidden" name="id" value="{{ id }}" />
{% endif %}
<table class="table" id="page-edit-table" width="100%" border="0" cellspacing="1" cellpadding="4">
<tr>
<th><b>{% if action == 'edit' %}Edit{% else %}Add{% endif %} page</b></th>
</tr>
<tr>
<td>
<table border="0" cellpadding="1">
<tr>
<td>Link/name:</td>
<td><input name="name" value="{{ name }}" size="29" maxlength="29"/></td>
</tr>
<tr>
<td>Title:</td>
<td><input name="title" value="{{ title }}" size="29" maxlength="29"/></td>
</tr>
<tr>
<td>PHP:</td>
<td><input type="checkbox" id="news-checkbox" name="php" title="Check if page should be executed as PHP" value="1"{% if php %} checked="true"{% endif %}/></td>
</tr>
<tr>
<td>Content:</td>
<td>
<textarea id="news-body" name="body" maxlength="65000" cols="50" rows="5">{{ body }}</textarea>
{% if use_tinymce %}
<br/>
<a href="javascript:;" onmousedown="$('#news-body').tinymce().hide();">[Hide]</a>
<a href="javascript:;" onmousedown="$('#news-body').tinymce().show();">[Show]</a>
{% endif %}
</td>
<tr/>
<tr>
<td>Access:</td>
<td>
<select name="access">
<?php foreach($groups->getGroups() as $id => $group): ?>
{% for id, group in groups %}
<option value="{{ group.getAccess() }}"{% if access == group.getAccess() %} selected{% endif %}>{{ group.getName() }}</option>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td align="right"><input type="submit" class="button" value="Save"/></td>
<td align="left">
<input type="button" onclick="window.location = '{{ constant('ADMIN_URL') }}?p=pages';" class="button" value="Cancel"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>

View File

@ -0,0 +1,27 @@
<table class="table" width="100%" cellspacing="1" cellpadding="4">
<tr>
<th><b>Name</b></th>
<th><b>Title</b></th>
<th><b>Options</b></th>
</tr>
{% for page in pages %}
<tr>
<td>{{ page.link|raw }}</td>
<td><i>{{ page.title }}</i></td>
<td>
<a href="?p=pages&action=edit&id={{ page.id }}" class="ico" title="Edit">
<img src="{{ constant('BASE_URL') }}images/edit.png"/>
Edit
</a>
<a href="?p=pages&action=delete&id={{ page.id }}" class="ico" onclick="return confirm('Are you sure?');" title="Delete">
<img src="{{ constant('BASE_URL') }}images/del.png"/>
Delete
</a>
<a href="?p=pages&action=hide&id={{ page.id }}" class="ico" title="<?php echo ($_page['hidden'] != 1 ? 'Hide' : 'Show'); ?>">
<img src="{{ constant('BASE_URL') }}images/{% if page.hidden != 1 %}success{% else %}error{% endif %}.png"/>
{% if page.hidden != 1 %}Hide{% else %}Show{% endif %}
</a>
</td>
</tr>
{% endfor %}
</table>

View File

@ -0,0 +1,531 @@
<div class="SmallBox">
<div class="MessageContainer">
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="Message">
<div class="BoxFrameVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<div class="BoxFrameVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<table>
<tr>
<td width="100%"></td>
<td>
<table border="0" cellspacing="0" cellpadding="0" >
<form action="{{ getLink('account/logout') }}" method="post" >
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div>
<input class="ButtonText" type="image" name="Logout" alt="Logout" src="{{ template_path }}/images/buttons/_sbutton_logout.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</div>
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
</div>
</div>
<br/>
<center>
<table>
<tr>
<td>
<img src="{{ template_path }}/images/content/headline-bracer-left.gif" />
</td>
<td style="text-align:center;vertical-align:middle;horizontal-align:center;font-size:17px;font-weight:bold;" >{{ welcome_message }}<br/></td>
<td><img src="{{ template_path }}/images/content/headline-bracer-right.gif" /></td>
</tr>
</table>
<br/>
</center>
{# if account dont have recovery key show hint #}
{% if recovery_key is empty %}
<div class="SmallBox">
<div class="MessageContainer">
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="Message">
<div class="BoxFrameVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<div class="BoxFrameVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<table>
<tr>
<td class="LabelV" >Hint:</td>
<td style="width:100%;" >You can register your account for increased protection. Click on "Register Account" and get your free recovery key today!</td>
</tr>
</table>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/register') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div>
<input class="ButtonText" type="image" name="Register Account" alt="Register Account" src="{{ template_path }}/images/buttons/_sbutton_registeraccount.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</div>
</div>
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);" /></div>
<div class="BoxFrameEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);" /></div>
<div class="BoxFrameEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);" /></div>
</div>
</div>
<br/>
{% endif %}
{% if email_request %}
<div class="SmallBox">
<div class="MessageContainer">
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="Message">
<div class="BoxFrameVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<div class="BoxFrameVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></div>
<table>
<tr>
<td class="LabelV" >Note:</td>
<td style="width:100%;" >A request has been submitted to change the email address of this account to <b>{{ email_new }}</b>. After <b>{{ email_new_time|date("j F Y, G:i:s") }}</b> you can accept the new email address and finish the process. Please cancel the request if you do not want your email address to be changed! Also cancel the request if you have no access to the new email address!</td>
</tr>
</table>
<div align="center">
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/email') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div>
<input class="ButtonText" type="image" name="Edit" alt="Edit" src="{{ template_path }}/images/buttons/_sbutton_edit.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</div>
</div>
<div class="BoxFrameHorizontal" style="background-image:url({{ template_path }}/images/content/box-frame-horizontal.gif);"></div>
<div class="BoxFrameEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
<div class="BoxFrameEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></div>
</div>
</div>
<br/><br/>
{% endif %}
<a name="General+Information" ></a>
<div class="TopButtonContainer">
<div class="TopButton">
<a href="#top">
<img style="border:0px;" src="{{ template_path }}/images/content/back-to-top.gif" />
</a>
</div>
</div>
<div class="TableContainer">
<table class="Table3" cellpadding="0" cellspacing="0">
<div class="CaptionContainer">
<div class="CaptionInnerContainer">
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<div class="Text" >General Information</div>
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
</div>
</div>
<tr>
<td>
<div class="InnerTableContainer">
<table style="width:100%;" >
<tr>
<td>
<div class="TableShadowContainerRightTop">
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
</div>
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
<div class="TableContentContainer">
<table class="TableContent" width="100%">
<tr style="background-color: {{ config.lightborder }};" >
<td class="LabelV" >Account {% if constant('USE_ACCOUNT_NAME') %}Name{% else %}Number{% endif %}:</td>
<td style="width:90%;" >{{ account }}</td>
</tr>
<tr style="background-color: {{ config.darkborder }};" >
<td class="LabelV" >Email Address:</td>
<td style="width:90%;" >{{ account_email ~ email_change}}</td>
</tr>
<tr style="background-color: {{ config.lightborder }};" >
<td class="LabelV" >Created:</td>
<td>{{ account_created|date("j F Y, G:i:s") }}</td>
</tr>
<tr style="background-color: {{ config.darkborder }};" >
<td class="LabelV" >Last Login:</td>
<td>{{ "now"|date("j F Y, G:i:s") }}</td>
</tr>
{% autoescape false %}
<tr style="background-color: {{ config.lightborder }};" >
<td class="LabelV" >Account Status:</td>
<td>{{ account_status }}</td>
</tr>
<tr style="background-color: {{ config.darkborder }};" >
<td class="LabelV" >Registered:</td>
<td>{{ account_registered }}</td>
</tr>
{% endautoescape %}
</table>
</div>
</div>
<div class="TableShadowContainer">
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
</div>
</td>
</tr>
<tr>
<td>
<table class="InnerTableButtonRow" cellpadding="0" cellspacing="0">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/password') }}" method="post">
<tr>
<td style="border:0px;" >
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Change Password" alt="Change Password" src="{{ template_path }}/images/buttons/_sbutton_changepassword.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/email') }}" method="post">
<tr>
<td style="border:0px;">
<input type="hidden" name="newemail" value=""/>
<input type="hidden" name="newemaildate" value="0">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Change Email" alt="Change Email" src="{{ template_path }}/images/buttons/_sbutton_changeemail.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
<td width="100%"></td>
{# show button "register account" #}
{% if recovery_key is empty %}
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/register') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);"><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Register Account" alt="Register Account" src="{{ template_path }}/images/buttons/_sbutton_registeraccount.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
{% endif %}
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br/>
<a name="Public+Information"></a>
<div class="TopButtonContainer">
<div class="TopButton">
<a href="#top">
<img style="border:0px;" src="{{ template_path }}/images/content/back-to-top.gif"/>
</a>
</div>
</div>
<div class="TableContainer">
<table class="Table5" cellpadding="0" cellspacing="0">
<div class="CaptionContainer">
<div class="CaptionInnerContainer">
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<div class="Text" >Public Information</div>
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
</div>
</div>
<tr>
<td>
<div class="InnerTableContainer">
<table style="width:100%;">
<tr>
<td>
<div class="TableShadowContainerRightTop">
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);" ></div>
</div>
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);" >
<div class="TableContentContainer">
<table class="TableContent" width="100%">
<tr>
<td>
<table style="width:100%;">
<tr>
<td class="LabelV" >Real Name:</td>
<td style="width:90%;" >{{ account_rlname }}</td>
</tr>
<tr>
<td class="LabelV" >Location:</td>
<td style="width:90%;" >{{ account_location }}</td>
</tr>
</table>
</td>
<td align=right>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/info') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Edit" alt="Edit" src="{{ template_path }}/images/buttons/_sbutton_edit.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</div>
</div>
<div class="TableShadowContainer">
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);">
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br/>
<a name="Account+Logs" ></a>
<div class="TopButtonContainer">
<div class="TopButton">
<a href="#top">
<img style="border:0px;" src="{{ template_path }}/images/content/back-to-top.gif"/>
</a>
</div>
</div>
<div class="TableContainer">
<table class="Table5" cellpadding="0" cellspacing="0">
<div class="CaptionContainer">
<div class="CaptionInnerContainer">
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<div class="Text" >Account logs</div>
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
</div>
</div>
<tr>
<td>
<div class="InnerTableContainer">
<table style="width:100%;">
<tr>
<td>
<div class="TableShadowContainerRightTop">
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
</div>
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);" >
<div class="TableContentContainer" >
<table class="TableContent" width="100%">
<tr class="LabelH">
<td style="width:60%">Action</td>
<td style="width:25%">Date</td>
<td style="width:15%">IP</td>
</tr>
{% autoescape false %}
{% set i = 0 %}
{% for action in actions %}
{% set i = i + 1 %}
<tr style="background-color: {{ getStyle(i) }}">
<td>{{ action.action }}</td>
<td>{{ action.date|date("jS F Y H:i:s") }}</td>
<td>{{ action.ip }}</td>
</tr>
{% endfor %}
{% endautoescape %}
</table>
</div>
</div>
<div class="TableShadowContainer" >
<div class="TableBottomShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bm.gif);" >
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div>
</div>
</div>
</td>
<td align=right>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br/>
<a name="Characters" ></a>
<div class="TopButtonContainer">
<div class="TopButton" >
<a href="#top">
<img style="border:0px;" src="{{ template_path }}/images/content/back-to-top.gif" />
</a>
</div>
</div>
<div class="TableContainer">
<table class="Table5" cellpadding="0" cellspacing="0">
<div class="CaptionContainer" >
<div class="CaptionInnerContainer">
<span class="CaptionEdgeLeftTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightTop" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionBorderTop" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionVerticalLeft" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<div class="Text">Characters</div>
<span class="CaptionVerticalRight" style="background-image:url({{ template_path }}/images/content/box-frame-vertical.gif);"></span>
<span class="CaptionBorderBottom" style="background-image:url({{ template_path }}/images/content/table-headline-border.gif);"></span>
<span class="CaptionEdgeLeftBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
<span class="CaptionEdgeRightBottom" style="background-image:url({{ template_path }}/images/content/box-frame-edge.gif);"></span>
</div>
</div>
<tr>
<td>
<div class="InnerTableContainer">
<table style="width:100%;">
<tr>
<td>
<div class="TableShadowContainerRightTop">
<div class="TableShadowRightTop" style="background-image:url({{ template_path }}/images/content/table-shadow-rt.gif);"></div>
</div>
<div class="TableContentAndRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-rm.gif);">
<div class="TableContentContainer">
<table class="TableContent" width="100%">
<tr class="LabelH">
<td style="width:65%">Name</td>
<td style="width:15%">Level</td>
<td style="width:7%">Status</td>
<td style="width:5%">&#160;</td>
</tr>
{% set i = 0 %}
{% for player in players %}
{% set i = i + 1 %}
<tr style="background-color: {{ getStyle(i) }};">
<td>
<nobr>{{ i }}. {{ player.getName() }}{% if player.isDeleted() %}<font color="red"><b> [ DELETED ] </b></font>{% endif %}</nobr>
</td>
<td>
<nobr>{{ player.getLevel() }} {{ config.vocations[player.getVocation()] }}</nobr>
</td>
{% if player.isOnline() %}
<td><font color="green"><b>Online</b></font></td>
{% else %}
<td><font color="red"><b>Offline</b></font></td>
{% endif %}
<td>[<a href="{{ getLink('account/character/comment/' ~ player.getName|url_encode) }}" >Edit</a>]</td>
</tr>
{% endfor %}
</table>
</div>
</div>
<div class="TableShadowContainer">
<div class="TableBottomShadow" style="background-image:url('.$template_path.'/images/content/table-shadow-bm.gif);" >
<div class="TableBottomLeftShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-bl.gif);"></div>
<div class="TableBottomRightShadow" style="background-image:url({{ template_path }}/images/content/table-shadow-br.gif);"></div> </div>
</div>
</td>
</tr>
<tr>
<td>
<table class="InnerTableButtonRow" cellpadding="0" cellspacing="0" >
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0" >
<form action="{{ getLink('account/character/create') }}" method="post" >
<tr>
<td style="border:0px;" ><div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div>
<input class="ButtonText" type="image" name="Create Character" alt="Create Character" src="{{ template_path }}/images/buttons/_sbutton_createcharacter.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
{% if config.account_change_character_name %}
<td>
<table border="0" cellspacing="0" cellpadding="0" >
<form action="{{ getLink('account/character/name') }}" method="post" >
<tr>
<td style="border:0px;" ><div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$template_path.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Change Name" alt="Change Name" src="images/buttons/_sbutton_change_name.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
{% endif %}
{% if config.account_change_character_sex %}
<td>
<table border="0" cellspacing="0" cellpadding="0" >
<form action="{{ getLink('account/character/sex') }}" method="post" >
<tr>
<td style="border:0px;" ><div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$template_path.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Change Sex" alt="Change Sex" src="images/buttons/_sbutton_change_sex.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
{% endif %}
<td style="width:100%;" ></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<form action="{{ getLink('account/character/delete') }}" method="post">
<tr>
<td style="border:0px;">
<div class="BigButton" style="background-image:url({{ template_path }}/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url({{ template_path }}/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Delete Character" alt="Delete Character" src="{{ template_path }}/images/buttons/_sbutton_deletecharacter.gif" ></div>
</div>
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br/><br/>