mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 17:29:21 +02:00
* added option to add/edit/delete/hide/move forum boards
* now whole account management page is moved to Twig * renamed table forum_sections to forum_boards * fixed some rare error when user is logged in for longer than 15 minutes and tries to login again
This commit is contained in:
parent
5b14c6d4d4
commit
c504588993
@ -28,7 +28,7 @@ session_start();
|
|||||||
|
|
||||||
define('MYAAC', true);
|
define('MYAAC', true);
|
||||||
define('MYAAC_VERSION', '0.3.0');
|
define('MYAAC_VERSION', '0.3.0');
|
||||||
define('DATABASE_VERSION', 7);
|
define('DATABASE_VERSION', 8);
|
||||||
define('TABLE_PREFIX', 'myaac_');
|
define('TABLE_PREFIX', 'myaac_');
|
||||||
define('START_TIME', microtime(true));
|
define('START_TIME', microtime(true));
|
||||||
define('MYAAC_OS', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? 'WINDOWS' : (strtoupper(PHP_OS) == 'DARWIN' ? 'MAC' : 'LINUX'));
|
define('MYAAC_OS', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? 'WINDOWS' : (strtoupper(PHP_OS) == 'DARWIN' ? 'MAC' : 'LINUX'));
|
||||||
|
@ -67,7 +67,7 @@ CREATE TABLE `myaac_faq`
|
|||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE = MyISAM;
|
) ENGINE = MyISAM;
|
||||||
|
|
||||||
CREATE TABLE `myaac_forum_sections`
|
CREATE TABLE `myaac_forum_boards`
|
||||||
(
|
(
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
`name` VARCHAR(32) NOT NULL,
|
`name` VARCHAR(32) NOT NULL,
|
||||||
@ -77,11 +77,11 @@ CREATE TABLE `myaac_forum_sections`
|
|||||||
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE = MyISAM;
|
) ENGINE = MyISAM;
|
||||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`, `closed`) VALUES (NULL, 'News', 'News commenting', 1);
|
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`, `closed`) VALUES (NULL, 'News', 'News commenting', 0, 1);
|
||||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`) VALUES (NULL, 'Trade', 'Trade offers.');
|
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`) VALUES (NULL, 'Trade', 'Trade offers.', 1);
|
||||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`) VALUES (NULL, 'Quests', 'Quest making.');
|
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`) VALUES (NULL, 'Quests', 'Quest making.', 2);
|
||||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`) VALUES (NULL, 'Pictures', 'Your pictures.');
|
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`) VALUES (NULL, 'Pictures', 'Your pictures.', 3);
|
||||||
INSERT INTO `myaac_forum_sections` (`id`, `name`, `description`) VALUES (NULL, 'Bug Report', 'Report bugs there.');
|
INSERT INTO `myaac_forum_boards` (`id`, `name`, `description`, `ordering`) VALUES (NULL, 'Bug Report', 'Report bugs there.', 4);
|
||||||
|
|
||||||
CREATE TABLE `myaac_forum`
|
CREATE TABLE `myaac_forum`
|
||||||
(
|
(
|
||||||
|
@ -9,13 +9,22 @@
|
|||||||
* @link http://my-aac.org
|
* @link http://my-aac.org
|
||||||
*/
|
*/
|
||||||
defined('MYAAC') or die('Direct access not allowed!');
|
defined('MYAAC') or die('Direct access not allowed!');
|
||||||
function success($message) {
|
function success($message, $return = false) {
|
||||||
|
if($return)
|
||||||
|
return '<p class="success">' . $message . '</p>';
|
||||||
|
|
||||||
echo '<p class="success">' . $message . '</p>';
|
echo '<p class="success">' . $message . '</p>';
|
||||||
}
|
}
|
||||||
function warning($message) {
|
function warning($message, $return = false) {
|
||||||
|
if($return)
|
||||||
|
return '<p class="warning">' . $message . '</p>';
|
||||||
|
|
||||||
echo '<p class="warning">' . $message . '</p>';
|
echo '<p class="warning">' . $message . '</p>';
|
||||||
}
|
}
|
||||||
function error($message) {
|
function error($message, $return = false) {
|
||||||
|
if($return)
|
||||||
|
return '<p class="error">' . $message . '</p>';
|
||||||
|
|
||||||
echo '<p class="error">' . $message . '</p>';
|
echo '<p class="error">' . $message . '</p>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,10 +227,11 @@ function generateRandomString($length, $lowCase = true, $upCase = false, $numeri
|
|||||||
*
|
*
|
||||||
* @return array Forum sections.
|
* @return array Forum sections.
|
||||||
*/
|
*/
|
||||||
function getForumSections()
|
function getForumBoards()
|
||||||
{
|
{
|
||||||
global $db;
|
global $db, $canEdit;
|
||||||
$sections = $db->query('SELECT `id`, `name`, `description`, `closed` FROM ' . TABLE_PREFIX . 'forum_sections WHERE hidden != 1 ORDER BY `ordering`;');
|
$sections = $db->query('SELECT `id`, `name`, `description`, `closed`' . ($canEdit ? ', `hidden`, `ordering`' : '') . ' FROM `' . TABLE_PREFIX . 'forum_boards` ' . (!$canEdit ? ' WHERE `hidden` != 1' : '') .
|
||||||
|
' ORDER BY `ordering`;');
|
||||||
if($sections)
|
if($sections)
|
||||||
return $sections->fetchAll();
|
return $sections->fetchAll();
|
||||||
|
|
||||||
|
@ -74,8 +74,6 @@ else
|
|||||||
$_SESSION['remember_me'] = true;
|
$_SESSION['remember_me'] = true;
|
||||||
|
|
||||||
$logged = true;
|
$logged = true;
|
||||||
|
|
||||||
$logged_flags = $account_logged->getWebFlags();
|
|
||||||
if(isset($_POST['admin']) && !admin()) {
|
if(isset($_POST['admin']) && !admin()) {
|
||||||
$errors[] = 'This account has no admin privileges.';
|
$errors[] = 'This account has no admin privileges.';
|
||||||
unset($_SESSION['account']);
|
unset($_SESSION['account']);
|
||||||
@ -122,10 +120,12 @@ else
|
|||||||
$account_logged->load($_SESSION['account']);
|
$account_logged->load($_SESSION['account']);
|
||||||
if($account_logged->isLoaded() && $account_logged->getPassword() == $_SESSION['password']
|
if($account_logged->isLoaded() && $account_logged->getPassword() == $_SESSION['password']
|
||||||
//&& (!isset($_SESSION['admin']) || admin())
|
//&& (!isset($_SESSION['admin']) || admin())
|
||||||
&& (isset($_SESSION['remember_me']) || $_SESSION['last_visit'] > time() - 15 * 60)) // login for 15 minutes if "remember me" is not used
|
&& (isset($_SESSION['remember_me']) || $_SESSION['last_visit'] > time() - 15 * 60)) { // login for 15 minutes if "remember me" is not used
|
||||||
$logged = true;
|
$logged = true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$logged = false;
|
||||||
unset($_SESSION['account']);
|
unset($_SESSION['account']);
|
||||||
unset($account_logged);
|
unset($account_logged);
|
||||||
}
|
}
|
||||||
|
18
system/migrations/8.php
Normal file
18
system/migrations/8.php
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
if(tableExist(TABLE_PREFIX . 'forum_sections'))
|
||||||
|
$db->query('RENAME TABLE `' . TABLE_PREFIX . 'forum_sections` TO `' . TABLE_PREFIX . 'forum_boards`;');
|
||||||
|
|
||||||
|
$query = $db->query('SELECT `id` FROM `' . TABLE_PREFIX . 'forum_boards` WHERE `ordering` > 0;');
|
||||||
|
if($query->rowCount() == 0) {
|
||||||
|
$boards = array(
|
||||||
|
'News',
|
||||||
|
'Trade',
|
||||||
|
'Quests',
|
||||||
|
'Pictures',
|
||||||
|
'Bug Report'
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach($boards as $id => $board)
|
||||||
|
$db->query('UPDATE `' . TABLE_PREFIX . 'forum_boards` SET `ordering` = ' . $id . ' WHERE `name` = ' . $db->quote($board));
|
||||||
|
}
|
||||||
|
?>
|
@ -17,7 +17,8 @@ if($config['account_country'])
|
|||||||
|
|
||||||
$groups = new OTS_Groups_List();
|
$groups = new OTS_Groups_List();
|
||||||
|
|
||||||
$dontshowtableagain = false;
|
$errors = array();
|
||||||
|
$show_form = true;
|
||||||
$config_salt_enabled = fieldExist('salt', 'accounts');
|
$config_salt_enabled = fieldExist('salt', 'accounts');
|
||||||
if(!$logged)
|
if(!$logged)
|
||||||
{
|
{
|
||||||
@ -213,55 +214,65 @@ if(!$logged)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//############# CHANGE E-MAIL ###################
|
//############# CHANGE E-MAIL ###################
|
||||||
if($action == "changeemail") {
|
if($action == "changeemail") {
|
||||||
$email_new_time = $account_logged->getCustomField("email_new_time");
|
$email_new_time = $account_logged->getCustomField("email_new_time");
|
||||||
if($email_new_time > 10) {$email_new = $account_logged->getCustomField("email_new"); }
|
|
||||||
if($email_new_time < 10){
|
|
||||||
if(isset($_POST['changeemailsave']) && $_POST['changeemailsave'] == 1) {
|
|
||||||
$email_new = $_POST['new_email'];
|
|
||||||
$post_password = $_POST['password'];
|
|
||||||
if(empty($email_new)) {
|
|
||||||
$errors[] = "Please enter your new email address.";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(!check_mail($email_new)) {
|
|
||||||
$errors[] = "E-mail address is not correct.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(empty($post_password)) {
|
|
||||||
$errors[] = "Please enter password to your account.";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$post_password = encrypt(($config_salt_enabled ? $account_logged->getCustomField('salt') : '') . $post_password);
|
|
||||||
if($post_password != $account_logged->getPassword()) {
|
|
||||||
$errors[] = "Wrong password to account.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(empty($errors)) {
|
|
||||||
$email_new_time = time() + $config['account_mail_change'] * 24 * 3600;
|
|
||||||
$account_logged->setCustomField("email_new", $email_new);
|
|
||||||
$account_logged->setCustomField("email_new_time", $email_new_time);
|
|
||||||
echo '<div class="TableContainer" > <table class="Table1" 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" >New Email Address Requested</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>You have requested to change your email address to <b>'.$email_new.'</b>. The actual change will take place after <b>'.date("j F Y, G:i:s", $email_new_time).'</b>, during which you can cancel the request at any time.</td></tr> </table> </div> </table></div></td></tr><br/><center><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></center>';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//show errors
|
|
||||||
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
|
||||||
|
|
||||||
//show form
|
if($email_new_time > 10) {
|
||||||
|
$email_new = $account_logged->getCustomField("email_new");
|
||||||
|
}
|
||||||
|
|
||||||
|
if($email_new_time < 10) {
|
||||||
|
if(isset($_POST['changeemailsave']) && $_POST['changeemailsave'] == 1) {
|
||||||
|
$email_new = $_POST['new_email'];
|
||||||
|
$post_password = $_POST['password'];
|
||||||
|
|
||||||
|
if(empty($email_new)) {
|
||||||
|
$errors[] = 'Please enter your new email address.';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(!check_mail($email_new)) {
|
||||||
|
$errors[] = 'Email address is not correct.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(empty($post_password)) {
|
||||||
|
$errors[] = 'Please enter password to your account.';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$post_password = encrypt(($config_salt_enabled ? $account_logged->getCustomField('salt') : '') . $post_password);
|
||||||
|
if($post_password != $account_logged->getPassword()) {
|
||||||
|
$errors[] = 'Wrong password to account.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(empty($errors)) {
|
||||||
|
$email_new_time = time() + $config['account_mail_change'] * 24 * 3600;
|
||||||
|
$account_logged->setCustomField("email_new", $email_new);
|
||||||
|
$account_logged->setCustomField("email_new_time", $email_new_time);
|
||||||
|
echo $twig->render('success.html.twig', array(
|
||||||
|
'title' => 'New Email Address Requested',
|
||||||
|
'description' => 'You have requested to change your email address to <b>' . $email_new . '</b>. The actual change will take place after <b>' . date("j F Y, G:i:s", $email_new_time) . '</b>, during which you can cancel the request at any time.'
|
||||||
|
));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//show errors
|
||||||
|
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
||||||
|
|
||||||
|
//show form
|
||||||
|
echo $twig->render('account.change_mail.html.twig', array(
|
||||||
|
'new_email' => isset($_POST['new_email']) ? $_POST['new_email'] : null
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
echo $twig->render('account.change_mail.html.twig', array(
|
echo $twig->render('account.change_mail.html.twig', array(
|
||||||
'new_email' => isset($_POST['new_email']) ? $_POST['new_email'] : null
|
'new_email' => isset($_POST['new_email']) ? $_POST['new_email'] : null
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo $twig->render('account.change_mail.html.twig', array(
|
|
||||||
'new_email' => isset($_POST['new_email']) ? $_POST['new_email'] : null
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -280,20 +291,89 @@ if(!$logged)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo '<div class="TableContainer" > <table class="Table1" 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" >Email Address Change Accepted</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>Do you accept <b>'.$email_new.'</b> as your new email adress?</td></tr> </table> </div> </table></div></td></tr><br /><table width="100%"><tr><td width="30"> </td><td align=left><form action="?subtopic=accountmanagement&action=changeemail" method="post"><input type="hidden" name="changeemailsave" value=1 ><INPUT TYPE=image NAME="I Agree" SRC="'.$template_path.'/images/buttons/sbutton_iagree.gif" BORDER=0 WIDTH=120 HEIGHT=17></FORM></td><td align=left><form action="?subtopic=accountmanagement&action=changeemail" method="post"><input type="hidden" name="emailchangecancel" value=1 ><input type=image name="Cancel" src="'.$template_path.'/images/buttons/sbutton_cancel.gif" BORDER=0 WIDTH=120 HEIGHT=17></form></td><td align=right><form action="?subtopic=accountmanagement" method="post" ><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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></form></td><td width="30"> </td></tr></table>';
|
$custom_buttons = '
|
||||||
|
<table width="100%">
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td align=left>
|
||||||
|
<form action="?subtopic=accountmanagement&action=changeemail" method="post"><input type="hidden" name="changeemailsave" value=1 >
|
||||||
|
<INPUT TYPE=image NAME="I Agree" SRC="' . $template_path . '/images/buttons/sbutton_iagree.gif" BORDER=0 WIDTH=120 HEIGHT=17>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
<td align=left>
|
||||||
|
<form action="?subtopic=accountmanagement&action=changeemail" method="post">
|
||||||
|
<input type="hidden" name="emailchangecancel" value=1 >
|
||||||
|
<input type=image name="Cancel" src="' . $template_path . '/images/buttons/sbutton_cancel.gif" BORDER=0 WIDTH=120 HEIGHT=17>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
<td align=right>
|
||||||
|
<form action="?subtopic=accountmanagement" method="post" >
|
||||||
|
<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="Back" alt="Back" src="' . $template_path . '/images/buttons/_sbutton_back.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
<td width="30"> </td>
|
||||||
|
</tr>
|
||||||
|
</table>';
|
||||||
|
echo $twig->render('success.html.twig', array(
|
||||||
|
'title' => 'Email Address Change Accepted',
|
||||||
|
'description' => 'Do you accept <b>'.$email_new.'</b> as your new email adress?',
|
||||||
|
'custom_buttons' => $custom_buttons
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo '<div class="TableContainer" > <table class="Table1" 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" >Change of Email Address</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>A request has been submitted to change the email address of this account to <b>'.$email_new.'</b>.<br/>The actual change will take place on <b>'.date("j F Y, G:i:s", $email_new_time).'</b>.<br>If you do not want to change your email address, please click on "Cancel".</td></tr> </table> </div> </table></div></td></tr><br/><table style="width:100%;" ><tr align="center"><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement&action=changeemail" method="post" ><tr><td style="border:0px;" ><input type="hidden" name="emailchangecancel" value=1 ><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="Cancel" alt="Cancel" src="'.$template_path.'/images/buttons/_sbutton_cancel.gif" ></div></div></td></tr></form></table></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></td></tr></table>';
|
$custom_buttons = '
|
||||||
|
<table style="width:100%;" >
|
||||||
|
<tr align="center">
|
||||||
|
<td>
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0" >
|
||||||
|
<form action="?subtopic=accountmanagement&action=changeemail" method="post" >
|
||||||
|
<tr>
|
||||||
|
<td style="border:0px;" >
|
||||||
|
<input type="hidden" name="emailchangecancel" value="1" >
|
||||||
|
<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="Cancel" alt="Cancel" src="'.$template_path.'/images/buttons/_sbutton_cancel.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0" >
|
||||||
|
<form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="' . $template_path . '/images/buttons/_sbutton_back.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>';
|
||||||
|
echo $twig->render('success.html.twig', array(
|
||||||
|
'title' => 'Change of Email Address',
|
||||||
|
'description' => 'A request has been submitted to change the email address of this account to <b>'.$email_new.'</b>.<br/>The actual change will take place on <b>'.date("j F Y, G:i:s", $email_new_time).'</b>.<br>If you do not want to change your email address, please click on "Cancel".',
|
||||||
|
'custom_buttons' => $custom_buttons
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(isset($_POST['emailchangecancel']) && $_POST['emailchangecancel'] == 1) {
|
if(isset($_POST['emailchangecancel']) && $_POST['emailchangecancel'] == 1) {
|
||||||
$account_logged->setCustomField("email_new", "");
|
$account_logged->setCustomField("email_new", "");
|
||||||
$account_logged->setCustomField("email_new_time", 0);
|
$account_logged->setCustomField("email_new_time", 0);
|
||||||
echo '<div class="TableContainer" > <table class="Table1" 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" >Email Address Change Cancelled</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>Your request to change the email address of your account has been cancelled. The email address will not be changed.</td></tr> </table> </div> </table></div></td></tr><br/><center><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></center>';
|
|
||||||
}
|
$custom_buttons = '<center><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></center>';
|
||||||
|
|
||||||
|
echo $twig->render('success.html.twig', array(
|
||||||
|
'title' => 'Email Address Change Cancelled',
|
||||||
|
'description' => 'Your request to change the email address of your account has been cancelled. The email address will not be changed.',
|
||||||
|
'custom_buttons' => $custom_buttons
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//########### CHANGE PUBLIC INFORMATION (about account owner) ######################
|
//########### CHANGE PUBLIC INFORMATION (about account owner) ######################
|
||||||
if($action == "changeinfo") {
|
if($action == "changeinfo") {
|
||||||
@ -302,8 +382,6 @@ if(!$logged)
|
|||||||
$new_location = isset($_POST['info_location']) ? htmlspecialchars(stripslashes($_POST['info_location'])) : NULL;
|
$new_location = isset($_POST['info_location']) ? htmlspecialchars(stripslashes($_POST['info_location'])) : NULL;
|
||||||
$new_country = isset($_POST['info_country']) ? htmlspecialchars(stripslashes($_POST['info_country'])) : NULL;
|
$new_country = isset($_POST['info_country']) ? htmlspecialchars(stripslashes($_POST['info_country'])) : NULL;
|
||||||
if(isset($_POST['changeinfosave']) && $_POST['changeinfosave'] == 1) {
|
if(isset($_POST['changeinfosave']) && $_POST['changeinfosave'] == 1) {
|
||||||
$errors = array();
|
|
||||||
|
|
||||||
if(!isset($config['countries'][$new_country]))
|
if(!isset($config['countries'][$new_country]))
|
||||||
$errors[] = 'Country is not correct.';
|
$errors[] = 'Country is not correct.';
|
||||||
|
|
||||||
@ -355,44 +433,46 @@ if(!$logged)
|
|||||||
$_POST['reg_password'] = isset($_POST['reg_password']) ? $_POST['reg_password'] : '';
|
$_POST['reg_password'] = isset($_POST['reg_password']) ? $_POST['reg_password'] : '';
|
||||||
$reg_password = encrypt(($config_salt_enabled ? $account_logged->getCustomField('salt') : '') . $_POST['reg_password']);
|
$reg_password = encrypt(($config_salt_enabled ? $account_logged->getCustomField('salt') : '') . $_POST['reg_password']);
|
||||||
$old_key = $account_logged->getCustomField("key");
|
$old_key = $account_logged->getCustomField("key");
|
||||||
|
|
||||||
if(isset($_POST['registeraccountsave']) && $_POST['registeraccountsave'] == "1") {
|
if(isset($_POST['registeraccountsave']) && $_POST['registeraccountsave'] == "1") {
|
||||||
if($reg_password == $account_logged->getPassword()) {
|
if($reg_password == $account_logged->getPassword()) {
|
||||||
if(empty($old_key)) {
|
if(empty($old_key)) {
|
||||||
$dontshowtableagain = true;
|
$show_form = false;
|
||||||
$new_rec_key = generateRandomString(10, false, true, true);
|
$new_rec_key = generateRandomString(10, false, true, true);
|
||||||
|
|
||||||
$account_logged->setCustomField("key", $new_rec_key);
|
$account_logged->setCustomField("key", $new_rec_key);
|
||||||
$account_logged->logAction('Generated recovery key.');
|
$account_logged->logAction('Generated recovery key.');
|
||||||
echo '<div class="TableContainer" > <table class="Table1" 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 Registered</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%;" >Thank you for registering your account! You can now recover your account if you have lost access to the assigned email address by using the following<br/><br/><font size="5"> <b>Recovery Key: '.$new_rec_key.'</b></font><br/><br/><br/><b>Important:</b><ul><li>Write down this recovery key carefully.</li><li>Store it at a safe place!</li>';
|
|
||||||
if($config['mail_enabled'] && $config['send_mail_when_generate_reckey'])
|
if($config['mail_enabled'] && $config['send_mail_when_generate_reckey'])
|
||||||
{
|
{
|
||||||
$mailBody = '
|
$mailBody = $twig->render('mail.account.register.html.twig', array(
|
||||||
<h3>New recovery key!</h3>
|
'recovery_key' => $new_rec_key
|
||||||
<p>You or someone else generated recovery key to your account on server <a href="'.BASE_URL.'"><b>'.$config['lua']['serverName'].'</b></a>.</p>
|
));
|
||||||
<p>Recovery key: <b>'.$new_rec_key.'</b></p>';
|
if(_mail($account_logged->getEMail(), $config['lua']['serverName']." - Recovery Key", $mailBody))
|
||||||
if(_mail($account_logged->getEMail(), $config['lua']['serverName']." - recovery key", $mailBody))
|
$message = '<br /><small>Your recovery key were send on email address <b>'.$account_logged->getEMail().'</b>.</small>';
|
||||||
echo '<br /><small>Your recovery key were send on email address <b>'.$account_logged->getEMail().'</b>.</small>';
|
|
||||||
else
|
else
|
||||||
echo '<br /><p class="error">An error occorred while sending email with recovery key! You will not receive e-mail with this key. Error:<br/>' . $mailer->ErrorInfo . '</p>';
|
$message = '<br /><p class="error">An error occorred while sending email with recovery key! You will not receive e-mail with this key. Error:<br/>' . $mailer->ErrorInfo . '</p>';
|
||||||
}
|
}
|
||||||
echo '</ul> </table> </div> </table></div></td></tr><br/><center><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></center>';
|
echo $twig->render('success.html.twig', array(
|
||||||
|
'title' => 'Account Registered',
|
||||||
|
'description' => 'Thank you for registering your account! You can now recover your account if you have lost access to the assigned email address by using the following<br/><br/><font size="5"> <b>Recovery Key: '.$new_rec_key.'</b></font><br/><br/><br/><b>Important:</b><ul><li>Write down this recovery key carefully.</li><li>Store it at a safe place!</li>' . $message . '</ul>'
|
||||||
|
));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$reg_errors[] = 'Your account is already registered.';
|
$errors[] = 'Your account is already registered.';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$reg_errors[] = 'Wrong password to account.';
|
$errors[] = 'Wrong password to account.';
|
||||||
}
|
}
|
||||||
if(!$dontshowtableagain)
|
|
||||||
{
|
if($show_form) {
|
||||||
if(!empty($reg_errors))
|
if(!empty($errors)) {
|
||||||
{
|
|
||||||
//show errors
|
//show errors
|
||||||
echo $twig->render('error_box.html.twig', array('errors' => $reg_errors));
|
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
||||||
}
|
}
|
||||||
|
|
||||||
//show form
|
//show form
|
||||||
echo $twig->render('account.register.html.twig');
|
echo $twig->render('account.generate_recovery_key.html.twig');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -414,40 +494,46 @@ if(!$logged)
|
|||||||
{
|
{
|
||||||
if($points >= $config['generate_new_reckey_price'])
|
if($points >= $config['generate_new_reckey_price'])
|
||||||
{
|
{
|
||||||
$dontshowtableagain = true;
|
$show_form = false;
|
||||||
$new_rec_key = generateRandomString(10, false, true, true);
|
$new_rec_key = generateRandomString(10, false, true, true);
|
||||||
|
|
||||||
echo '<div class="TableContainer" > <table class="Table1" 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 Registered</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%;" ><ul>';
|
$mailBody = $twig->render('mail.account.register.html.twig', array(
|
||||||
|
'recovery_key' => $new_rec_key
|
||||||
|
));
|
||||||
|
|
||||||
$mailBody = '
|
if(_mail($account_logged->getEMail(), $config['lua']['serverName']." - new recovery key", $mailBody))
|
||||||
<h3>New recovery key!</h3>
|
{
|
||||||
<p>You or someone else generated recovery key to your account on server <a href="'.BASE_URL.'"><b>'.$config['lua']['serverName'].'</b></a>.</p>
|
$account_logged->setCustomField("key", $new_rec_key);
|
||||||
<p>Recovery key: <b>'.$new_rec_key.'</b></p>';
|
$account_logged->setCustomField("premium_points", $account_logged->getCustomField("premium_points") - $config['generate_new_reckey_price']);
|
||||||
if(_mail($account_logged->getEMail(), $config['lua']['serverName']." - new recovery key", $mailBody))
|
$account_logged->logAction('Generated new recovery key for ' . $config['generate_new_reckey_price'] . ' premium points.');
|
||||||
{
|
$message = '<br />Your recovery key were send on email address <b>'.$account_logged->getEMail().'</b> for '.$config['generate_new_reckey_price'].' premium points.';
|
||||||
$account_logged->setCustomField("key", $new_rec_key);
|
}
|
||||||
$account_logged->setCustomField("premium_points", $account_logged->getCustomField("premium_points") - $config['generate_new_reckey_price']);
|
else
|
||||||
$account_logged->logAction('Generated new recovery key for ' . $config['generate_new_reckey_price'] . ' premium points.');
|
$message = '<br /><p class="error">An error occorred while sending email ( <b>'.$account_logged->getEMail().'</b> ) with recovery key! Recovery key not changed. Try again. Error:<br/>' . $mailer->ErrorInfo . '</p>';
|
||||||
echo '<br />Your recovery key were send on email address <b>'.$account_logged->getEMail().'</b> for '.$config['generate_new_reckey_price'].' premium points.';
|
|
||||||
}
|
echo $twig->render('success.html.twig', array(
|
||||||
else
|
'title' => 'Account Registered',
|
||||||
echo '<br /><p class="error">An error occorred while sending email ( <b>'.$account_logged->getEMail().'</b> ) with recovery key! Recovery key not changed. Try again. Error:<br/>' . $mailer->ErrorInfo . '</p>';
|
'description' => '<ul>' . $message . '</ul>'
|
||||||
echo '</ul> </table> </div> </table></div></td></tr><br/><center><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></center>';
|
));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$reg_errors[] = 'You need '.$config['generate_new_reckey_price'].' premium points to generate new recovery key. You have <b>'.$points.'<b> premium points.';
|
$errors[] = 'You need '.$config['generate_new_reckey_price'].' premium points to generate new recovery key. You have <b>'.$points.'<b> premium points.';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$reg_errors[] = 'Wrong password to account.';
|
$errors[] = 'Wrong password to account.';
|
||||||
}
|
}
|
||||||
if(!$dontshowtableagain)
|
|
||||||
|
//show errors if not empty
|
||||||
|
if(!empty($errors)) {
|
||||||
|
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
||||||
|
}
|
||||||
|
|
||||||
|
if($show_form)
|
||||||
{
|
{
|
||||||
//show errors if not empty
|
|
||||||
if(!empty($reg_errors)) {
|
|
||||||
echo $twig->render('error_box.html.twig', array('errors' => $reg_errors));
|
|
||||||
}
|
|
||||||
//show form
|
//show form
|
||||||
echo 'To generate NEW recovery key for your account please enter your password.<br/><font color="red"><b>New recovery key cost '.$config['generate_new_reckey_price'].' Premium Points.</font> You have '.$points.' premium points. You will receive e-mail with this recovery key.</b><br/><form action="?subtopic=accountmanagement&action=newreckey" method="post" ><input type="hidden" name="registeraccountsave" value="1"><div class="TableContainer" > <table class="Table1" 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" >Generate recovery key</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 class="LabelV" ><span >Password:</td><td><input type="password" name="reg_password" size="30" maxlength="29" ></td></tr> </table> </div> </table></div></td></tr><br/><table style="width:100%" ><tr align="center" ><td><table border="0" cellspacing="0" cellpadding="0" ><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="Submit" alt="Submit" src="'.$template_path.'/images/buttons/_sbutton_submit.gif" ></div></div></td><tr></form></table></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></td></tr></table>';
|
echo $twig->render('account.generate_new_recovery_key.html.twig', array(
|
||||||
|
'points' => $points
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -469,19 +555,17 @@ if(!$logged)
|
|||||||
$player->setCustomField("hidden", $new_hideacc);
|
$player->setCustomField("hidden", $new_hideacc);
|
||||||
$player->setCustomField("comment", $new_comment);
|
$player->setCustomField("comment", $new_comment);
|
||||||
$account_logged->logAction('Changed comment for character <b>' . $player->getName() . '</b>.');
|
$account_logged->logAction('Changed comment for character <b>' . $player->getName() . '</b>.');
|
||||||
echo '<div class="TableContainer" > <table class="Table1" 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" >Character Information Changed</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>The character information has been changed.</td></tr> </table> </div> </table></div></td></tr><br><center><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></center>';
|
echo $twig->render('success.html.twig', array(
|
||||||
|
'title' => 'Character Information Changed',
|
||||||
|
'description' => 'The character information has been changed.'
|
||||||
|
));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo 'Here you can see and edit the information about your character.<br/>If you do not want to specify a certain field, just leave it blank.<br/><br/><form action="?subtopic=accountmanagement&action=changecomment" method="post" ><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" >Edit Character 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 class="LabelV" >Name:</td><td style="width:80%;" >'.$player_name.'</td></tr><tr><td class="LabelV" >Hide Account:</td><td>
|
echo $twig->render('account.change_comment.html.twig', array(
|
||||||
<input type="hidden" value="0" name="accountvisible">
|
'player' => $player,
|
||||||
|
'player_name' => $player_name
|
||||||
<input type="checkbox" name="accountvisible" id="accountvisible" value="1" ' . ($player->getCustomField("hidden") == 1 ? ' checked="checked"' : '') . '>
|
));
|
||||||
<label for="accountvisible"> check to hide your account information</label>';
|
|
||||||
if((int)$player->getCustomField('group_id') > 1)
|
|
||||||
echo ' (you will be also hidden on the Team page!)';
|
|
||||||
|
|
||||||
echo '</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><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 class="LabelV" ><span >Comment:</span></td><td style="width:80%;" ><textarea name="comment" rows="10" cols="50" wrap="virtual" >'.$player->getCustomField("comment").'</textarea><br>[max. length: 2000 chars, 50 lines (ENTERs)]</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></td></tr> </table> </div> </table></div></td></tr><br/><table style="width:100%" ><tr align="center" ><td><table border="0" cellspacing="0" cellpadding="0" ><tr><td style="border:0px;" ><input type="hidden" name="name" value="'.$player->getName().'"><input type="hidden" name="changecommentsave" value="1"><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="Submit" alt="Submit" src="'.$template_path.'/images/buttons/_sbutton_submit.gif" ></div></div></td><tr></form></table></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></td></tr></table>';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -503,11 +587,10 @@ if(!$logged)
|
|||||||
if($action == "changename") {
|
if($action == "changename") {
|
||||||
echo '<script type="text/javascript" src="tools/check_name.js"></script>';
|
echo '<script type="text/javascript" src="tools/check_name.js"></script>';
|
||||||
|
|
||||||
$name_changed = false;
|
|
||||||
$player_id = isset($_POST['player_id']) ? (int)$_POST['player_id'] : NULL;
|
$player_id = isset($_POST['player_id']) ? (int)$_POST['player_id'] : NULL;
|
||||||
$name = isset($_POST['name']) ? stripslashes(ucwords(strtolower($_POST['name']))) : NULL;
|
$name = isset($_POST['name']) ? stripslashes(ucwords(strtolower($_POST['name']))) : NULL;
|
||||||
if((!$config['account_change_character_name']))
|
if((!$config['account_change_character_name']))
|
||||||
echo 'You cant change your character name';
|
echo 'Changing character name for premium points is disabled on this server.';
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$points = $account_logged->getCustomField('premium_points');
|
$points = $account_logged->getCustomField('premium_points');
|
||||||
@ -516,12 +599,18 @@ if(!$logged)
|
|||||||
$errors[] = 'You need ' . $config['account_change_character_name_points'] . ' premium points to change name. You have <b>'.$points.'<b> premium points.';
|
$errors[] = 'You need ' . $config['account_change_character_name_points'] . ' premium points to change name. You have <b>'.$points.'<b> premium points.';
|
||||||
|
|
||||||
if(empty($errors) && empty($name))
|
if(empty($errors) && empty($name))
|
||||||
$errors[] = 'Please enter a name for your character!';
|
$errors[] = 'Please enter a new name for your character!';
|
||||||
|
else if(strlen($name) > 25)
|
||||||
if(empty($errors) && strlen($name) > 25)
|
|
||||||
$errors[] = 'Name is too long. Max. lenght <b>25</b> letters.';
|
$errors[] = 'Name is too long. Max. lenght <b>25</b> letters.';
|
||||||
else if(empty($errors) && strlen($name) < 3)
|
else if(strlen($name) < 3)
|
||||||
$errors[] = 'Name is too short. Min. lenght <b>25</b> letters.';
|
$errors[] = 'Name is too short. Min. lenght <b>3</b> letters.';
|
||||||
|
else {
|
||||||
|
$exist = new OTS_Player();
|
||||||
|
$exist->find($name);
|
||||||
|
if($exist->isLoaded()) {
|
||||||
|
$errors[] = 'Character with this name already exist.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(empty($errors))
|
if(empty($errors))
|
||||||
{
|
{
|
||||||
@ -531,7 +620,7 @@ if(!$logged)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(empty($errors)) {
|
if(empty($errors)) {
|
||||||
$player = $ots->createObject('Player');
|
$player = new OTS_Player();
|
||||||
$player->load($player_id);
|
$player->load($player_id);
|
||||||
if($player->isLoaded()) {
|
if($player->isLoaded()) {
|
||||||
$player_account = $player->getAccount();
|
$player_account = $player->getAccount();
|
||||||
@ -541,7 +630,7 @@ if(!$logged)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(empty($errors)) {
|
if(empty($errors)) {
|
||||||
$name_changed = true;
|
$show_form = false;
|
||||||
$old_name = $player->getName();
|
$old_name = $player->getName();
|
||||||
$player->setName($name);
|
$player->setName($name);
|
||||||
$player->save();
|
$player->save();
|
||||||
@ -563,34 +652,15 @@ if(!$logged)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$name_changed) {
|
if($show_form) {
|
||||||
if(!empty($errors)) {
|
if(!empty($errors)) {
|
||||||
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
||||||
}
|
}
|
||||||
echo 'To change a name of character select player and choose a new name.<br/>
|
|
||||||
<font color="red">Change name cost ' . $config['account_change_character_name_points'] . ' premium points. You have ' . $points . ' premium points.</font><br/><br/><form action="?subtopic=accountmanagement&action=changename" method="post" ><input type="hidden" name="changenamesave" value="1"><div class="TableContainer" > <table class="Table1" 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" >Change Name</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" >
|
echo $twig->render('account.change_name.html.twig', array(
|
||||||
<table style="width:100%;" >
|
'points' => $points,
|
||||||
<tr>
|
//'account_players' => $account_logged->getPlayersList()
|
||||||
<td class="LabelV" ><span >Character:</td>
|
));
|
||||||
<td style="width:90%;" >
|
|
||||||
<select name="player_id">';
|
|
||||||
$players = $account_logged->getPlayersList();
|
|
||||||
foreach($players as $player)
|
|
||||||
echo '<option value="' . $player->getId() . '">' . $player->getName() . '</option>';
|
|
||||||
echo '
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="LabelV" ><span >New Name:</td>
|
|
||||||
<td>
|
|
||||||
<input type="text" name="name" id="name" onkeyup="checkName();" size="25" maxlength="25" >
|
|
||||||
<font size="1" face="verdana,arial,helvetica">
|
|
||||||
<div id="name_check">Please enter your character name.</div>
|
|
||||||
</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table> </div> </table></div></td></tr><br/><table style="width:100%" ><tr align="center" ><td><table border="0" cellspacing="0" cellpadding="0" ><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="Submit" alt="Submit" src="'.$template_path.'/images/buttons/_sbutton_submit.gif" ></div></div></td><tr></form></table></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="'.$template_path.'/images/buttons/_sbutton_back.gif" ></div></div></td></tr></form></table></td></tr></table>';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -688,7 +758,7 @@ if(!$logged)
|
|||||||
if(!$player->isOnline())
|
if(!$player->isOnline())
|
||||||
{
|
{
|
||||||
//dont show table "delete character" again
|
//dont show table "delete character" again
|
||||||
$dontshowtableagain = true;
|
$show_form = false;
|
||||||
//delete player
|
//delete player
|
||||||
if(fieldExist('deletion', 'players'))
|
if(fieldExist('deletion', 'players'))
|
||||||
$player->setCustomField('deletion', 1);
|
$player->setCustomField('deletion', 1);
|
||||||
@ -723,7 +793,7 @@ if(!$logged)
|
|||||||
$errors[] = 'Character name or/and password is empty. Please fill in form.';
|
$errors[] = 'Character name or/and password is empty. Please fill in form.';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!$dontshowtableagain) {
|
if($show_form) {
|
||||||
if(!empty($errors)) {
|
if(!empty($errors)) {
|
||||||
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
||||||
}
|
}
|
||||||
@ -738,7 +808,6 @@ if(!$logged)
|
|||||||
$newchar_sex = isset($_POST['sex']) ? $_POST['sex'] : NULL;
|
$newchar_sex = isset($_POST['sex']) ? $_POST['sex'] : NULL;
|
||||||
$newchar_vocation = isset($_POST['vocation']) ? $_POST['vocation'] : NULL;
|
$newchar_vocation = isset($_POST['vocation']) ? $_POST['vocation'] : NULL;
|
||||||
$newchar_town = isset($_POST['town']) ? $_POST['town'] : NULL;
|
$newchar_town = isset($_POST['town']) ? $_POST['town'] : NULL;
|
||||||
$errors = array();
|
|
||||||
|
|
||||||
$newchar_created = false;
|
$newchar_created = false;
|
||||||
if(isset($_POST['savecharacter']) && $_POST['savecharacter'] == 1) {
|
if(isset($_POST['savecharacter']) && $_POST['savecharacter'] == 1) {
|
||||||
@ -880,16 +949,15 @@ if(!$logged)
|
|||||||
$newchar_created = true;
|
$newchar_created = true;
|
||||||
$account_logged->logAction('Created character <b>' . $player->getName() . '</b>.');
|
$account_logged->logAction('Created character <b>' . $player->getName() . '</b>.');
|
||||||
unset($player);
|
unset($player);
|
||||||
|
|
||||||
$player = new OTS_Player();
|
$player = new OTS_Player();
|
||||||
$player->find($newchar_name);
|
$player->find($newchar_name);
|
||||||
if($player->isLoaded())
|
|
||||||
{
|
if($player->isLoaded()) {
|
||||||
if(tableExist('player_skills')) {
|
if(tableExist('player_skills')) {
|
||||||
for($i=0;$i<7;$i++)
|
for($i=0; $i<7; $i++) {
|
||||||
{
|
|
||||||
$skillExists = $db->query('SELECT `skillid` FROM `player_skills` WHERE `player_id` = ' . $player->getId() . ' AND `skillid` = ' . $i);
|
$skillExists = $db->query('SELECT `skillid` FROM `player_skills` WHERE `player_id` = ' . $player->getId() . ' AND `skillid` = ' . $i);
|
||||||
if($skillExists->rowCount() <= 0)
|
if($skillExists->rowCount() <= 0) {
|
||||||
{
|
|
||||||
$db->query('INSERT INTO `player_skills` (`player_id`, `skillid`, `value`, `count`) VALUES ('.$player->getId().', '.$i.', 10, 0)');
|
$db->query('INSERT INTO `player_skills` (`player_id`, `skillid`, `value`, `count`) VALUES ('.$player->getId().', '.$i.', 10, 0)');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -908,8 +976,8 @@ if(!$logged)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo "Error. Can\'t create character. Probably problem with database. Try again or contact with admin.";
|
error("Error. Can't create character. Probably problem with database. Please try again later or contact with admin.");
|
||||||
exit;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -76,8 +76,6 @@ if($canEdit)
|
|||||||
'link' => getPageLink('commands', ($action == 'edit' ? 'edit' : 'add')),
|
'link' => getPageLink('commands', ($action == 'edit' ? 'edit' : 'add')),
|
||||||
'action' => $action,
|
'action' => $action,
|
||||||
'id' => isset($id) ? $id : null,
|
'id' => isset($id) ? $id : null,
|
||||||
'vdarkborder' => $config['vdarkborder'],
|
|
||||||
'darkborder' => $config['darkborder'],
|
|
||||||
'words' => isset($words) ? $words : null,
|
'words' => isset($words) ? $words : null,
|
||||||
'description' => isset($description) ? $description : null
|
'description' => isset($description) ? $description : null
|
||||||
));
|
));
|
||||||
|
@ -24,17 +24,6 @@ if(strtolower($config['forum']) != 'site')
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sections = array();
|
|
||||||
foreach(getForumSections() as $section)
|
|
||||||
{
|
|
||||||
$sections[$section['id']] = array(
|
|
||||||
'id' => $section['id'],
|
|
||||||
'name' => $section['name'],
|
|
||||||
'description' => $section['description'],
|
|
||||||
'closed' => $section['closed'] == '1'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function parseSmiles($text)
|
function parseSmiles($text)
|
||||||
{
|
{
|
||||||
$smileys = array(
|
$smileys = array(
|
||||||
@ -128,6 +117,93 @@ function showPost($topic, $text, $smiles)
|
|||||||
if(!$logged)
|
if(!$logged)
|
||||||
echo 'You are not logged in. <a href="?subtopic=accountmanagement&redirect=' . BASE_URL . urlencode('?subtopic=forum') . '">Log in</a> to post on the forum.<br /><br />';
|
echo 'You are not logged in. <a href="?subtopic=accountmanagement&redirect=' . BASE_URL . urlencode('?subtopic=forum') . '">Log in</a> to post on the forum.<br /><br />';
|
||||||
|
|
||||||
|
$canEdit = hasFlag(FLAG_CONTENT_FORUM) || superAdmin();
|
||||||
|
if($canEdit)
|
||||||
|
{
|
||||||
|
if(!empty($action))
|
||||||
|
{
|
||||||
|
if($action == 'delete_board' || $action == 'edit_board' || $action == 'hide_board' || $action == 'moveup_board' || $action == 'movedown_board')
|
||||||
|
$id = $_REQUEST['id'];
|
||||||
|
|
||||||
|
if(isset($_REQUEST['name']))
|
||||||
|
$name = $_REQUEST['name'];
|
||||||
|
|
||||||
|
if(isset($_REQUEST['description']))
|
||||||
|
$description = stripslashes($_REQUEST['description']);
|
||||||
|
|
||||||
|
$errors = array();
|
||||||
|
|
||||||
|
if($action == 'add_board') {
|
||||||
|
if(Forum::add_board($name, $description, $errors))
|
||||||
|
$action = $name = $description = '';
|
||||||
|
}
|
||||||
|
else if($action == 'delete_board') {
|
||||||
|
Forum::delete_board($id, $errors);
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
else if($action == 'edit_board')
|
||||||
|
{
|
||||||
|
if(isset($id) && !isset($name)) {
|
||||||
|
$board = Forum::get_board($id);
|
||||||
|
$name = $board['name'];
|
||||||
|
$description = $board['description'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Forum::update_board($id, $name, $description);
|
||||||
|
$action = $name = $description = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if($action == 'hide_board') {
|
||||||
|
Forum::toggleHidden_board($id, $errors);
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
else if($action == 'moveup_board') {
|
||||||
|
Forum::move_board($id, -1, $errors);
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
else if($action == 'movedown_board') {
|
||||||
|
Forum::move_board($id, 1, $errors);
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($errors)) {
|
||||||
|
echo $twig->render('error_box.html.twig', array('errors' => $errors));
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(empty($action) || $action == 'edit_board') {
|
||||||
|
echo $twig->render('forum.add_board.html.twig', array(
|
||||||
|
'link' => getPageLink('forum', ($action == 'edit_board' ? 'edit_board' : 'add_board')),
|
||||||
|
'action' => $action,
|
||||||
|
'id' => isset($id) ? $id : null,
|
||||||
|
'name' => isset($name) ? $name : null,
|
||||||
|
'description' => isset($description) ? $description : null
|
||||||
|
));
|
||||||
|
|
||||||
|
if($action == 'edit_board')
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sections = array();
|
||||||
|
foreach(getForumBoards() as $section)
|
||||||
|
{
|
||||||
|
$sections[$section['id']] = array(
|
||||||
|
'id' => $section['id'],
|
||||||
|
'name' => $section['name'],
|
||||||
|
'description' => $section['description'],
|
||||||
|
'closed' => $section['closed'] == '1'
|
||||||
|
);
|
||||||
|
|
||||||
|
if($canEdit) {
|
||||||
|
$sections[$section['id']]['hidden'] = $section['hidden'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$sections[$section['id']]['hidden'] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$number_of_rows = 0;
|
$number_of_rows = 0;
|
||||||
if(empty($action))
|
if(empty($action))
|
||||||
{
|
{
|
||||||
@ -140,9 +216,11 @@ if(empty($action))
|
|||||||
{
|
{
|
||||||
$last_post = $db->query("SELECT `players`.`name`, `" . TABLE_PREFIX . "forum`.`post_date` FROM `players`, `" . TABLE_PREFIX . "forum` WHERE `" . TABLE_PREFIX . "forum`.`section` = ".(int) $id." AND `players`.`id` = `" . TABLE_PREFIX . "forum`.`author_guid` ORDER BY `post_date` DESC LIMIT 1")->fetch();
|
$last_post = $db->query("SELECT `players`.`name`, `" . TABLE_PREFIX . "forum`.`post_date` FROM `players`, `" . TABLE_PREFIX . "forum` WHERE `" . TABLE_PREFIX . "forum`.`section` = ".(int) $id." AND `players`.`id` = `" . TABLE_PREFIX . "forum`.`author_guid` ORDER BY `post_date` DESC LIMIT 1")->fetch();
|
||||||
$boards[] = array(
|
$boards[] = array(
|
||||||
|
'id' => $id,
|
||||||
'link' => getForumBoardLink($id),
|
'link' => getForumBoardLink($id),
|
||||||
'name' => $section['name'],
|
'name' => $section['name'],
|
||||||
'description' => $section['description'],
|
'description' => $section['description'],
|
||||||
|
'hidden' => $section['hidden'],
|
||||||
'posts' => isset($counters[$id]['posts']) ? $counters[$id]['posts'] : 0,
|
'posts' => isset($counters[$id]['posts']) ? $counters[$id]['posts'] : 0,
|
||||||
'threads' => isset($counters[$id]['threads']) ? $counters[$id]['threads'] : 0,
|
'threads' => isset($counters[$id]['threads']) ? $counters[$id]['threads'] : 0,
|
||||||
'last_post' => array(
|
'last_post' => array(
|
||||||
@ -155,7 +233,8 @@ if(empty($action))
|
|||||||
|
|
||||||
echo $twig->render('forum.boards.html.twig', array(
|
echo $twig->render('forum.boards.html.twig', array(
|
||||||
'boards' => $boards,
|
'boards' => $boards,
|
||||||
'config' => $config
|
'canEdit' => $canEdit,
|
||||||
|
'last' => count($sections)
|
||||||
));
|
));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -446,7 +525,7 @@ if($action == 'new_post')
|
|||||||
echo 'Thread with ID '.$thread_id.' doesn\'t exist.';
|
echo 'Thread with ID '.$thread_id.' doesn\'t exist.';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
echo 'Your account is banned, deleted or you don\'t have any player with level '.$config['forum_level_required'].' on your account. You can\'t post.';
|
echo "Your account is banned, deleted or you don't have any player with level " . $config['forum_level_required'] . " on your account. You can't post.";
|
||||||
}
|
}
|
||||||
|
|
||||||
if($action == 'edit_post')
|
if($action == 'edit_post')
|
||||||
@ -660,24 +739,6 @@ if($action == 'move_thread')
|
|||||||
'section_link' => getForumBoardLink($post['section']),
|
'section_link' => getForumBoardLink($post['section']),
|
||||||
'config' => $config
|
'config' => $config
|
||||||
));
|
));
|
||||||
|
|
||||||
/*
|
|
||||||
echo '<br/><table bgcolor='.$config['vdarkborder'].' border=0 cellpadding=2 cellspacing=0 width=100%>
|
|
||||||
<tr bgcolor='.$config['vdarkborder'].'><td class=white colspan=5><B>Move thread to another board</B></td></tr>
|
|
||||||
<tr><td><table border=0 cellpadding=3 cellspacing=1 width=100%>
|
|
||||||
<tr bgcolor='.$config['lightborder'].'><td>
|
|
||||||
<FORM ACTION="" METHOD="GET">
|
|
||||||
<input type="hidden" name="subtopic" value="forum" />
|
|
||||||
<input type="hidden" name="action" value="moved_thread" />
|
|
||||||
<input type="hidden" name="id" value="'.$post['id'].'" />
|
|
||||||
<strong>THREAD:</strong> '.$post['post_topic'].'
|
|
||||||
<br/><strong>AUTHOR:</strong> '.$name[0].'
|
|
||||||
<br/><strong>BOARD:</strong> '.$sections[$post['section']]['name'].'<br/>
|
|
||||||
<br/><strong>Select the new board: </strong><SELECT NAME=section>';
|
|
||||||
foreach($sections as $id => $section) { echo '<OPTION value="'.$id.'">'.$section['name'].'</OPTION>'; } echo '</SELECT>
|
|
||||||
<INPUT TYPE="submit" VALUE="Move Thread"></FORM>
|
|
||||||
<form action="' . getForumBoardLink($post['section']) . '" method="POST">
|
|
||||||
<input type="submit" value="Cancel"></form></td></tr></table></td></tr></table>';*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -732,4 +793,98 @@ class Forum
|
|||||||
static public function isModerator() {
|
static public function isModerator() {
|
||||||
return hasFlag(FLAG_CONTENT_FORUM) || admin();
|
return hasFlag(FLAG_CONTENT_FORUM) || admin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public function add_board($name, $description, &$errors)
|
||||||
|
{
|
||||||
|
global $db;
|
||||||
|
if(isset($name[0]) && isset($description[0]))
|
||||||
|
{
|
||||||
|
$query = $db->select(TABLE_PREFIX . 'forum_boards', array('name' => $name));
|
||||||
|
|
||||||
|
if($query === false)
|
||||||
|
{
|
||||||
|
$query =
|
||||||
|
$db->query(
|
||||||
|
'SELECT ' . $db->fieldName('ordering') .
|
||||||
|
' FROM ' . $db->tableName(TABLE_PREFIX . 'forum_boards') .
|
||||||
|
' ORDER BY ' . $db->fieldName('ordering') . ' DESC LIMIT 1'
|
||||||
|
);
|
||||||
|
|
||||||
|
$ordering = 0;
|
||||||
|
if($query->rowCount() > 0) {
|
||||||
|
$query = $query->fetch();
|
||||||
|
$ordering = $query['ordering'] + 1;
|
||||||
|
}
|
||||||
|
$db->insert(TABLE_PREFIX . 'forum_boards', array('name' => $name, 'description' => $description, 'ordering' => $ordering));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$errors[] = 'Forum board with this name already exists.';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$errors[] = 'Please fill all inputs.';
|
||||||
|
|
||||||
|
return !count($errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
static public function get_board($id) {
|
||||||
|
global $db;
|
||||||
|
return $db->select(TABLE_PREFIX . 'forum_boards', array('id' => $id));
|
||||||
|
}
|
||||||
|
|
||||||
|
static public function update_board($id, $name, $description) {
|
||||||
|
global $db;
|
||||||
|
$db->update(TABLE_PREFIX . 'forum_boards', array('name' => $name, 'description' => $description), array('id' => $id));
|
||||||
|
}
|
||||||
|
|
||||||
|
static public function delete_board($id, &$errors)
|
||||||
|
{
|
||||||
|
global $db;
|
||||||
|
if(isset($id))
|
||||||
|
{
|
||||||
|
if(self::get_board($id) !== false)
|
||||||
|
$db->delete(TABLE_PREFIX . 'forum_boards', array('id' => $id));
|
||||||
|
else
|
||||||
|
$errors[] = 'Forum board with id ' . $id . ' does not exists.';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$errors[] = 'id not set';
|
||||||
|
|
||||||
|
return !count($errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
static public function toggleHidden_board($id, &$errors)
|
||||||
|
{
|
||||||
|
global $db;
|
||||||
|
if(isset($id))
|
||||||
|
{
|
||||||
|
$query = self::get_board($id);
|
||||||
|
if($query !== false)
|
||||||
|
$db->update(TABLE_PREFIX . 'forum_boards', array('hidden' => ($query['hidden'] == 1 ? 0 : 1)), array('id' => $id));
|
||||||
|
else
|
||||||
|
$errors[] = 'Forum board with id ' . $id . ' does not exists.';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$errors[] = 'id not set';
|
||||||
|
|
||||||
|
return !count($errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
static public function move_board($id, $i, &$errors)
|
||||||
|
{
|
||||||
|
global $db;
|
||||||
|
$query = self::get_board($id);
|
||||||
|
if($query !== false)
|
||||||
|
{
|
||||||
|
$ordering = $query['ordering'] + $i;
|
||||||
|
$old_record = $db->select(TABLE_PREFIX . 'forum_boards', array('ordering' => $ordering));
|
||||||
|
if($old_record !== false)
|
||||||
|
$db->update(TABLE_PREFIX . 'forum_boards', array('ordering' => $query['ordering']), array('ordering' => $ordering));
|
||||||
|
|
||||||
|
$db->update(TABLE_PREFIX . 'forum_boards', array('ordering' => $ordering), array('id' => $id));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$errors[] = 'Forum board with id ' . $id . ' does not exists.';
|
||||||
|
|
||||||
|
return !count($errors);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -292,7 +292,7 @@ if(!$news_cached)
|
|||||||
'account_players' => $account_players,
|
'account_players' => $account_players,
|
||||||
'category' => isset($category) ? $category : 0,
|
'category' => isset($category) ? $category : 0,
|
||||||
'categories' => $categories,
|
'categories' => $categories,
|
||||||
'forum_sections' => getForumSections(),
|
'forum_boards' => getForumBoards(),
|
||||||
'forum_section' => isset($forum_section) ? $forum_section : null
|
'forum_section' => isset($forum_section) ? $forum_section : null
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
113
system/templates/account.change_comment.html.twig
Normal file
113
system/templates/account.change_comment.html.twig
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
Here you can see and edit the information about your character.<br/>
|
||||||
|
If you do not want to specify a certain field, just leave it blank.<br/><br/>
|
||||||
|
<form action="?subtopic=accountmanagement&action=changecomment" method="post">
|
||||||
|
<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" >Edit Character 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 class="LabelV">Name:</td>
|
||||||
|
<td style="width:80%;" >{{ player_name }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="LabelV" >Hide Account:</td>
|
||||||
|
<td>
|
||||||
|
<input type="hidden" value="0" name="accountvisible">
|
||||||
|
<input type="checkbox" name="accountvisible" id="accountvisible" value="1" {% if player.getCustomField('hidden') == 1 %}checked="checked"{% endif %}>
|
||||||
|
<label for="accountvisible"> check to hide your account information</label>
|
||||||
|
{% if player.getCustomField('group_id') > 1 %} (you will be also hidden on the Team page!){% endif %}
|
||||||
|
</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>
|
||||||
|
<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 class="LabelV" ><span>Comment:</span></td>
|
||||||
|
<td style="width:80%;"><textarea name="comment" rows="10" cols="50" wrap="virtual">{{ player.getCustomField('comment')|raw }}</textarea><br>[max. length: 2000 chars, 50 lines (ENTERs)]</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/>
|
||||||
|
<table style="width:100%">
|
||||||
|
<tr align="center">
|
||||||
|
<td>
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<tr>
|
||||||
|
<td style="border:0px;">
|
||||||
|
<input type="hidden" name="name" value="{{ player.getName() }}">
|
||||||
|
<input type="hidden" name="changecommentsave" value="1">
|
||||||
|
<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="Submit" alt="Submit" src="{{ template_path }}/images/buttons/_sbutton_submit.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="{{ template_path }}/images/buttons/_sbutton_back.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
76
system/templates/account.change_name.html.twig
Normal file
76
system/templates/account.change_name.html.twig
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
To change a name of character select player and choose a new name.<br/>
|
||||||
|
<font color="red">Change name cost {{ config.account_change_character_name_points }} premium points. You have {{ points }} premium points.</font><br/><br/>
|
||||||
|
<form action="?subtopic=accountmanagement&action=changename" method="post">
|
||||||
|
<input type="hidden" name="changenamesave" value="1">
|
||||||
|
<div class="TableContainer">
|
||||||
|
<table class="Table1" 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" >Change Name</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 class="LabelV" ><span>Character:</span></td>
|
||||||
|
<td style="width:90%;" >
|
||||||
|
<select name="player_id">
|
||||||
|
{% for player in account_logged.getPlayersList() %}
|
||||||
|
<option value="{{ player.getId() }}">{{ player.getName() }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="LabelV" ><span>New Name:</span></td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="name" id="name" onkeyup="checkName();" size="25" maxlength="25" >
|
||||||
|
<font size="1" face="verdana,arial,helvetica">
|
||||||
|
<div id="name_check">Please enter your character name.</div>
|
||||||
|
</font>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<br/>
|
||||||
|
<table style="width:100%" >
|
||||||
|
<tr align="center">
|
||||||
|
<td>
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<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="Submit" alt="Submit" src="{{ template_path }}/images/buttons/_sbutton_submit.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="{{ template_path }}/images/buttons/_sbutton_back.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
61
system/templates/account.generate_new_recovery_key.html.twig
Normal file
61
system/templates/account.generate_new_recovery_key.html.twig
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
To generate new recovery key for your account please enter your password.<br/>
|
||||||
|
<font color="red"><b>New recovery key cost {{ config.generate_new_reckey_price }} Premium Points.</font> You have {{ points }} premium points. You will receive e-mail with this recovery key.</b><br/>
|
||||||
|
<form action="?subtopic=accountmanagement&action=newreckey" method="post">
|
||||||
|
<input type="hidden" name="registeraccountsave" value="1">
|
||||||
|
<div class="TableContainer" >
|
||||||
|
<table class="Table1" 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" >Generate recovery key</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 class="LabelV" ><span>Password:</span></td>
|
||||||
|
<td><input type="password" name="reg_password" size="30" maxlength="29" ></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<br/>
|
||||||
|
<table style="width:100%">
|
||||||
|
<tr align="center">
|
||||||
|
<td>
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<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="Submit" alt="Submit" src="{{ template_path }}/images/buttons/_sbutton_submit.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<form action="?subtopic=accountmanagement" 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="Back" alt="Back" src="{{ template_path }}/images/buttons/_sbutton_back.gif" ></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
@ -4,10 +4,10 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<table width="100%" border="0" cellspacing="1" cellpadding="4">
|
<table width="100%" border="0" cellspacing="1" cellpadding="4">
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor="{{ vdarkborder }}" class="white"><b>{% if action == 'edit' %}Edit{% else %}Add{% endif %} command</b></td>
|
<td bgcolor="{{ config.vdarkborder }}" class="white"><b>{% if action == 'edit' %}Edit{% else %}Add{% endif %} command</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor="{{ darkborder }}">
|
<td bgcolor="{{ config.darkborder }}">
|
||||||
<table border="0" cellpadding="1">
|
<table border="0" cellpadding="1">
|
||||||
<tr>
|
<tr>
|
||||||
<td>Words:</td>
|
<td>Words:</td>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<table width="100%" border="0" cellspacing="1" cellpadding="4">
|
<table width="100%" border="0" cellspacing="1" cellpadding="4">
|
||||||
<tr>
|
<tr>
|
||||||
<td bgcolor="{{ vdarkborder }}" class="white" width="150"><b>Words</b></td>
|
<td bgcolor="{{ config.vdarkborder }}" class="white" width="150"><b>Words</b></td>
|
||||||
<td bgcolor="{{ vdarkborder }}" class="white"><b>Description</b></td>
|
<td bgcolor="{{ config.vdarkborder }}" class="white"><b>Description</b></td>
|
||||||
{% if canEdit %}
|
{% if canEdit %}
|
||||||
<td bgcolor="{{ vdarkborder }}" class="white"><b>Options</b></td>
|
<td bgcolor="{{ config.vdarkborder }}" class="white"><b>Options</b></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</tr>
|
</tr>
|
||||||
{% set i = 0 %}
|
{% set i = 0 %}
|
||||||
|
26
system/templates/forum.add_board.html.twig
Normal file
26
system/templates/forum.add_board.html.twig
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<form method="post" action="{{ link }}">
|
||||||
|
{% if action == 'edit_board' %}
|
||||||
|
<input type="hidden" name="id" value="{{ id }}" />
|
||||||
|
{% endif %}
|
||||||
|
<table width="100%" border="0" cellspacing="1" cellpadding="4">
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="{{ config.vdarkborder }}" class="white"><b>{% if action == 'edit' %}Edit{% else %}Add{% endif %} board</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor="{{ config.darkborder }}">
|
||||||
|
<table border="0" cellpadding="1">
|
||||||
|
<tr>
|
||||||
|
<td>Name:</td>
|
||||||
|
<td><input name="name" value="{% if name is not null %}{{ name }}{% endif %}" size="29" maxlength="29"/></td>
|
||||||
|
<tr>
|
||||||
|
<td>Description:</td>
|
||||||
|
<td><textarea name="description" maxlength="300" cols="50" rows="5">{% if description is not null %}{{ description }}{% endif %}</textarea></td>
|
||||||
|
<tr/>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" align="center"><input type="submit" value="Submit"/>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
@ -13,6 +13,11 @@
|
|||||||
<td align="center">
|
<td align="center">
|
||||||
<font color="white" size="1"><b>Last Post</b></font>
|
<font color="white" size="1"><b>Last Post</b></font>
|
||||||
</td>
|
</td>
|
||||||
|
{% if canEdit %}
|
||||||
|
<td>
|
||||||
|
<font color="white" size="1"><b>Options</b></font>
|
||||||
|
</td>
|
||||||
|
{% endif %}
|
||||||
</tr>
|
</tr>
|
||||||
{% set i = 0 %}
|
{% set i = 0 %}
|
||||||
{% for board in boards %}
|
{% for board in boards %}
|
||||||
@ -30,6 +35,29 @@
|
|||||||
No posts
|
No posts
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
|
{% if canEdit %}
|
||||||
|
<td>
|
||||||
|
<a href="?subtopic=forum&action=edit_board&id={{ board.id }}" title="Edit">
|
||||||
|
<img src="images/edit.png"/>Edit
|
||||||
|
</a>
|
||||||
|
<a id="delete" href="?subtopic=forum&action=delete_board&id={{ board.id }}" onclick="return confirm('Are you sure?');" title="Delete">
|
||||||
|
<img src="images/del.png"/>Delete
|
||||||
|
</a>
|
||||||
|
<a href="?subtopic=forum&action=hide_board&id={{ board.id }}" title="{% if board.hidden != 1 %}Hide{% else %}Show{% endif %}">
|
||||||
|
<img src="images/{% if board.hidden != 1 %}success{% else %}error{% endif %}.png"/>{% if board.hidden != 1 %}Hide{% else %}Show{% endif %}
|
||||||
|
</a>
|
||||||
|
{% if i != 1 %}
|
||||||
|
<a href="?subtopic=forum&action=moveup_board&id={{ board.id }}" title="Move up">
|
||||||
|
<img src="images/icons/arrow_up.gif"/>Move up
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% if i != last %}
|
||||||
|
<a href="?subtopic=forum&action=movedown_board&id={{ board.id }}" title="Move down">
|
||||||
|
<img src="images/icons/arrow_down.gif"/>Move down
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
{% endif %}
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
3
system/templates/mail.account.register.html.twig
Normal file
3
system/templates/mail.account.register.html.twig
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<h3>New recovery key!</h3>
|
||||||
|
<p>You or someone else generated recovery key to your account on server <a href="{{ constant('BASE_URL') }}"><b>{{ config.lua.serverName }}</b></a>.</p>
|
||||||
|
<p>Recovery key: <b>{{ recovery_key }}</b></p>
|
@ -96,7 +96,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<select name="forum_section">
|
<select name="forum_section">
|
||||||
<option value="-1">None</option>
|
<option value="-1">None</option>
|
||||||
{% for section in forum_sections %}
|
{% for section in forum_boards %}
|
||||||
<option value="{{ section.id }}" {% if forum_section is defined and forum_section == section.id %}checked="yes"{% endif %}/>{{ section.name }}</option>
|
<option value="{{ section.id }}" {% if forum_section is defined and forum_section == section.id %}checked="yes"{% endif %}/>{{ section.name }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
|
@ -27,6 +27,9 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<br/>
|
<br/>
|
||||||
|
{% if custom_buttons is defined %}
|
||||||
|
{{ custom_buttons|raw }}
|
||||||
|
{% else %}
|
||||||
<center>
|
<center>
|
||||||
<table border="0" cellspacing="0" cellpadding="0">
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
<form action="?subtopic=accountmanagement" method="post">
|
<form action="?subtopic=accountmanagement" method="post">
|
||||||
@ -39,3 +42,4 @@
|
|||||||
</form>
|
</form>
|
||||||
</table>
|
</table>
|
||||||
</center>
|
</center>
|
||||||
|
{% endif %}
|
||||||
|
44
templates/kathrine/account.change_name.html.twig
Normal file
44
templates/kathrine/account.change_name.html.twig
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
To change a name of character select player and choose a new name.<br/>
|
||||||
|
<font color="red">Change name cost {{ config.account_change_character_name_points }} premium points. You have {{ points }} premium points.</font><br/><br/>
|
||||||
|
<form action="?subtopic=accountmanagement&action=changename" method="post">
|
||||||
|
<input type="hidden" name="changenamesave" value="1">
|
||||||
|
<h3>Change Name</h3>
|
||||||
|
<table style="width:100%;">
|
||||||
|
<tr>
|
||||||
|
<td><span >Character:</td>
|
||||||
|
<td style="width:90%;" >
|
||||||
|
<select name="player_id">
|
||||||
|
{% for player in account_logged.getPlayersList() %}
|
||||||
|
<option value="{{ player.getId() }}">{{ player.getName() }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td ><span>New Name:</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="name" id="name" onkeyup="checkName();" size="25" maxlength="25" >
|
||||||
|
<font size="1" face="verdana,arial,helvetica">
|
||||||
|
<div id="name_check">Please enter your character name.</div>
|
||||||
|
</font>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="submit" name="Submit" value="Submit"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
<br/>
|
||||||
|
<div style="text-align: center; margin: 0 auto;">
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0">
|
||||||
|
<form action="?subtopic=accountmanagement" method="post">
|
||||||
|
<tr>
|
||||||
|
<td style="border:0px; text-align: center;">
|
||||||
|
<input type="submit" name="Back" value="Back"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</table>
|
||||||
|
</div>
|
Loading…
x
Reference in New Issue
Block a user