This commit is contained in:
Serghey Rodin 2013-01-22 03:00:33 +02:00
commit c6b7c0b8e0
8 changed files with 318 additions and 315 deletions

View file

@ -12,8 +12,8 @@ include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
// Panel // Panel
top_panel($user,$TAB); top_panel($user,$TAB);
// Are you admin? $v_db_email = $panel[$user]['CONTACT'];
//if ($_SESSION['user'] == 'admin') {
if (!empty($_POST['ok'])) { if (!empty($_POST['ok'])) {
// Check input // Check input
if (empty($_POST['v_database'])) $errors[] = _('database'); if (empty($_POST['v_database'])) $errors[] = _('database');
@ -22,13 +22,18 @@ if (!empty($_POST['ok'])) {
if (empty($_POST['v_type'])) $errors[] = _('type'); if (empty($_POST['v_type'])) $errors[] = _('type');
if (empty($_POST['v_charset'])) $errors[] = _('charset'); if (empty($_POST['v_charset'])) $errors[] = _('charset');
// Validate email
if (!filter_var($_POST['v_db_email'], FILTER_VALIDATE_EMAIL)) {
$_SESSION['error_msg'] = _('Please enter valid email address.');
}
// Protect input // Protect input
$v_database = escapeshellarg($_POST['v_database']); $v_database = escapeshellarg($_POST['v_database']);
$v_dbuser = escapeshellarg($_POST['v_dbuser']); $v_dbuser = escapeshellarg($_POST['v_dbuser']);
$v_password = escapeshellarg($_POST['v_password']); $v_password = escapeshellarg($_POST['v_password']);
$v_type = $_POST['v_type']; $v_type = $_POST['v_type'];
$v_charset = $_POST['v_charset']; $v_charset = $_POST['v_charset'];
if (empty($_POST['v_notify'])) $v_notify = 'off'; $v_db_email = $_POST['v_db_email'];
// Check for errors // Check for errors
if (!empty($errors[0])) { if (!empty($errors[0])) {
@ -40,19 +45,6 @@ if (!empty($_POST['ok'])) {
} }
} }
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg); $_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
} else {
// Add Database
$v_type = escapeshellarg($_POST['v_type']);
$v_charset = escapeshellarg($_POST['v_charset']);
exec (VESTA_CMD."v-add-database ".$user." ".$v_database." ".$v_dbuser." ".$v_password." ".$v_type." 'default' ".$v_charset, $output, $return_var);
$v_type = $_POST['v_type'];
$v_charset = $_POST['v_charset'];
if ($return_var != 0) {
$error = implode('<br>', $output);
if (empty($error)) $error = _('Error: vesta did not return any output.');
$_SESSION['error_msg'] = $error;
unset($v_password);
unset($output);
} else { } else {
// Add Database // Add Database
$v_type = escapeshellarg($_POST['v_type']); $v_type = escapeshellarg($_POST['v_type']);
@ -67,22 +59,18 @@ if (!empty($_POST['ok'])) {
unset($v_password); unset($v_password);
unset($output); unset($output);
} }
else { if (!empty($v_db_email)) {
if (empty($v_notify)) {
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]); list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
if ($_POST['v_type'] == 'mysql') $db_admin_link = "http://".$http_host."/phpMyAdmin/"; if ($_POST['v_type'] == 'mysql') $db_admin_link = "http://".$http_host."/phpMyAdmin/";
if ($_POST['v_type'] == 'pgsql') $db_admin_link = "http://".$http_host."/phpPgAdmin/"; if ($_POST['v_type'] == 'pgsql') $db_admin_link = "http://".$http_host."/phpPgAdmin/";
$to = $v_db_email;
$to = $panel[$user]['CONTACT'];
$subject = _("Database Credentials"); $subject = _("Database Credentials");
$hostname = exec('hostname'); $hostname = exec('hostname');
$from = _('MAIL_FROM',$hostname); $from = _('MAIL_FROM',$hostname);
$mailtext = _('DATABASE_READY',$panel[$user]['FNAME'],$panel[$user]['LNAME'],$_POST['v_type'],$user,$_POST['v_database'],$user,$_POST['v_dbuser'],$_POST['v_password']); $mailtext = _('DATABASE_READY',$user,$_POST['v_database'],$user,$_POST['v_dbuser'],$_POST['v_password']);
$mailtext .= $db_admin_link."\n\n"; $mailtext .= $db_admin_link."\n\n";
$mailtext .= "--\n"._('Vesta Control Panel')."\n"; $mailtext .= "--\n"._('Vesta Control Panel')."\n";
send_email($to, $subject, $mailtext, $from); send_email($to, $subject, $mailtext, $from);
} }
$_SESSION['ok_msg'] = _('DATABASE_CREATED_OK',$user."_".$_POST['v_database'],$user."_".$_POST['v_database']); $_SESSION['ok_msg'] = _('DATABASE_CREATED_OK',$user."_".$_POST['v_database'],$user."_".$_POST['v_database']);
unset($v_database); unset($v_database);
@ -93,8 +81,7 @@ if (!empty($_POST['ok'])) {
unset($output); unset($output);
} }
} }
}
}
exec (VESTA_CMD."v-list-database-types 'json'", $output, $return_var); exec (VESTA_CMD."v-list-database-types 'json'", $output, $return_var);
$db_types = json_decode(implode('', $output), true); $db_types = json_decode(implode('', $output), true);
unset($output); unset($output);
@ -102,7 +89,6 @@ unset($output);
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_db.html'); include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_db.html');
unset($_SESSION['error_msg']); unset($_SESSION['error_msg']);
unset($_SESSION['ok_msg']); unset($_SESSION['ok_msg']);
//}
// Footer // Footer
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html'); include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');

View file

@ -13,7 +13,9 @@ include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
// Panel // Panel
top_panel($user,$TAB); top_panel($user,$TAB);
// Check user argument? $lang = 'ru_RU.utf8';
setlocale(LC_ALL, $lang);
if (empty($_GET['database'])) { if (empty($_GET['database'])) {
header("Location: /list/db/"); header("Location: /list/db/");
exit; exit;
@ -73,7 +75,6 @@ top_panel($user,$TAB);
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/edit_db.html'); include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/edit_db.html');
unset($_SESSION['error_msg']); unset($_SESSION['error_msg']);
unset($_SESSION['ok_msg']); unset($_SESSION['ok_msg']);
//}
// Footer // Footer
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html'); include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');

View file

@ -8,11 +8,9 @@
if (!defined('LANGUAGE')) die('Direct access not allowed'); if (!defined('LANGUAGE')) die('Direct access not allowed');
$LANG = array( $LANG = array(
'yes' => 'да',
'no' => 'нет',
'none' => 'нет',
'yes' => 'yes', 'yes' => 'yes',
'no' => 'no', 'no' => 'no',
'none' => 'нет',
'Hour' => 'Hour', 'Hour' => 'Hour',
'Min' => 'Min', 'Min' => 'Min',
'pb' => 'pb', 'pb' => 'pb',
@ -192,7 +190,6 @@ $LANG = array(
'traffic' => 'traffic', 'traffic' => 'traffic',
'Database Credentials' => 'Database Credentials', 'Database Credentials' => 'Database Credentials',
'DATABASE_READY'=>"Hello, %s %s,\nDatabase %s has been created successfully.\n\nDatabase: %s_%s\nUser: %s_%s\nPassword: %s\n\n", 'DATABASE_READY'=>"Hello, %s %s,\nDatabase %s has been created successfully.\n\nDatabase: %s_%s\nUser: %s_%s\nPassword: %s\n\n",
'Send credentials to' => 'Send credentials to',
'Adding DNS Record' => 'Adding DNS Record', 'Adding DNS Record' => 'Adding DNS Record',
'Record' => 'Record / Subdomain', 'Record' => 'Record / Subdomain',
'IP or Value' => 'IP-address or Valie', 'IP or Value' => 'IP-address or Valie',

View file

@ -37,6 +37,8 @@ $LANG = array(
'charset' => 'кодировка', 'charset' => 'кодировка',
'edit' => 'редактировать', 'edit' => 'редактировать',
'DATABASE_CREATED_OK' => 'База данных <a href="/edit/db/?database=%s"><b>%s</b></a> успешно создана.', 'DATABASE_CREATED_OK' => 'База данных <a href="/edit/db/?database=%s"><b>%s</b></a> успешно создана.',
'User' => 'Пользователь',
'Host' => 'Хост',
'domain' => 'домен', 'domain' => 'домен',
'ip' => 'IP', 'ip' => 'IP',
'DOMAIN_CREATED_OK' => 'Домен <a href="/list/dns/?domain=%s"><b>%s</b></a> успешно создан.', 'DOMAIN_CREATED_OK' => 'Домен <a href="/list/dns/?domain=%s"><b>%s</b></a> успешно создан.',
@ -192,8 +194,7 @@ $LANG = array(
'Disk' => 'Диск', 'Disk' => 'Диск',
'traffic' => 'трафик', 'traffic' => 'трафик',
'Database Credentials' => 'Данные для доступа к БД', 'Database Credentials' => 'Данные для доступа к БД',
'DATABASE_READY'=>"Здравствуйте %s %s,\nВаша %s база данных создана успешно.\n\nИмя БД: %s_%s\nПользователь: %s_%s\nПароль: %s\n\n", 'DATABASE_READY'=>"База данных создана успешно.\n\nИмя БД: %s_%s\nПользователь: %s_%s\nПароль: %s\n\n",
'Send credentials to' => 'Отправить данные для доступа к ',
'Adding DNS Record' => 'Добавление DNS записи', 'Adding DNS Record' => 'Добавление DNS записи',
'Record' => 'Запись / Поддомен', 'Record' => 'Запись / Поддомен',
'IP or Value' => 'IP-адрес или значение', 'IP or Value' => 'IP-адрес или значение',
@ -349,7 +350,6 @@ $LANG = array(
'Load Average' => 'Нагрузка', 'Load Average' => 'Нагрузка',
'Memory Usage' => 'Использование Памяти', 'Memory Usage' => 'Использование Памяти',
'Bandwidth Usage' => 'Использование Сети', 'Bandwidth Usage' => 'Использование Сети',
); );
/*error_reporting(E_ALL); /*error_reporting(E_ALL);

View file

@ -12,6 +12,9 @@ include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
// Panel // Panel
top_panel($user,$TAB); top_panel($user,$TAB);
$lang = 'ru_RU.utf8';
setlocale(LC_ALL, $lang);
// Data // Data
if ($_SESSION['user'] == 'admin') { if ($_SESSION['user'] == 'admin') {
exec (VESTA_CMD."v-list-databases $user json", $output, $return_var); exec (VESTA_CMD."v-list-databases $user json", $output, $return_var);

View file

@ -47,7 +47,6 @@
document.v_add_db.v_password.value = randomstring; document.v_add_db.v_password.value = randomstring;
} }
</script> </script>
<table class='data'> <table class='data'>
<tr class="data-add"> <tr class="data-add">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150"> <td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
@ -79,7 +78,7 @@
</tr> </tr>
<tr> <tr>
<td class="vst-text" style="padding: 10px 0 0 2px;"> <td class="vst-text" style="padding: 10px 0 0 2px;">
<?php print _('Username');?> <?php print _('User');?>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -163,17 +162,21 @@
</td> </td>
<tr> <tr>
<td class="vst-text" style="padding: 10px 0 0 2px;"> <td class="vst-text" style="padding: 10px 0 0 2px;">
<?php print _('Send credentials to'); echo $panel[$user]['CONTACT'] ?> <?php print _('SEND_CREDENTIALS_NOTICE') ?>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="checkbox" size="20" class="vst-checkbox" name="v_notify" <?php if (empty($v_notify)) echo "checked=yes"; ?>> <input type="text" class="vst-input" name="v_db_email" <?php if (!empty($v_db_email)) echo "value=".$v_db_email; ?>>
</td> </td>
</tr> </tr>
</table>
<table class="data-col2">
<tr> <tr>
<td style="padding: 24px 0 0 0;"> <td style="padding: 24px 0 0 0;" width="116px">
<input type="submit" name="ok" value="<?php print _('Add');?>" class="button"> <input type="submit" name="ok" value="<?php print _('Add');?>" class="button">
</td>
<td style="padding: 24px 0 0 0;">
<input type="button" class="button" value="<?php print _('Back');?>" onclick="<?php echo $back ?>"> <input type="button" class="button" value="<?php print _('Back');?>" onclick="<?php echo $back ?>">
</td> </td>
</tr> </tr>

View file

@ -52,9 +52,9 @@
<tr class="data-add"> <tr class="data-add">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150"> <td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1"> <table class="data-col1">
<tr><td style="padding: 24px 0 2px 4px;"><a class="data-date" ?><?php echo date("d M Y", strtotime($v_date))?></a></td></tr> <tr><td style="padding: 24px 0 2px 4px;"><a class="data-date" ?><?php echo strftime("%d %b %Y", strtotime($v_date))?></a></td></tr>
<tr><td style="padding: 0 0 6px 4px;"><a class="data-date" ?><?php echo $v_time?></a></td></tr> <tr><td style="padding: 0 0 6px 4px;"><a class="data-date" ?><?php echo $v_time?></a></td></tr>
<tr><td style="padding: 0 0 0 21px;" class="data-<?php echo $v_status ?>"><b><?php echo $v_status ?></b></td></tr> <tr><td style="padding: 0 0 0 21px;" class="data-<?php echo $v_status ?>"><b><?php echo _($v_status) ?></b></td></tr>
</table> </table>
</td> </td>
<td class="data-dotted" width="830px" style="vertical-align:top;"> <td class="data-dotted" width="830px" style="vertical-align:top;">
@ -76,7 +76,7 @@
</tr> </tr>
<tr> <tr>
<td class="vst-text" style="padding: 10px 0 0 2px;"> <td class="vst-text" style="padding: 10px 0 0 2px;">
<?php print _('Username');?> <?php print _('User');?>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -124,9 +124,13 @@
<input type="text" size="20" class="vst-input" name="v_charset" <?php if (!empty($v_charset)) echo "value=".$v_charset; ?> disabled> <input type="text" size="20" class="vst-input" name="v_charset" <?php if (!empty($v_charset)) echo "value=".$v_charset; ?> disabled>
</td> </td>
</tr> </tr>
</table>
<table class="data-col2">
<tr> <tr>
<td style="padding: 24px 0 0 0;" width="116px">
<input type="submit" class="button" name="save" value="<?php print _('Save');?>">
</td>
<td style="padding: 24px 0 0 0;"> <td style="padding: 24px 0 0 0;">
<input type="submit" name="save" value="<?php print _('Save');?>" class="button">
<input type="button" class="button" value="<?php print _('Back');?>" onclick="<?php echo $back ?>"> <input type="button" class="button" value="<?php print _('Back');?>" onclick="<?php echo $back ?>">
</td> </td>
</tr> </tr>

View file

@ -51,34 +51,43 @@
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150"> <td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1"> <table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="database[]" value="<?php echo $key ?>" ></td></tr> <tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="database[]" value="<?php echo $key ?>" ></td></tr>
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr> <tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo strftime("%d %b %Y", strtotime($data[$key]['DATE'])) ?></td></tr>
<tr><td class="data-<?php echo $status ?>"><b><?php echo _($status); ?></b></td></tr> <tr><td class="data-<?php echo $status ?>"><b><?php echo _($status); ?></b></td></tr>
</table> </table>
</td> </td>
<td class="data-dotted" width="830px" style="vertical-align:top;"> <td class="data-dotted" width="830px" style="vertical-align:top;">
<table width="830px"> <a id="delete_link_<?php echo $i ?>" class="do_delete">
<tr> <span class="data-controls do_delete">
<td></td> <img src="/images/delete.png" width="7px" height="7px">
<td class="data-controls" width="128px"><a href="<?php echo $db_admin_link; ?>" target="_blank"><img src="/images/new_window.png" width="8px" height="8px"> <?php print _('open %s',$db_admin);?> </a></td> <?php echo _('delete') ?>
<td class="data-controls" width="50px"><a href="/edit/db/?database=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> <?php print _('edit');?></a></td>
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo _($spnd_action) ?></a>
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/db/?database=<?php echo "$key" ?>" />
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="<?php print _('Confirmation');?>">
<p class="counter-value"><?php print _('DATABASE_ACTION_CONFIRMATION',_($spnd_action),$key);?></p>
</div>
</td>
<td class="data-controls do_delete" width="70px">
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
<input type="hidden" name="delete_url" value="/delete/db/?database=<?php echo "$key" ?>" /> <input type="hidden" name="delete_url" value="/delete/db/?database=<?php echo "$key" ?>" />
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="<?php print _('Confirmation');?>"> <div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="<?php print _('Confirmation');?>">
<p class="counter-value"><?php print _('DATABASE_ACTION_CONFIRMATION',_('delete'),$key);?></p> <p class="counter-value"><?php print _('DATABASE_ACTION_CONFIRMATION',_('delete'),$key);?></p>
</div> </div>
</td> </span>
</tr> </a>
</table> <a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>">
<span class="data-controls do_<?php echo $spnd_action ?>" width="80px">
<img src="/images/suspend.png" width="7px" height="8px">
<?php echo _($spnd_action) ?>
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/db/?database=<?php echo "$key" ?>" />
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="<?php print _('Confirmation');?>">
<p class="counter-value"><?php print _('DATABASE_ACTION_CONFIRMATION',_($spnd_action),$key);?></p>
</div>
</span>
</a>
<a href="/edit/db/?database=<?php echo $key ?>">
<span class="data-controls" width="50px">
<img src="/images/edit.png" width="8px" height="8px">
<?php print _('edit');?>
</span>
</a>
<a href="<?php echo $db_admin_link; ?>" target="_blank">
<span class="data-controls" width="128px">
<img src="/images/new_window.png" width="8px" height="8px">
<?php print _('open %s',$db_admin);?>
</span>
</a>
<table class="data-col2" width="830px"> <table class="data-col2" width="830px">
<tr> <tr>
<td colspan=3 class="domain" style="padding: 0 0 0 4px;"> <td colspan=3 class="domain" style="padding: 0 0 0 4px;">
@ -150,7 +159,7 @@
<td> <td>
<?php <?php
if ( $i == 1) { if ( $i == 1) {
echo _('one database'); echo _('1 database');
} else { } else {
echo _('%s databases',$i); echo _('%s databases',$i);
} }