diff --git a/web/css/main.css b/web/css/main.css index 3a25d37c..6f4f5943 100644 --- a/web/css/main.css +++ b/web/css/main.css @@ -1,3140 +1,3159 @@ -/*- - - - - - - - - - - - - - - - - - - -Title : Vesta -Author : Eugen Lobicov, eugen.lobicov@gmail.com - -created : November 27, 2009 -last updated : January 12, 2012 -- - - - - - - - - - - - - - - - - - */ - -html{ - font-size:100.01%; /* prevent IE's extreme font-resizing bug*/ -} - -body{ - position:relative; - font:normal 62.5%/1.5 Helvetica, Arial, sans-serif; - background:#B2AD9C url(../images/thin-grey-line-4.gif) repeat-x; - color:#333; -} -#page{ - width:965px; - width:955px; - margin:3px auto 0; - border:1px solid red; - border:solid #807D70; - border-width:0 1px; -} -.outer{ - padding-bottom:58px; - background:#fff url(../images/footer-bg.gif) repeat-x 0 100%; -} -#header{ - padding:0 1px 0 10px; - height:26px; - border-bottom:2px solid #333527; - background-color:#484439; -} -.logo-box{ - float:left; -} -.logo, -.logo a, -.logo a span{ - display:block; - width:80px; - height:26px; -} -.logo a{ - position:relative; - overflow:hidden; - font-size:1.2em; /*12px */ - text-decoration:none; - color:#fff; - display:block; - text-indent:-9999px; -} -.logo a span{ - position:absolute; - top:1px; - left:0; - z-index:1; - width:72px; - height:24px; - background:url(../images/vesta-logo-2011-12-14.png) no-repeat; -} -.settings{ - float:right; -} -.settings .settings-item, -.extra-services .service-item{ - float:left; - display:block; - padding:0 10px; - font-size:9px; - line-height:26px; - - text-transform:uppercase; - letter-spacing:1px; -} -.settings .item-title, -.extra-services .item-title{ - font-family:Arial, Helvetica, san-serif; - font-size:9px; - color:#C0BD00; - text-decoration:none; - border-bottom:1px dotted #68684B; -} -.settings a.item-title:hover{ - color:#fefda0; - text-decoration:none; -} -.settings a.item-title:active{ - color:#E16734; - text-decoration:none; -} -.settings .logged-as{ - margin:0; -} -.settings .logged-as{ - position:relative; - top:1px; - padding-right:5px; - font-size:16px; - line-height:20px; - font-family:Georgia, Cambria, "Times New Roman", Times, serif; - font-weight:bold; - font-style:italic; - color:#fff; - text-transform:none; - border:none; - letter-spacing:normal; -} -.settings .logout{ - float:left; - display:block; - text-transform:uppercase; - letter-spacing:1px; - line-height:26px; - } - .settings .logout .item-title{ - display:block; - padding:0 10px; - font-size:9px; - line-height:26px; - border:none; - } - .settings .logout .item-title-inner{ - border-bottom:1px dotted #68684B; - } - .logout a.item-title:hover{ - background-color:#a3b82d; - color:#ffffc5; - } - .logout a.item-title:hover .item-title-inner{ - border:none; - } - - .logout a.item-title:active{ - background-color:#ffff66; - color:#272700; - } -#logged-in-as{ - background-color: #FFCC00; - border: 2px solid #EE7250; - color: #FFFFFF; - font-family: arial; - font-size: 12px; - font-weight: bold; - height: 26px; - margin: 2px auto -3px; - padding: 7px 0 0; - text-align: center; - width: 955px; -} -.extra-services{ - float:right; - margin-right:59px; -} -.extra-services .service-item{ - position:relative; - padding:0 13px; - line-height:26px; - letter-spacing:normal; -} -.extra-services .item-devider{ - position:absolute; - top:-3px; - left:0; - width:100%; - height:3px; -} -.extra-services .item-title{ - font-family:Arial, Helvetica, san-serif; - font-size:10px; - font-weight:bold; - color:#C0E1F3; - border-bottom:1px dotted #7D939F; -} -.extra-services .active{ - cursor:default; - background:#333; - font-weight:bold; - } - .extra-services .service-item:hover{ - cursor:pointer; - } - .extra-services .service-item:hover .item-title{ - color:#fffa96; - border-bottom-color:#fffa96; - } - .extra-services .service-item:active{ - background:#333; - } - .extra-services .service-item:active .item-title{ - color:#fff; - border:none; - } - .extra-services .active .item-title{ - color:#fff997; - border:none; - } - .extra-services .active .item-devider{ - background:#ff6766; - } - -/*Remove button padding in FF*/ -input::-moz-focus-inner{ - border: 0; - padding: 0; -} -.cc:after{ - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden; -} -.hidden{ - display:none !important; -} - -/* Navigation -- - - - - - - - - - - - - - - - - - - - */ -#primary-nav-box{ - clear:both; - height:115px; - background-color:#ecf3d2; -} -.primary-nav{} - -.primary-nav .section{ - position:relative; - float:left; - display:block; - padding-right:1px; - background:url(../images/nav-devider-2.png) no-repeat 100% 50%; -} -.primary-nav .last-section{ - background:none; - padding:0; -} -.section .section-inner{ - width:130px; - min-height:100px; - height:auto !important; - height:100px; - padding:15px 0 3px 6px; - padding:15px 0 0 6px; - } -.primary-nav .last-section .section-inner{ - width:133px; - width:127px; -} -.section .section-title{ - position:absolute; - left:7px; - bottom:9px; - font-family:Arial, Helvetica, sans-serif; - font-size:15px; - line-height:1.2; - font-weight:bold; - text-transform:uppercase; - color:#393939; - color:#33342e; - } - .section .section-title .to-section{ - float:left; - margin-right:4px; - } - .section .section-title .add-entry{ - position:relative; - top:2px; - float:left; - display:block; - width:14px; - height:14px; - background:url(../images/plus-sprite1.png) no-repeat; - font-size:0; - line-height:0; - visibility:hidden; - } - .section .section-title .add-entry:hover{ - background-position:-14px 0; - cursor:pointer; - } - -.section .section-devider{ - position:absolute; - left:0; - bottom:0; - z-index:10; - /*background:url(../images/section-status-sprite-5.gif) no-repeat -420px 115px; */ - display:block; - width:100%; - height:3px; - background:url(../images/section-status-sprite-6.png) no-repeat -420px 100%; -} - -.dnstpl-nav-item .section-title{ - background-position:100% 85%; -} -.section .def{ - display:block; - font-family:Arial, Helvetica, sans-serif; - font-size:12px; - color:#8c9c91; -} -.section:hover .section-inner{ - background-color:#F1F7D6; - color:#000; - cursor:pointer; - } - .section:hover .section-devider{ - background-position:0 100%; - } - .section:hover .section-title{ - color:#000; - } -.primary-nav .active .section-inner{ - cursor:pointer; - } - .primary-nav .active .section-devider{ - background-position:-283px 100%; - height:6px; - bottom:-3px; - } - .primary-nav .active .def{ - color:#8c9c91; - } - .primary-nav .active .section-title{ - color:#393939; - } - -#console{ - position:relative; - clear:both; - height:70px; - background-color:#a09d98; - background:#535049 url(../images/console-box-bg.png) repeat-x; - border-bottom:1px solid #7a7967; - z-index:1; -} - -.b-console{ - position:absolute; - left:50%; -} - -.b-console-wrap{ - position:relative; - right:50%; - width:655px; - padding:10px 15px 16px 25px; - background:url(../images/console-bg.png) repeat; - - border-radius: 0 0 5px 5px; - -moz-border-radius: 0 0 5px 5px; - -webkit-border-top-right-radius: 0; - -webkit-border-top-left-radius: 0; - -webkit-border-bottom-right-radius: 5px; - -webkit-border-bottom-left-radius: 5px; -} - .b-console-form{} - - .b-console-field{ - float:left; - width:548px; - margin-right:15px; - padding:5px 10px; - border:2px solid #42647f; - font-family:Arial, Helvetica, sans-serif; - font-size:18px; - font-style:italic; - font-weight:bold; - color:#aaa; - } - .b-console-field:focus{ - -moz-box-shadow:0 0 8px rgba(82, 168, 236, 0.5); - -webkit-box-shadow:0 0 8px rgba(82, 168, 236, 0.5); - border-color:rgba(82, 168, 236, 0.75) !important; - color:#333; - } - .b-console-btn{ - float:left; - overflow:visible; - height:30px; - margin:4px 0 0; - padding:0 20px; - -webkit-border-radius:4px; - -moz-border-radius:4px; - border-radius:4px; - border:0 none; - background-color:#fdcd00; - color:#4b3600; - - font-size:13px; - font-family:Arial, Helvetica, sans-serif; - font-weight:bold; - line-height:30px; - text-transform:uppercase; - cursor:pointer; - - /* a little animation effect on hover for -webkit- */ - -webkit-transition-property: background; - -webkit-transition-duration: 150ms; - -webkit-transition-timing-function: ease-in-out; - } - .b-console-btn:focus{ - position:relative; - top:1px; - } - .b-console-btn:hover{ - background-color:#ffe84c; - color:#39351c; - } - .b-console-btn:active{ - background-color:#333; - color:#fff; - } - -.b-console-statuses{ - margin-top:15px; -} - - .b-console-status{ - position:relative; - padding:5px 80px 5px 10px; - border:2px dashed #999; - background-color:#feff99; - color:#666; - font-size:12px; - } - .b-console-status-message{ - float:left; - color:#666; - } - .b-console-status-action{ - float:right; - margin-right:-36px; - text-decoration:underline; - } - .b-console-status-message b{ - font-weight:bold; - color:#333; - } - .b-console-status-arrow{ - position:absolute; - top:10px; - right:12px; - display:block; - width:14px; - height:8px; - background:url(../images/status-arrow.png) no-repeat; - } - - - -#actions-toolbar{ - clear:both; - position:relative; - /*padding:15px 20px 15px 280px;*/ - padding:15px 20px 15px 250px; - background-color:#f3f3d9; - border-bottom:1px solid #c9cbc8; -} -.add-domain, -.add-btn{ - position:relative; - top:2px; - float:left; - /*margin:0 0 0 -260px;*/ - margin:0 0 0 -230px; - border-bottom:1px solid #b5c968; - font-family:Georgia, "Times New Roman", Times, serif; - font-size:16px; - line-height:1; - text-transform:uppercase; - color:#66685d; - text-decoration:none; -} -.add-domain .icon, -.add-btn-icon{ - float:left; - display:block; - width:11px; - height:11px; - margin:4px 5px 0 0; - background:url(../images/add-entry-plus.gif) no-repeat; - font-size:0; - line-height:0; - } - .add-btn:hover{ - color:#000; - border-bottom-color:#b85152; - } - .add-btn:active{ - color:#b85152; - border-bottom-color:#000; - } - -.select-all{ - padding:0 40px 0 0; - font-size:13px; - color:#7f7e6c; - text-decoration:underline; - cursor:pointer; - } - .select-all:hover{ - text-decoration:none; - } -.clear-selected{ - font-size:11px; - line-height:10px; - text-transform:uppercase; - color:#bcb6a6; - cursor:pointer; - letter-spacing:0.2px; - border-bottom:1px solid #bcb6a6; - } - .clear-selected:hover{ - color:#000; - border-bottom-color:#b85152; - } - .clear-selected:active{ - color:#b85152; - border-bottom-color:#000; - } - -.db-manager{ - float:right; - margin:5px 0 0 25px; - font-size:11px; - line-height:1.273; /*14px*/ - text-transform:uppercase; - letter-spacing:0.2px; - border-bottom:1px solid #bcb6a6; - text-decoration:none; - color:#9b9b8f; - } - .db-manager .highlighted{ - font-style:normal; - font-weight:bold; - color:#4097b3; - } - .db-manager:hover{ - color:#4097b3; - border-bottom-color:#b85152; - } - .db-manager:active{ - color:#b85152; - border-bottom-color:#4097b3; - } - .db-manager:active .highlighted{ - color:#b85152; - } - -/* Row filters */ - -.row-filters{} - - .b-row-selector{ - float:left; - width:240px; - } - - .b-row-selector .checkbox-selector{ - position:relative; - top:4px; - margin-right:20px; - } - .b-row-selector .b-cust-sel{ - width:100px; - } - -.checkbox-selector, -.context-actions{ - display:-moz-inline-stack; - display: inline-block; - zoom: 1; - *display: inline; - vertical-align:top; - } - .checkbox-selector .checkbox{ - display:block; - float:left; - width:11px; - height:11px; - margin:2px 5px 0 0; - background:url(../images/checkbox-selector.png) no-repeat; - cursor:pointer; - } - .checkbox-selector .selector-title{ - float:left; - font-size:11px; - line-height:15px; - text-transform:uppercase; - color:#5d5d5d; - cursor:pointer; - white-space:nowrap; - } - .checkbox-selector .selector-title:hover{ - color:#2ea8bd; - } - .checkbox-selector .selector-title:active{ - color:#fc0; - } - -/* Custom select */ -.b-cust-sel{ - position: relative; - font-size: 12px; - - background-color: #fff; - - box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10); - -moz-box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10); - -webkit-box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10); - - border: 1px solid #c5c4bf; - display: block; - white-space: nowrap; - position: relative; - height: 20px; - line-height: 20px; - padding: 0 0 0 8px; - color: #616161; - -} -.b-cust-sel .title{ - margin-right: 26px; - display: block; - overflow: hidden; - white-space: nowrap; - -o-text-overflow: ellipsis; - -ms-text-overflow: ellipsis; - text-overflow: ellipsis; -} -.cust-sel-arrow{ - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; - background: #ccc; - - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.6, #f5f4ef)); - background-image: -webkit-linear-gradient(center bottom, #fff 0%, #f5f4ef 60%); - background-image: -moz-linear-gradient(center bottom, #fff 0%, #f5f4ef 60%); - background-image: -o-linear-gradient(bottom, #fff 0%, #f5f4ef 60%); - background-image: -ms-linear-gradient(top, #cccccc 0%,#f5f4ef 60%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#f5f4ef',GradientType=0 ); - background-image: linear-gradient(top, #cccccc 0%,#f5f4ef 60%); - - border-left: 1px solid #c5c4bf; - position: absolute; - right: 0; - top: 0; - display: block; - height: 100%; - width: 21px; -} -.cust-sel-arrow i{ - display: block; - width: 100%; - height: 100%; - background:url(../images/custom-arrow.png) no-repeat 50% 50%; -} -.b-cust-sel .cust-sel-options{ - position:absolute; - top:21px; - left:-1px; - width:100%; - padding:5px 0 2px; - border:solid #C5C4BF; - border-width:0 1px 1px; - background:#fff; - z-index:100; - } - .b-cust-sel .cust-sel-option{ - padding:0 0 4px 18px; - background:url(../images/cust-option-bullets.png) no-repeat 5px 7px; - color:#828282; - cursor:pointer; - } - .b-cust-sel .cust-sel-option:hover{ - color:#333; - } - .b-cust-sel .ico_gray{ - background-position:5px 7px; - } - .b-cust-sel .ico_green{ - background-position:5px -35px; - } - .b-cust-sel .ico_red{ - background-position:5px -79px; - } - -.b-cust-sel_inactive{ - background:#f3f3d9; - box-shadow: none; - -moz-box-shadow: none; - -webkit-box-shadow: none; - } - .b-cust-sel_inactive .cust-sel-arrow{ - background:#f3f3d9; - } - .b-cust-sel_inactive .cust-sel-options{ - display:none; - } - -.domain-groups-selector{ - float:left; - width:270px; - padding-top:2px; - font-size:11px; - line-height:15px; - } - .domain-groups-selector .selector-wrap{ - display:-moz-inline-stack; - display: inline-block; - zoom: 1; - *display: inline; - vertical-align:top; - padding-right:15px; - border-bottom:1px solid #d5d6c4; - background:url(../images/custom-arrow.png) no-repeat 100% 6px; - } - .domain-groups-selector .selector-title{ - padding-right:5px; - font-weight:normal; - text-transform:uppercase; - color:#8b8b8b; - } - .domain-groups-selector .selected-groups{ - color:#5d5d5d; - } - -#content{ - padding:8px 0 50px; - background:#fff url(../images/content-separator.png) repeat-x; -} -.b-ext-info-wrap{ - position:relative; - min-height:40px; - } - .b-ext-info{ - margin:0 0 6px; - padding:10px 25px 15px; - background:#ddd; - font-size:12px; - color:#000; - text-shadow: 0px 1px 1px #fff; - } - .b-ext-info-btn{ - position:relative; - left:-1px; - width:102px; - height:15px; - margin-left:-50px; - margin:-6px auto 0; - background-color:#fff; - cursor:pointer; - } - .b-ext-info-wrap_collapsed .b-ext-info-btn{ - background:url(../images/more-info-btn.png) no-repeat; - } -.content-inner{ - background-color:#fff; - padding:0 15px 15px; -} -/* -.domains{ - border-bottom:1px solid #333; - background-color:#fff; -} -.domains .item{ - position:relative; - padding:0 20px; - background:url(../images/long-dotted-bg.gif) repeat-x; -} -.domains .first{ - margin:0; - background:none; -} -.item .view{ - padding:15px 0 10px; -} -.item .ip-box{ - float:left; - width:150px; - padding-top:12px; -} -.ip-box .ip{ - font-size:1.1em; /*11px* - line-height:21px; - font-weight:normal; - letter-spacing:.175em; -} -.ip-box .owner{ - display:block; - font-size:1.2em; - color:#999; -} -.details .names .primary{ - font-size:20px; - font-family:Georgia, "Times New Roman", Times, serif; - font-weight:normal; - font-style:normal; - color:#000; /* radikal'no cherniy, da! * -} -.names .divider{ - font-size:12px; - line-height:2; - text-transform:uppercase; - color:#999; -} -.names .domain-name{ - padding:0 10px; - font-size:12px; - line-height:2; - font-style:italic; - color:#999; - white-space:nowrap; -} -.item .details{ - margin-left:150px; -} -.item .details .status{ - float:right; - width:60%; - margin:5px 20px 0 0; - color:#999; -} -.details .status .logging{ - float:left; -} -.logging .err-log, -.logging .log, -.logging .stats{ - float:left; - display:inline; - margin:0 20px 0 0; - padding-right:25px; - background:url(../images/logging-status-sprite.png) no-repeat -100% -100%; -} -.logging .off{ - background-position:100% 0; -} -.logging .on{ - background-position:100% 100%; -} -.logging .stats{ - margin-right:10px; -} -.logging .stat-auth{ - float:left; - display:inline; - margin:0 10px 0 0; - border-bottom:1px solid #9bcad0; - color:#999; - cursor:pointer; -} -.details .status .params{ - float:right; -} -.params .memory, -.params .t, -.params .max-weight, -.params .upload-weight{ - float:left; - display:inline; - margin-right:25px; -} -.memory{} - -.memory dl{ - overflow:hidden; - margin-bottom:2px; -} - -.memory dt{ - float:left; - width:15px; -} -.memory dd{ - float:left; -} -.memory .usage{} - -.memory .usage .value{ - float:left; - width:30px; -} -.memory .usage .divider{ - padding-right:2px; -} -.memory .usage .max{ - font-weight:bold; - border-bottom:1px solid #9bcad0; - cursor:pointer; -} -.memory .graph{ - clear:both; - position:relative; - border:1px solid #ccc; - font-size:0; - line-height:0; -} -.memory .graph .bar{ - position:relative; - display:block; - height:2px; -} -.critical .bar{ - background-color:#f00; -} -.middle .bar{ - background-color:#ff9934; -} -.low .bar{ - background-color:#acd45a; -} -.params .upload-weight{ - margin:0; -} -.t .value, -.max-weight .value, -.upload-weight .value{ - border-bottom:1px solid #9bcad0; - cursor:pointer; -} -.item .close{ - position:absolute; - top:30px; - right:20px; - display:block; - width:16px; - height:16px; - background:url(../images/sprite.png) no-repeat; - cursor:pointer; -} -.item .close:hover{ - background-position:-16px 0; -} -*/ -/* row hover effect -- - - - - - - - - - - - - - - - - - - */ -/* -.domains .item:hover{ - background-color:#ffffcb; -} -.item:hover .names .primary{ - cursor:pointer; - border-bottom:1px dotted #ccc; -} -.item:hover .logging .err-log, -.item:hover .logging .log, -.item:hover .logging .stats, -.item:hover .memory dt, -.item:hover .memory .divider, -.item:hover .params .title{ - color:#98bc65; -} -.item:hover .logging .stat-auth, -.item:hover .memory .max, -.item:hover .t .value, -.item:hover .max-weight .value, -.item:hover .upload-weight .value{ - color:#333; -} -*/ -/* Edit -- - - - - - - - - - - - - - - - - - - */ -/* -.edit{ - position:relative; - clear:both; - margin:0 -20px; - padding:15px 20px 10px; - border-top:2px solid #999; - background-color:#ffffcb; -} -.change-ip-box{ - margin:0 0 20px; -} -.edit .ip-details{ - float:left; - margin-right:20px; -} -.change-ip{ - width:140px; - padding:3px 5px; - border:2px solid #9bcad0; - font-size:16px; -} -.ip-details .created{ - display:block; - margin:5px 0 0; - font-size:12px; -} -.change-domain-name{ - width:360px; - padding:3px 5px; - border:2px solid #9bcad0; - font-size:16px; - font-weight:bold; -} -.edit .domain-name{ - font-size:20px; - font-family:Georgia, "Times New Roman", Times, serif; - font-weight:normal; - font-style:normal; - color:#000; /* radikal'no cherniy, da! * - white-space:nowrap; - line-height:2; -} -.change-logs-box{ - float:left; - width:170px; - margin-right:50px; - padding-left:180px; -} -.ownership{ - display:inline; - float:left; - width:160px; - margin:0 0 0 -180px; - font-size:12px; -} -.ownership .owner{ - display:block; - font-size:16px; - font-weight:bold; - font-style:italic; -} -.change-logs{ - padding-top:5px; -} -.change-logs label{ - display:block; - margin:0 0 9px; -} -.change-logs .last{ - margin:0; -} -.change-logs .title{ - display:block; - float:left; - width:70px; - font-size:14px; -} -.change-logs .title b{ - font-weight:bold; -} -.change-logs .checkbox{ - margin:3px 0 0; - border:2px solid #9bcad0; -} -.change-logs .stat-auth{ - position:relative; - top:-3px; - left:10px; - border-bottom:1px solid #9BCAD0; - cursor:pointer; -} -.change-memory{ - float:left; - width:150px; - padding-top:5px; - font-size:14px; -} -.change-memory dl{ - margin-bottom:13px; -} -.change-memory .value{ - padding:0 5px; - font-style:italic; - font-weight:bold; - color:#6b930f; -} -.change-memory .amount{ - margin-top:7px; -} -.change-memory .amount .max{ - width:50px; - margin-left:10px; - padding:2px 5px; - border:2px solid #9bcad0; - text-align:right; -} -.change-memory .graph{ - clear:both; - position:relative; - border:1px solid #9c9c82; - font-size:0; - line-height:0; -} -.change-memory .graph .bar{ - position:relative; - display:block; - height:2px; -} -.change-params{ - float:right; - font-size:14px; -} -.change-params li{ - margin-top:5px; - overflow:hidden; -} -.change-params .title{ - float:left; - width:165px; -} -.change-params .param-value{ - width:30px; - margin-right:5px; - padding:1px 5px; - border:2px solid #9bcad0; - text-align:right; - -} -.aliases{ - position:relative; - padding-top:20px; - margin-bottom:20px; -} -.aliases .title{ - float:left; - display:block; - margin-right:20px; - padding-top:3px; - font-size:17px; -} -.aliases .hint{ - position:absolute; - top:-15px; - left:78px; - font-style:italic; - color:#999; -} -.aliases-list{ - width:90%; - padding:3px 5px; - border:2px solid #9bcad0; - font-size:16px; -} -.buttons{} - -.buttons .apply{ - width:auto; - overflow:visible; - padding:4px 20px 3px 17px; - background-color:#feff99; - border:1px solid #728b25; - - font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif; - font-size:120%; - font-weight:bold; - text-transform:uppercase; - - line-height:130%; - color:#6b9e05; - cursor:pointer; - - float:right; -} -.buttons .devider{ - text-transform:uppercase; - float:right; - display:block; - line-height:24px; - margin:0 10px; -} -.buttons .cancel{ - float:right; - width:auto; - height:20px; - padding:0; - border:0 none; - background:none; - color:#e09462; - text-decoration:underline; - cursor:pointer; -} -.hidden{ - display:none; -} -.edit .iSelected{ /* descendant selector for more specific style context * - border-color:#59B4FF; /* blue border on focused input * - font-weight:bold; -} -.edit .not-valid{ /* descendant selector for more specific style context * - border-color:#f00; /* RED border on error field * -} - -.edit .edit-help{ - padding-bottom:1px; - font-family:Arial, Helvetica, sans-serif; - font-size:14px; - color:#a0a094; - text-decoration:none; - text-transform:uppercase; - border-bottom:1px solid #b5b59b; -} -.edit .delete{ - position:absolute; - top:15px; - right:25px; - padding:3px 25px 3px 2px; - font-family:Arial, Helvetica, sans-serif; - font-size:14px; - color:#a0a094; - text-transform:uppercase; - background:url(../images/delete.gif) no-repeat 100% 50%; - cursor:pointer; -} -.edit .delete .title{ - padding-bottom:1px; - border-bottom:1px solid #b5b59b; -} -*/ - -/* IP list -- - - - - - - - - - - - - - - - - - - - */ -#content{ - padding-bottom:0; -} -.ip-list{} - - .row{ - padding-top:10px; - padding:10px 10px 15px 10px; -/* min-height:125px; - min-height:110px;*/ - background:url(../images/long-dotted-bg.gif) repeat-x; - } - .first-row{ - background-image:none; - } - .row-meta{ - float:left; - width:150px; - } - .row-details{ - margin-left:150px; -/* background:#e0e0e0;*/ - } - .row-actions-box{ -/* margin:0 0 5px;*/ - } - - .row-actions-box .check-this, - .row-actions-box .check-control{ - float:left; - width:10px; - height:10px; - margin-top:4px; -/* background:url(../images/logging-status-sprite.png) no-repeat;*/ - background:url(../images/check-row-sprite.png) no-repeat; - background:url(../images/check-row-sprite_.png) no-repeat; - } - .row-actions-box .check-control:hover{ - cursor:pointer; - background-position:0 -89px; - } - .row-actions-box .row-operations{ - float:right; - } - .ip-status-info{ - position:relative; - display:block; - float:left; - /*margin-right:25px;*/ - padding-right:15px; - font-size:12px; - } - .ip-status-info .ip-status-text{ - visibility:hidden; - } - .row .ip-suspended-status{ - margin:0; - background:url(../images/suspended-ico.png) no-repeat 100% 65%; - } - .row .ip-suspended-status .ip-status-text{ - text-transform:uppercase; - color:#333; - font-size:10px; - visibility:visible; - } - .delete-entry{ - position:relative; - top:2px; - display:block; - float:left; - padding-right:15px; - font-size:11px; - text-transform:uppercase; - } - .delete-entry .delete-entry-text{ - visibility:hidden; - } - .entry-created{ - padding-top:7px; - font-size:11px; - color:#6f6f6f; - } - .props-main{ - float:left; - width:425px; -/* background:#eee;*/ - } - .props-main .prop-box{ - margin-bottom:15px; - } - - .props-additional{ - float:left; - width:200px; - padding:5px 10px 0 0; -/* background:#ccc;*/ - } - .props-ext{ - float:right; - width:120px; - padding-top:5px; -/* background:#d5d5d5;*/ - } - .ip-adr-box, - .user-wrap{ - margin:0 0 5px; - } - .ip-adr{ - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - - font-size:22px; - line-height:1; - font-weight:normal; - letter-spacing:0.5px; - } - .ip-adr:active, - .ip-adr:focus{ - color:#9fb749; - } - .ip-adr .dot{ - padding:0 3px; - } - .ip-list .ip-adr{ - border-bottom:1px solid #fff; - } - .username-box .user{ - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - - margin-right:10px; - } - .username-box .nickname{ - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - margin-right:5px; - - font-size:20px; - line-height:25px; - font-family:Arial, Helvetica, sans-serif; - color:#000; - - } - .username-box .role{ - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - - position:relative; - top:2px; - - font-size:12px; - line-height:25px; - color:#777; - } - - .prop-box{ - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - - min-width:40%; -/* width:auto !important; - width:40%;*/ - margin:0 0 3px; - font-size:10px; - } - .prop-title{ - text-transform:uppercase; - color:#9c9c9c; - font-size:9px; - line-height:15px; - } - .prop-value{ - padding-left:3px; - font-size:12px; - color:#777; - } - .prop-value-collapsed-childs{ - padding-right:15px; - background:url(../images/group-values-collapsed.png) no-repeat 100% 5px; - cursor:pointer; - } - .show-records{ - display:inline-block; - padding-right:15px; - border-bottom:1px solid #c9cabc; - background:url(../images/show-records-ico.png) no-repeat 100% 50%; - text-transform:uppercase; - line-height:13px; - cursor:pointer; - } - .hide-records{ - display:inline-block; - padding-right:15px; - border-bottom:1px solid #c9cabc; - background:url(../images/hide-records-ico.png) no-repeat 100% 50%; - text-transform:uppercase; - line-height:13px; - cursor:pointer; - } - - .prop-box_group-values{ - display:block; - } - .prop-box_group-values .prop-title{ - float: left; - margin:2px 0 0; - } - .prop-box_group-values .group-values{ - float:left; - margin-left:3px; - } - .group-values .prop-value{ - display:block; - } - .group-values__bullet .prop-value{ - padding-left:15px; - background:url(../images/group-value-bullet.png) no-repeat 5px 8px; - } - .group-values .group-switcher{ - padding-right:15px; - background:url(../images/group-values-collapsed.png) no-repeat 100% 4px; - } - .group-values .group-values-count{ - font-size:12px; - font-style:italic; - color:#cdcdcd; - border-bottom:1px solid #c9cac4; - cursor:pointer; - } - - .props-additional .owner-box{ - padding-left:45px; - } - .props-additional .owner-box .prop-title{ - float:left; - display:inline; - margin:2px 0 0 -45px; - } - .props-additional .owner-box .prop-value{ - padding:0; - } - - .ip-list .ip-name-box{ - margin:0 0 3px; - } - - -/* Entry adding form -- - - - - - - - - - - - - - - - - - - */ -.b-new-entry{ - margin-top:25px; - border-style:solid; - border-width:2px 1px 1px; - border-color:#999 #ccc #ccc #ccc; - - background-color:#ffffcb; - } - .b-new-entry .entry-header{ - margin:0 0 10px; - padding:8px 15px 9px; - border-bottom:1px solid #dcdbab; - font-size:16px; - font-family:Georgia, "Times New Roman", Times, serif; - text-transform:uppercase; - color:#747668; - } - .b-new-entry .form-row{ - position:relative; - padding:10px 15px; - } - .b-new-entry .field-label, - .b-new-entry .row-header{ - float:left; - width:180px; - font-size:15px; - line-height:2; - color:#3d504a; - } - .b-new-entry .text-field{ - float:left; - width:265px; - margin:0 15px 0 0; - padding:6px 7px; - border:2px solid #b8c2c3; - color:#555; - font-family:Arial, Helvetica, sans-serif; - font-size:14px; - font-weight:bold; - } - .b-new-entry .field-label .remark{ - position:relative; - top:-14px; - display:block; - font-style:italic; - font-size:14px; - color:#a3a590; - } - - .b-new-entry .custom-select{} - - .b-new-entry .textarea{ - width:685px; - height:100px; - padding:6px 7px; - border:2px solid #b8c2c3; - color:#555; - font-family:Arial, Helvetica, sans-serif; - font-size:14px; - font-weight:bold; - } - .b-new-entry .text-field:focus, - .b-new-entry .textarea:focus{ - -moz-box-shadow:0 0 8px rgba(82, 168, 236, 0.5); - -webkit-box-shadow:0 0 8px rgba(82, 168, 236, 0.5); - border-color:rgba(82, 168, 236, 0.75) !important; - color:#333; - } - - .b-new-entry .ssl-crtfct-box .textarea{ - margin:10px 0 0; - } - .b-new-entry .select{ - position: absolute; - top:auto; - left:195px; - width: 195px; - height: 28px; - padding: 0 24px 0 8px; - color: #555; - font:bold 14px/28px arial,sans-serif; - background:#fff url(../images/select-arrow.png) no-repeat 100% 50%; - overflow: hidden; - border:2px solid #b8c2c3; - } - .b-new-entry .select.disabled{ - border: 0; - background-color: #FFFFCB; - opacity: 1; - background: 0; - } - - .b-new-entry .checkbox.disabled{ - background-position: -331px -126px; - margin-right:5px; - } - .b-new-entry .text-field:disabled{ - border:0; - background-color:#FFFFCB; - } - .b-new-entry select.styled{ - top:10px; - } - .b-new-entry option{ - font:14px arial,sans-serif; - } - .b-new-entry .form-options-group{} - - .b-new-entry .group-header{ - margin:12px 25px 12px 15px; - text-transform:uppercase; - color:#9c9c9c; - font-size:11px; - line-height:15px; - height:16px; - background:url(../images/dotted.gif) repeat-x 0 50%; - } - .b-new-entry .group-title-outer{ - display:inline-block; - width:165px; - padding:0 15px 0 0; - line-height:16px; - text-align:right; - background:#ffffcb; - } - .b-new-entry .group-title-inner{ - padding:2px 13px 2px 0; - } - .b-new-entry .group-title{ - border-bottom:1px solid #FFFFCB; - } - .b-new-entry .expanded .group-title-inner{ - background:#ffffcb url(../images/form-group-expanded.png) no-repeat 100% 50%; - } - .b-new-entry .collapsed .group-title-inner{ - background:#ffffcb url(../images/form-group-collapsed.png) no-repeat 100% 50%; - } - .b-new-entry .group-header:hover{ - cursor:pointer; - } - .b-new-entry .group-header:hover .group-title, - .b-new-entry .group-header .group-title:hover{ - color:#000; - border-bottom-color:#9fb35a; - } - .b-new-entry .group-header .group-title:active{ - color:#4B9427; - } - - .b-new-entry .mail-options-group{ - margin-bottom:27px; - } - .b-new-entry .mail-options-group .form-row{ - padding-bottom:0; - } - - .b-new-entry .delete-record{ - display: block; - position:relative; - top:11px; - float: left; - width: 11px; - height: 11px; - background: url(../images/delete-ico-off.png) no-repeat; - } - .b-new-entry .delete-record:hover{ - cursor:pointer; - background-image:url(../images/delete-ico.png); - } - .b-new-entry .delete-record:active{ - cursor:pointer; - background-image:url(../images/delete-ico-active.png); - } - - - .b-new-entry .checkbox{ - display:block; - float:left; - width:18px; - height:18px; - margin:6px 0 0; - background:url(/images/form-checkboxes.png) no-repeat; - } - .b-new-entry .checkbox:hover{ - background-position:0 -100px; - } - .b-new-entry .stats-settings{ - padding-left:40px; - } - .b-new-entry .db-credentials .field-label{ - text-indent:40px; - } - .b-new-entry_user .lastname-box{ - margin-bottom:30px; - } - .b-new-entry_dns .dns-template-box .styled{ - float:left; - margin:0 40px 0 0; - margin:0 20px 0 0; - width:230px; - cursor:pointer; - } - .b-new-entry_dns .ttl-field{ - width:75px; - } - .generate-pwd, - .context-settings{ - position:relative; - top:10px; - float:left; - display:block; - color:#5ea2a1; - border-bottom:1px solid #cdcea6; - text-transform:uppercase; - cursor:pointer; - - font-size:11px; - line-height:1; - letter-spacing:0.5px; - } - .generate-pwd:hover, - .context-settings:hover{ - color:#575757; - border-bottom-color:#b4c775; - } - .generate-pwd:active, - .context-settings:active{ - color:#b4c775; - } - - .b-new-entry .add-ns{ - display:-moz-inline-stack; - display: inline-block; - zoom: 1; - *display: inline; - - margin:0 0 7px 180px; - font-family:Georgia, "Times New Roman", Times, serif; - font-size:14px; - line-height:1; - text-transform:uppercase; - color:#66685d; - text-decoration:none; - } - .add-ns .icon{ - float:left; - display:block; - width:11px; - height:11px; - margin:2px 5px 0 0; - background:url(../images/add-entry-plus.gif) no-repeat; - font-size:0; - line-height:0; - } - .add-ns .btn-title{ - display:inline-block; - border-bottom:1px solid #b5c968; - } - .add-ns .btn-title:hover{ - color:#000; - border-bottom-color:#b85152; - } - .add-ns .btn-title:active{ - color:#b85152; - border-bottom-color:#000; - } - - - .b-new-entry .buttons-row{ - position:relative; - margin-top:13px; - padding:8px 15px 8px 195px; - border-top:1px solid #dcdbad; - background:url(../images/form-bottom-bg.png) repeat-x; - } - - .b-new-entry .cancel-btn{ - - display:-moz-inline-stack; - display: inline-block; - zoom: 1; - *display: inline; - - margin-left:30px; - font-size:11px; - line-height:1; - font-weight:bold; - - text-transform:uppercase; - color:#2ca9bd; - cursor:pointer; - border-bottom:1px solid #2ca9bd; - } - .b-new-entry .cancel-btn:hover{ - color:#999; - border-bottom-color:#999; - } - .b-new-entry .cancel-btn:active{ - color:#fc0; - border-bottom-color:#fc0; - } - - .b-new-entry .delete-btn{ - position:absolute; - top:18px; - right:16px; - - font-size:9px; - line-height:11px; - text-transform:uppercase; - color:#333; - letter-spacing:3px; - cursor:pointer; - border-bottom:1px solid #ff6766; - } - .b-new-entry .delete-btn:hover{ - color:#ff6766; - } - .b-new-entry .delete-btn:active{ - color:#fc0; - border-bottom-color:#fc0; - } - - - .b-new-entry .add-entry-btn{ - overflow:visible; - height:28px; - padding:0 50px; - -webkit-border-radius:9px; - -moz-border-radius:9px; - border-radius:9px; - border:2px solid #c8c09c; - background-color:#feff99; - color:#444428; - font-size:14px; - font-family:Arial, Helvetica, sans-serif; - font-weight:bold; - line-height:25px; - text-transform:uppercase; - cursor:pointer; - } - .b-new-entry .add-entry-btn:focus{ - position:relative; - top:1px; - } - .b-new-entry .add-entry-btn:hover{ - background-color:#feff77; - color:#464322; - border-color:#9e977b; - } - .b-new-entry .add-entry-btn:active{ - background-color:#928d7a; - color:#fefe9e; - border-color:#87826e; - } - .b-new-entry .autocomplete-box{ - position:relative; - float:left; - padding-right:35px; - background:#fff; - } - .b-new-entry .autocomplete-box .text-field{ - width:213px; - margin:0; - } - .b-new-entry .autocomplete-box .arrow{ - position:absolute; - top:0; - right:0; - display:block; - width:32px; - height:32px; - font-size:0; - line-height:0; - background:#fff url(../images/autocomplete-field-arrows-sprite.png) no-repeat; - cursor:pointer; - } - .b-new-entry .autocomplete-box .arrow:hover, - .b-new-entry .autocomplete-box .arrow:active, - .b-new-entry .autocomplete-box .arrow:focus{ - background-position:0 -32px; - } - - .b-new-entry .form-error{ - position:relative; - margin:-5px 5px 5px; - padding:8px 15px; - border:1px solid #dcdbad; - background:url(../images/form-bottom-bg.png) repeat-x; - } - .form-error .error-box{ - padding-left:18px; - background:url(../images/error-bullet.png) no-repeat 0 50%; - } - .form-error .error-box .error-message{ - color:#9a32ff; - font-size:16px; - line-height:22px; - } - .form-error .error-box .help-tip-url{ - position:relative; - top:-1px; - font-size:12px; - line-height:15px; - color:#b4b39f; - text-transform:uppercase; - text-decoration:none; - cursor:pointer; - border-bottom:1px solid #b4b39f; - } - .b-new-entry .help-tip-url:hover{ - color:#000; - border-bottom-color:#9fb35a; - } - - .b-new-entry_cron{} - - .b-new-entry_cron .form-row{ - padding-top:7px; - padding-bottom:5px; - } - .b-new-entry_cron .run-at-box{ - padding-bottom:7px; - } - .b-new-entry_cron .run-at-box .row-header{ - margin-top:35px; - } - .b-new-entry_cron .form-row-line .field-box{ - margin-right:14px; - } - .b-new-entry_cron .form-row-line .cron-week-box{ - margin:0; - } - .b-new-entry_cron .form-row-line .field-label{ - display:block; - float:none; - width:auto; - line-height:1; - padding:0 0 8px; - color:#7d7d7d; - - font-size:13px; - } - .b-new-entry_cron .form-row-line .text-field{ - width:112px; - margin:0; - } - .b-new-entry_cron .form-row-line .cron-week-box .text-field{ - width:109px; - margin:0; - } - .b-new-entry_cron .textarea{ - height:60px; - } - - - .b-new-detailed-restore{} - - .b-new-detailed-restore .add-entry-btn{ - padding:0 30px; - } - -/* Show/edit dns records form -- - - - - - - - - - - - - - - - - - - */ -.b-records-list{ - margin-left:160px; - } - .b-records-list .entry-header{ - padding-top:6px; - padding-bottom:11px; - } - .b-records-list .hide-records{ - font-size:10px; - font-family:Arial, Helvetica, sans-serif; - line-height:13px; - } - .b-records-list .add-btn{ - margin:0; - float:none; - } - .b-records-list .form-row{ - padding-top:5px; - padding-bottom:5px; - } - .b-records-list .add-box{ - padding-bottom:15px; - } - .b-records-list .buttons-row{ - margin-top:20px; - } - .form-row-line{ - position:relative; - } - .form-row-line .field-box{ - float:left; - } - .form-row-line .field-devider{ - float:left; - display:block; - min-height:30px; - margin:0 15px; - font-size:15px; - line-height:2; - } - .b-records-list .form-row-line .field-label{ - float:none; - display:block; - width:auto; - line-height:20px; - } - .b-records-list .dns-record-box .text-field{ - width:147px; - float:left; - margin:0; - } - .b-records-list .dns-type-box{ - margin-right:15px; - } - .b-records-list .dns-type-box .select{ - width:51px; - left:221px; - } - .b-records-list .dns-type-box select.styled{ - width:87px; - cursor:pointer; - } - .b-records-list .dns-value-box .text-field{ - float:none; - width:390px; - margin:0; - } - .b-records-list .delete-record{ - position:absolute; - top: auto; - bottom:15px; - right:11px; - display:block; - float:left; - width:11px; - height:11px; - background:url(../images/delete-ico-off.png) no-repeat; - } - - -/* Web-domains list -- - - - - - - - - - - - - - - - - - - */ -.domains-list{} - - .domains-list .entry-created{ - padding-top:9px; - } - .names{ - margin:0 0 6px; - color:#acacac; - } - .names .alias-title{ - position:relative; - top:-1px; - padding-right:3px; - padding:0 3px 0 25px; - font-size:10px; - line-height:1.8; - text-transform:uppercase; - } - .names .domain-name{ - position:relative; - top:-1px; - padding:0 3px 0 0; - font-size:12px; - line-height:1.5; - color:#acacac; - white-space:nowrap; - } - .row-details .names .primary{ - top:0; -/* padding:0 25px 0 0;*/ - font-size:20px; - font-family:Arial, Helvetica, sans-serif; - font-weight:normal; - font-style:normal; - color:#000; /* radikal'no cherniy, da! */ - } - .names .primary:active{ - color:#9fb749; - } - .domains-list .names .primary, - .dns-list .names .primary{ - border-bottom:1px solid #fff; - } - - .domains-list .props-main{ - width:345px; - } - .domains-list .ip-adr{ - font-size:16px; - color:#888; - } - .domains-list .ip-adr-box .prop-box{ - margin-left:20px; - } - - .domains-list .props-additional{ - width:230px; - padding-top:0; -/* background:#bbb;*/ - } - .domains-list .props-ext{ - width:170px; - padding-top:0; -/* background:#ddd;*/ - } - -.b-usage-box{ - display:block; -} - - .b-usage-box .prop-title{ - float:left; - margin:2px 15px 0 0; - } - .b-usage-box .usage-box{ - float:left; - width:136px; - } - .b-usage-box .usage-box{ - - } - .b-usage-box .value-box{ - float:left; - width:75px; - } - .b-usage-box .max-size{ - float:right; - } - .b-usage-box .value{ - display:block; - font-size:11px; - line-height:1; - color:#999; - } - .b-usage-box .max-size{ - position:relative; - top:2px; - font-size:14px; - line-height:1; - color:#ababab; - } - .b-usage-box .max-size .units{ - font-size:12px; - color:#797979; - } - .graph{ - position:relative; - border:1px solid #b7b7b9; - font-size:0; - line-height:0; - } - .graph .bar{ - position:relative; - display:block; - height:2px; - } - .critical .bar{ - background-color:#f00; - } - .middle .bar{ - background-color:#ff9934; - } - .low .bar{ - background-color:#9fec00; - } - -/* New graphs */ -.b-stats-box{ - position:relative; - margin-left:-25px; - padding-left:25px; - background:url(../images/stats-brace.png) no-repeat 0 50%; - } - .stats-box-title{ - position:absolute; - top:50%; - left:-68px; - - width:28px; - margin-top:-6px; - padding-right:35px; - text-transform:uppercase; - font-size:9px; - line-height:12px; - background:url(../images/stats-curve.png) no-repeat 85% 50%; - color:#acacac; - } - -.b-usage-box2{ - display:block; - margin:0 0 22px; - position:relative; - } - .b-usage-box2 .prop-title{ - float:left; - margin:2px 15px 0 0; - } - .b-usage-box2 .usage-box{ - float:left; - } - .b-usage-box2 .value-box{ - padding-top:11px; - float:left; - width:85px; - } - .b-usage-box2 .max-size{ - position:relative; - top:11px; - float:right; - padding:7px 0 0 3px; - border-left:1px solid #B7B7B9; - font-size:10px; - line-height:1; - color:#acacac; - } - .b-usage-box2 .max-size .units{ - font-size:10px; - color:#acacac; - } - .b-usage-box2 .graph{ - position:relative; - border:solid #b7b7b9; - border-width:1px 0 1px 1px; - font-size:0; - line-height:0; - } - .b-usage-box2 .value{ - position:absolute; - top:-15px; - left:0; - z-index:10; - display:block; - white-space:nowrap; - padding:0 0 7px 3px; - font-size:11px; - line-height:1; - background:url(../images/bar-value-mark.png) no-repeat 0 100%; - color:#797979; - } - .b-usage-box2 .value-size{ - padding-left:3px; - } - .b-usage-box2 .graph .bar{ - position:relative; - display:block; - height:2px; - background-color:#9fec00; - } - - /* Overdraft */ - .b-usage-box2 .overdraft{} - - .b-usage-box2 .overdraft .value{ - margin-left:-1px; - color:#F00; - } - - .b-usage-box2 .bar_overdraft{ - position:absolute; - top:-1px; - z-index:5; - display:block; - height:2px; - border:solid #b7b7b9; - border-width:1px 0; - background:#ff9934 url(../images/overrun-border.png) no-repeat 100% 0; - } - - -.domains-list .props-additional .prop-box, -.domains-list .props-ext .prop-box{ - display:block; - margin:0; - } - .stats-box{} - - .stats-box .stats-auth{ - position:relative; - top:3px; - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - - margin:0 0 0 5px; - padding:0 0 0 10px; - font-size:12px; - line-height:1.5; - color:#777; - cursor:pointer; - } - .stats-box .stats-auth-on{ - background:url(../images/auth-plus.png) no-repeat 0 60%; - } - .stats-box .stats-auth-text{ - display:block; - line-height:11px; - border-bottom:1px solid #cacbbd; - } - - .nginx-box{} - - .nginx-box .nginx-ext-list{ - position:relative; - top:3px; - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - - margin:0 0 0 5px; - border-bottom:1px solid #cacbbd; - font-size:12px; - line-height:1; - color:#777; - cursor:pointer; - } - .template-box{} - - .template-box .prop-value{ - padding:0; - cursor:pointer; - border-bottom:1px solid #cbcbbf; - } - -/* DNS list -- - - - - - - - - - - - - - - - - - - */ -.dns-list{} - - .dns-list .row-details{ - padding-bottom:8px; - } - .dns-list .entry-created{ - padding-top:9px; - } - .dns-list .props-main{ - width:295px; - } - .dns-list .props-additional{ - width:200px; - } - .dns-list .props-ext{ - width:250px; - } -.dns-list .props-additional .prop-box, -.dns-list .props-ext .prop-box{ - display:block; - margin:0; - } -.dns-list .ip-adr-box{ - margin:0; - } - .dns-list .ip-adr{ - font-size:12px; - line-height:1.5; - color:#777; - } - -/* Cron list -- - - - - - - - - - - - - - - - - - - */ -.cron-list{} - - .cron-list .entry-created{ - padding-top:18px; - } - .cron-list .cron-meta{ - margin:0 0 9px; - } - .cron-meta .prop-box{ - min-width:0; - } - .cron-meta .prop-title{ - display:block; - text-transform:none; - font-size:10px; - } - .cron-meta .prop-value{ - padding:0; - font-size:16px; - color:#7c7c7c; - } - .cron-meta .cron-min, - .cron-meta .cron-hour, - .cron-meta .cron-day, - .cron-meta .cron-week, - .cron-meta .cron-month{ - min-width:45px; - padding-right:20px; - } - - .cron-command-box{ - margin:0 0 5px; - } - .cron-command-line{ - position:relative; - padding:0 3px 0 0; - font-family:Arial, Helvetica, sans-serif; - font-size:20px; - line-height:1.5; - font-weight:normal; - font-style:normal; - color:#000; - - } - .cron-command-line:active{ - color:#9fb749; - } - .cron-list .cron-command-line{ - border-bottom:1px solid #fff; - } - - .cron-reported-to{ - margin:0 0 3px; - } - .cron-reported-to .prop-title{ - padding-right:3px; - } - .cron-reported-to .prop-value{ - padding:0 3px 0 0; - } - -/* Users list -- - - - - - - - - - - - - - - - - - - */ -.users-list{} - - .users-list .entry-created{ - padding-top:10px; - } - .users-list .user-wrap{ - margin:0 0 19px; - } - .users-list .props-main{ - width:345px; - width:330px; - } - .users-list .username-box{ - padding-top:6px; - margin:0 0 15px; - } - .users-list .username-box .user{ - position:relative; - top:-6px; - } - .users-list .username-box .nickname{ - border-bottom:1px solid #fff; - } - - .user-backups-box{ - margin-top:5px; - } - .user-backups-box .prop-title{ - border-bottom:1px solid #CBCBBF; - font-size:12px; - text-transform:capitalize; - cursor:pointer; - color:#777; - } - - .users-list .props-additional{ - width:200px; - width:225px; - } - .users-list .props-additional .prop-box, - .users-list .props-ext .prop-box{ - display:block; - } - .users-list .props-additional .ns1-box, - .users-list .props-additional .ns2-box{ - padding-left:27px; - } - .users-list .webtpl-box .group-switcher, - .users-list .ns-list-box .group-switcher{ - padding-left:2px; - } - .users-list .props-additional .ns1-box .prop-title, - .users-list .props-additional .ns2-box .prop-title{ - display: inline; - float: left; - margin: 2px 0 0 -27px; - } - .users-list .props-additional .ns1-box .prop-value, - .users-list .props-additional .ns2-box .prop-value{ - padding:0; - } - - .users-list .props-ext{ - width:190px; - } - - .users-list .db-box, - .users-list .dnsdomains-box{ - margin-top:35px; - } - - .username-box .prop-box{ - position:relative; - margin:0; - } - .user-details{ - font-size:12px; - } - .user-details .user-email{ - color:#777; - padding-right:5px; - } - .user-details .user-reports{ - color:#9c9c9c; - } - - .user-details .login-as{ - border-bottom: 1px solid #CBCBBF; - cursor: pointer; - padding-left: 0; - } - - .user-details-box .prop-box{ - margin:0 0 5px; - } - .user-details-box .user-name .prop-value, - .user-details-box .user-email{ - font-style:italic; - color:#706f6b; - } - -/* DB list -- - - - - - - - - - - - - - - - - - - */ -.db-list{} - - .db-list .row-details{ - padding-bottom:8px; - } - .db-list .db-devider{ - margin-top:25px; - position:relative; - display:block; - border-bottom:1px solid #e0e0e0; - } - .db-list .db-devider-title{ - display:block; - position:absolute; - top:-8px; - left:0; - width:100%; - } - .db-list .db-devider-outer{ - display:block; - position:absolute; - left:50%; - } - .db-list .db-devider-inner{ - background:#fff; - position:relative; - left:-50%; - padding:0 10px; - - font-size:11px; - font-weight:bold; - text-transform:uppercase; - color:#4097B3; - } - - .db-list .props-main{ - width:210px; - padding-right:10px; - } - .db-list .props-additional{ - width:340px; - padding-top:6px; - } - .db-list .props-ext{ - width:185px; - padding-top:6px; - } - .db-name{ - position:relative; - margin:0 0 6px; - padding:0 3px 0 0; - } - .db-name-box .db-name{ - font-size:20px; - font-family:Arial, Helvetica, sans-serif; - font-weight:normal; - font-style:normal; - line-height:27px; - } - .db-name:active{ - color:#9fb749; - } - .db-list .db-name{ - border-bottom:1px solid #fff; - } - - .db-list .ownership .prop-box{ - margin:5px 0 0; - } - .db-list .ownership .prop-value{ - padding:0; - font-size:11px; - font-style:italic; - } - .db-list .entry-created{ - padding:0; - } - .db-user-box{ - margin:0 0 10px; - } - .db-user-box .db-user{ - position:relative; - display:block; - float:left; - margin-right:25px; - padding-right:20px; - - font-size:12px; - line-height:1.25; /*15px*/ - font-style:italic; - color:#999; - } - .db-user-box .db-user:hover{ - color:#f00; - } - .db-user-box .change-pwd{ - position:relative; - top:1px; - display:inline-block; - border-bottom:1px solid #c9cabc; - text-transform:uppercase; - line-height:13px; - cursor:pointer; - visibility:hidden; - } - .add-db-user{ - border-bottom:1px solid #c9cabc; - text-transform:uppercase; - line-height:13px; - padding-left:10px; - background:url(../images/auth-plus.png) no-repeat 0 50%; - color:#555; - cursor:pointer; - } - .backup-db{ - float:left; - position:relative; - top:2px; - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - - border-bottom:1px solid #cacbbd; - font-size:12px; - line-height:13px; - color:#777; - cursor:pointer; - } - .db-list .b-usage-box{ - float:right; - position:relative; - top:1px; - } - .db-list .b-usage-box .usage-box{ - width:auto; - } - .db-list .b-usage-box .value, - .db-list .b-usage-box .max-size{ - color:#797979; - } - .db-list .b-usage-box .value-box{ - width:60px; - margin-right:5px; - } - .db-list .b-usage-box .max-size{ - float:left; - } - .db-list .b-usage-box .max-size .units{ - color:#ABABAB; - } - -/* Backups list -- - - - - - - - - - - - - - - - - - - */ -.backups-list{} - - .backups-list .row{ - padding:25px 10px 15px; - } - .backups-list .ownership{ - padding:5px 0 0; - } - .backups-list .props-main{ - padding-top:5px; - } - .backups-list .props-main .prop-box{ - margin:0; - } - .backups-list .props-additional{ - width:165px; - padding:4px 0 0; - } - .backups-list .props-ext{ - width:165px; - padding:0; - } - .backups-list .entry-created{ - width:185px; - padding:0; - } - .backups-list .backup-date, - .backups-list .backup-weekday{ - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - } - .backups-list .backup-date .backup-day{ - display:block; - width:105px; - font-size:14px; - font-family:Arial,Helvetica,sans-serif; - font-weight:bold; - line-height:20px; - color:#47443f; - } - .backups-list .backup-weekday{ - padding-top:4px; - color:#408abb; - } - .backups-list .backup-time, - .backups-list .generation-time .prop-value{ - font-size:10px; - color:#999; - } - .backups-list .generation-time .prop-value{ - color:#9C9C9C; - } - - .backups-list .generation-time{ - padding-top:4px; - } - .backups-list .backup-size{ - display:-moz-inline-stack; - display:inline-block; - padding-right:12px; - - font-size:10px; - line-height:24px; - - background:url(../images/green-bracket-l.png) no-repeat 0 50%; - color:#595959; - } - .backups-list .backup-size-inner{ - display:-moz-inline-stack; - display:inline-block; - - padding:0 10px; - background:url(../images/green-bracket-r.png) no-repeat 100% 50%; - } - .backups-list .backup-url, - .backups-list .backup-actions{ - font-size:13px; - color:#999; - } - .backups-list .backup-actions{ - background:#ccc; - } - .backups-list .backup-actions-url{ - float:right; - display:-moz-inline-stack; - display:inline-block; - vertical-align:top; - - -webkit-border-radius:9px; - -moz-border-radius:9px; - border-radius:9px; - - border:2px solid #fff; - color:#999; - line-height:26px; - } - .backups-list .row a.backup-actions-url:hover{ - padding:0 12px; - - border-color:#c8c09c; - background-color:#feff99; - color:#444428; - font-size:14px; - font-family:Arial, Helvetica, sans-serif; - font-weight:bold; - cursor:pointer; - text-decoration:none; - text-transform:uppercase; - } - - .backups-list .detailed-restore-ext{ - display:none; - } - - .backups-list a.detailed-restore-url:hover .detailed-restore-title{ - text-transform:none; - } - .backups-list a.detailed-restore-url:hover .detailed-restore-ext{ - display:inline-block; - } - - .backups-list .restore-url{ - margin-left:10px; - color:#93b749; - } - - .backup-tree{ - padding-left:130px; - } - - .backup-tree .backup-tree-item{ - padding:0 0 7px 25px; - background:url(../images/backup-checkbox.png) no-repeat 0 .5em; - } - .backup-tree .unchecked{ - background:url(../images/backup-checkbox-unchecked.png) no-repeat 0 .5em; - } - .backup-tree .checked{ - background:url(../images/backup-checkbox-checked.png) no-repeat 0 .5em; - } - - .backup-tree .backup-sections, - .backup-tree .backup-sections .sub-tree{ - padding:10px 0 0 25px; - } - - .backup-tree .node-item{ - font-size:13px; - font-weight:bold; - padding-left:15px; - background:url(../images/backup-collapsed-ico.png) no-repeat 0 .3em; - border-bottom:1px dashed #cfd19f; - color:#5a6962; - cursor:pointer; - } - .backup-tree .node-item:hover{ - color:#ffcf0b; - } - - .backup-tree .expanded{ - background:url(../images/backup-expand-ico.png) no-repeat 0 .45em; - } - .backup-tree .backup-sections .sub-tree .node-item{ - font-style:italic; - color:#abad85; - padding:0; - background:none; - border:none; - } - .backup-tree .backup-sections .sub-tree .node-item:hover{ - color:#abad85; - } - - .backup-tree .backup-sections .sub-tree .checked .node-item{ - color:#5a6962; - font-style:normal; - } - -/* Highlighted backup row */ -.backup-details-row_highlighted, -.backups-list .backup-details-row_highlighted:hover{ - background:#666; - } - .backup-details-row_highlighted .notes-wrap{ - font-size:14px; - line-height:25px; - font-weight:bold; - text-transform:uppercase; - color:#bad23e; - text-align:center; - padding:0 0 10px; - } - .backup-details-row_highlighted .restore-ico{ - padding:4px 0 4px 30px; - line-height:25px; - background:url(../images/backup-restore-ico.png) no-repeat; - } - .backup-details-row_highlighted .backup-time{ - color:#fff; - } - .backup-details-row_highlighted .ownership .prop-value{ - color:#c8c8c8; - } - .backups-list .backup-details-row_highlighted .backup-day{ - color:#fff; - } - .backups-list .backup-details-row_highlighted .backup-size{ - color:#ccc; - } - .backups-list .backup-details-row_highlighted .backup-actions{ - display:none; - } - -/* row hover effect -- - - - - - - - - - - - - - - - - - - */ -.row:hover{ - background-color:#ffffcb; -} -.ip-list .row:hover .ip-adr, -.domains-list .row:hover .names .primary, -.dns-list .row:hover .names .primary, -.cron-list .row:hover .cron-command-line, -.users-list .row:hover .username-box .nickname, -.db-list .row:hover .db-name{ - border-bottom-style:dashed; - border-bottom-color:#e5e5e5; - border-bottom-color:#bbb; -} -.ip-list .row:hover .ip-adr:hover, -.domains-list .row:hover .names .primary:hover, -.dns-list .row:hover .names .primary:hover, -.cron-list .row:hover .cron-command-line:hover, -.users-list .row:hover .username-box .nickname:hover, -.db-list .row:hover .db-name:hover{ - cursor:pointer; - border-bottom-style:solid; - border-bottom-color:#b4c775; -} -.ip-list .ip-details-suspended:hover .ip-adr, -.ip-list .ip-details-suspended:hover .ip-adr:hover{ - border:none; - cursor:default; -} -.backups-list .row:hover .backup-actions-url{ - border-color:#ffffcb; -} - -.row:hover .ip-status-info{ - background:url(../images/enabled-ico_.png) no-repeat 100% 50%; -} -.row:hover .delete-entry, -.row:hover .db-user-box .db-user{ - background:url(../images/delete-ico-off.png) no-repeat 100% 4px; -} -.row:hover .ip-suspended-status{ - background:url(../images/suspended-ico.png) no-repeat 100% 65%; -} -.ip-status-info:hover .ip-status-text, -.delete-entry:hover .delete-entry-text, -.row:hover .db-user-box .change-pwd{ - visibility:visible; -} -.row .ip-status-info:hover{ - background-image:url(../images/enabled-ico-hover.png); -} -.row .ip-suspended-status:hover{ - background-image:url(../images/suspended-ico.png); -} -.row .delete-entry:hover, -.row .db-user-box .db-user:hover{ - background-image:url(../images/delete-ico.png); - cursor:pointer; -} -.row .delete-entry:active{ - background-image:url(../images/delete-ico-active.png); - cursor:pointer; -} -.delete-entry:hover .delete-entry-text{ - color:#333; -} -.delete-entry .delete-entry-text:hover{ - cursor:pointer; -} -.delete-entry .delete-entry-text:active{ - color:#f00; -} -.row:hover .show-records, -.row:hover .hide-records, -.row:hover .template-box .prop-value, -.domains-list .row:hover .stats-box .stats-auth-text, -.domains-list .row:hover .nginx-box .nginx-ext-list, -.row:hover .db-user-box .change-pwd, -.row:hover .add-db-user, -.row:hover .backup-db, -.row:hover .user-backups-box .prop-title{ - color:#6aa0ac; - border-bottom-color:#cacbbd; -} - -.row:hover .user-details .login-as{ - border-bottom: 1px solid #FF9591; - color: #FFCC00; -} - - -.row:hover .template-box .prop-value:hover, -.row:hover .show-records:hover, -.hide-records:hover, -.domains-list .row:hover .stats-box .stats-auth-text:hover, -.domains-list .row:hover .nginx-box .nginx-ext-list:hover, -.row .db-user-box .change-pwd:hover, -.row .add-db-user:hover, -.row .backup-db:hover, -.row .user-backups-box:hover .prop-title{ - color:#575757; - border-bottom-color:#b4c775; -} -.row .template-box .prop-value:active, -.row .show-records:active, -.hide-records:active, -.domains-list .row:hover .stats-box .stats-auth-text:active, -.domains-list .row:hover .nginx-box .nginx-ext-list:active, -.users-list .username-box .nickname:active, -.users-list .user-backups-box .prop-title:active, -.row .db-user-box .change-pwd:active, -.row .add-db-user:active, -.row .backup-db:active, -.row .user-backups-box .prop-title:active{ - color:#b4c775; -} - -/* Checked row -- - - - - - - - - - - - - - - - - - - */ -.checked-row{ - background-color:#e4f7bf; -} - .checked-row .row-actions-box .check-control{ - background-position:0 -30px; - } - - .domains-list .checked-row .names .primary, - .dns-list .checked-row .names .primary, - .cron-list .checked-row .cron-command-line, - .users-list .checked-row .username-box .nickname, - .db-list .checked-row .db-name{ - border-bottom:1px solid #e4f7bf; - } - -/* Suspended row -- - - - - - - - - - - - - - - - - - - */ -.ip-details-suspended, -.suspended-row{} - -.ip-details-suspended:hover, -.suspended-row:hover{ - background-color:#fff; -} - .ip-details-suspended .entry-created, - .suspended-row .entry-created, - .suspended-row .username-box .role{ - color:#ccc; - } - .ip-details-suspended .ip-adr, - .suspended-row .ip-adr, - .suspended-row .cron-command-line, - .suspended-row .username-box, - .suspended-row .username-box .nickname, - .suspended-row .user-name .prop-value, - .suspended-row .user-backups-box .prop-title, - .suspended-row .user-details .user-email, - .suspended-row .user-details .user-reports, - .suspended-row .template-box .prop-value, - .suspended-row .stats-box-title, - .suspended-row .stats-box .stats-auth, - .suspended-row .nginx-box .nginx-ext-list{ - color:#ccc; - border:none; - } - .ip-details-suspended:hover .ip-adr, - .suspended-row:hover .ip-adr, - .suspended-row:hover .names .primary, - .domains-list .suspended-row:hover .names .primary, - .dns-list .suspended-row:hover .names .primary, - .cron-list .suspended-row:hover .cron-command-line, - .users-list .suspended-row:hover .username-box .nickname, - .users-list .suspended-row:hover .user-backups-box .prop-title, - .suspended-row .stats-box .stats-auth-text{ - border:none; - } - .ip-details-suspended:hover .ip-adr:hover, - .suspended-row:hover .ip-adr:hover, - .cron-list .suspended-row:hover .cron-command-line:hover, - .users-list .suspended-row:hover .username-box .nickname:hover, - .users-list .suspended-row:hover .user-backups-box .prop-title:hover, - .cron-list .suspended-row:hover .cron-command-line{ - border:none; - cursor:default; - } - .users-list .suspended-row .username-box .nickname:active, - .users-list .suspended-row .user-backups-box .prop-title:active{ - color:#ccc; - } - -.ip-details-suspended .prop-title, -.ip-details-suspended .prop-value, -.suspended-row .prop-title, -.suspended-row .prop-value, -.suspended-row .b-usage-box .value, -.suspended-row .b-usage-box .max-size, -.suspended-row .b-usage-box .max-size .units, -.suspended-row .b-usage-box2 .value, -.suspended-row .b-usage-box2 .max-size, -.suspended-row .names .primary{ - color:#ccc; -} -.suspended-row .b-usage-box .bar, -.suspended-row .b-usage-box2 .graph .bar { - background-color:#ccc; -} -.suspended-row:hover .show-records, -.suspended-row:hover .hide-records, -.suspended-row:hover .template-box .prop-value, -.domains-list .suspended-row:hover .stats-box .stats-auth-text, -.domains-list .suspended-row:hover .nginx-box .nginx-ext-list, -.suspended-row:hover .user-backups-box .prop-title, -.suspended-row:hover .template-box .prop-value:hover, -.suspended-row:hover .show-records:hover, -.suspended-row .hide-records:hover, -.domains-list .suspended-row:hover .stats-box .stats-auth-text:hover, -.domains-list .suspended-row:hover .nginx-box .nginx-ext-list:hover{ - color:#ccc; - border:none; - cursor:default; -} -.suspended-row:hover .template-box .prop-value:active, -.suspended-row:hover .show-records:active, -.suspended-row .hide-records:active, -.domains-list .suspended-row:hover .stats-box .stats-auth-text:active, -.domains-list .suspended-row:hover .nginx-box .nginx-ext-list:active, -.users-list .suspended-row .username-box .nickname:active, -.users-list .suspended-row .user-backups-box .prop-title:active{ - color:#ccc; -} -.suspended-row .stats-box-title{ - background-image:url(../images/stats-curve-grey.png); -} - -.success-box { - color: #BBBF45; - font-size: 22px; - padding-left: 136px; - padding-bottom: 30px; -} - -.inactive-row { font-style: italic; opacity: 0.38; background: url('../images/bg_line.png');filter: alpha(opacity = 38); } -.form-suspended input[type="text"], .form-suspended input[type="checkbox"], .form-suspended .checkbox, .form-suspended select, .form-suspended textarea, .form-suspended .select { opacity: 0.38;filter: alpha(opacity = 38); } -.form-suspended .do_action_toggle_suspend {opacity: 1; filter: alpha(opacity = 100);} - - -.stats-block{ - background:#474338; - padding:10px; - width:600px; - margin:0 auto 10px; -} -.stats-block-header{ - color:#fc0; - font-size:12px; - font-weight:bold; - text-align:center; -} -.stats-block .stats-graph{ - display:block; - margin:0 auto; -} - -/* START: DEV!! */ -.stats-subbar {cursor: pointer;} -.stats-subbar .sub-active{font-weight: bold;} -/* END: DEV */ +/*- - - - - - - - - - - - - - - - - - - +Title : Vesta +Author : Eugen Lobicov, eugen.lobicov@gmail.com + +created : November 27, 2009 +last updated : January 15, 2012 +- - - - - - - - - - - - - - - - - - */ + +html{ + font-size:100.01%; /* prevent IE's extreme font-resizing bug*/ +} + +body{ + position:relative; + font:normal 62.5%/1.5 Helvetica, Arial, sans-serif; + background:#B2AD9C url(../images/thin-grey-line-4.gif) repeat-x; + color:#333; +} +#page{ + width:965px; + width:955px; + margin:3px auto 0; + border:1px solid red; + border:solid #807D70; + border-width:0 1px; +} +.outer{ + padding-bottom:58px; + background:#fff url(../images/footer-bg.gif) repeat-x 0 100%; +} +#header{ + padding:0 1px 0 10px; + height:26px; + border-bottom:2px solid #333527; + background-color:#484439; +} +.logo-box{ + float:left; +} +.logo, +.logo a, +.logo a span{ + display:block; + width:80px; + height:26px; +} +.logo a{ + position:relative; + overflow:hidden; + font-size:1.2em; /*12px */ + text-decoration:none; + color:#fff; + display:block; + text-indent:-9999px; +} +.logo a span{ + position:absolute; + top:1px; + left:0; + z-index:1; + width:72px; + height:24px; + background:url(../images/vesta-logo-2011-12-14.png) no-repeat; +} +.settings{ + float:right; +} +.settings .settings-item, +.extra-services .service-item{ + float:left; + display:block; + padding:0 10px; + font-size:9px; + line-height:26px; + + text-transform:uppercase; + letter-spacing:1px; +} +.settings .item-title, +.extra-services .item-title{ + font-family:Arial, Helvetica, san-serif; + font-size:9px; + color:#C0BD00; + text-decoration:none; + border-bottom:1px dotted #68684B; +} +.settings a.item-title:hover{ + color:#fefda0; + text-decoration:none; +} +.settings a.item-title:active{ + color:#E16734; + text-decoration:none; +} +.settings .logged-as{ + margin:0; +} +.settings .logged-as{ + position:relative; + top:1px; + padding-right:5px; + font-size:16px; + line-height:20px; + font-family:Georgia, Cambria, "Times New Roman", Times, serif; + font-weight:bold; + font-style:italic; + color:#fff; + text-transform:none; + border:none; + letter-spacing:normal; +} +.settings .logout{ + float:left; + display:block; + text-transform:uppercase; + letter-spacing:1px; + line-height:26px; + } + .settings .logout .item-title{ + display:block; + padding:0 10px; + font-size:9px; + line-height:26px; + border:none; + } + .settings .logout .item-title-inner{ + border-bottom:1px dotted #68684B; + } + .logout a.item-title:hover{ + background-color:#a3b82d; + color:#ffffc5; + } + .logout a.item-title:hover .item-title-inner{ + border:none; + } + + .logout a.item-title:active{ + background-color:#ffff66; + color:#272700; + } +#logged-in-as{ + background-color: #FFCC00; + border: 2px solid #EE7250; + color: #FFFFFF; + font-family: arial; + font-size: 12px; + font-weight: bold; + height: 26px; + margin: 2px auto -3px; + padding: 7px 0 0; + text-align: center; + width: 955px; +} +.extra-services{ + float:right; + margin-right:59px; +} +.extra-services .service-item{ + position:relative; + padding:0 13px; + line-height:26px; + letter-spacing:normal; +} +.extra-services .item-devider{ + position:absolute; + top:-3px; + left:0; + width:100%; + height:3px; +} +.extra-services .item-title{ + font-family:Arial, Helvetica, san-serif; + font-size:10px; + font-weight:bold; + color:#C0E1F3; + border-bottom:1px dotted #7D939F; +} +.extra-services .active{ + cursor:default; + background:#333; + font-weight:bold; + } + .extra-services .service-item:hover{ + cursor:pointer; + } + .extra-services .service-item:hover .item-title{ + color:#fffa96; + border-bottom-color:#fffa96; + } + .extra-services .service-item:active{ + background:#333; + } + .extra-services .service-item:active .item-title{ + color:#fff; + border:none; + } + .extra-services .active .item-title{ + color:#fff997; + border:none; + } + .extra-services .active .item-devider{ + background:#ff6766; + } + +/*Remove button padding in FF*/ +input::-moz-focus-inner{ + border: 0; + padding: 0; +} +.cc:after{ + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} +.hidden{ + display:none !important; +} + +/* Navigation +- - - - - - - - - - - - - - - - - - - - */ +#primary-nav-box{ + clear:both; + height:115px; + background-color:#ecf3d2; +} +.primary-nav{} + +.primary-nav .section{ + position:relative; + float:left; + display:block; + padding-right:1px; + background:url(../images/nav-devider-2.png) no-repeat 100% 50%; +} +.primary-nav .last-section{ + background:none; + padding:0; +} +.section .section-inner{ + width:130px; + min-height:100px; + height:auto !important; + height:100px; + padding:15px 0 3px 6px; + padding:15px 0 0 6px; + } +.primary-nav .last-section .section-inner{ + width:133px; + width:127px; +} +.section .section-title{ + position:absolute; + left:7px; + bottom:9px; + font-family:Arial, Helvetica, sans-serif; + font-size:15px; + line-height:1.2; + font-weight:bold; + text-transform:uppercase; + color:#393939; + color:#33342e; + } + .section .section-title .to-section{ + float:left; + margin-right:4px; + } + /* + .section .section-title .add-entry{ + position:relative; + top:2px; + float:left; + display:block; + width:14px; + height:14px; + background:url(../images/plus-sprite1.png) no-repeat; + font-size:0; + line-height:0; + visibility:hidden; + } + .section .section-title .add-entry:hover{ + background-position:-14px 0; + cursor:pointer; + } + */ +.section .section-devider{ + position:absolute; + left:0; + bottom:0; + z-index:10; + display:block; + width:100%; + height:3px; + + /*background:url(../images/section-status-sprite-5.gif) no-repeat -420px 115px; */ + /*background:url(../images/section-status-sprite-6.png) no-repeat -420px 100%;*/ + background:url(../images/section-status-sprite-7.png) no-repeat -136px 100%; + +} + +.dnstpl-nav-item .section-title{ + background-position:100% 85%; +} +.section .def{ + display:block; + font-family:Arial, Helvetica, sans-serif; + font-size:12px; + color:#8c9c91; +} +.section:hover .section-inner{ + background-color:#F1F7D6; + color:#000; + cursor:pointer; + } + .section:hover .section-devider{ + background-position:0 100%; + } + .section:hover .section-title{ + color:#000; + } +.primary-nav .active .section-inner{ + cursor:pointer; + } + .primary-nav .active .section-devider{ + /*background-position:-283px 100%;*/ + background-position:-276px 100%; + + height:6px; + bottom:-3px; + } + .primary-nav .active .def{ + color:#8c9c91; + } + .primary-nav .active .section-title{ + color:#393939; + } + +#console{ + position:relative; + clear:both; + height:70px; + background-color:#a09d98; + background:#535049 url(../images/console-box-bg.png) repeat-x; + border-bottom:1px solid #7a7967; + z-index:1; +} + +.b-console{ + position:absolute; + left:50%; +} + +.b-console-wrap{ + position:relative; + right:50%; + width:655px; + padding:10px 15px 16px 25px; + background:url(../images/console-bg.png) repeat; + + border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + -webkit-border-top-right-radius: 0; + -webkit-border-top-left-radius: 0; + -webkit-border-bottom-right-radius: 5px; + -webkit-border-bottom-left-radius: 5px; +} + .b-console-form{} + + .b-console-field{ + float:left; + width:548px; + margin-right:15px; + padding:5px 10px; + border:2px solid #42647f; + font-family:Arial, Helvetica, sans-serif; + font-size:18px; + font-style:italic; + font-weight:bold; + color:#aaa; + } + .b-console-field:focus{ + -moz-box-shadow:0 0 8px rgba(82, 168, 236, 0.5); + -webkit-box-shadow:0 0 8px rgba(82, 168, 236, 0.5); + border-color:rgba(82, 168, 236, 0.75) !important; + color:#333; + } + .b-console-btn{ + float:left; + overflow:visible; + height:30px; + margin:4px 0 0; + padding:0 20px; + -webkit-border-radius:4px; + -moz-border-radius:4px; + border-radius:4px; + border:0 none; + background-color:#fdcd00; + color:#4b3600; + + font-size:13px; + font-family:Arial, Helvetica, sans-serif; + font-weight:bold; + line-height:30px; + text-transform:uppercase; + cursor:pointer; + + /* a little animation effect on hover for -webkit- */ + -webkit-transition-property: background; + -webkit-transition-duration: 150ms; + -webkit-transition-timing-function: ease-in-out; + } + .b-console-btn:focus{ + position:relative; + top:1px; + } + .b-console-btn:hover{ + background-color:#ffe84c; + color:#39351c; + } + .b-console-btn:active{ + background-color:#333; + color:#fff; + } + +.b-console-statuses{ + margin-top:15px; +} + + .b-console-status{ + position:relative; + padding:5px 80px 5px 10px; + border:2px dashed #999; + background-color:#feff99; + color:#666; + font-size:12px; + } + .b-console-status-message{ + float:left; + color:#666; + } + .b-console-status-action{ + float:right; + margin-right:-36px; + text-decoration:underline; + } + .b-console-status-message b{ + font-weight:bold; + color:#333; + } + .b-console-status-arrow{ + position:absolute; + top:10px; + right:12px; + display:block; + width:14px; + height:8px; + background:url(../images/status-arrow.png) no-repeat; + } + + + +#actions-toolbar{ + clear:both; + position:relative; + /*padding:15px 20px 15px 280px;*/ + padding:15px 20px 15px 250px; + background-color:#f3f3d9; + border-bottom:1px solid #c9cbc8; +} +.add-domain, +.add-btn{ + position:relative; + top:2px; + float:left; + /*margin:0 0 0 -260px;*/ + margin:0 0 0 -230px; + border-bottom:1px solid #b5c968; + font-family:Georgia, "Times New Roman", Times, serif; + font-size:16px; + line-height:1; + text-transform:uppercase; + color:#66685d; + text-decoration:none; +} +.add-domain .icon, +.add-btn-icon{ + float:left; + display:block; + width:11px; + height:11px; + margin:4px 5px 0 0; + background:url(../images/add-entry-plus.gif) no-repeat; + font-size:0; + line-height:0; + } + .add-btn:hover{ + color:#000; + border-bottom-color:#b85152; + } + .add-btn:active{ + color:#b85152; + border-bottom-color:#000; + } + +.select-all{ + padding:0 40px 0 0; + font-size:13px; + color:#7f7e6c; + text-decoration:underline; + cursor:pointer; + } + .select-all:hover{ + text-decoration:none; + } +.clear-selected{ + font-size:11px; + line-height:10px; + text-transform:uppercase; + color:#bcb6a6; + cursor:pointer; + letter-spacing:0.2px; + border-bottom:1px solid #bcb6a6; + } + .clear-selected:hover{ + color:#000; + border-bottom-color:#b85152; + } + .clear-selected:active{ + color:#b85152; + border-bottom-color:#000; + } + +.db-manager{ + float:right; + margin:5px 0 0 25px; + font-size:11px; + line-height:1.273; /*14px*/ + text-transform:uppercase; + letter-spacing:0.2px; + border-bottom:1px solid #bcb6a6; + text-decoration:none; + color:#9b9b8f; + } + .db-manager .highlighted{ + font-style:normal; + font-weight:bold; + color:#4097b3; + } + .db-manager:hover{ + color:#4097b3; + border-bottom-color:#b85152; + } + .db-manager:active{ + color:#b85152; + border-bottom-color:#4097b3; + } + .db-manager:active .highlighted{ + color:#b85152; + } + +/* Row filters */ + +.row-filters{} + + .b-row-selector{ + float:left; + width:240px; + } + + .b-row-selector .checkbox-selector{ + position:relative; + top:4px; + margin-right:20px; + } + .b-row-selector .b-cust-sel{ + width:100px; + } + +.checkbox-selector, +.context-actions{ + display:-moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; + vertical-align:top; + } + .checkbox-selector .checkbox{ + display:block; + float:left; + width:11px; + height:11px; + margin:2px 5px 0 0; + background:url(../images/checkbox-selector.png) no-repeat; + cursor:pointer; + } + .checkbox-selector .selector-title{ + float:left; + font-size:11px; + line-height:15px; + text-transform:uppercase; + color:#5d5d5d; + cursor:pointer; + white-space:nowrap; + } + .checkbox-selector:hover .checkbox{ + background-position:0 -90px; + } + .checkbox-selector .selector-title:hover{ + color:#2ea8bd; + } + .checkbox-selector .selector-title:active{ + color:#fc0; + } + +/* Custom select */ +.b-cust-sel{ + position: relative; + font-size: 12px; + + background-color: #fff; + + box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10); + -moz-box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10); + -webkit-box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10); + + border: 1px solid #c5c4bf; + display: block; + white-space: nowrap; + position: relative; + height: 20px; + line-height: 20px; + padding: 0 0 0 8px; + color: #616161; + +} +.b-cust-sel .title{ + margin-right: 26px; + display: block; + overflow: hidden; + white-space: nowrap; + -o-text-overflow: ellipsis; + -ms-text-overflow: ellipsis; + text-overflow: ellipsis; +} +.cust-sel-arrow{ + -moz-background-clip : padding; + -webkit-background-clip: padding-box; + background-clip : padding-box; + background: #ccc; + + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.6, #f5f4ef)); + background-image: -webkit-linear-gradient(center bottom, #fff 0%, #f5f4ef 60%); + background-image: -moz-linear-gradient(center bottom, #fff 0%, #f5f4ef 60%); + background-image: -o-linear-gradient(bottom, #fff 0%, #f5f4ef 60%); + background-image: -ms-linear-gradient(top, #cccccc 0%,#f5f4ef 60%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#f5f4ef',GradientType=0 ); + background-image: linear-gradient(top, #cccccc 0%,#f5f4ef 60%); + + border-left: 1px solid #c5c4bf; + position: absolute; + right: 0; + top: 0; + display: block; + height: 100%; + width: 21px; +} +.cust-sel-arrow i{ + display: block; + width: 100%; + height: 100%; + background:url(../images/custom-arrow.png) no-repeat 50% 50%; +} +.b-cust-sel .cust-sel-options{ + position:absolute; + top:21px; + left:-1px; + width:100%; + padding:5px 0 2px; + border:solid #C5C4BF; + border-width:0 1px 1px; + background:#fff; + z-index:100; + } + .b-cust-sel .cust-sel-option{ + padding:0 0 4px 18px; + background:url(../images/cust-option-bullets.png) no-repeat 5px 7px; + color:#828282; + cursor:pointer; + } + .b-cust-sel .cust-sel-option:hover{ + color:#333; + } + .b-cust-sel .ico_gray{ + background-position:5px 7px; + } + .b-cust-sel .ico_green{ + background-position:5px -35px; + } + .b-cust-sel .ico_red{ + background-position:5px -79px; + } + +.b-cust-sel_inactive{ + background:#f3f3d9; + box-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + } + .b-cust-sel_inactive .cust-sel-arrow{ + background:#f3f3d9; + } + .b-cust-sel_inactive .cust-sel-options{ + display:none; + } + +.domain-groups-selector{ + float:left; + width:270px; + padding-top:2px; + font-size:11px; + line-height:15px; + } + .domain-groups-selector .selector-wrap{ + display:-moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; + vertical-align:top; + padding-right:15px; + border-bottom:1px solid #d5d6c4; + background:url(../images/custom-arrow.png) no-repeat 100% 6px; + } + .domain-groups-selector .selector-title{ + padding-right:5px; + font-weight:normal; + text-transform:uppercase; + color:#8b8b8b; + } + .domain-groups-selector .selected-groups{ + color:#5d5d5d; + } + +#content{ + padding:8px 0 50px; + background:#fff url(../images/content-separator.png) repeat-x; +} +.b-ext-info-wrap{ + position:relative; + min-height:40px; + } + .b-ext-info{ + margin:0 0 6px; + padding:10px 25px 15px; + background:#ddd; + font-size:12px; + color:#000; + text-shadow: 0px 1px 1px #fff; + } + .b-ext-info-btn{ + position:relative; + left:-1px; + width:102px; + height:15px; + margin-left:-50px; + margin:-6px auto 0; + background-color:#fff; + cursor:pointer; + } + .b-ext-info-wrap_collapsed .b-ext-info-btn{ + background:url(../images/more-info-btn.png) no-repeat; + } +.content-inner{ + background-color:#fff; + padding:0 15px 15px; +} +/* +.domains{ + border-bottom:1px solid #333; + background-color:#fff; +} +.domains .item{ + position:relative; + padding:0 20px; + background:url(../images/long-dotted-bg.gif) repeat-x; +} +.domains .first{ + margin:0; + background:none; +} +.item .view{ + padding:15px 0 10px; +} +.item .ip-box{ + float:left; + width:150px; + padding-top:12px; +} +.ip-box .ip{ + font-size:1.1em; /*11px* + line-height:21px; + font-weight:normal; + letter-spacing:.175em; +} +.ip-box .owner{ + display:block; + font-size:1.2em; + color:#999; +} +.details .names .primary{ + font-size:20px; + font-family:Georgia, "Times New Roman", Times, serif; + font-weight:normal; + font-style:normal; + color:#000; /* radikal'no cherniy, da! * +} +.names .divider{ + font-size:12px; + line-height:2; + text-transform:uppercase; + color:#999; +} +.names .domain-name{ + padding:0 10px; + font-size:12px; + line-height:2; + font-style:italic; + color:#999; + white-space:nowrap; +} +.item .details{ + margin-left:150px; +} +.item .details .status{ + float:right; + width:60%; + margin:5px 20px 0 0; + color:#999; +} +.details .status .logging{ + float:left; +} +.logging .err-log, +.logging .log, +.logging .stats{ + float:left; + display:inline; + margin:0 20px 0 0; + padding-right:25px; + background:url(../images/logging-status-sprite.png) no-repeat -100% -100%; +} +.logging .off{ + background-position:100% 0; +} +.logging .on{ + background-position:100% 100%; +} +.logging .stats{ + margin-right:10px; +} +.logging .stat-auth{ + float:left; + display:inline; + margin:0 10px 0 0; + border-bottom:1px solid #9bcad0; + color:#999; + cursor:pointer; +} +.details .status .params{ + float:right; +} +.params .memory, +.params .t, +.params .max-weight, +.params .upload-weight{ + float:left; + display:inline; + margin-right:25px; +} +.memory{} + +.memory dl{ + overflow:hidden; + margin-bottom:2px; +} + +.memory dt{ + float:left; + width:15px; +} +.memory dd{ + float:left; +} +.memory .usage{} + +.memory .usage .value{ + float:left; + width:30px; +} +.memory .usage .divider{ + padding-right:2px; +} +.memory .usage .max{ + font-weight:bold; + border-bottom:1px solid #9bcad0; + cursor:pointer; +} +.memory .graph{ + clear:both; + position:relative; + border:1px solid #ccc; + font-size:0; + line-height:0; +} +.memory .graph .bar{ + position:relative; + display:block; + height:2px; +} +.critical .bar{ + background-color:#f00; +} +.middle .bar{ + background-color:#ff9934; +} +.low .bar{ + background-color:#acd45a; +} +.params .upload-weight{ + margin:0; +} +.t .value, +.max-weight .value, +.upload-weight .value{ + border-bottom:1px solid #9bcad0; + cursor:pointer; +} +.item .close{ + position:absolute; + top:30px; + right:20px; + display:block; + width:16px; + height:16px; + background:url(../images/sprite.png) no-repeat; + cursor:pointer; +} +.item .close:hover{ + background-position:-16px 0; +} +*/ +/* row hover effect +- - - - - - - - - - - - - - - - - - - */ +/* +.domains .item:hover{ + background-color:#ffffcb; +} +.item:hover .names .primary{ + cursor:pointer; + border-bottom:1px dotted #ccc; +} +.item:hover .logging .err-log, +.item:hover .logging .log, +.item:hover .logging .stats, +.item:hover .memory dt, +.item:hover .memory .divider, +.item:hover .params .title{ + color:#98bc65; +} +.item:hover .logging .stat-auth, +.item:hover .memory .max, +.item:hover .t .value, +.item:hover .max-weight .value, +.item:hover .upload-weight .value{ + color:#333; +} +*/ +/* Edit +- - - - - - - - - - - - - - - - - - - */ +/* +.edit{ + position:relative; + clear:both; + margin:0 -20px; + padding:15px 20px 10px; + border-top:2px solid #999; + background-color:#ffffcb; +} +.change-ip-box{ + margin:0 0 20px; +} +.edit .ip-details{ + float:left; + margin-right:20px; +} +.change-ip{ + width:140px; + padding:3px 5px; + border:2px solid #9bcad0; + font-size:16px; +} +.ip-details .created{ + display:block; + margin:5px 0 0; + font-size:12px; +} +.change-domain-name{ + width:360px; + padding:3px 5px; + border:2px solid #9bcad0; + font-size:16px; + font-weight:bold; +} +.edit .domain-name{ + font-size:20px; + font-family:Georgia, "Times New Roman", Times, serif; + font-weight:normal; + font-style:normal; + color:#000; /* radikal'no cherniy, da! * + white-space:nowrap; + line-height:2; +} +.change-logs-box{ + float:left; + width:170px; + margin-right:50px; + padding-left:180px; +} +.ownership{ + display:inline; + float:left; + width:160px; + margin:0 0 0 -180px; + font-size:12px; +} +.ownership .owner{ + display:block; + font-size:16px; + font-weight:bold; + font-style:italic; +} +.change-logs{ + padding-top:5px; +} +.change-logs label{ + display:block; + margin:0 0 9px; +} +.change-logs .last{ + margin:0; +} +.change-logs .title{ + display:block; + float:left; + width:70px; + font-size:14px; +} +.change-logs .title b{ + font-weight:bold; +} +.change-logs .checkbox{ + margin:3px 0 0; + border:2px solid #9bcad0; +} +.change-logs .stat-auth{ + position:relative; + top:-3px; + left:10px; + border-bottom:1px solid #9BCAD0; + cursor:pointer; +} +.change-memory{ + float:left; + width:150px; + padding-top:5px; + font-size:14px; +} +.change-memory dl{ + margin-bottom:13px; +} +.change-memory .value{ + padding:0 5px; + font-style:italic; + font-weight:bold; + color:#6b930f; +} +.change-memory .amount{ + margin-top:7px; +} +.change-memory .amount .max{ + width:50px; + margin-left:10px; + padding:2px 5px; + border:2px solid #9bcad0; + text-align:right; +} +.change-memory .graph{ + clear:both; + position:relative; + border:1px solid #9c9c82; + font-size:0; + line-height:0; +} +.change-memory .graph .bar{ + position:relative; + display:block; + height:2px; +} +.change-params{ + float:right; + font-size:14px; +} +.change-params li{ + margin-top:5px; + overflow:hidden; +} +.change-params .title{ + float:left; + width:165px; +} +.change-params .param-value{ + width:30px; + margin-right:5px; + padding:1px 5px; + border:2px solid #9bcad0; + text-align:right; + +} +.aliases{ + position:relative; + padding-top:20px; + margin-bottom:20px; +} +.aliases .title{ + float:left; + display:block; + margin-right:20px; + padding-top:3px; + font-size:17px; +} +.aliases .hint{ + position:absolute; + top:-15px; + left:78px; + font-style:italic; + color:#999; +} +.aliases-list{ + width:90%; + padding:3px 5px; + border:2px solid #9bcad0; + font-size:16px; +} +.buttons{} + +.buttons .apply{ + width:auto; + overflow:visible; + padding:4px 20px 3px 17px; + background-color:#feff99; + border:1px solid #728b25; + + font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif; + font-size:120%; + font-weight:bold; + text-transform:uppercase; + + line-height:130%; + color:#6b9e05; + cursor:pointer; + + float:right; +} +.buttons .devider{ + text-transform:uppercase; + float:right; + display:block; + line-height:24px; + margin:0 10px; +} +.buttons .cancel{ + float:right; + width:auto; + height:20px; + padding:0; + border:0 none; + background:none; + color:#e09462; + text-decoration:underline; + cursor:pointer; +} +.hidden{ + display:none; +} +.edit .iSelected{ /* descendant selector for more specific style context * + border-color:#59B4FF; /* blue border on focused input * + font-weight:bold; +} +.edit .not-valid{ /* descendant selector for more specific style context * + border-color:#f00; /* RED border on error field * +} + +.edit .edit-help{ + padding-bottom:1px; + font-family:Arial, Helvetica, sans-serif; + font-size:14px; + color:#a0a094; + text-decoration:none; + text-transform:uppercase; + border-bottom:1px solid #b5b59b; +} +.edit .delete{ + position:absolute; + top:15px; + right:25px; + padding:3px 25px 3px 2px; + font-family:Arial, Helvetica, sans-serif; + font-size:14px; + color:#a0a094; + text-transform:uppercase; + background:url(../images/delete.gif) no-repeat 100% 50%; + cursor:pointer; +} +.edit .delete .title{ + padding-bottom:1px; + border-bottom:1px solid #b5b59b; +} +*/ + +/* IP list +- - - - - - - - - - - - - - - - - - - - */ +#content{ + padding-bottom:0; +} +.ip-list{} + + .row{ + padding-top:10px; + padding:10px 10px 15px 10px; +/* min-height:125px; + min-height:110px;*/ + background:url(../images/long-dotted-bg.gif) repeat-x; + } + .first-row{ + background-image:none; + } + .row-meta{ + float:left; + width:150px; + } + .row-details{ + margin-left:150px; +/* background:#e0e0e0;*/ + } + .row-actions-box{ +/* margin:0 0 5px;*/ + } + + .row-actions-box .check-this, + .row-actions-box .check-control{ + float:left; + width:10px; + height:10px; + margin-top:4px; +/* background:url(../images/logging-status-sprite.png) no-repeat;*/ + background:url(../images/check-row-sprite.png) no-repeat; + background:url(../images/check-row-sprite_.png) no-repeat; + } + .row-actions-box .check-control:hover{ + cursor:pointer; + background-position:0 -89px; + } + .row-actions-box .row-operations{ + float:right; + } + .ip-status-info{ + position:relative; + display:block; + float:left; + /*margin-right:25px;*/ + padding-right:15px; + font-size:12px; + } + .ip-status-info .ip-status-text{ + visibility:hidden; + } + .row .ip-suspended-status{ + margin:0; + background:url(../images/suspended-ico.png) no-repeat 100% 65%; + } + .row .ip-suspended-status .ip-status-text{ + text-transform:uppercase; + color:#333; + font-size:10px; + visibility:visible; + } + .delete-entry{ + position:relative; + top:2px; + display:block; + float:left; + padding-right:15px; + font-size:11px; + text-transform:uppercase; + } + .delete-entry .delete-entry-text{ + visibility:hidden; + } + .entry-created{ + padding-top:7px; + font-size:11px; + color:#6f6f6f; + } + .props-main{ + float:left; + width:425px; +/* background:#eee;*/ + } + .props-main .prop-box{ + margin-bottom:15px; + } + + .props-additional{ + float:left; + width:200px; + padding:5px 10px 0 0; +/* background:#ccc;*/ + } + .props-ext{ + float:right; + width:120px; + padding-top:5px; +/* background:#d5d5d5;*/ + } + .ip-adr-box, + .user-wrap{ + margin:0 0 5px; + } + .ip-adr{ + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + + font-size:22px; + line-height:1; + font-weight:normal; + letter-spacing:0.5px; + } + .ip-adr:active, + .ip-adr:focus{ + color:#9fb749; + } + .ip-adr .dot{ + padding:0 3px; + } + .ip-list .ip-adr{ + border-bottom:1px solid #fff; + } + .username-box .user{ + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + + margin-right:10px; + } + .username-box .nickname{ + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + margin-right:5px; + + font-size:20px; + line-height:25px; + font-family:Arial, Helvetica, sans-serif; + color:#000; + + } + .username-box .role{ + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + + position:relative; + top:2px; + + font-size:12px; + line-height:25px; + color:#777; + } + + .prop-box{ + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + + min-width:40%; +/* width:auto !important; + width:40%;*/ + margin:0 0 3px; + font-size:10px; + } + .prop-title{ + text-transform:uppercase; + color:#9c9c9c; + font-size:9px; + line-height:15px; + } + .prop-value{ + padding-left:3px; + font-size:12px; + color:#777; + } + .prop-value-collapsed-childs{ + padding-right:15px; + background:url(../images/group-values-collapsed.png) no-repeat 100% 5px; + cursor:pointer; + } + .show-records{ + display:inline-block; + padding-right:15px; + border-bottom:1px solid #c9cabc; + background:url(../images/show-records-ico.png) no-repeat 100% 50%; + text-transform:uppercase; + line-height:13px; + cursor:pointer; + } + .hide-records{ + display:inline-block; + padding-right:15px; + border-bottom:1px solid #c9cabc; + background:url(../images/hide-records-ico.png) no-repeat 100% 50%; + text-transform:uppercase; + line-height:13px; + cursor:pointer; + } + + .prop-box_group-values{ + display:block; + } + .prop-box_group-values .prop-title{ + float: left; + margin:2px 0 0; + } + .prop-box_group-values .group-values{ + float:left; + margin-left:3px; + } + .group-values .prop-value{ + display:block; + } + .group-values__bullet .prop-value{ + padding-left:15px; + background:url(../images/group-value-bullet.png) no-repeat 5px 8px; + } + .group-values .group-switcher{ + padding-right:15px; + background:url(../images/group-values-collapsed.png) no-repeat 100% 4px; + } + .group-values .group-values-count{ + font-size:12px; + font-style:italic; + color:#cdcdcd; + border-bottom:1px solid #c9cac4; + cursor:pointer; + } + + .props-additional .owner-box{ + padding-left:45px; + } + .props-additional .owner-box .prop-title{ + float:left; + display:inline; + margin:2px 0 0 -45px; + } + .props-additional .owner-box .prop-value{ + padding:0; + } + + .ip-list .ip-name-box{ + margin:0 0 3px; + } + + +/* Entry adding form +- - - - - - - - - - - - - - - - - - - */ +.b-new-entry{ + margin-top:25px; + border-style:solid; + border-width:2px 1px 1px; + border-color:#999 #ccc #ccc #ccc; + + background-color:#ffffcb; + } + .b-new-entry .entry-header{ + margin:0 0 10px; + padding:8px 15px 9px; + border-bottom:1px solid #dcdbab; + font-size:16px; + font-family:Georgia, "Times New Roman", Times, serif; + text-transform:uppercase; + color:#747668; + } + .b-new-entry .form-row{ + position:relative; + padding:10px 15px; + } + .b-new-entry .field-label, + .b-new-entry .row-header{ + float:left; + width:180px; + font-size:15px; + line-height:2; + color:#3d504a; + } + .b-new-entry .text-field{ + float:left; + width:265px; + margin:0 15px 0 0; + padding:6px 7px; + border:2px solid #b8c2c3; + color:#555; + font-family:Arial, Helvetica, sans-serif; + font-size:14px; + font-weight:bold; + } + .b-new-entry .field-label .remark{ + position:relative; + top:-14px; + display:block; + font-style:italic; + font-size:14px; + color:#a3a590; + } + + .b-new-entry .custom-select{} + + .b-new-entry .textarea{ + width:685px; + height:100px; + padding:6px 7px; + border:2px solid #b8c2c3; + color:#555; + font-family:Arial, Helvetica, sans-serif; + font-size:14px; + font-weight:bold; + } + .b-new-entry .text-field:focus, + .b-new-entry .textarea:focus{ + -moz-box-shadow:0 0 8px rgba(82, 168, 236, 0.5); + -webkit-box-shadow:0 0 8px rgba(82, 168, 236, 0.5); + border-color:rgba(82, 168, 236, 0.75) !important; + color:#333; + } + + .b-new-entry .ssl-crtfct-box .textarea{ + margin:10px 0 0; + } + .b-new-entry .select{ + position: absolute; + top:auto; + left:195px; + width: 195px; + height: 28px; + padding: 0 24px 0 8px; + color: #555555; + font:bold 14px/28px arial,sans-serif; + background:#fff url(../images/select-arrow.png) no-repeat 100% 50%; + overflow: hidden; + border:2px solid #b8c2c3; + } + .b-new-entry .select.disabled{ + border: 0; + background-color: #FFFFCB; + opacity: 1; + background: 0; + } + + .b-new-entry .checkbox.disabled{ + background-position: -331px -126px; + margin-right:5px; + } + .b-new-entry .text-field:disabled{ + border:0; + background-color:#FFFFCB; + } + .b-new-entry select.styled{ + top:10px; + } + .b-new-entry option{ + font:14px arial,sans-serif; + } + .b-new-entry .form-options-group{} + + .b-new-entry .group-header{ + margin:12px 25px 12px 15px; + text-transform:uppercase; + color:#9c9c9c; + font-size:11px; + line-height:15px; + height:16px; + background:url(../images/dotted.gif) repeat-x 0 50%; + } + .b-new-entry .group-title-outer{ + display:inline-block; + width:165px; + padding:0 15px 0 0; + line-height:16px; + text-align:right; + background:#ffffcb; + } + .b-new-entry .group-title-inner{ + padding:2px 13px 2px 0; + } + .b-new-entry .group-title{ + border-bottom:1px solid #FFFFCB; + } + .b-new-entry .expanded .group-title-inner{ + background:#ffffcb url(../images/form-group-expanded.png) no-repeat 100% 50%; + } + .b-new-entry .collapsed .group-title-inner{ + background:#ffffcb url(../images/form-group-collapsed.png) no-repeat 100% 50%; + } + .b-new-entry .group-header:hover{ + cursor:pointer; + } + .b-new-entry .group-header:hover .group-title, + .b-new-entry .group-header .group-title:hover{ + color:#000; + border-bottom-color:#9fb35a; + } + .b-new-entry .group-header .group-title:active{ + color:#4B9427; + } + + .b-new-entry .mail-options-group{ + margin-bottom:27px; + } + .b-new-entry .mail-options-group .form-row{ + padding-bottom:0; + } + + .b-new-entry .delete-record{ + display: block; + position:relative; + top:11px; + float: left; + width: 11px; + height: 11px; + background: url(../images/delete-ico-off.png) no-repeat; + } + .b-new-entry .delete-record:hover{ + cursor:pointer; + background-image:url(../images/delete-ico.png); + } + .b-new-entry .delete-record:active{ + cursor:pointer; + background-image:url(../images/delete-ico-active.png); + } + + + .b-new-entry .checkbox{ + display:block; + float:left; + width:18px; + height:18px; + margin:6px 0 0; + background:url(/images/form-checkboxes.png) no-repeat; + } + .b-new-entry .checkbox:hover{ + background-position:0 -100px; + } + .b-new-entry .stats-settings{ + padding-left:40px; + } + .b-new-entry .db-credentials .field-label{ + text-indent:40px; + } + .b-new-entry_user .lastname-box{ + margin-bottom:30px; + } + .b-new-entry_dns .dns-template-box .styled{ + float:left; + margin:0 40px 0 0; + margin:0 20px 0 0; + width:230px; + cursor:pointer; + } + .b-new-entry_dns .ttl-field{ + width:75px; + } + .generate-pwd, + .context-settings{ + position:relative; + top:10px; + float:left; + display:block; + color:#5ea2a1; + border-bottom:1px solid #cdcea6; + text-transform:uppercase; + cursor:pointer; + + font-size:11px; + line-height:1; + letter-spacing:0.5px; + } + .generate-pwd:hover, + .context-settings:hover{ + color:#575757; + border-bottom-color:#b4c775; + } + .generate-pwd:active, + .context-settings:active{ + color:#b4c775; + } + + .b-new-entry .add-ns{ + display:-moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; + + margin:0 0 7px 180px; + font-family:Georgia, "Times New Roman", Times, serif; + font-size:14px; + line-height:1; + text-transform:uppercase; + color:#66685d; + text-decoration:none; + } + .add-ns .icon{ + float:left; + display:block; + width:11px; + height:11px; + margin:2px 5px 0 0; + background:url(../images/add-entry-plus.gif) no-repeat; + font-size:0; + line-height:0; + } + .add-ns .btn-title{ + display:inline-block; + border-bottom:1px solid #b5c968; + } + .add-ns .btn-title:hover{ + color:#000; + border-bottom-color:#b85152; + } + .add-ns .btn-title:active{ + color:#b85152; + border-bottom-color:#000; + } + + + .b-new-entry .buttons-row{ + position:relative; + margin-top:13px; + padding:8px 15px 8px 195px; + border-top:1px solid #dcdbad; + background:url(../images/form-bottom-bg.png) repeat-x; + } + + .b-new-entry .cancel-btn{ + + display:-moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; + + margin-left:30px; + font-size:11px; + line-height:1; + font-weight:bold; + + text-transform:uppercase; + color:#2ca9bd; + cursor:pointer; + border-bottom:1px solid #2ca9bd; + } + .b-new-entry .cancel-btn:hover{ + color:#999; + border-bottom-color:#999; + } + .b-new-entry .cancel-btn:active{ + color:#fc0; + border-bottom-color:#fc0; + } + + .b-new-entry .delete-btn{ + position:absolute; + top:18px; + right:16px; + + font-size:9px; + line-height:11px; + text-transform:uppercase; + color:#333; + letter-spacing:3px; + cursor:pointer; + border-bottom:1px solid #ff6766; + } + .b-new-entry .delete-btn:hover{ + color:#ff6766; + } + .b-new-entry .delete-btn:active{ + color:#fc0; + border-bottom-color:#fc0; + } + + + .b-new-entry .add-entry-btn{ + overflow:visible; + height:28px; + padding:0 50px; + -webkit-border-radius:9px; + -moz-border-radius:9px; + border-radius:9px; + border:2px solid #c8c09c; + background-color:#feff99; + color:#444428; + font-size:14px; + font-family:Arial, Helvetica, sans-serif; + font-weight:bold; + line-height:25px; + text-transform:uppercase; + cursor:pointer; + } + .b-new-entry .add-entry-btn:focus{ + position:relative; + top:1px; + } + .b-new-entry .add-entry-btn:hover{ + background-color:#feff77; + color:#464322; + border-color:#9e977b; + } + .b-new-entry .add-entry-btn:active{ + background-color:#928d7a; + color:#fefe9e; + border-color:#87826e; + } + .b-new-entry .autocomplete-box{ + position:relative; + float:left; + padding-right:35px; + background:#fff; + } + .b-new-entry .autocomplete-box .text-field{ + width:213px; + margin:0; + } + .b-new-entry .autocomplete-box .arrow{ + position:absolute; + top:0; + right:0; + display:block; + width:32px; + height:32px; + font-size:0; + line-height:0; + background:#fff url(../images/autocomplete-field-arrows-sprite.png) no-repeat; + cursor:pointer; + } + .b-new-entry .autocomplete-box .arrow:hover, + .b-new-entry .autocomplete-box .arrow:active, + .b-new-entry .autocomplete-box .arrow:focus{ + background-position:0 -32px; + } + + .b-new-entry .form-error{ + position:relative; + margin:-5px 5px 5px; + padding:8px 15px; + border:1px solid #dcdbad; + background:url(../images/form-bottom-bg.png) repeat-x; + } + .form-error .error-box{ + padding-left:18px; + background:url(../images/error-bullet.png) no-repeat 0 50%; + } + .form-error .error-box .error-message{ + color:#9a32ff; + font-size:16px; + line-height:22px; + } + .form-error .error-box .help-tip-url{ + position:relative; + top:-1px; + font-size:12px; + line-height:15px; + color:#b4b39f; + text-transform:uppercase; + text-decoration:none; + cursor:pointer; + border-bottom:1px solid #b4b39f; + } + .b-new-entry .help-tip-url:hover{ + color:#000; + border-bottom-color:#9fb35a; + } + + .b-new-entry_cron{} + + .b-new-entry_cron .form-row{ + padding-top:7px; + padding-bottom:5px; + } + .b-new-entry_cron .run-at-box{ + padding-bottom:7px; + } + .b-new-entry_cron .run-at-box .row-header{ + margin-top:35px; + } + .b-new-entry_cron .form-row-line .field-box{ + margin-right:14px; + } + .b-new-entry_cron .form-row-line .cron-week-box{ + margin:0; + } + .b-new-entry_cron .form-row-line .field-label{ + display:block; + float:none; + width:auto; + line-height:1; + padding:0 0 8px; + color:#7d7d7d; + + font-size:13px; + } + .b-new-entry_cron .form-row-line .text-field{ + width:112px; + margin:0; + } + .b-new-entry_cron .form-row-line .cron-week-box .text-field{ + width:109px; + margin:0; + } + .b-new-entry_cron .textarea{ + height:60px; + } + + + .b-new-detailed-restore{} + + .b-new-detailed-restore .add-entry-btn{ + padding:0 30px; + } + +/* Show/edit dns records form +- - - - - - - - - - - - - - - - - - - */ +.b-records-list{ + margin-left:160px; + } + .b-records-list .entry-header{ + padding-top:6px; + padding-bottom:11px; + } + .b-records-list .hide-records{ + font-size:10px; + font-family:Arial, Helvetica, sans-serif; + line-height:13px; + } + .b-records-list .add-btn{ + margin:0; + float:none; + } + .b-records-list .form-row{ + padding-top:5px; + padding-bottom:5px; + } + .b-records-list .add-box{ + padding-bottom:15px; + } + .b-records-list .buttons-row{ + margin-top:20px; + } + .form-row-line{ + position:relative; + } + .form-row-line .field-box{ + float:left; + } + .form-row-line .field-devider{ + float:left; + display:block; + min-height:30px; + margin:0 15px; + font-size:15px; + line-height:2; + } + .b-records-list .form-row-line .field-label{ + float:none; + display:block; + width:auto; + line-height:20px; + } + .b-records-list .dns-record-box .text-field{ + width:147px; + float:left; + margin:0; + } + .b-records-list .dns-type-box{ + margin-right:15px; + } + .b-records-list .dns-type-box .select{ + width:51px; + left:221px; + } + .b-records-list .dns-type-box select.styled{ + width:87px; + cursor:pointer; + } + .b-records-list .dns-value-box .text-field{ + float:none; + width:390px; + margin:0; + } + .b-records-list .delete-record{ + position:absolute; + top: auto; + bottom:15px; + right:11px; + display:block; + float:left; + width:11px; + height:11px; + background:url(../images/delete-ico-off.png) no-repeat; + } + + +/* Web-domains list +- - - - - - - - - - - - - - - - - - - */ +.domains-list{} + + .domains-list .entry-created{ + padding-top:9px; + } + .names{ + margin:0 0 6px; + color:#acacac; + } + .names .alias-title{ + position:relative; + top:-1px; + padding-right:3px; + padding:0 3px 0 25px; + font-size:10px; + line-height:1.8; + text-transform:uppercase; + } + .names .domain-name{ + position:relative; + top:-1px; + padding:0 3px 0 0; + font-size:12px; + line-height:1.5; + color:#acacac; + white-space:nowrap; + } + .row-details .names .primary{ + top:0; +/* padding:0 25px 0 0;*/ + font-size:20px; + font-family:Arial, Helvetica, sans-serif; + font-weight:normal; + font-style:normal; + color:#000; /* radikal'no cherniy, da! */ + } + .names .primary:active{ + color:#9fb749; + } + .domains-list .names .primary, + .dns-list .names .primary{ + border-bottom:1px solid #fff; + } + + .domains-list .props-main{ + width:345px; + } + .domains-list .ip-adr{ + font-size:16px; + color:#888; + } + .domains-list .ip-adr-box .prop-box{ + margin-left:20px; + } + + .domains-list .props-additional{ + width:230px; + padding-top:0; +/* background:#bbb;*/ + } + .domains-list .props-ext{ + width:170px; + padding-top:0; +/* background:#ddd;*/ + } + +.b-usage-box{ + display:block; +} + + .b-usage-box .prop-title{ + float:left; + margin:2px 15px 0 0; + } + .b-usage-box .usage-box{ + float:left; + width:136px; + } + .b-usage-box .usage-box{ + + } + .b-usage-box .value-box{ + float:left; + width:75px; + } + .b-usage-box .max-size{ + float:right; + } + .b-usage-box .value{ + display:block; + font-size:11px; + line-height:1; + color:#999; + } + .b-usage-box .max-size{ + position:relative; + top:2px; + font-size:14px; + line-height:1; + color:#ababab; + } + .b-usage-box .max-size .units{ + font-size:12px; + color:#797979; + } + .graph{ + position:relative; + border:1px solid #b7b7b9; + font-size:0; + line-height:0; + } + .graph .bar{ + position:relative; + display:block; + height:2px; + } + .critical .bar{ + background-color:#f00; + } + .middle .bar{ + background-color:#ff9934; + } + .low .bar{ + background-color:#9fec00; + } + +/* New graphs */ +.b-stats-box{ + position:relative; + margin-left:-25px; + padding-left:25px; + background:url(../images/stats-brace.png) no-repeat 0 50%; + } + .stats-box-title{ + position:absolute; + top:50%; + left:-68px; + + width:28px; + margin-top:-6px; + padding-right:35px; + text-transform:uppercase; + font-size:9px; + line-height:12px; + background:url(../images/stats-curve.png) no-repeat 85% 50%; + color:#acacac; + } + +.b-usage-box2{ + display:block; + margin:0 0 22px; + position:relative; + } + .b-usage-box2 .prop-title{ + float:left; + margin:2px 15px 0 0; + } + .b-usage-box2 .usage-box{ + float:left; + } + .b-usage-box2 .value-box{ + padding-top:11px; + float:left; + width:85px; + } + .b-usage-box2 .max-size{ + position:relative; + top:11px; + float:right; + padding:7px 0 0 3px; + border-left:1px solid #B7B7B9; + font-size:10px; + line-height:1; + color:#acacac; + } + .b-usage-box2 .max-size .units{ + font-size:10px; + color:#acacac; + } + .b-usage-box2 .graph{ + position:relative; + border:solid #b7b7b9; + border-width:1px 0 1px 1px; + font-size:0; + line-height:0; + } + .b-usage-box2 .value{ + position:absolute; + top:-15px; + left:0; + z-index:10; + display:block; + white-space:nowrap; + padding:0 0 7px 3px; + font-size:11px; + line-height:1; + background:url(../images/bar-value-mark.png) no-repeat 0 100%; + color:#797979; + } + .b-usage-box2 .value-size{ + padding-left:3px; + } + .b-usage-box2 .graph .bar{ + position:relative; + display:block; + height:2px; + background-color:#9fec00; + } + + /* Overdraft */ + .b-usage-box2 .overdraft{} + + .b-usage-box2 .overdraft .value{ + margin-left:-1px; + color:#F00; + } + + .b-usage-box2 .bar_overdraft{ + position:absolute; + top:-1px; + z-index:5; + display:block; + height:2px; + border:solid #b7b7b9; + border-width:1px 0; + background:#ff9934 url(../images/overrun-border.png) no-repeat 100% 0; + } + + +.domains-list .props-additional .prop-box, +.domains-list .props-ext .prop-box{ + display:block; + margin:0; + } + .stats-box{} + + .stats-box .stats-auth{ + position:relative; + top:3px; + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + + margin:0 0 0 5px; + padding:0 0 0 10px; + font-size:12px; + line-height:1.5; + color:#777; + cursor:pointer; + } + .stats-box .stats-auth-on{ + background:url(../images/auth-plus.png) no-repeat 0 60%; + } + .stats-box .stats-auth-text{ + display:block; + line-height:11px; + border-bottom:1px solid #cacbbd; + } + + .nginx-box{} + + .nginx-box .nginx-ext-list{ + position:relative; + top:3px; + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + + margin:0 0 0 5px; + border-bottom:1px solid #cacbbd; + font-size:12px; + line-height:1; + color:#777; + cursor:pointer; + } + .template-box{} + + .template-box .prop-value{ + padding:0; + cursor:pointer; + border-bottom:1px solid #cbcbbf; + } + +/* DNS list +- - - - - - - - - - - - - - - - - - - */ +.dns-list{} + + .dns-list .row-details{ + padding-bottom:8px; + } + .dns-list .entry-created{ + padding-top:9px; + } + .dns-list .props-main{ + width:295px; + } + .dns-list .props-additional{ + width:200px; + } + .dns-list .props-ext{ + width:250px; + } +.dns-list .props-additional .prop-box, +.dns-list .props-ext .prop-box{ + display:block; + margin:0; + } +.dns-list .ip-adr-box{ + margin:0; + } + .dns-list .ip-adr{ + font-size:12px; + line-height:1.5; + color:#777; + } + +/* Cron list +- - - - - - - - - - - - - - - - - - - */ +.cron-list{} + + .cron-list .entry-created{ + padding-top:18px; + } + .cron-list .cron-meta{ + margin:0 0 9px; + } + .cron-meta .prop-box{ + min-width:0; + } + .cron-meta .prop-title{ + display:block; + text-transform:none; + font-size:10px; + } + .cron-meta .prop-value{ + padding:0; + font-size:16px; + color:#7c7c7c; + } + .cron-meta .cron-min, + .cron-meta .cron-hour, + .cron-meta .cron-day, + .cron-meta .cron-week, + .cron-meta .cron-month{ + min-width:45px; + padding-right:20px; + } + + .cron-command-box{ + margin:0 0 5px; + } + .cron-command-line{ + position:relative; + padding:0 3px 0 0; + font-family:Arial, Helvetica, sans-serif; + font-size:20px; + line-height:1.5; + font-weight:normal; + font-style:normal; + color:#000; + + } + .cron-command-line:active{ + color:#9fb749; + } + .cron-list .cron-command-line{ + border-bottom:1px solid #fff; + } + + .cron-reported-to{ + margin:0 0 3px; + } + .cron-reported-to .prop-title{ + padding-right:3px; + } + .cron-reported-to .prop-value{ + padding:0 3px 0 0; + } + +/* Users list +- - - - - - - - - - - - - - - - - - - */ +.users-list{} + + .users-list .entry-created{ + padding-top:10px; + } + .users-list .user-wrap{ + margin:0 0 19px; + } + .users-list .props-main{ + width:345px; + width:330px; + } + .users-list .username-box{ + padding-top:6px; + margin:0 0 15px; + } + .users-list .username-box .user{ + position:relative; + top:-6px; + } + .users-list .username-box .nickname{ + border-bottom:1px solid #fff; + } + + .user-backups-box{ + margin-top:5px; + } + .user-backups-box .prop-title{ + border-bottom:1px solid #CBCBBF; + font-size:12px; + text-transform:capitalize; + cursor:pointer; + color:#777; + } + + .users-list .props-additional{ + width:200px; + width:225px; + } + .users-list .props-additional .prop-box, + .users-list .props-ext .prop-box{ + display:block; + } + .users-list .props-additional .ns1-box, + .users-list .props-additional .ns2-box{ + padding-left:27px; + } + .users-list .webtpl-box .group-switcher, + .users-list .ns-list-box .group-switcher{ + padding-left:2px; + } + .users-list .props-additional .ns1-box .prop-title, + .users-list .props-additional .ns2-box .prop-title{ + display: inline; + float: left; + margin: 2px 0 0 -27px; + } + .users-list .props-additional .ns1-box .prop-value, + .users-list .props-additional .ns2-box .prop-value{ + padding:0; + } + + .users-list .props-ext{ + width:190px; + } + + .users-list .db-box, + .users-list .dnsdomains-box{ + margin-top:35px; + } + + .username-box .prop-box{ + position:relative; + margin:0; + } + .user-details{ + font-size:12px; + } + .user-details .user-email{ + color:#777; + padding-right:5px; + } + .user-details .user-reports{ + color:#9c9c9c; + } + + .user-details .login-as{ + border-bottom: 1px solid #CBCBBF; + cursor: pointer; + padding-left: 0; + } + + .user-details-box .prop-box{ + margin:0 0 5px; + } + .user-details-box .user-name .prop-value, + .user-details-box .user-email{ + font-style:italic; + color:#706f6b; + } + +/* DB list +- - - - - - - - - - - - - - - - - - - */ +.db-list{} + + .db-list .row-details{ + padding-bottom:8px; + } + .db-list .db-devider{ + margin-top:25px; + position:relative; + display:block; + border-bottom:1px solid #e0e0e0; + } + .db-list .db-devider-title{ + display:block; + position:absolute; + top:-8px; + left:0; + width:100%; + } + .db-list .db-devider-outer{ + display:block; + position:absolute; + left:50%; + } + .db-list .db-devider-inner{ + background:#fff; + position:relative; + left:-50%; + padding:0 10px; + + font-size:11px; + font-weight:bold; + text-transform:uppercase; + color:#4097B3; + } + + .db-list .props-main{ + width:210px; + padding-right:10px; + } + .db-list .props-additional{ + width:340px; + padding-top:6px; + } + .db-list .props-ext{ + width:257px; + padding-top:6px; + } + .db-name{ + position:relative; + margin:0 0 6px; + padding:0 3px 0 0; + } + .db-name-box .db-name{ + font-size:20px; + font-family:Arial, Helvetica, sans-serif; + font-weight:normal; + font-style:normal; + line-height:27px; + } + .db-name:active{ + color:#9fb749; + } + .db-list .db-name{ + border-bottom:1px solid #fff; + } + + .db-list .ownership .prop-box{ + margin:5px 0 0; + } + .db-list .ownership .prop-value{ + padding:0; + font-size:11px; + font-style:italic; + } + .db-list .entry-created{ + padding:0; + } + .db-user-box{ + margin:0 0 10px; + } + .db-user-box .db-user{ + position:relative; + display:block; + float:left; + margin-right:25px; + padding-right:20px; + + font-size:12px; + line-height:1.25; /*15px*/ + font-style:italic; + color:#999; + } + .db-user-box .db-user:hover{ + color:#f00; + } + .db-user-box .change-pwd{ + position:relative; + top:1px; + display:inline-block; + border-bottom:1px solid #c9cabc; + text-transform:uppercase; + line-height:13px; + cursor:pointer; + visibility:hidden; + } + .add-db-user{ + border-bottom:1px solid #c9cabc; + text-transform:uppercase; + line-height:13px; + padding-left:10px; + background:url(../images/auth-plus.png) no-repeat 0 50%; + color:#555; + cursor:pointer; + } + .backup-db{ + float:left; + position:relative; + top:2px; + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + + border-bottom:1px solid #cacbbd; + font-size:12px; + line-height:13px; + color:#777; + cursor:pointer; + } + .db-list .b-usage-box{ + float:right; + position:relative; + top:1px; + } + .db-list .b-usage-box .usage-box{ + width:auto; + } + .db-list .b-usage-box .value, + .db-list .b-usage-box .max-size{ + color:#797979; + } + .db-list .b-usage-box .value-box{ + width:60px; + margin-right:5px; + } + .db-list .b-usage-box .max-size{ + float:left; + } + .db-list .b-usage-box .max-size .units{ + color:#ABABAB; + } + +/* Backups list +- - - - - - - - - - - - - - - - - - - */ +.backups-list{} + + .backups-list .row{ + padding:25px 10px 15px; + } + .backups-list .ownership{ + padding:5px 0 0; + } + .backups-list .props-main{ + padding-top:5px; + } + .backups-list .props-main .prop-box{ + margin:0; + } + .backups-list .props-additional{ + width:165px; + padding:4px 0 0; + } + .backups-list .props-ext{ + width:165px; + padding:0; + } + .backups-list .entry-created{ + width:185px; + padding:0; + } + .backups-list .backup-date, + .backups-list .backup-weekday{ + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + } + .backups-list .backup-date .backup-day{ + display:block; + width:105px; + font-size:14px; + font-family:Arial,Helvetica,sans-serif; + font-weight:bold; + line-height:20px; + color:#47443f; + } + .backups-list .backup-weekday{ + padding-top:4px; + color:#408abb; + } + .backups-list .backup-time, + .backups-list .generation-time .prop-value{ + font-size:10px; + color:#999; + } + .backups-list .generation-time .prop-value{ + color:#9C9C9C; + } + + .backups-list .generation-time{ + padding-top:4px; + } + .backups-list .backup-size{ + display:-moz-inline-stack; + display:inline-block; + padding-right:12px; + + font-size:10px; + line-height:24px; + + background:url(../images/green-bracket-l.png) no-repeat 0 50%; + color:#595959; + } + .backups-list .backup-size-inner{ + display:-moz-inline-stack; + display:inline-block; + + padding:0 10px; + background:url(../images/green-bracket-r.png) no-repeat 100% 50%; + } + .backups-list .backup-url, + .backups-list .backup-actions{ + font-size:13px; + color:#999; + } + .backups-list .backup-actions{ + background:#ccc; + } + .backups-list .backup-actions-url{ + float:right; + display:-moz-inline-stack; + display:inline-block; + vertical-align:top; + + -webkit-border-radius:9px; + -moz-border-radius:9px; + border-radius:9px; + + border:2px solid #fff; + color:#999; + line-height:26px; + } + .backups-list .row a.backup-actions-url:hover{ + padding:0 12px; + + border-color:#c8c09c; + background-color:#feff99; + color:#444428; + font-size:14px; + font-family:Arial, Helvetica, sans-serif; + font-weight:bold; + cursor:pointer; + text-decoration:none; + text-transform:uppercase; + } + + .backups-list .detailed-restore-ext{ + display:none; + } + + .backups-list a.detailed-restore-url:hover .detailed-restore-title{ + text-transform:none; + } + .backups-list a.detailed-restore-url:hover .detailed-restore-ext{ + display:inline-block; + } + + .backups-list .restore-url{ + margin-left:10px; + color:#93b749; + } + + .backup-tree{ + padding-left:130px; + } + + .backup-tree .backup-tree-item{ + padding:0 0 7px 25px; + background:url(../images/backup-checkbox.png) no-repeat 0 .5em; + } + .backup-tree .unchecked{ + background:url(../images/backup-checkbox-unchecked.png) no-repeat 0 .5em; + } + .backup-tree .checked{ + background:url(../images/backup-checkbox-checked.png) no-repeat 0 .5em; + } + + .backup-tree .backup-sections, + .backup-tree .backup-sections .sub-tree{ + padding:10px 0 0 25px; + } + + .backup-tree .node-item{ + font-size:13px; + font-weight:bold; + padding-left:15px; + background:url(../images/backup-collapsed-ico.png) no-repeat 0 .3em; + border-bottom:1px dashed #cfd19f; + color:#5a6962; + cursor:pointer; + } + .backup-tree .node-item:hover{ + color:#ffcf0b; + } + + .backup-tree .expanded{ + background:url(../images/backup-expand-ico.png) no-repeat 0 .45em; + } + .backup-tree .backup-sections .sub-tree .node-item{ + font-style:italic; + color:#abad85; + padding:0; + background:none; + border:none; + } + .backup-tree .backup-sections .sub-tree .node-item:hover{ + color:#abad85; + } + + .backup-tree .backup-sections .sub-tree .checked .node-item{ + color:#5a6962; + font-style:normal; + } + +/* Highlighted backup row */ +.backup-details-row_highlighted, +.backups-list .backup-details-row_highlighted:hover{ + background:#666; + } + .backup-details-row_highlighted .notes-wrap{ + font-size:14px; + line-height:25px; + font-weight:bold; + text-transform:uppercase; + color:#bad23e; + text-align:center; + padding:0 0 10px; + } + .backup-details-row_highlighted .restore-ico{ + padding:4px 0 4px 30px; + line-height:25px; + background:url(../images/backup-restore-ico.png) no-repeat; + } + .backup-details-row_highlighted .backup-time{ + color:#fff; + } + .backup-details-row_highlighted .ownership .prop-value{ + color:#c8c8c8; + } + .backups-list .backup-details-row_highlighted .backup-day{ + color:#fff; + } + .backups-list .backup-details-row_highlighted .backup-size{ + color:#ccc; + } + .backups-list .backup-details-row_highlighted .backup-actions{ + display:none; + } + +/* row hover effect +- - - - - - - - - - - - - - - - - - - */ +.row:hover{ + background-color:#ffffcb; +} +.ip-list .row:hover .ip-adr, +.domains-list .row:hover .names .primary, +.dns-list .row:hover .names .primary, +.cron-list .row:hover .cron-command-line, +.users-list .row:hover .username-box .nickname, +.db-list .row:hover .db-name{ + border-bottom-style:dashed; + border-bottom-color:#e5e5e5; + border-bottom-color:#bbb; +} +.ip-list .row:hover .ip-adr:hover, +.domains-list .row:hover .names .primary:hover, +.dns-list .row:hover .names .primary:hover, +.cron-list .row:hover .cron-command-line:hover, +.users-list .row:hover .username-box .nickname:hover, +.db-list .row:hover .db-name:hover{ + cursor:pointer; + border-bottom-style:solid; + border-bottom-color:#b4c775; +} +.ip-list .ip-details-suspended:hover .ip-adr, +.ip-list .ip-details-suspended:hover .ip-adr:hover{ + border:none; + cursor:default; +} +.backups-list .row:hover .backup-actions-url{ + border-color:#ffffcb; +} + +.row:hover .ip-status-info{ + background:url(../images/enabled-ico_.png) no-repeat 100% 50%; +} +.row:hover .delete-entry, +.row:hover .db-user-box .db-user{ + background:url(../images/delete-ico-off.png) no-repeat 100% 4px; +} +.row:hover .ip-suspended-status{ + background:url(../images/suspended-ico.png) no-repeat 100% 65%; +} +.ip-status-info:hover .ip-status-text, +.delete-entry:hover .delete-entry-text, +.row:hover .db-user-box .change-pwd{ + visibility:visible; +} +.row .ip-status-info:hover{ + background-image:url(../images/enabled-ico-hover.png); +} +.row .ip-suspended-status:hover{ + background-image:url(../images/suspended-ico.png); +} +.row .delete-entry:hover, +.row .db-user-box .db-user:hover{ + background-image:url(../images/delete-ico.png); + cursor:pointer; +} +.row .delete-entry:active{ + background-image:url(../images/delete-ico-active.png); + cursor:pointer; +} +.delete-entry:hover .delete-entry-text{ + color:#333; +} +.delete-entry .delete-entry-text:hover{ + cursor:pointer; +} +.delete-entry .delete-entry-text:active{ + color:#f00; +} +.row:hover .show-records, +.row:hover .hide-records, +.row:hover .template-box .prop-value, +.domains-list .row:hover .stats-box .stats-auth-text, +.domains-list .row:hover .nginx-box .nginx-ext-list, +.row:hover .db-user-box .change-pwd, +.row:hover .add-db-user, +.row:hover .backup-db, +.row:hover .user-backups-box .prop-title{ + color:#6aa0ac; + border-bottom-color:#cacbbd; +} + +.row:hover .user-details .login-as{ + border-bottom: 1px solid #FF9591; + color: #FFCC00; +} + + +.row:hover .template-box .prop-value:hover, +.row:hover .show-records:hover, +.hide-records:hover, +.domains-list .row:hover .stats-box .stats-auth-text:hover, +.domains-list .row:hover .nginx-box .nginx-ext-list:hover, +.row .db-user-box .change-pwd:hover, +.row .add-db-user:hover, +.row .backup-db:hover, +.row .user-backups-box:hover .prop-title{ + color:#575757; + border-bottom-color:#b4c775; +} +.row .template-box .prop-value:active, +.row .show-records:active, +.hide-records:active, +.domains-list .row:hover .stats-box .stats-auth-text:active, +.domains-list .row:hover .nginx-box .nginx-ext-list:active, +.users-list .username-box .nickname:active, +.users-list .user-backups-box .prop-title:active, +.row .db-user-box .change-pwd:active, +.row .add-db-user:active, +.row .backup-db:active, +.row .user-backups-box .prop-title:active{ + color:#b4c775; +} + +/* Checked row +- - - - - - - - - - - - - - - - - - - */ +.checked-row{ + background-color:#e4f7bf; +} + .checked-row .row-actions-box .check-control{ + background-position:0 -30px; + } + + .domains-list .checked-row .names .primary, + .dns-list .checked-row .names .primary, + .cron-list .checked-row .cron-command-line, + .users-list .checked-row .username-box .nickname, + .db-list .checked-row .db-name{ + border-bottom:1px solid #e4f7bf; + } + +/* Suspended row +- - - - - - - - - - - - - - - - - - - */ +.ip-details-suspended, +.suspended-row{} + +.ip-details-suspended:hover, +.suspended-row:hover{ + background-color:#fff; +} + .ip-details-suspended .entry-created, + .suspended-row .entry-created, + .suspended-row .username-box .role{ + color:#ccc; + } + .ip-details-suspended .ip-adr, + .suspended-row .ip-adr, + .suspended-row .cron-command-line, + .suspended-row .username-box, + .suspended-row .username-box .nickname, + .suspended-row .user-name .prop-value, + .suspended-row .user-backups-box .prop-title, + .suspended-row .user-details .user-email, + .suspended-row .user-details .user-reports, + .suspended-row .template-box .prop-value, + .suspended-row .stats-box-title, + .suspended-row .stats-box .stats-auth, + .suspended-row .nginx-box .nginx-ext-list{ + color:#ccc; + border:none; + } + .ip-details-suspended:hover .ip-adr, + .suspended-row:hover .ip-adr, + .suspended-row:hover .names .primary, + .domains-list .suspended-row:hover .names .primary, + .dns-list .suspended-row:hover .names .primary, + .cron-list .suspended-row:hover .cron-command-line, + .users-list .suspended-row:hover .username-box .nickname, + .users-list .suspended-row:hover .user-backups-box .prop-title, + .suspended-row .stats-box .stats-auth-text{ + border:none; + } + .ip-details-suspended:hover .ip-adr:hover, + .suspended-row:hover .ip-adr:hover, + .cron-list .suspended-row:hover .cron-command-line:hover, + .users-list .suspended-row:hover .username-box .nickname:hover, + .users-list .suspended-row:hover .user-backups-box .prop-title:hover, + .cron-list .suspended-row:hover .cron-command-line{ + border:none; + cursor:default; + } + .users-list .suspended-row .username-box .nickname:active, + .users-list .suspended-row .user-backups-box .prop-title:active{ + color:#ccc; + } + +.ip-details-suspended .prop-title, +.ip-details-suspended .prop-value, +.suspended-row .prop-title, +.suspended-row .prop-value, +.suspended-row .b-usage-box .value, +.suspended-row .b-usage-box .max-size, +.suspended-row .b-usage-box .max-size .units, +.suspended-row .b-usage-box2 .value, +.suspended-row .b-usage-box2 .max-size, +.suspended-row .names .primary{ + color:#ccc; +} +.suspended-row .b-usage-box .bar, +.suspended-row .b-usage-box2 .graph .bar { + background-color:#ccc; +} +.suspended-row:hover .show-records, +.suspended-row:hover .hide-records, +.suspended-row:hover .template-box .prop-value, +.domains-list .suspended-row:hover .stats-box .stats-auth-text, +.domains-list .suspended-row:hover .nginx-box .nginx-ext-list, +.suspended-row:hover .user-backups-box .prop-title, +.suspended-row:hover .template-box .prop-value:hover, +.suspended-row:hover .show-records:hover, +.suspended-row .hide-records:hover, +.domains-list .suspended-row:hover .stats-box .stats-auth-text:hover, +.domains-list .suspended-row:hover .nginx-box .nginx-ext-list:hover{ + color:#ccc; + border:none; + cursor:default; +} +.suspended-row:hover .template-box .prop-value:active, +.suspended-row:hover .show-records:active, +.suspended-row .hide-records:active, +.domains-list .suspended-row:hover .stats-box .stats-auth-text:active, +.domains-list .suspended-row:hover .nginx-box .nginx-ext-list:active, +.users-list .suspended-row .username-box .nickname:active, +.users-list .suspended-row .user-backups-box .prop-title:active{ + color:#ccc; +} +.suspended-row .stats-box-title{ + background-image:url(../images/stats-curve-grey.png); +} + +.success-box { + color: #BBBF45; + font-size: 22px; + padding-left: 136px; + padding-bottom: 30px; +} + +.inactive-row { font-style: italic; opacity: 0.38; background: url('../images/bg_line.png');filter: alpha(opacity = 38); } +.form-suspended input[type="text"], .form-suspended input[type="checkbox"], .form-suspended .checkbox, .form-suspended select, .form-suspended textarea, .form-suspended .select { opacity: 0.38;filter: alpha(opacity = 38); } +.form-suspended .do_action_toggle_suspend {opacity: 1; filter: alpha(opacity = 100);} + + +.stats-block{ + background:#474338; + padding:10px; + width:600px; + margin:0 auto 10px; +} +.stats-block-header{ + color:#fc0; + font-size:12px; + font-weight:bold; + text-align:center; +} +.stats-block .stats-graph{ + display:block; + margin:0 auto; +} + +/* START: DEV!! */ +.stats-subbar span{ + cursor: pointer; + margin-left: 22px; + color: #5D5D5D; + border-bottom: 1px dotted #5D5D5D; + font-size: 11px; +} +.stats-subbar .sub-active{ + font-weight: bold; + color: #FF6766; + border-bottom: 0; +} +/* END: DEV */ diff --git a/web/js/actions.js b/web/js/actions.js index 5b748e70..6c1867e7 100644 --- a/web/js/actions.js +++ b/web/js/actions.js @@ -366,14 +366,13 @@ App.Actions.save_form = function(evt) { if (!confirmed) { return true; } - else { - var values = App.Helpers.getFormValues(elm); - if(App.Validate.form(values, $('#'+elm_id))) { - App.Model.add(values, source); - var form_id = App.Constants[App.Env.world + '_FORM_ID']; - $('#'+form_id).remove(); - } - } + } + + var values = App.Helpers.getFormValues(elm); + if(App.Validate.form(values, $('#'+elm_id))) { + App.Model.add(values, source); + var form_id = App.Constants[App.Env.world + '_FORM_ID']; + $('#'+form_id).remove(); } } else { // OLD ITEM, UPDATING IT diff --git a/web/js/html.js b/web/js/html.js index dafd366d..49606040 100644 --- a/web/js/html.js +++ b/web/js/html.js @@ -95,6 +95,7 @@ App.HTML.Build.user_form = function (options, id) { tpl.set(':DELETE_ACTION', App.Templates.get('DELETE_ACTION', 'general').finalize()); } options = !App.Helpers.isEmpty(options) ? options : App.Empty.USER; + if (in_edit == true) { options.PASSWORD = App.Settings.PASSWORD_IMMUTE; var ns = []; @@ -109,7 +110,7 @@ App.HTML.Build.user_form = function (options, id) { ns[ns.length++] = App.Templates.get('PLUS_ONE_NS', 'user').finalize(); tpl.set(':NS', ns.done()); } else { - tpl.set(':NS', ''); +// tpl.set(':NS', ''); } tpl = App.HTML.setTplKeys(tpl, options, true); tpl = App.HTML.Build.user_selects(tpl, options); @@ -146,6 +147,15 @@ App.HTML.Build.web_domain_form = function (options, id) { tpl.set(':title', 'Edit WEB domain'); tpl.set(':save_button', 'SAVE'); tpl.set(':DELETE_ACTION', App.Templates.get('DELETE_ACTION', 'general').finalize()); + + if(options.SSL_CRT == '' || options.SSL_KEY == ''){ + options.SSL = ''; + options.SSL_HOME = ''; + options.SSL_CRT = ''; + options.SSL_KEY = ''; + options.SSL_CA = ''; + } + if (options.SSL == 'on') { tpl.set(':ssl_checked', 'checked="checked"'); } @@ -167,7 +177,7 @@ App.HTML.Build.web_domain_form = function (options, id) { tpl = App.HTML.setTplKeys(tpl, options, true); tpl = App.HTML.Build.web_domain_selects(tpl, options); tpl = App.HTML.toggle_suspended_form(tpl, options); - if (options.CGI == 'yes') { + if (options.CGI == 'yes' || !in_edit) { tpl.set(':CHECKED_CGI', 'checked="checked"'); } if (options.ELOG == 'yes') { @@ -384,8 +394,11 @@ App.HTML.Build.web_domain_entry = function (o, key) { 'DISK_QUOTA_MEASURE': App.Helpers.getMbHumanMeasure(App.Env.initialParams.user_data.DISK_QUOTA), 'BANDWIDTH_MEASURE': App.Helpers.getMbHumanMeasure(App.Env.initialParams.user_data.BANDWIDTH), 'BANDWIDTH': App.Helpers.getMbHuman(App.Env.initialParams.user_data.BANDWIDTH), - 'DISK_QUOTA': App.Helpers.getMbHuman(App.Env.initialParams.user_data.DISK_QUOTA) + 'DISK_QUOTA': App.Helpers.getMbHuman(App.Env.initialParams.user_data.DISK_QUOTA), + 'SSL': (o.SSL_CRT == '' || o.SSL_KEY == '' || o.SSL != 'on') ? 'off' : 'on' }; + + var o = $.extend(o, processed_data); o.U_DISK_PERCENTAGE_2 = o.U_DISK_PERCENTAGE; o.U_DISK_PERCENTAGE_3 = o.U_DISK_PERCENTAGE; @@ -691,9 +704,11 @@ App.HTML.Build.dns_selects = function (tpl, options) { $.each(App.Env.initialParams.DNS.TPL, function (key) { obj[key] = key; }); - var opts = App.HTML.Build.options(obj, options.PACKAGE); + + var opts = App.HTML.Build.options(obj, options.TPL); tpl.set(':TPL', opts); - tpl.set(':TPL_DEFAULT_VALUE', options.TPL || App.Helpers.getFirstKey(obj)); +// tpl.set(':TPL_DEFAULT_VALUE', options.TPL || App.Helpers.getFirstKey(obj)); + } catch (e) { return tpl; } diff --git a/web/js/templates.js b/web/js/templates.js index 9359681f..f48e1738 100644 --- a/web/js/templates.js +++ b/web/js/templates.js @@ -138,7 +138,7 @@ App.Templates.html = { \
\ \ - ~!:TPL_DEFAULT_VALUE~!\ + ~!:TPL_DEFAULT_VALUE~! t \ \ @@ -286,10 +286,10 @@ App.Templates.html = { \ \
\ -
\ + \
\ \ Cancel\ @@ -403,12 +403,12 @@ App.Templates.html = { ~!:PACKAGE_OPTIONS~!\ \
\ -
\ + \ \ \ email:\ \ @@ -716,7 +716,7 @@ App.Templates.html = {
\
\
\ - \ + \ \
\
\ @@ -846,7 +846,7 @@ App.Templates.html = { \
\
\ - \ + \ \
\
\ @@ -864,10 +864,10 @@ App.Templates.html = { \ \
\ -
\ + \
\ \ \ @@ -912,10 +912,10 @@ App.Templates.html = {
\
\ \ - \ + \ \
\
\ @@ -1075,13 +1075,13 @@ App.Templates.html = { download\
\
\ -
\ + \
\
\
'] diff --git a/web/vesta/api/CRON.class.php b/web/vesta/api/CRON.class.php index 327492f1..94c2ed74 100644 --- a/web/vesta/api/CRON.class.php +++ b/web/vesta/api/CRON.class.php @@ -132,18 +132,20 @@ class CRON extends AjaxHandler $_new = $request->getParameter('new'); $result = array(); - if($_new['SUSPEND'] == 'on') { - $result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOB, array('USER' => $user['uid'], 'JOB' => $_new['CMD'])); - return $this->reply($result['status']); - } - else { - $result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOB, array('USER' => $user['uid'], 'JOB' => $_new['CMD'])); - } - if (!$result['status']) { - $this->status = FALSE; - $this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); - } + $result = array(); + if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){ + $result = Vesta::execute(Vesta::V_SUSPEND_CRON_JOB, array('USER' => $user['uid'], 'JOB' => $_old['JOB'])); + return $this->reply($result['status'], $result['error_message']); + } + elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){ + $result = Vesta::execute(Vesta::V_UNSUSPEND_CRON_JOB, array('USER' => $user['uid'], 'JOB' => $_old['JOB'])); + if (!$result['status']) { + $this->status = FALSE; + $this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']); + return $this->reply($result['status'], $result['error_message']); + } + } $params = array( 'USER' => $user['uid'], diff --git a/web/vesta/api/DB.class.php b/web/vesta/api/DB.class.php index 6d50dca4..9c7967f1 100644 --- a/web/vesta/api/DB.class.php +++ b/web/vesta/api/DB.class.php @@ -38,6 +38,8 @@ class DB extends AjaxHandler 'TYPE' => $record['TYPE'], 'U_DISK' => $record['U_DISK'], 'DISK' => 2024, + 'ENCODING' => "utf-8",//$record['ENCODING'], + // 'ENCODING' => $record['ENCODING'], 'SUSPEND' => $record['SUSPEND'], 'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE']))) ); @@ -65,7 +67,9 @@ class DB extends AjaxHandler 'DB' => $_s['DB'], 'DB_USER' => $_s['USER'], 'DB_PASSWORD' => $_s['PASSWORD'], - 'TYPE' => $_s['TYPE'] + 'TYPE' => $_s['TYPE'], + 'HOST' => '' + // 'ENCODING' => $_s['ENCODING'] ); $result = Vesta::execute(Vesta::V_ADD_DB_BASE, $params); @@ -74,7 +78,7 @@ class DB extends AjaxHandler $this->errors[] = array($result['error_code'] => $result['error_message']); } - if ($_s['SUSPEND'] == 'on') { + if (Utils::getCheckboxBooleanValue($_s['SUSPEND'])) { if($result['status']){ $result = array(); @@ -86,7 +90,6 @@ class DB extends AjaxHandler } } - return $this->reply($result['status'], $result['data']); } @@ -128,16 +131,19 @@ class DB extends AjaxHandler $user = $this->getLoggedUser(); $result = array(); - if($_new['SUSPEND'] == 'on'){ - $result = Vesta::execute(Vesta::V_SUSPEND_DB_BASE, array('USER' => $user['uid'], 'DB' => $_new['DB'])); - } - else{ - $result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASE, array('USER' => $user['uid'], 'DB' => $_new['DB'])); - } - if (!$result['status']) { - $this->status = FALSE; - $this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); + $result = array(); + if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){ + $result = Vesta::execute(Vesta::V_SUSPEND_DB_BASE, array('USER' => $user['uid'], 'DB' => $_new['DB'])); + return $this->reply($result['status'], $result['error_message']); + } + elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){ + $result = Vesta::execute(Vesta::V_UNSUSPEND_DB_BASE, array('USER' => $user['uid'], 'DB' => $_new['DB'])); + if (!$result['status']) { + $this->status = FALSE; + $this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']); + return $this->reply($result['status'], $result['error_message']); + } } if ($_new['PASSWORD'] != Vesta::SAME_PASSWORD && $_new['PASSWORD'] != $_old['PASSWORD']) { diff --git a/web/vesta/api/DNS.class.php b/web/vesta/api/DNS.class.php index 066523bf..f8f205cc 100644 --- a/web/vesta/api/DNS.class.php +++ b/web/vesta/api/DNS.class.php @@ -97,22 +97,13 @@ class DNS extends AjaxHandler $_s = $request->getParameter('spell'); $params = array( 'USER' => $user['uid'], /// OWNER ??? - 'DNS_DOMAIN' => $_s['DNS_DOMAIN'], - 'IP' => $_s['IP'] - ); - // TODO: rewrite this block. Get away from if/if/if/if - if ($_s['TPL']) { - $params['TPL'] = $_s['TPL']; - } - if ($_s['EXP']) { - $params['EXP'] = $_s['EXP']; - } - if ($_s['SOA']) { - $params['SOA'] = $_s['SOA']; - } - if ($_s['TTL']) { - $params['TTL'] = $_s['TTL']; - } + 'DNS_DOMAIN' => $_s['DNS_DOMAIN'], + 'IP' => $_s['IP'], + 'TPL' => $_s['TPL'], + 'EXP' => $_s['EXP'], + 'SOA' => $_s['SOA'], + 'TTL' => $_s['TTL'], + ); $result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN, $params); if (!$result['status']) { @@ -120,7 +111,7 @@ class DNS extends AjaxHandler } - if ($_s['SUSPEND'] == 'on') { + if (@Utils::getCheckboxBooleanValue($_s['SUSPEND'])) { if($result['status']){ $result = array(); @@ -242,19 +233,19 @@ class DNS extends AjaxHandler $_DNS_DOMAIN = $_old['DNS_DOMAIN']; $result = array(); - if($_new['SUSPEND'] == 'on'){ + if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){ $result = Vesta::execute(Vesta::V_SUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN)); - return $this->reply($result['status']); + return $this->reply($result['status'], $result['error_message']); } - else{ + elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){ $result = Vesta::execute(Vesta::V_UNSUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN)); + if (!$result['status']) { + $this->status = FALSE; + $this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']); + return $this->reply($result['status'], $result['error_message']); + } } - if (!$result['status']) { - $this->status = FALSE; - $this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); - } - if ($_old['IP'] != $_new['IP']) { $result = array(); @@ -267,7 +258,7 @@ class DNS extends AjaxHandler if ($_old['TPL'] != $_new['TPL']) { $result = array(); - $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TPL'])); + $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TPL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'TPL' => $_new['TPL'])); if (!$result['status']) { $this->status = FALSE; $this->errors['TPL'] = array($result['error_code'] => $result['error_message']); @@ -275,8 +266,9 @@ class DNS extends AjaxHandler } if ($_old['TTL'] != $_new['TTL']) { + echo 'changing ttl'; $result = array(); - $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['TTL'])); + $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'TTL' => $_new['TTL'])); if (!$result['status']) { $this->status = FALSE; $this->errors['TTL'] = array($result['error_code'] => $result['error_message']); @@ -285,7 +277,7 @@ class DNS extends AjaxHandler if ($_old['EXP'] != $_new['EXP']) { $result = array(); - $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_new['EXP'])); + $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'EXP' => $_new['EXP'])); if (!$result['status']) { $this->status = FALSE; $this->errors['EXP'] = array($result['error_code'] => $result['error_message']); @@ -294,7 +286,7 @@ class DNS extends AjaxHandler if ($_old['SOA'] != $_new['SOA']) { $result = array(); - $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_new['SOA'])); + $result = Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'SOA' => $_new['SOA'])); if (!$result['status']) { $this->status = FALSE; $this->errors['SOA'] = array($result['error_code'] => $result['error_message']); @@ -307,13 +299,6 @@ class DNS extends AjaxHandler Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_TTL, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['TTL'])); Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_EXP, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN, 'IP' => $_old['EXP'])); Vesta::execute(Vesta::V_CHANGE_DNS_DOMAIN_SOA, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_new['DNS_DOMAIN'], 'IP' => $_old['SOA'])); - - if($_old['SUSPEND'] == 'on'){ - $result = Vesta::execute(Vesta::V_SUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN)); - } - else{ - $result = Vesta::execute(Vesta::V_UNSUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_DNS_DOMAIN)); - } } return $this->reply($this->status, ''); @@ -432,7 +417,7 @@ class DNS extends AjaxHandler $_entities = $request->getParameter('entities'); foreach($_entities as $entity){ - $result = Vesta::execute(Vesta::V_UNUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], $entity['DNS_DOMAIN'])); + $result = Vesta::execute(Vesta::V_UNSUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], $entity['DNS_DOMAIN'])); } return $this->reply($result['status'], $result['data']); diff --git a/web/vesta/api/IP.class.php b/web/vesta/api/IP.class.php index 00e1bcd4..bcd9902c 100644 --- a/web/vesta/api/IP.class.php +++ b/web/vesta/api/IP.class.php @@ -19,6 +19,10 @@ class IP extends AjaxHandler */ public function getListExecute(Request $request) { + if(!VestaSession::getUserRole()){ + return self::getListUserIpsExecute($request); + } + $reply = array(); $result = Vesta::execute(Vesta::V_LIST_SYS_IPS, array(Config::get('response_type'))); foreach ($result['data'] as $ip => $details) { @@ -44,8 +48,10 @@ class IP extends AjaxHandler */ public function getListUserIpsExecute(Request $request) { + $user = $this->getLoggedUser(); + $reply = array(); - $result = Vesta::execute(Vesta::V_LIST_USER_IPS, array(Config::get('response_type'))); + $result = Vesta::execute(Vesta::V_LIST_USER_IPS, array($user['uid'], Config::get('response_type'))); foreach ($result['data'] as $ip => $details) { $reply[] = array_merge( array( diff --git a/web/vesta/api/MAIN.class.php b/web/vesta/api/MAIN.class.php index d221d9b0..f069c1d1 100644 --- a/web/vesta/api/MAIN.class.php +++ b/web/vesta/api/MAIN.class.php @@ -218,7 +218,7 @@ MAIL; $disk_quota = $rs['data']; $reply = array( - 'auth_user' => array('uid' => $this->getLoggedUser()), + 'auth_user' => array('uid' => $this->getLoggedUser(), 'admin' => !!VestaSession::getUserRole()), 'user_data' => array('BANDWIDTH' => (int)$bandwidth, 'DISK_QUOTA' => (int)$disk_quota), 'WEB_DOMAIN' => $this->getWebDomainParams($data_web_domain, $global_data), 'CRON' => $this->getCronParams(), @@ -372,7 +372,50 @@ MAIL; $db_types = $this->getDBTypes(); return array( 'TYPE' => $db_types, - 'HOST' => array('vestacp.com' => 'vestacp.com', 'askcow.org' => 'askcow.org') + 'HOST' => array('vestacp.com' => 'vestacp.com', 'askcow.org' => 'askcow.org'), + 'ENCODING' => array( + + 'utf8' => 'utf8', 'latin1' => 'latin1', 'cp1251' => 'cp1251', + + '' => '', + + 'big5' => 'Big5 — Traditional Chinese ', + 'dec8' => 'dec8 — DEC West European ', + 'cp850' => 'cp850 — DOS West European', + 'hp8' => 'hp8 — HP West European', + 'koi8r' => 'koi8r — KOI8-R Relcom Russian', + 'latin1' => 'latin1 — cp1252 West European', + 'latin2' => 'latin2 — ISO 8859-2 Central European', + 'swe7' => 'swe7 — 7bit Swedish', + 'ascii' => 'ascii — US ASCII', + 'ujis' => 'ujis — EUC-JP Japanese', + 'sjis' => 'sjis — Shift-JIS Japanese', + 'hebrew' => 'hebrew — ISO 8859-8 Hebrew', + 'tis620' => 'tis620 — TIS620 Thai', + 'euckr' => 'euckr — EUC-KR Korean', + 'koi8u' => 'koi8u — KOI8-U Ukrainian', + 'gb2312' => 'gb2312 — GB2312 Simplified Chinese', + 'greek' => 'greek — ISO 8859-7 Greek', + 'cp1250' => 'cp1250 — Windows Central European', + 'gbk' => 'gbk — GBK Simplified Chinese', + 'latin5' => 'latin5 — ISO 8859-9 Turkish', + 'armscii8' => 'armscii8— ARMSCII-8 Armenian', + 'utf8' => 'utf8 — UTF-8 Unicode', + 'ucs2' => 'ucs2 — UCS-2 Unicode', + 'cp866' => 'cp866 — DOS Russian', + 'keybcs2' => 'keybcs2 — DOS Kamenicky Czech-Slovak', + 'macce' => 'macce — Mac Central European', + 'macroman' => 'macroman— Mac West European', + 'cp853' => 'cp852 — DOS Central European', + 'latin7' => 'latin7 — ISO 8859-13 Baltic', + 'cp1251' => 'cp1251 — Windows Cyrillic', + 'cp1256' => 'cp1256 — Windows Arabic', + 'cp1257' => 'cp1257 — Windows Baltic', + 'binary' => 'binary — Binary pseudo charset', + 'geostd8' => 'geostd8 — GEOSTD8 Georgian', + 'cp932' => 'cp932 — SJIS for Windows Japanese', + 'eucjpms' => 'eucjpms — UJIS for Windows Japanese' + ) ); } diff --git a/web/vesta/api/USER.class.php b/web/vesta/api/USER.class.php index 6be4cf19..5b101bfb 100644 --- a/web/vesta/api/USER.class.php +++ b/web/vesta/api/USER.class.php @@ -45,7 +45,6 @@ class USER extends AjaxHandler "DNS_DOMAINS" => $details['DNS_DOMAINS'], "DISK_QUOTA" => $details['DISK_QUOTA'], "BANDWIDTH" => $details['BANDWIDTH'], - // "NS" => $details['NS'], "SHELL" => $details['SHELL'], "BACKUPS" => $details['BACKUPS'], "WEB_TPL" => $details['WEB_TPL'], @@ -65,7 +64,8 @@ class USER extends AjaxHandler "U_MAIL_FORWARDERS" => '0', "U_MAIL_BOXES" => '0', "U_CRON_JOBS" => $details['U_CRON_JOBS'], - "IP_OWNED" => $details['IP_OWNED'] + "IP_OWNED" => $details['IP_OWNED'], + "NGINX_EXT" => $details['"NGINX_EXT'] ); $reply[$user] = array_merge($user_details, $nses); // $reply[$user] = $user_details; @@ -204,7 +204,22 @@ class USER extends AjaxHandler $_old = $request->getParameter('old'); $_USER = $_old['LOGIN_NAME']; - + + + $result = array(); + if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){ + $result = Vesta::execute(Vesta::V_SUSPEND_SYS_USER, array('USER' => $_USER)); + return $this->reply($result['status'], $result['error_message']); + } + elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){ + $result = Vesta::execute(Vesta::V_UNSUSPEND_SYS_USER, array('USER' => $_USER)); + if (!$result['status']) { + $this->status = FALSE; + $this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']); + return $this->reply($result['status'], $result['error_message']); + } + } + $reports_result = $this->setUserReports($_USER, $_new['REPORTS_ENABLED']); if (!empty($_new['PASSWORD']) && $_new['PASSWORD'] != Vesta::SAME_PASSWORD) { @@ -251,38 +266,12 @@ class USER extends AjaxHandler $this->errors['NAMES'] = array($result['error_code'] => $result['error_message']); } - - - if ($_old['SUSPEND'] != $_new['SUSPEND']) { - $result = array(); - if($_new['SUSPEND'] == 'on'){ - $result = Vesta::execute(Vesta::V_SUSPEND_SYS_USER, array('USER' => $_USER)); - } - else{ - $result = Vesta::execute(Vesta::V_UNSUSPEND_SYS_USER, array('USER' => $_USER)); - } - - if (!$result['status']) { - $this->status = FALSE; - $this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); - } - } - if (!$this->status) { Vesta::execute(Vesta::V_CHANGE_SYS_USER_PASSWORD, array('USER' => $_USER, 'PASSWORD' => $_old['PASSWORD'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_PACKAGE, array('USER' => $_USER, 'PACKAGE' => $_old['PACKAGE'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_CONTACT, array('USER' => $_USER, 'EMAIL' => $_old['EMAIL'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_NS, array('USER' => $_USER, 'NS1' => $_old['NS1'], 'NS2' => $_old['NS2'])); Vesta::execute(Vesta::V_CHANGE_SYS_USER_SHELL, array('USER' => $_USER, 'SHELL' => $_old['SHELL'])); - - - if($_old['SUSPEND'] == 'on'){ - $result = Vesta::execute(Vesta::V_SUSPEND_SYS_USER, array('USER' => $_USER)); - } - else{ - $result = Vesta::execute(Vesta::V_UNSUSPEND_SYS_USER, array('USER' => $_USER)); - } - } return $this->reply($this->status, ''); diff --git a/web/vesta/api/WEB_DOMAIN.class.php b/web/vesta/api/WEB_DOMAIN.class.php index ca0e8942..4f593046 100644 --- a/web/vesta/api/WEB_DOMAIN.class.php +++ b/web/vesta/api/WEB_DOMAIN.class.php @@ -37,13 +37,13 @@ class WEB_DOMAIN extends AjaxHandler 'STAT' => $record['STATS'], 'STATS_LOGIN' => $record['STATS_AUTH'], 'SSL' => $record['SSL'] == 'yes' ? 'on' : 'off', - 'SSL_HOME' => $record['SSL_HOME'] == 'tsingle' ? 'off' : 'on', + 'SSL_HOME' => $record['SSL_HOME'] == 'same' ? 'off' : 'on', 'SSL_CRT' => '', 'SSL_KEY' => '', 'SSL_CA' => '', 'NGINX' => $record['NGINX'], 'NGINX_EXT' => $record['NGINX_EXT'], - 'SUSPEND' => $record['SUSPEND'] == 'on' ? 'on' : 'off', + 'SUSPEND' => $record['SUSPEND'], // == 'yes' ? 'on' : 'off', 'DATE' => date(Config::get('ui_date_format', strtotime($record['DATE']))) ); $web_details['STAT'] == '' ? $web_details['STAT'] = 'none' : true; @@ -85,6 +85,7 @@ class WEB_DOMAIN extends AjaxHandler if (!$result['status']) { $this->errors[] = array($result['error_code'] => $result['error_message']); + return $this->reply($result['status'], $result['data']); } if (!empty($_s['TPL'])) { @@ -101,9 +102,9 @@ class WEB_DOMAIN extends AjaxHandler } } + if (!empty($_s['ALIAS'])) { - $alias = str_replace("\n", "", $_s['ALIAS']); - $alias = str_replace("\n", "", $alias); + $alias_arr = explode(',', str_replace("\n", "", $_s['ALIAS'])); foreach ($alias_arr as $alias) { $params = array( @@ -112,7 +113,6 @@ class WEB_DOMAIN extends AjaxHandler 'ALIAS' => trim($alias) ); $result = 0; - $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_ALIAS, $params); if (!$result['status']) { @@ -121,7 +121,7 @@ class WEB_DOMAIN extends AjaxHandler } } - if (!empty($_s['STATS']) && @$_s['STATS'] != 'none') { + if (!empty($_s['STAT']) && @$_s['STAT'] != 'none') { $params = array( 'USER' => $user['uid'], 'DOMAIN' => $_s['DOMAIN'], @@ -148,21 +148,31 @@ class WEB_DOMAIN extends AjaxHandler $this->errors['STAT_AUTH'] = array($result['error_code'] => $result['error_message']); } - if (!empty($_new['CGI'])) { - if (Utils::getCheckboxBooleanValue($_new['CGI'])) { + if (!empty($_s['CGI'])) { + if (Utils::getCheckboxBooleanValue($_s['CGI'])) { + /* removed due to CGI is set by default at WEB DOMAIN creation $result = array(); - $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_CGI, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); + $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_CGI, array('USER' => $user['uid'], 'DOMAIN' => $_s['DOMAIN'])); if (!$result['status']) { $this->status = FALSE; $this->errors['ADD_CGI'] = array($result['error_code'] => $result['error_message']); } + */ + } + else{ + $result = array(); + $result = Vesta::execute(Vesta::V_DEL_WEB_DOMAIN_CGI, array('USER' => $user['uid'], 'DOMAIN' => $_s['DOMAIN'])); + if (!$result['status']) { + $this->status = FALSE; + $this->errors['DEL_CGI'] = array($result['error_code'] => $result['error_message']); + } } } - if (!empty($_new['ELOG'])) { - if (Utils::getCheckboxBooleanValue($_new['ELOG'])) { + if (!empty($_s['ELOG'])) { + if (Utils::getCheckboxBooleanValue($_s['ELOG'])) { $result = array(); - $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_ELOG, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); + $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_ELOG, array('USER' => $user['uid'], 'DOMAIN' => $_s['DOMAIN'])); if (!$result['status']) { $this->status = FALSE; $this->errors['ADD_ELOG'] = array($result['error_code'] => $result['error_message']); @@ -170,16 +180,12 @@ class WEB_DOMAIN extends AjaxHandler } } - if (($_s['DNS_DOMAIN']) == 'on') { - echo 'adding dns domain'; - echo '
'; - - $params = array( - 'USER' => $user['uid'], - 'DNS_DOMAIN' => $_s['DOMAIN'], - 'IP' => $_s['IP'] - ); + if (Utils::getCheckboxBooleanValue($_s['DNS_DOMAIN'])) { + echo 'adding dns domain'; + echo '
'; + + /* require_once V_ROOT_DIR . 'api/DNS.class.php'; $dns = new DNS(); @@ -188,6 +194,36 @@ class WEB_DOMAIN extends AjaxHandler if (!$result['status']) { $this->errors['DNS_DOMAIN'] = array($result['error_code'] => $result['error_message']); } + */ + + + + $_GET['debug'] = 2; + $params = array( + 'USER' => $user['uid'], + 'DNS_DOMAIN' => $_s['DOMAIN'], + 'IP' => $_s['IP'] + ); + + $result = Vesta::execute(Vesta::V_ADD_DNS_DOMAIN, $params); + if (!$result['status']) { + $this->errors[] = array($result['error_code'] => $result['error_message']); + } + + + if (@Utils::getCheckboxBooleanValue($_s['SUSPEND'])) { + if($result['status']){ + $result = array(); + + $result = Vesta::execute(Vesta::V_SUSPEND_DNS_DOMAIN, array('USER' => $user['uid'], 'DNS_DOMAIN' => $_s['DOMAIN'])); + if (!$result['status']) { + $this->status = FALSE; + $this->errors['DNS_SUSPEND'] = array($result['error_code'] => $result['error_message']); + } + } + } + + } @@ -209,8 +245,41 @@ class WEB_DOMAIN extends AjaxHandler }*/ - - if ($_s['SUSPEND'] == 'on') { + + if (!empty($_s['SSL_KEY']) && !empty($_s['SSL_CRT']) && $_s['SSL'] == 'on' ) { + $ssl_dir = sys_get_temp_dir().'/'; + + $ssl_crt_file = $ssl_dir . $_s['DOMAIN'] . '.crt'; + file_put_contents($ssl_crt_file, $_s['SSL_CRT']); + + $ssl_key_file = $ssl_dir . $_s['DOMAIN'] . '.key'; + file_put_contents($ssl_key_file, $_s['SSL_KEY']); + + if (!empty($_s['SSL_CA'])) { + $ssl_ca_file = $ssl_dir . $_s['DOMAIN'] . '.ca'; + file_put_contents($ssl_ca_file, $_s['SSL_CA']); + } + + // $_GET['debug'] = 2; + $params = array( + 'USER' => $user['uid'], + 'DOMAIN' => $_s['DOMAIN'], + 'SSL_DIR' => $ssl_dir, + 'SSL_HOME' => $_s['SSL_HOME'] == 'on' ? 'single' : 'same' + ); + + $result = 0; + $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params); + if (!$result['status']) { + $this->errors['SSL'] = array($result['error_code'] => $result['error_message']); + } + + unlink($ssl_crt_file); + unlink($ssl_key_file); + unlink($ssl_ca_file); + } + + if (@Utils::getCheckboxBooleanValue($_s['SUSPEND'])) { if($result['status']){ $result = array(); @@ -222,6 +291,7 @@ class WEB_DOMAIN extends AjaxHandler } } + return $this->reply($result['status'], $result['data']); } @@ -267,39 +337,20 @@ class WEB_DOMAIN extends AjaxHandler $result['status'] = TRUE; - if ($_old['SUSPEND'] != $_new['SUSPEND']) { - if ($_new['SUSPEND'] == 'on') { - $result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); - if (!$result['status']) { - $this->status = FALSE; - $this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); - } - // return $this->reply($result['status']); - } - else { - $result = Vesta::execute(Vesta::V_UNSUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); - if (!$result['status']) { - $this->status = FALSE; - $this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']); - } - } - if ($_new['SUSPEND'] == 'on') { - $result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); - if (!$result['status']) { - $this->status = FALSE; - $this->errors['SUSPEND'] = array($result['error_code'] => $result['error_message']); - } - // return $this->reply($result['status']); - } - else { - $result = Vesta::execute(Vesta::V_UNSUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); - if (!$result['status']) { - $this->status = FALSE; - $this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']); - } - } - } - + + if(@Utils::getCheckboxBooleanValue($_new['SUSPEND'])){ + $result = Vesta::execute(Vesta::V_SUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); + return $this->reply($result['status'], $result['error_message']); + } + elseif(@Utils::getCheckboxBooleanValue($_old['SUSPEND'])){ + $result = Vesta::execute(Vesta::V_UNSUSPEND_WEB_DOMAIN, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN)); + if (!$result['status']) { + $this->status = FALSE; + $this->errors['UNSUSPEND'] = array($result['error_code'] => $result['error_message']); + return $this->reply($result['status'], $result['error_message']); + } + } + if ($_old['IP'] != $_new['IP']) { $result = array(); $result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_IP, array('USER' => $user['uid'], 'DOMAIN' => $_DOMAIN, 'IP' => $_new['IP'])); @@ -437,7 +488,15 @@ class WEB_DOMAIN extends AjaxHandler } - if (( !empty($_new['SSL_KEY']) && !empty($_new['SSL_CRT']) && $_new['SSL'] == 'on') || $_old['SSL_HOME'] != $_new['SSL_HOME']) { + if ( ( $_old['SSL_KEY'] != $_new['SSL_KEY'] + || $_old['SSL_CRT'] != $_new['SSL_CRT'] + || $_old['SSL_CA'] != $_new['SSL_CA'] + || $_old['SSL_HOME'] != $_new['SSL_HOME'] + ) + && !empty($_new['SSL_KEY']) + && !empty($_new['SSL_CRT']) + && $_new['SSL'] == 'on' + ) { $ssl_dir = sys_get_temp_dir().'/'; $ssl_crt_file = $ssl_dir . $_new['DOMAIN'] . '.crt'; @@ -455,20 +514,39 @@ class WEB_DOMAIN extends AjaxHandler 'USER' => $user['uid'], 'DOMAIN' => $_DOMAIN, 'SSL_DIR' => $ssl_dir, - 'SSL_HOME' => $_new['SSL_HOME'] == 'on' ? 'shared' : 'single' + 'SSL_HOME' => $_new['SSL_HOME'] == 'on' ? 'single' : 'same' ); $result = 0; + + // updating ssl if($_old['SSL'] == 'on'){ $result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_SSL, $params); + if (!$result['status']) { + $this->errors['SSL'] = array($result['error_code'] => $result['error_message']); + } + + // if ssl home dir changed, updating it + if($_old['SSL_HOME'] != $_new['SSL_HOME']){ + $params = array( + 'USER' => $user['uid'], + 'DOMAIN' => $_DOMAIN, + 'SSL_HOME' => $_new['SSL_HOME'] == 'on' ? 'single' : 'same' + ); + $result = Vesta::execute(Vesta::V_CHANGE_WEB_DOMAIN_SSLHOME, $params); + if (!$result['status']) { + $this->errors['SSL_HOME'] = array($result['error_code'] => $result['error_message']); + } + } } + // adding new ssl else{ $result = Vesta::execute(Vesta::V_ADD_WEB_DOMAIN_SSL, $params); + if (!$result['status']) { + $this->errors['SSL'] = array($result['error_code'] => $result['error_message']); + } } - if (!$result['status']) { - $this->errors['SSL'] = array($result['error_code'] => $result['error_message']); - } unlink($ssl_crt_file); unlink($ssl_key_file); diff --git a/web/vesta/core/Vesta.class.php b/web/vesta/core/Vesta.class.php index 455ebc9f..6e4f1958 100644 --- a/web/vesta/core/Vesta.class.php +++ b/web/vesta/core/Vesta.class.php @@ -46,6 +46,7 @@ class Vesta const V_LIST_WEB_DOMAINS_PROXY = 'v_list_web_domains_proxy'; const V_LIST_WEB_DOMAINS_SSL = 'v_list_web_domains_ssl'; const V_LIST_WEB_DOMAINS_STATS = 'v_list_web_domains_stats'; + const V_LIST_WEB_DOMAIN_SSL = 'v_list_web_domain_ssl'; const V_LIST_WEB_TEMPLATES = 'v_list_web_templates'; const V_ADD_WEB_DOMAIN = 'v_add_web_domain'; const V_ADD_WEB_DOMAIN_ALIAS = 'v_add_web_domain_alias'; @@ -55,7 +56,7 @@ class Vesta const V_ADD_WEB_DOMAIN_ELOG = 'v_add_web_domain_elog'; const V_ADD_WEB_DOMAIN_CGI = 'v_add_web_domain_cgi'; const V_CHANGE_WEB_DOMAIN_IP = 'v_change_web_domain_ip'; - const V_CHANGE_WEB_DOMAIN_SSLCERT = 'v_change_web_domain_sslcert'; + const V_CHANGE_WEB_DOMAIN_SSL = 'v_change_web_domain_sslcert'; const V_CHANGE_WEB_DOMAIN_SSLHOME = 'v_change_web_domain_sslhome'; const V_CHANGE_WEB_DOMAIN_TPL = 'v_change_web_domain_tpl'; const V_DEL_WEB_DOMAIN_CGI = 'v_delete_web_domain_cgi'; diff --git a/web/vesta/core/utils/Utils.class.php b/web/vesta/core/utils/Utils.class.php index 956a1f10..71c5448f 100644 --- a/web/vesta/core/utils/Utils.class.php +++ b/web/vesta/core/utils/Utils.class.php @@ -5,7 +5,7 @@ class Utils public static function getCheckboxBooleanValue($checkbox_value) { - return $checkbox_value == 'on' ? true : false; + return ($checkbox_value == 'on' || $checkbox_value == 'yes' || $checkbox_value === TRUE) ? true : false; } }