mirror of
https://github.com/myvesta/vesta
synced 2025-07-12 16:13:34 -07:00
Save active tab in cookie in order to restore after page refresh
This commit is contained in:
parent
0f2c093148
commit
f651c68a6a
9 changed files with 99 additions and 65 deletions
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta/core/utils/error_logger.php'
|
require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta/core/utils/error_logger.php';
|
||||||
require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta/app.init.php';
|
require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta/app.init.php';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -204,6 +204,7 @@
|
||||||
|
|
||||||
|
|
||||||
<!-- script type="text/javascript" src="js/lib/jquery-1.4.4.min.js"></script -->
|
<!-- script type="text/javascript" src="js/lib/jquery-1.4.4.min.js"></script -->
|
||||||
|
<script type="text/javascript" src="js/lib/cookie.js"></script>
|
||||||
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.js"></script>
|
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.js"></script>
|
||||||
<script type="text/javascript" src="js/date_format.js"></script>
|
<script type="text/javascript" src="js/date_format.js"></script>
|
||||||
<script type="text/javascript" src="js/lib/custom-form-elements.js"></script>
|
<script type="text/javascript" src="js/lib/custom-form-elements.js"></script>
|
||||||
|
|
|
@ -1,7 +1,21 @@
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
try{
|
try{
|
||||||
App.Utils.detectBrowser();
|
App.Utils.detectBrowser();
|
||||||
App.Env.world = 'CRON';
|
|
||||||
|
if ('undefined' != typeof App.Tmp.loadTAB) {
|
||||||
|
App.Env.world = App.Tmp.loadTAB;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('undefined' == typeof App.Tmp.loadTAB && cookieEnabled()) {
|
||||||
|
var tab = getCookie('tab');
|
||||||
|
if (null != tab && $.inArray(tab, App.Constants.TABS)) {
|
||||||
|
App.Env.world = tab;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
App.Env.world = App.Constants.TABS[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
App.Pages.init();
|
App.Pages.init();
|
||||||
App.Ref.init();
|
App.Ref.init();
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,9 @@ var App = {
|
||||||
Core: {},
|
Core: {},
|
||||||
Bash: {},
|
Bash: {},
|
||||||
Console: {},
|
Console: {},
|
||||||
Constants: {},
|
Constants: {
|
||||||
|
TABS: ['USER','WEB_DOMAIN','MAIL','DB','DNS','IP','CRON']
|
||||||
|
},
|
||||||
Actions: {},
|
Actions: {},
|
||||||
Helpers: {},
|
Helpers: {},
|
||||||
Filters: {},
|
Filters: {},
|
||||||
|
@ -175,16 +177,7 @@ App.Ajax.request = function(jedi_method, data, callback)
|
||||||
{
|
{
|
||||||
App.Helpers.beforeAjax(jedi_method);
|
App.Helpers.beforeAjax(jedi_method);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: function() {
|
url: App.Helpers.getBackendUrl(),
|
||||||
var url_parts = location.href.replace('#', '').split('/');
|
|
||||||
if (url_parts[url_parts.length -1] == 'index.html') {
|
|
||||||
url_parts[url_parts.length -1] = 'dispatch.php';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
url_parts.push('dispatch.php');
|
|
||||||
}
|
|
||||||
return url_parts.join('/');
|
|
||||||
}(),
|
|
||||||
global: false,
|
global: false,
|
||||||
type: data.request_method || "POST",
|
type: data.request_method || "POST",
|
||||||
data: $.extend(data, {'jedi_method': jedi_method}),
|
data: $.extend(data, {'jedi_method': jedi_method}),
|
||||||
|
|
|
@ -264,3 +264,26 @@ App.Helpers.closeInnerPopup = function(evt)
|
||||||
{
|
{
|
||||||
$('#inner-popup').remove();
|
$('#inner-popup').remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
App.Helpers.getBackendUrl = function()
|
||||||
|
{
|
||||||
|
var url_parts = location.href.split('#');
|
||||||
|
if (url_parts.length > 1) {
|
||||||
|
var tab = url_parts[url_parts.length - 1];
|
||||||
|
if ($.inArray(tab, App.Constants.TABS) != -1) {
|
||||||
|
App.Tmp.loadTAB = tab;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var url_parts = location.href.split('?', 1);
|
||||||
|
var url = url_parts[0];
|
||||||
|
url_parts = url.split('/');
|
||||||
|
if (url_parts[url_parts.length -1] == 'index.html') {
|
||||||
|
url_parts[url_parts.length -1] = 'dispatch.php';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
url_parts.push('dispatch.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
return url_parts.join('/');
|
||||||
|
}
|
||||||
|
|
|
@ -8,6 +8,10 @@ App.Pages.init = function(){
|
||||||
|
|
||||||
$('.section.active').removeClass('active');
|
$('.section.active').removeClass('active');
|
||||||
$('#'+App.Env.world).addClass('active');
|
$('#'+App.Env.world).addClass('active');
|
||||||
|
|
||||||
|
if (cookieEnabled()) {
|
||||||
|
setCookie('tab', App.Env.world);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
App.Pages.prepareHTML = function()
|
App.Pages.prepareHTML = function()
|
||||||
|
|
|
@ -24,6 +24,11 @@ class AjaxHandler {
|
||||||
{
|
{
|
||||||
return null == self::$instance ? self::$instance = new self() : self::$instance;
|
return null == self::$instance ? self::$instance = new self() : self::$instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getLoggedUser()
|
||||||
|
{
|
||||||
|
return VestaSession::getInstance()->getUser();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called functions should reply in the following way
|
* Called functions should reply in the following way
|
||||||
|
|
|
@ -17,7 +17,7 @@ class USER extends AjaxHandler
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return string - Ajax Reply
|
* @return string - Ajax Reply
|
||||||
*/
|
*/
|
||||||
public function getListExecute($request)
|
public function getListExecute(Request $request)
|
||||||
{
|
{
|
||||||
$reply = array();
|
$reply = array();
|
||||||
$result = Vesta::execute(Vesta::V_LIST_SYS_USERS, array(Config::get('response_type')));
|
$result = Vesta::execute(Vesta::V_LIST_SYS_USERS, array(Config::get('response_type')));
|
||||||
|
@ -34,40 +34,40 @@ class USER extends AjaxHandler
|
||||||
$reply[$user] = array(
|
$reply[$user] = array(
|
||||||
"LOGIN_NAME" => $user,
|
"LOGIN_NAME" => $user,
|
||||||
"FULLNAME" => $fullname, // TODO skid
|
"FULLNAME" => $fullname, // TODO skid
|
||||||
"PACKAGE" => $details['PACKAGE'],
|
"PACKAGE" => $details['PACKAGE'],
|
||||||
"WEB_DOMAINS" => $details['WEB_DOMAINS'],
|
"WEB_DOMAINS" => $details['WEB_DOMAINS'],
|
||||||
"WEB_SSL" => $details['WEB_SSL'],
|
"WEB_SSL" => $details['WEB_SSL'],
|
||||||
"WEB_ALIASES" => $details['WEB_ALIASES'],
|
"WEB_ALIASES" => $details['WEB_ALIASES'],
|
||||||
"DATABASES" => $details['DATABASES'],
|
"DATABASES" => $details['DATABASES'],
|
||||||
"MAIL_DOMAINS" => $details['MAIL_DOMAINS'],
|
"MAIL_DOMAINS" => $details['MAIL_DOMAINS'],
|
||||||
"MAIL_BOXES" => $details['MAIL_BOXES'],
|
"MAIL_BOXES" => $details['MAIL_BOXES'],
|
||||||
"MAIL_FORWARDERS" => $details['MAIL_FORWARDERS'],
|
"MAIL_FORWARDERS" => $details['MAIL_FORWARDERS'],
|
||||||
"DNS_DOMAINS" => $details['DNS_DOMAINS'],
|
"DNS_DOMAINS" => $details['DNS_DOMAINS'],
|
||||||
"DISK_QUOTA" => $details['DISK_QUOTA'],//$disk_quota,
|
"DISK_QUOTA" => $details['DISK_QUOTA'],//$disk_quota,
|
||||||
"BANDWIDTH" => $details['BANDWIDTH'],//$bandwidth,
|
"BANDWIDTH" => $details['BANDWIDTH'],//$bandwidth,
|
||||||
"NS_LIST" => array($details['NS1'], $details['NS2']), // TODO skid
|
"NS_LIST" => array($details['NS1'], $details['NS2']), // TODO skid
|
||||||
"SHELL" => $details['"SHELL'],
|
"SHELL" => $details['"SHELL'],
|
||||||
"BACKUPS" => $details['BACKUPS'],
|
"BACKUPS" => $details['BACKUPS'],
|
||||||
"WEB_TPL" => $details['WEB_TPL'],
|
"WEB_TPL" => $details['WEB_TPL'],
|
||||||
"MAX_CHILDS" => $details['MAX_CHILDS'],
|
"MAX_CHILDS" => $details['MAX_CHILDS'],
|
||||||
"SUSPENDED" => $details['SUSPENDED'],
|
"SUSPENDED" => $details['SUSPENDED'],
|
||||||
"OWNER" => $details['OWNER'],
|
"OWNER" => $details['OWNER'],
|
||||||
"ROLE" => $details['ROLE'],
|
"ROLE" => $details['ROLE'],
|
||||||
"IP_OWNED" => $details['IP_OWNED'],
|
"IP_OWNED" => $details['IP_OWNED'],
|
||||||
"U_CHILDS" => $details['U_CHILDS'],
|
"U_CHILDS" => $details['U_CHILDS'],
|
||||||
"U_DISK" => $details['U_DISK'],//$u_disk,
|
"U_DISK" => $details['U_DISK'],//$u_disk,
|
||||||
"U_BANDWIDTH" => $details['U_BANDWIDTH'],//$u_bandwidth,
|
"U_BANDWIDTH" => $details['U_BANDWIDTH'],//$u_bandwidth,
|
||||||
"U_WEB_DOMAINS" => $details['U_WEB_DOMAINS'],
|
"U_WEB_DOMAINS" => $details['U_WEB_DOMAINS'],
|
||||||
"U_WEB_SSL" => $details['U_WEB_SSL'],
|
"U_WEB_SSL" => $details['U_WEB_SSL'],
|
||||||
"U_DNS_DOMAINS" => $details['U_DNS_DOMAINS'],
|
"U_DNS_DOMAINS" => $details['U_DNS_DOMAINS'],
|
||||||
"U_DATABASES" => $details['U_DATABASES'],
|
"U_DATABASES" => $details['U_DATABASES'],
|
||||||
"U_MAIL_DOMAINS" => $details['U_MAIL_DOMAINS'],
|
"U_MAIL_DOMAINS" => $details['U_MAIL_DOMAINS'],
|
||||||
"CONTACT" => $details['CONTACT'],
|
"CONTACT" => $details['CONTACT'],
|
||||||
"DATE" => $details['DATE'],
|
"DATE" => $details['DATE'],
|
||||||
|
|
||||||
"U_MAIL_BOXES" => rand(1, 10), // TODO: skid
|
"U_MAIL_BOXES" => rand(1, 10), // TODO: skid
|
||||||
"U_MAIL_FORWARDERS" => rand(1, 10), // TODO: skid
|
"U_MAIL_FORWARDERS" => rand(1, 10), // TODO: skid
|
||||||
"REPORTS_ENABLED" => 'enabled' // TODO: skid
|
"REPORTS_ENABLED" => 'enabled' // TODO: skid
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,26 +80,19 @@ class USER extends AjaxHandler
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return string - Ajax Reply
|
* @return string - Ajax Reply
|
||||||
*/
|
*/
|
||||||
public function addExecute($_spell = FALSE)
|
public function addExecute(Request $request)
|
||||||
{
|
{
|
||||||
$r = new Request();
|
$spell = $request->getParameter('spell');
|
||||||
if ($_spell) {
|
$user = $this->getLoggedUser();
|
||||||
$_s = $_spell;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$_s = $r->getSpell();
|
|
||||||
}
|
|
||||||
|
|
||||||
$_user = 'vesta';
|
|
||||||
$params = array(
|
$params = array(
|
||||||
'USER' => $_s['USER'],
|
'USER' => $spell['USER'],
|
||||||
'PASSWORD' => $_s['PASSWORD'],
|
'PASSWORD' => $spell['PASSWORD'],
|
||||||
'EMAIL' => $_s['EMAIL'],
|
'EMAIL' => $spell['EMAIL'],
|
||||||
'ROLE' => $_s['ROLE'],
|
'ROLE' => $spell['ROLE'],
|
||||||
'OWNER' => $_user,
|
'OWNER' => $user['uid'],
|
||||||
'PACKAGE' => $_s['PACKAGE'],
|
'PACKAGE' => $spell['PACKAGE'],
|
||||||
'NS1' => $_s['NS1'],
|
'NS1' => $spell['NS1'],
|
||||||
'NS2' => $_s['NS2']
|
'NS2' => $spell['NS2']
|
||||||
);
|
);
|
||||||
|
|
||||||
$result = Vesta::execute(Vesta::V_ADD_SYS_USER, $params);
|
$result = Vesta::execute(Vesta::V_ADD_SYS_USER, $params);
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
define('V_ROOT_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR);
|
define('V_ROOT_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR);
|
||||||
|
|
||||||
require_once V_ROOT_DIR . 'config/Config.class.php';
|
require_once V_ROOT_DIR . 'config/Config.class.php';
|
||||||
|
require_once V_ROOT_DIR . 'core/VestaSession.class.php';
|
||||||
require_once V_ROOT_DIR . 'core/Vesta.class.php';
|
require_once V_ROOT_DIR . 'core/Vesta.class.php';
|
||||||
require_once V_ROOT_DIR . 'core/exceptions/SystemException.class.php';
|
require_once V_ROOT_DIR . 'core/exceptions/SystemException.class.php';
|
||||||
require_once V_ROOT_DIR . 'core/exceptions/ProtectionException.class.php';
|
require_once V_ROOT_DIR . 'core/exceptions/ProtectionException.class.php';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue