1
0
mirror of https://github.com/myvesta/vesta.git synced 2025-03-12 04:35:23 -07:00

New, simpler WEB UI

This commit is contained in:
Serghey Rodin 2012-05-15 15:51:43 +03:00
parent 2de99900ce
commit d352cb9385
439 changed files with 3920 additions and 45184 deletions
data/templates/web
web

@ -0,0 +1,3 @@
# Default template with basic php module restrictions.
# Best performance. Not recomended for shared hosting.
PHP='module' CGI='yes' ELOG='no'

@ -0,0 +1,49 @@
<VirtualHost %ip%:%web_ssl_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
%docroot_string%
%cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
%elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride AuthConfig FileInfo Indexes Limit
SSLRequireSSL
Options +Includes -Indexes %cgi_option%
php_admin_value upload_tmp_dir %home%/%user%/tmp
php_admin_value upload_max_filesize 10M
php_admin_value max_execution_time 20
php_admin_value post_max_size 8M
php_admin_value memory_limit 32M
php_admin_flag mysql.allow_persistent off
php_admin_flag safe_mode off
php_admin_value session.save_path %home%/%user%/tmp
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
php_admin_value open_basedir %home%/%user%/web:%home%/%user%/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp
SSLEngine on
SSLVerifyClient none
SSLCertificateFile %ssl_crt%
SSLCertificateKeyFile %ssl_key%
%ssl_ca_str%SSLCertificateChainFile %ssl_ca%
<IfModule mod_ruid2.c>
RMode config
RUidGid %user% %group%
RGroups apache
</IfModule>
<IfModule itk.c>
AssignUserID %user% %group%
</IfModule>
Include %home%/%user%/conf/shttpd.%domain%.conf*
</VirtualHost>

@ -0,0 +1,43 @@
<VirtualHost %ip%:%web_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
%docroot_string%
%cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
%elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride AuthConfig FileInfo Indexes Limit
Options +Includes -Indexes %cgi_option%
php_admin_value upload_tmp_dir %home%/%user%/tmp
php_admin_value upload_max_filesize 10M
php_admin_value max_execution_time 20
php_admin_value post_max_size 8M
php_admin_value memory_limit 32M
php_admin_flag mysql.allow_persistent off
php_admin_flag safe_mode off
php_admin_value session.save_path %home%/%user%/tmp
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
php_admin_value open_basedir %home%/%user%/web:%home%/%user%/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp
<IfModule mod_ruid2.c>
RMode config
RUidGid %user% %group%
RGroups apache
</IfModule>
<IfModule itk.c>
AssignUserID %user% %group%
</IfModule>
Include %home%/%user%/conf/httpd.%domain%.conf*
</VirtualHost>

@ -0,0 +1,3 @@
# Template with php as cgi for better security.
# (it use post instal script)
PHP='cgi' CGI='yes' ELOG='no'

@ -0,0 +1,16 @@
#!/bin/bash
# Adding php wrapper
user="$1"
domain="$2"
ip="$3"
home_dir="$4"
docroot="$5"
wrapper_script='#!/usr/bin/php-cgi -cphp5-cgi.ini'
wrapper_file="$home_dir/$user/web/$domain/cgi-bin/php"
echo "$wrapper_script" > $wrapper_file
chown $user:$user $wrapper_file
chmod -f 751 $wrapper_file
exit 0

@ -0,0 +1,35 @@
<VirtualHost %ip%:%web_ssl_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
%docroot_string%
%cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
%elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride AuthConfig FileInfo Indexes Limit
SSLRequireSSL
Options +Includes -Indexes %cgi_option%
php_admin_flag engine off
Action phpcgi-script /cgi-bin/php
AddHandler phpcgi-script .php
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
php_admin_value open_basedir %home%/%user%/web:%home%/%user%/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp
SSLEngine on
SSLVerifyClient none
SSLCertificateFile %ssl_crt%
SSLCertificateKeyFile %ssl_key%
%ssl_ca_str%SSLCertificateChainFile %ssl_ca%
Include %home%/%user%/conf/shttpd.%domain%.conf*
</VirtualHost>

@ -0,0 +1,27 @@
<VirtualHost %ip%:%web_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
%docroot_string%
%cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
%elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride AuthConfig FileInfo Indexes Limit
Options +Includes -Indexes %cgi_option%
php_admin_flag engine off
Action phpcgi-script /cgi-bin/php
AddHandler phpcgi-script .php
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
Include %home%/%user%/conf/httpd.%domain%.conf*
</VirtualHost>

@ -0,0 +1,3 @@
# Template with php as FastCGI for best performance and security.
# (it use post instal script)
PHP='fcgid' CGI='yes' ELOG='no'

@ -0,0 +1,22 @@
#!/bin/bash
# Adding php wrapper
user="$1"
domain="$2"
ip="$3"
home_dir="$4"
docroot="$5"
wrapper_script="#!/bin/sh
PHPRC=/etc/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=1000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi
"
wrapper_file="$home_dir/$user/web/$domain/cgi-bin/fcgi-starter"
echo "$wrapper_script" > $wrapper_file
chown $user:$user $wrapper_file
chmod -f 751 $wrapper_file
exit 0

@ -0,0 +1,35 @@
<VirtualHost %ip%:%web_ssl_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
%docroot_string%
%cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
%elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride AuthConfig FileInfo Indexes Limit
SSLRequireSSL
Options +Includes -Indexes %cgi_option%
php_admin_flag engine off
AddHandler fcgid-script .php
FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
php_admin_value open_basedir %home%/%user%/web:%home%/%user%/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp
SSLEngine on
SSLVerifyClient none
SSLCertificateFile %ssl_crt%
SSLCertificateKeyFile %ssl_key%
%ssl_ca_str%SSLCertificateChainFile %ssl_ca%
Include %home%/%user%/conf/shttpd.%domain%.conf*
</VirtualHost>

@ -0,0 +1,27 @@
<VirtualHost %ip%:%web_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
%docroot_string%
%cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
%elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride AuthConfig FileInfo Indexes Limit
Options +Includes -Indexes %cgi_option%
php_admin_flag engine off
AddHandler fcgid-script .php
FCGIWrapper %home%/%user%/web/%domain%/cgi-bin/fcgi-starter .php
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
Include %home%/%user%/conf/httpd.%domain%.conf*
</VirtualHost>

@ -0,0 +1,2 @@
# Almost unlimited php options and vhost configuration.
PHP='module' CGI='yes' ELOG='yes'

@ -0,0 +1,50 @@
<VirtualHost %ip%:%web_ssl_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
%docroot_string%
%cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
%elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride All
SSLRequireSSL
Options +Includes -Indexes %cgi_option%
php_admin_value upload_tmp_dir %home%/%user%/tmp
php_admin_value upload_max_filesize 60M
php_admin_value max_execution_time 60
php_admin_value post_max_size 60M
php_admin_value memory_limit 60M
php_admin_flag mysql.allow_persistent off
php_admin_flag safe_mode off
php_admin_value session.save_path %home%/%user%/tmp
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
php_admin_value open_basedir none
SSLEngine on
SSLVerifyClient none
SSLCertificateFile %ssl_crt%
SSLCertificateKeyFile %ssl_key%
%ssl_ca_str%SSLCertificateChainFile %ssl_ca%
<IfModule mod_ruid2.c>
RMode config
RUidGid %user% %group%
RGroups apache
</IfModule>
<IfModule itk.c>
AssignUserID %user% %group%
</IfModule>
Include %home%/%user%/conf/shttpd.%domain%.conf*
</VirtualHost>

@ -0,0 +1,44 @@
<VirtualHost %ip%:%web_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
%docroot_string%
%cgi%ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
%elog%ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride All
Options +Includes -Indexes %cgi_option%
php_admin_value upload_tmp_dir %home%/%user%/tmp
php_admin_value upload_max_filesize 60M
php_admin_value max_execution_time 60
php_admin_value post_max_size 60M
php_admin_value memory_limit 60M
php_admin_flag mysql.allow_persistent off
php_admin_flag safe_mode off
php_admin_value session.save_path %home%/%user%/tmp
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
php_admin_value open_basedir none
<IfModule mod_ruid2.c>
RMode config
RUidGid %user% %group%
RGroups apache
</IfModule>
<IfModule itk.c>
AssignUserID %user% %group%
</IfModule>
Include %home%/%user%/conf/httpd.%domain%.conf*
</VirtualHost>

@ -0,0 +1,133 @@
LogFile="/var/log/httpd/domains/%domain%.log"
LogType=W
LogFormat=1
LogSeparator=" "
SiteDomain="%domain_idn%"
HostAliases="%alias_idn%"
DirData="%home%/%user%/web/%domain%/stats"
DirCgi="/stats"
DirIcons="/stats/icon"
AllowToUpdateStatsFromBrowser=0
AllowFullYearView=2
EnableLockForUpdate=1
DNSStaticCacheFile="dnscache.txt"
DNSLastUpdateCacheFile="dnscachelastupdate.txt"
SkipDNSLookupFor=""
AllowAccessFromWebToAuthenticatedUsersOnly=0
AllowAccessFromWebToFollowingAuthenticatedUsers=""
AllowAccessFromWebToFollowingIPAddresses=""
CreateDirDataIfNotExists=0
BuildHistoryFormat=text
BuildReportFormat=html
SaveDatabaseFilesWithPermissionsForEveryone=0
PurgeLogFile=0
ArchiveLogRecords=0
KeepBackupOfHistoricFiles=1
DefaultFile="index.php index.html"
SkipHosts="127.0.0.1
SkipUserAgents=""
SkipFiles=""
SkipReferrersBlackList=""
OnlyHosts=""
OnlyUserAgents=""
OnlyUsers=""
OnlyFiles=""
NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf"
ValidHTTPCodes="200 304"
ValidSMTPCodes="1 250"
AuthenticatedUsersNotCaseSensitive=0
URLNotCaseSensitive=0
URLWithAnchor=0
URLQuerySeparators="?;"
URLWithQuery=0
URLWithQueryWithOnlyFollowingParameters=""
URLWithQueryWithoutFollowingParameters=""
URLReferrerWithQuery=0
WarningMessages=1
ErrorMessages=""
DebugMessages=0
NbOfLinesForCorruptedLog=50
WrapperScript=""
DecodeUA=0
MiscTrackerUrl="/js/awstats_misc_tracker.js"
UseFramesWhenCGI=1
DetailedReportsOnNewWindows=1
Expires=3600
MaxRowsInHTMLOutput=1000
Lang="auto"
DirLang="./lang"
ShowMenu=1
ShowSummary=UVPHB
ShowMonthStats=UVPHB
ShowDaysOfMonthStats=VPHB
ShowDaysOfWeekStats=PHB
ShowHoursStats=PHB
ShowDomainsStats=PHB
ShowHostsStats=PHBL
ShowAuthenticatedUsers=0
ShowRobotsStats=HBL
ShowWormsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=1
ShowPagesStats=PBEX
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowDownloadsStats=HB
ShowOSStats=1
ShowBrowsersStats=1
ShowScreenSizeStats=0
ShowOriginStats=PH
ShowKeyphrasesStats=1
ShowKeywordsStats=1
ShowMiscStats=a
ShowHTTPErrorsStats=1
ShowSMTPErrorsStats=0
ShowClusterStats=0
AddDataArrayMonthStats=1
AddDataArrayShowDaysOfMonthStats=1
AddDataArrayShowDaysOfWeekStats=1
AddDataArrayShowHoursStats=1
IncludeInternalLinksInOriginSection=0
MaxNbOfDomain = 10
MinHitDomain = 1
MaxNbOfHostsShown = 10
MinHitHost = 1
MaxNbOfLoginShown = 10
MinHitLogin = 1
MaxNbOfRobotShown = 10
MinHitRobot = 1
MaxNbOfDownloadsShown = 10
MinHitDownloads = 1
MaxNbOfPageShown = 10
MinHitFile = 1
MaxNbOfOsShown = 10
MinHitOs = 1
MaxNbOfBrowsersShown = 10
MinHitBrowser = 1
MaxNbOfScreenSizesShown = 5
MinHitScreenSize = 1
MaxNbOfWindowSizesShown = 5
MinHitWindowSize = 1
MaxNbOfRefererShown = 10
MinHitRefer = 1
MaxNbOfKeyphrasesShown = 10
MinHitKeyphrase = 1
MaxNbOfKeywordsShown = 10
MinHitKeyword = 1
MaxNbOfEMailsShown = 20
MinHitEMail = 1
FirstDayOfWeek=0
ShowFlagLinks=""
ShowLinksOnUrl=1
UseHTTPSLinkForUrl=""
MaxLengthOfShownURL=64
HTMLHeadSection=""
HTMLEndSection=""
MetaRobot=0
Logo="awstats_logo6.png"
LogoLink="http://awstats.sourceforge.net"
BarWidth = 260
BarHeight = 90
StyleSheet=""
ExtraTrackedRowsLimit=500

@ -0,0 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Awstats log analyzer </title>
</head>
<frameset rows="48,*" cols="*">
<frame src="nav.html" name="nav" scrolling="no" noresize>
<frame src="%month%/index.html" name="stats">
</frameset>
</html>

@ -0,0 +1,23 @@
<html>
<head>
<title>Awstats navigation</title>
<script language="javascript">
function change() {
top.stats.location= document.period.select.value + '/';
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="http://vestacp.com/i/logo.png" alt="vesta"></td>
<td><form name="period" action="" method="get">
<select name="select" ONCHANGE="change()">
%select_month%
</select>
</form>
</td>
</tr>
</table>
</body>
</html>

@ -0,0 +1,25 @@
<div lang="en" style="background-color:#fff;color:#222">
<a target="_blank" href="" style="color:#FFF">
<img width="81" height="22" style="display:block;border:0" src="http://vestacp.com/i/logo.png" alt="Twitter">
</a>
<div style="font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;font-size:13px;margin:14px">
<h2 style="font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;margin:0 0 16px;font-size:18px;font-weight:normal">
Vesta received a request to reset the password for your account %FIRSTNAME% %LASTNAME% (%LOGIN%)?
</h2>
<p>
If you want to reset your password, click on the link below (or copy and paste the URL into your browser):<br>
<a target="_blank" href="%LINK%"></a>
</p>
<p>
If you don't want to reset your password, please ignore this message.
Your password will not be reset.
If you have any concerns, please contact us at support@vestacp.com.
</p>
<p style="font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;font-size:13px;line-height:18px;border-bottom:1px solid rgb(238, 238, 238);padding-bottom:10px;margin:0 0 10px">
<span style="font:italic 13px Georgia,serif;color:rgb(102, 102, 102)">VestaCP</span>
</p>
<p style="font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;margin-top:5px;font-size:10px;color:#888888">
Please do not reply to this message; it was sent from an unmonitored email address.
</p>
</div>
</div>

@ -0,0 +1,9 @@
server {
listen %ip%:%proxy_port% default;
server_name _;
#access_log /var/log/nginx/%ip%.log main;
location / {
proxy_pass http://%ip%:%web_port%;
}
}

@ -0,0 +1,2 @@
# Default template for static content speed optimization.
# Best in most cases.

@ -0,0 +1,36 @@
server {
listen %ip%:%proxy_ssl_port%;
server_name %domain_idn% %alias_idn%;
ssl on;
ssl_certificate %ssl_pem%;
ssl_certificate_key %ssl_key%;
%elog%error_log /var/log/httpd/domains/%domain%.error.log error;
location / {
%proxy_string%
location ~* ^.+\.(%nginx_extentions%)$ {
root %docroot%;
access_log /var/log/httpd/domains/%domain%.log combined;
access_log /var/log/httpd/domains/%domain%.bytes bytes;
expires max;
try_files $uri @fallback;
}
}
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}
location @fallback {
proxy_pass https://%ip%:%web_ssl_port%;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
include %home%/%user%/conf/snginx.%domain%.conf*;
}

@ -0,0 +1,33 @@
server {
listen %ip%:%proxy_port%;
server_name %domain_idn% %alias_idn%;
%elog%error_log /var/log/httpd/domains/%domain%.error.log error;
location / {
%proxy_string%
location ~* ^.+\.(%nginx_extentions%)$ {
root %docroot%;
access_log /var/log/httpd/domains/%domain%.log combined;
access_log /var/log/httpd/domains/%domain%.bytes bytes;
expires max;
try_files $uri @fallback;
}
}
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}
location @fallback {
proxy_pass http://%ip%:%web_port%;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
include %home%/%user%/conf/nginx.%domain%.conf*;
}

@ -0,0 +1,29 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title>403 &mdash; Forbidden</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="description" content="You do not have permission to view this"/>
<style type="text/css">
body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
h1 {font-size:180px; color:#333333; margin: 70px 0 0 0;}
h2 {color: #ED6C42; font-family: georgia; font-size: 20px; font-style: italic; font-weight: bold; letter-spacing: -1px; margin: -3px 0 39px;}
p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
a:link {color: #28A0CB;}
a:visited {color: #28A0CB;}
a:active {color: #BCBA30;}
a:hover {color: #BCBA30;}
</style>
</head>
<body>
<p><a href="http://%domain%/">%domain%</a></p>
<h1>403</h1>
<h2>Forbidden</h2>
<div>
Unfortunately, you do not have permission to view this
</div>
</body>
</html>

@ -0,0 +1,28 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title>404 &mdash; Not Found</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="description" content="Sorry, page not found"/>
<style type="text/css">
body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
h1 {font-size:180px; color:#333333; margin: 70px 0 0 0;}
h2 {color: #ED6C42; font-family: georgia; font-size: 20px; font-style: italic; font-weight: bold; letter-spacing: -1px; margin: -3px 0 39px;}
p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
a:link {color: #28A0CB;}
a:visited {color: #28A0CB;}
a:active {color: #BCBA30;}
a:hover {color: #BCBA30;}
</style>
</head>
<body>
<p><a href="http://%domain%/">%domain%</a></p>
<h1>404</h1>
<h2>Page Not Found</h2>
<div>
It seems that the page you were trying to reach does not exist anymore, or maybe it has just moved.
You can start again from the <a href="http://%domain%/">home</a> or go back to <a href="javascript:%20history.go(-1)">previous page</a>.
</div>
</body>
</html>

@ -0,0 +1,29 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title>500 &mdash; Internal Sever Error</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="description" content="Sorry, something went wrong. Internal Server Error"/>
<style type="text/css">
body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
h1 {font-size:180px; color:#333333; margin: 70px 0 0 0;}
h2 {color: #ED6C42; font-family: georgia; font-size: 20px; font-style: italic; font-weight: bold; letter-spacing: -1px; margin: -3px 0 39px;}
p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
a:link {color: #28A0CB;}
a:visited {color: #28A0CB;}
a:active {color: #BCBA30;}
a:hover {color: #BCBA30;}
</style>
</head>
<body>
<p><a href="http://%domain%/">%domain%</a></p>
<h1>500</h1>
<h2>Internal Sever Error</h2>
<div>
Sorry, something went wrong :(
</div>
</body>
</html>

@ -0,0 +1,29 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title>%domain% &mdash; Coming Soon</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="description" content="This is a default index page for a new domain."/>
<style type="text/css">
body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
h1 {font-size:64px; color:#333333; margin: 70px 0 50px 0;}
p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
a:link {color: #28A0CB;}
a:visited {color: #28A0CB;}
a:active {color: #BCBA30;}
a:hover {color: #BCBA30;}
</style>
</head>
<body>
<h1>%domain%</h1>
<div>
<a href="http://httpd.apache.org/">apache</a> +
<a href="http://nginx.com/">nginx</a> +
<a href="http://www.percona.com/">percona</a> +
<a href="http://vestacp.com/">vesta</a>
</div>
</body>
</html>

@ -0,0 +1,3 @@
# vestacp autogenerated robots.txt
User-agent: *
Crawl-delay: 10

@ -0,0 +1,29 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title>%domain% &mdash; Coming Soon</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="description" content="This is a default index page for a new domain."/>
<style type="text/css">
body {font-size:14px; color:#777777; font-family:arial; text-align:center;}
h1 {font-size:64px; color:#333333; margin: 70px 0 50px 0;}
p {width:320px; text-align:center; margin-left:auto;margin-right:auto; margin-top: 30px }
div {width:320px; text-align:center; margin-left:auto;margin-right:auto;}
a:link {color: #28A0CB;}
a:visited {color: #28A0CB;}
a:active {color: #BCBA30;}
a:hover {color: #BCBA30;}
</style>
</head>
<body>
<h1>%domain%</h1>
<div>
<a href="http://httpd.apache.org/">apache</a> +
<a href="http://nginx.com/">nginx</a> +
<a href="http://www.percona.com/">percona</a> +
<a href="http://vestacp.com/">vesta</a>
</div>
</body>
</html>

@ -0,0 +1,3 @@
# vestacp autogenerated robots.txt
User-agent: *
Crawl-delay: 10

@ -0,0 +1,110 @@
HostName %domain_idn%
LogFile /var/log/httpd/domains/%domain%.log
OutputDir %home%/%user%/web/%domain%/stats
HistoryName %home%/%user%/web/%domain%/stats/%domain%.hist
Incremental yes
IncrementalName %home%/%user%/web/%domain%/stats/%domain%.current
PageType htm*
PageType cgi
PageType php
PageType shtml
DNSCache /var/lib/webalizer/dns_cache.db
DNSChildren 10
Quiet yes
FoldSeqErr yes
IndexAlias index.php
HideURL *.gif
HideURL *.GIF
HideURL *.jpg
HideURL *.JPG
HideURL *.png
HideURL *.PNG
HideURL *.ra
SearchEngine abcsearch. terms=
SearchEngine alexa. q=
SearchEngine alltheweb. q=
SearchEngine alltheweb. query=
SearchEngine alot. q=
SearchEngine altavista. q=
SearchEngine aolsearch. query=
SearchEngine aport.ru r=
SearchEngine ask. q=
SearchEngine atlas.cz q=
SearchEngine bbc. q=
SearchEngine bing. q=
SearchEngine blingo. q=
SearchEngine blogs.yandex.ru text=
SearchEngine btopenworld query=
SearchEngine buscador.ya.com q=
SearchEngine busca. q=
SearchEngine business. query=
SearchEngine centrum.cz q=
SearchEngine chiff. q=
SearchEngine clusty. query=
SearchEngine comcast. q=
SearchEngine crawler. q=
SearchEngine cuil. q=
SearchEngine dmoz. search=
SearchEngine dogpile.com q=
SearchEngine dpxml qkw=
SearchEngine eureka. searchword=
SearchEngine euroseek. string=
SearchEngine exalead. q=
SearchEngine excite search=
SearchEngine ezilon. q=
SearchEngine fastbrowsersearch. q=
SearchEngine feedster.com q=
SearchEngine fireball.de q=
SearchEngine fireball. keyword=
SearchEngine freeserve. q=
SearchEngine gigablast. q=
SearchEngine gogo.ru q=
SearchEngine go.mail.ru q=
SearchEngine google. q=
SearchEngine hakia. q=
SearchEngine hotbot. query=
SearchEngine infoseek. qt=
SearchEngine iwon searchfor=
SearchEngine ixquick.com query=
SearchEngine joeant. keywords=
SearchEngine jyxo.cz s=
SearchEngine looksmart. key=
SearchEngine lycos. query=
SearchEngine mamma. q=
SearchEngine metacrawler q=
SearchEngine msn. MT=
SearchEngine msxml qkw=
SearchEngine mysearch. searchfor=
SearchEngine mywebsearch. searchfor=
SearchEngine netscape. q=
SearchEngine nigma.ru q=
SearchEngine northernlight. qr=
SearchEngine ntlworld. q=
SearchEngine orange. q=
SearchEngine overture. Keywords=
SearchEngine punto.ru text=
SearchEngine rambler. keyword=
SearchEngine search.aol. q=
SearchEngine search.babylon. q=
SearchEngine search.centrum. phrase=
SearchEngine search.conduit. q=
SearchEngine search.earthlink q=
SearchEngine search.icq. q=
SearchEngine search.live.com q=
SearchEngine search.rambler.ru words=
SearchEngine search.winamp. q=
SearchEngine searchy. q=
SearchEngine seznam.cz w=
SearchEngine snap. query=
SearchEngine teoma. q=
SearchEngine teradex.com q=
SearchEngine ukplus key=
SearchEngine verizon. q=
SearchEngine virginmedia. q=
SearchEngine voila. rdata=
SearchEngine webcrawler searchText=
SearchEngine web.search.naver. query=
SearchEngine wisenut q=
SearchEngine yahoo. p=
SearchEngine yandex. text=
SearchEngine yodao. q=

@ -1,14 +0,0 @@
INSTALLATION
------------
SYSTEM REQUIREMENTS
-------------------
DEVELOPMENT VERSIONS
--------------------
CONFIGURING THE INCLUDE PATH
----------------------------
GETTING STARTED
---------------

@ -1,27 +0,0 @@
Copyright (c) 2005-2010, http://www.vestacp.com
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of XXX xxx USA, Inc. nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

@ -1,22 +0,0 @@
RELEASE INFORMATION
---------------
NEW FEATURES
------------
SYSTEM REQUIREMENTS
-------------------
INSTALLATION
------------
Please see INSTALL.txt.
QUESTIONS AND FEEDBACK
----------------------
LICENSE
-------
You can find a copy of this license in LICENSE.txt.
ACKNOWLEDGEMENTS
----------------

36
web/add/user/index.php Normal file

@ -0,0 +1,36 @@
<?php
// Init
error_reporting(NULL);
ob_start();
session_start();
$TAB = 'USER';
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
// Header
include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
// Panel
top_panel($user,$TAB);
// Data
if ($_SESSION['user'] == 'admin') {
if (!empty($_POST['cancel'])) {
echo $_POST['cancel'];
header("Location: /list/user/");
}
if (!empty($_POST['ok'])) {
echo $_POST['vusername'];
echo $_POST['vpassword'];
}
exec (VESTA_CMD."v_list_user_packages json", $output, $return_var);
check_error($return_var);
$data = json_decode(implode('', $output), true);
unset($output);
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_add_user.html');
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_user.html');
}
// Footer
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');

@ -1,94 +0,0 @@
<?php
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta' . DIRECTORY_SEPARATOR . 'core' . DIRECTORY_SEPARATOR . 'VestaSession.class.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta' . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'Config.class.php';
define('V_ROOT_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta' . DIRECTORY_SEPARATOR);
class Captcha
{
protected $width = 200;
protected $image = null;
protected $color1 = null;
protected $color2 = null;
protected $color3 = null;
protected $keyword = '';
public $key_len = 7;
protected $chars = 'qw1e2r3ty5u678p97as9d3o87f6gh3j2k73z5x7c8v3b75n77812356789';
public function __construct()
{
VestaSession::start();
//var_dump(Config::get('session_dirname'));die();
$this->image = imagecreatetruecolor($this->width, 50);
$this->color1 = imagecolorallocate($this->image, 57, 58, 52);
$this->color2 = imagecolorallocate($this->image, 45, 44, 40);
$this->color3 = imagecolorallocate($this->image, 255, 255, 255);
imagefilledrectangle($this->image, 0, 0, 249, 249, $this->color1);
}
public function generateImage($offset = 0)
{
$values = array(
$offset, 15,
$offset, 40,
$offset + 14, 32,
$offset + 14, 8,
$offset, 15,
$offset, 15
);
imagefilledpolygon($this->image, $values, 6, $this->color2);
}
public function draw()
{
$this->generateKeyword();
for ($i = 0; $i < strlen($this->keyword) -1; $i++) {
$this->generateImage($i * 15);
}
$font_file = dirname(__FILE__).DIRECTORY_SEPARATOR.'css'.DIRECTORY_SEPARATOR.'arialbd.ttf';
imagefttext($this->image, 17, 0, 2, 31, $this->color3, $font_file, $this->keyword);
$this->slice();
}
public function slice()
{
$width = 15;
$height = 50;
$dest = imagecreatetruecolor(15 * $this->key_len + 2 * $this->key_len + 8, $height);
imagefilledrectangle($dest, 0, 0, 249, 249, $this->color1);
for ($i = 0; $i < $this->key_len; $i++) {
$dest_x = $i == 0 ? $i * 15 : $i * 15 + $i * 4;
imagecopy($dest, $this->image, $dest_x, 0, $i * 15, 0, $width, $height);
}
header('Content-type: image/jpeg');
imagepng($dest);
}
/**
*
*/
protected function generateKeyword()
{
$this->keyword = '';
for ($i = 0; $i < $this->key_len; $i++) {
$this->keyword .= $this->chars[rand(0, strlen($this->chars)-1)];
}
$_SESSION['captcha_key'] = $this->keyword;
return $this->keyword;
}
}
$c = new Captcha();
$c->draw();
?>

@ -1,222 +0,0 @@
<?php
define('VESTA_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR);
define('V_ROOT_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta' . DIRECTORY_SEPARATOR);
require_once V_ROOT_DIR . 'config/Config.class.php';
require_once V_ROOT_DIR . 'core/utils/Utils.class.php';
require_once V_ROOT_DIR . 'core/VestaSession.class.php';
require_once V_ROOT_DIR . 'core/Vesta.class.php';
require_once V_ROOT_DIR . 'core/exceptions/SystemException.class.php';
require_once V_ROOT_DIR . 'core/exceptions/ProtectionException.class.php';
require_once V_ROOT_DIR . 'core/utils/Message.class.php';
require_once V_ROOT_DIR . 'core/Request.class.php';
require_once V_ROOT_DIR . 'api/AjaxHandler.php';
require_once V_ROOT_DIR . 'api/MAIN.class.php';
class ChangePassword
{
public function dispatch()
{
if (empty($_GET['v'])) {
return $this->renderError('General error');
}
$key = addslashes(htmlspecialchars($_GET['v']));
$cmd = Config::get('sudo_path')." ".Config::get('vesta_functions_path').Vesta::V_LIST_SYS_USERS." 'json'";
exec($cmd, $output, $return);
$users = json_decode(implode('', $output), true);
$email_matched_count = array();
foreach ($users as $username => $user) {
if ($user['RKEY'] == trim($key)) {
$email_matched_count[] = array_merge(array('USERNAME' => $username), $user);
}
}
if (isset($_POST['action']) && $_POST['action'] == 'change') {
return $this->doChangePassword($email_matched_count);
}
return $this->showResetForm();
}
protected function doChangePassword($users)
{
if ($_POST['secret_code'] != $_POST['confirm_secret_code']) {
return $this->showResetForm('Passwords don\'t match');
}
if (strlen($_POST['secret_code']) < 6) {
return $this->showResetForm('Passwords is too short');
}
if (strlen($_POST['secret_code']) > 255) {
return $this->showResetForm('Passwords is too long');
}
$success = true;
foreach ($users as $user) {
$cmd = Config::get('sudo_path')." ".Config::get('vesta_functions_path').Vesta::V_CHANGE_SYS_USER_PASSWORD." ".$user['USERNAME']." ".$_POST['secret_code'];
exec($cmd, $output, $return);
if (!$return) {
$success = false;
}
}
if (!$success) {
$main = new MAIN();
$about = json_decode($main->aboutExecute(), TRUE);
return $this->showResetForm('Something went wrong. Please contact support: '.$about['data']['company_email']);
}
return $this->showSuccessTpl();
}
public function showSuccessTpl()
{
$main = new MAIN();
$about = json_decode($main->aboutExecute(), TRUE);
$current_year = date("Y");
print <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<title>Vesta Control Panel</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="imagetoolbar" content="false" />
<link rel="shortcut icon" href="images/fav.ico" type="image/x-icon">
<link rel="stylesheet" media="all" type="text/css" href="css/reset2.css" />
<link rel="stylesheet" media="all" type="text/css" href="css/main.css" />
<link rel="stylesheet" media="all" type="text/css" href="css/vesta-login-form.css" />
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="http://dl.dropbox.com/u/1750887/projects/vesta2/css/ie.css" />
<![endif]-->
</head>
<body class="page-auth">
<div id="change-psw-block" class="page2">
<div class="b-auth-form">
<div class="b-auth-form-wrap">
<img width="72" height="24" alt="" src="/images/vesta-logo-2011-12-14.png" class="vesta-logo">
<span style="color: #5E696B; float: right; margin-top: -48px;">{$about['data']['version_name']}</span>
<div class="b-client-title">
<span class="client-title-wrap">Control Panel<i class="planets">&nbsp;</i></span>
</div>
<form id="change_psw-form" method="post" action="" class="auth">
<input type="hidden" value="change" name="action">
<div class="success-box" id="change-psw-success">Password successfully changed.</div>
</form>
<p class="forgot-pwd"><a href="/" class="forgot-pwd-url">Back to login?</a></p>
<div class="footnotes cc">
<p class="additional-info">For questions please contact <a href="mailto:{$about['data']['company_email']}" class="questions-url">{$about['data']['company_email']}</a></p>
<address class="imprint">&copy; {$current_year} Vesta Control Panel</address>
</div>
</div>
</div>
</div>
</body>
</html>
HTML;
}
public function showResetForm($error_msg = '')
{
if (!empty($error_msg)) {
$error_msg = '<div class="error-box" id="auth-error">'.$error_msg.'</div>';
}
$main = new MAIN();
$about = json_decode($main->aboutExecute(), TRUE);
$current_year = date("Y");
print <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<title>Vesta Control Panel</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="imagetoolbar" content="false" />
<link rel="shortcut icon" href="images/fav.ico" type="image/x-icon">
<link rel="stylesheet" media="all" type="text/css" href="css/reset2.css" />
<link rel="stylesheet" media="all" type="text/css" href="css/main.css" />
<link rel="stylesheet" media="all" type="text/css" href="css/vesta-login-form.css" />
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="http://dl.dropbox.com/u/1750887/projects/vesta2/css/ie.css" />
<![endif]-->
</head>
<body class="page-auth">
<div id="change-psw-block" class="page2">
<div class="b-auth-form">
<div class="b-auth-form-wrap">
<a href="/">
<img width="72" height="24" alt="" src="/images/vesta-logo-2011-12-14.png" class="vesta-logo">
</a>
<span style="color: #5E696B; float: right; margin-top: -48px;">{$about['data']['version_name']}</span>
<div class="b-client-title">
<span class="client-title-wrap">Control Panel<i class="planets">&nbsp;</i></span>
</div>
<form id="change_psw-form" method="post" action="" class="auth">
<input type="hidden" value="change" name="action">
<div class="form-row cc">
<label for="password" class="field-label">New Password</label>
<input type="password" tabindex="1" id="password" class="field-text" name="secret_code">
</div>
<div class="form-row cc">
<label for="confirm_password" class="field-label">ONE MORE TIME</label>
<input type="password" tabindex="1" id="confirm_password" class="field-text" name="confirm_secret_code">
</div>
{$error_msg}
<div class="form-row cc last-row">
<input type="submit" tabindex="4" value="Change Password" class="sumbit-btn">
</div>
</form>
<p class="forgot-pwd"><a href="/" class="forgot-pwd-url">Back to login?</a></p>\
<div class="footnotes cc">
<p class="additional-info">For questions please contact <a href="mailto:{$about['data']['company_email']}" class="questions-url">{$about['data']['company_email']}</a></p>
<address class="imprint">&copy; {$current_year} Vesta Control Panel</address>
</div>
</div>
</div>
</div>
</body>
</html>
HTML;
}
public function renderError($message)
{
print <<<HTML
{$message}
HTML;
}
}
$changePassword = new ChangePassword();
$changePassword->dispatch();
?>

Binary file not shown.

@ -0,0 +1,548 @@
/*!
* jQuery UI CSS Framework 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
.ui-helper-clearfix:after { clear: both; }
.ui-helper-clearfix { zoom: 1; }
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/*!
* jQuery UI CSS Framework 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial, Helvetica, sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Arial, Helvetica, sans-serif; font-size: 12pt; }
.ui-widget .ui-widget { font-size: 10pt; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; }
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
.ui-widget-content a { color: #222222; }
.ui-widget-header { border: 1px solid #d6d4c9; background: #ebe9dc; color: #777777; font-size: 10pt; font-weight: bold;}
.ui-widget-header a { color: #222222; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*!
* jQuery UI Resizable 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*!
* jQuery UI Selectable 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Selectable#theming
*/
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
/*!
* jQuery UI Accordion 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Accordion#theming
*/
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion { width: 100%; }
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; font-size: 10pt; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 10pt 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }
/*!
* jQuery UI Autocomplete 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Autocomplete#theming
*/
.ui-autocomplete { position: absolute; cursor: default; }
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/*
* jQuery UI Menu 1.8.20
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Menu#theming
*/
.ui-menu {
list-style:none;
padding: 2px;
margin: 0;
display:block;
float: left;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
zoom: 1;
float: left;
clear: left;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
/*!
* jQuery UI Button 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Button#theming
*/
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .10pt; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
.ui-button-text-only .ui-button-text { padding: .4em 10pt; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 10pt .4em 2.10pt; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.10pt .4em 10pt; }
.ui-button-text-icons .ui-button-text { padding-left: 2.10pt; padding-right: 2.10pt; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 10pt; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
/*!
* jQuery UI Dialog 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Dialog#theming
*/
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 10pt; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .10pt 16px .10pt 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 10pt; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 10pt .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
/*!
* jQuery UI Slider 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Slider#theming
*/
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*!
* jQuery UI Tabs 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Tabs#theming
*/
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 10pt; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 10pt 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
/*!
* jQuery UI Datepicker 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Datepicker#theming
*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:10pt; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}/*!
* jQuery UI Progressbar 1.8.20
*
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Progressbar#theming
*/
.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }

File diff suppressed because it is too large Load Diff

@ -1,85 +0,0 @@
/* Styles for popups */
.d-popup{
position:absolute;
top:100px;
left:0;
z-index:100;
background-color:#ccc;
background:url(../images/info-popup-bg-2.png) repeat;
width:250px;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
.d-popup-inner{
padding:20px;
color:#fff;
}
.d-popup .close{
position:absolute;
top:10px;
right:10px;
display:block;
width:14px;
height:14px;
background:url(../images/info-popup-sprite.png) no-repeat 0 -1px;
cursor:pointer;
font-size:0;
line-height:0;
text-indent:-9999px;
}
.d-popup span.close:hover{
background-position:0 -17px;
}
.d-popup span.close:active{
background-position:0 -33px;
}
.d-popup-title{
font-size:11px;
text-transform:uppercase;
text-align:center;
color:#fffaba;
margin:5px 0 16px;
letter-spacing: 2px;
}
.d-popup-items{
font-size:12px;
color:#fff;
}
.d-popup-items .item{
margin:0 0 9px;
}
.d-popup-items a{
color:#aaa;
padding-right:5px;
}
.d-popup .prop-box{
display:block;
}
.d-popup .prop-title{
color:#bbb;
}
.d-popup .prop-value{
color:#fff;
margin-bottom: 5px;
}
.d-popup-content{
color: #fff;
font-size: 13px;
line-height: 24px;
}
.d-popup-content li{
margin-bottom: 5px;
color: #fff;
font-size: 12px;
}
.d-popup-content li strong{
color: #BDB9AE;
text-transfom: uppercese;
font-weight: normal;
font-size: 10px;
margin-right: 7px;
}

@ -1,45 +0,0 @@
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}

@ -1,212 +0,0 @@
/* Page specific styles */
.page-auth{
background:url(../images/auth/auth-bg.png) repeat;
}
.cc:after{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
*html .cc{
zoom:1;
}
+html .cc{
zoom:1;
}
.page-auth .b-auth-form{}
.page-auth .b-auth-form{
width:525px;
margin:7% auto 0;
padding:20px 20px 0;
background:url(../images/auth/form-bg.png) repeat;
-webkit-border-radius:15px;
-moz-border-radius:15px;
border-radius:15px;
behavior: url(js/PIE.htc);
font-family:Arial, Helvetica, sans-serif;
}
.page-auth .b-auth-form-wrap{
position:relative;
padding-top:30px;
}
.page-auth .vesta-logo{
position:absolute;
top:0;
left:0;
display:block;
}
.page-auth .b-client-title{
margin:0 0 45px;
padding-left:130px;
font-size:35px;
background:url(../images/auth/planet-1.png) no-repeat 85px 27px;
color:#fff;
}
.client-title-wrap{
position:relative;
text-transform: uppercase;
font-size:24px;
}
.client-title-wrap .planets{
display:block;
width:91px;
height:7px;
position:absolute;
top:40%;
right:-121px;
background:url(../images/auth/planet-2.png) no-repeat scroll 0 -1px;
}
.page-auth .form-row{
margin:0 0 15px;
}
.page-auth .last-row{
padding:27px 90px 0 133px;
}
.page-auth .field-label{
float:left;
width:101px;
padding-left:15px;
padding-right:17px;
color:#e3d785;
font-size:12px;
font-weight:bold;
line-height:34px;
font-family:Arial, Helvetica, sans-serif;
text-transform:uppercase;
text-align:right;
/*letter-spacing:-.5px;*/
}
.page-auth .field-text{
width:290px;
padding:4px 5px;
font-size:20px;
border:2px solid #0c6c9c;
background:#2d2c28;
color:#fff;
}
.page-auth .field-text:focus{
-moz-box-shadow:0 0 8px rgba(76, 147, 189, 0.7);
-webkit-box-shadow:0 0 8px rgba(76, 147, 189, 0.7);
border-color:rgba(76, 147, 189, 0.85) !important;
}
.page-auth .b-remember{
float:left;
padding-top:5px;
}
.page-auth .remember-label{
cursor:pointer;
padding:2px 2px 2px 8px;
color:#747975;
font-size:12px;
font-family:Arial, Helvetica, sans-serif;
}
span.ui-checkbox{
display: block;
float: left;
width: 14px;
height: 15px;
/* background:url(icon_checkbox.png) 0 -40px no-repeat;*/
background:url(../images/auth/checkboxes.png) no-repeat;
}
.ui-helper-hidden-accessible{
display: none;
}
span.ui-checkbox-state-hover{
background-position: 0 -15px;
}
span.ui-checkbox-state-checked,
span.ui-checkbox-state-checked-hover{
background-position: 0 -30px;
}
.page-auth .sumbit-btn{
float:right;
overflow:visible;
height:30px;
padding:0 40px;
-webkit-border-radius:9px;
-moz-border-radius:9px;
border-radius:9px;
behavior: url(js/PIE.htc);
border:2px solid #2C2C10;
background-color:#BBBF45;
color:#ffffdf;
font-size:13px;
font-family:Arial, Helvetica, sans-serif;
font-weight:bold;
line-height:27px;
text-transform:uppercase;
cursor:pointer;
}
.page-auth .sumbit-btn:focus{
position:relative;
top:1px;
}
.page-auth .sumbit-btn:hover{
background-color:#ffcc00;
color:#483600;
border-color:#000;
}
.page-auth .sumbit-btn:active{
top:0;
background-color:#96A332;
color:#FFFFFF;
border-color:#2C2C10;
}
.page-auth .forgot-pwd{
padding:60px 0 10px 137px;
font-size:13px;
}
.page-auth .forgot-pwd-url{
color:#6f7571;
}
.page-auth a.forgot-pwd-url:hover{
color:#849e54;
}
.page-auth a.forgot-pwd-url:active{
color:#edca38;
}
.page-auth .error-box{
border-top:1px dashed #f16d6b;
padding:10px 0 21px 131px;
font-size:14px;
font-weight:bold;
color:#f16d6b;
}
.page-auth .footnotes{
margin:0 -20px;
padding:15px 20px;
font-size:14px;
border-top:1px solid #34352f;
color:#5a5e5d;
}
.page-auth .footnotes .additional-info{
float:left;
font-size:12px;
font-family:Georgia, "Times New Roman", Times, serif;
font-style:italic;
}
.page-auth .footnotes .questions-url{
color:#5a5e5d;
}
.page-auth .footnotes a.questions-url:hover{
color:#849e54;
}
.page-auth .footnotes a.questions-url:active{
color:#edca38;
}
.page-auth .footnotes .imprint{
float:right;
font-style:normal;
font-size:11px;
padding-top:1px;
}

@ -1,8 +0,0 @@
<?php
date_default_timezone_set('Europe/Moscow');
require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta/core/utils/error_logger.php';
require dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vesta/app.init.php';
?>

Binary file not shown.

Before

(image error) Size: 193 KiB

Binary file not shown.

Before

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 62 B

BIN
web/images/add.png Normal file

Binary file not shown.

After

(image error) Size: 175 B

Binary file not shown.

Before

(image error) Size: 958 B

Binary file not shown.

Before

(image error) Size: 252 B

Binary file not shown.

Before

(image error) Size: 948 B

Binary file not shown.

Before

(image error) Size: 1.5 KiB

Binary file not shown.

Before

(image error) Size: 933 B

Binary file not shown.

Before

(image error) Size: 2.7 KiB

Binary file not shown.

Before

(image error) Size: 1.0 KiB

Binary file not shown.

Before

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 874 B

Binary file not shown.

Before

(image error) Size: 1.8 KiB

Binary file not shown.

Before

(image error) Size: 249 B

BIN
web/images/b.png Normal file

Binary file not shown.

After

(image error) Size: 4.5 KiB

BIN
web/images/b1.png Normal file

Binary file not shown.

After

(image error) Size: 6.3 KiB

BIN
web/images/b2.png Normal file

Binary file not shown.

After

(image error) Size: 6.3 KiB

Binary file not shown.

Before

(image error) Size: 1.2 KiB

Binary file not shown.

Before

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 1015 B

Binary file not shown.

Before

(image error) Size: 1.5 KiB

Binary file not shown.

Before

(image error) Size: 1.0 KiB

Binary file not shown.

Before

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 1.7 KiB

Binary file not shown.

Before

(image error) Size: 2.1 KiB

Binary file not shown.

Before

(image error) Size: 941 B

Binary file not shown.

Before

(image error) Size: 205 B

Binary file not shown.

Before

(image error) Size: 205 B

Binary file not shown.

Before

(image error) Size: 99 B

Binary file not shown.

Before

(image error) Size: 365 B

Binary file not shown.

Before

(image error) Size: 377 B

Binary file not shown.

Before

(image error) Size: 536 B

Binary file not shown.

Before

(image error) Size: 1.2 KiB

Binary file not shown.

Before

(image error) Size: 1.5 KiB

Binary file not shown.

Before

(image error) Size: 1.1 KiB

Binary file not shown.

Before

(image error) Size: 483 B

Binary file not shown.

Before

(image error) Size: 5.8 KiB

Binary file not shown.

Before

(image error) Size: 2.9 KiB

Binary file not shown.

Before

(image error) Size: 396 B

Binary file not shown.

Before

(image error) Size: 121 B

Binary file not shown.

Before

(image error) Size: 161 B

Binary file not shown.

Before

(image error) Size: 175 B

Binary file not shown.

Before

(image error) Size: 1.3 KiB

Binary file not shown.

Before

(image error) Size: 1.0 KiB

Binary file not shown.

Before

(image error) Size: 267 B

Binary file not shown.

Before

(image error) Size: 175 B

Binary file not shown.

Before

(image error) Size: 175 B

Binary file not shown.

Before

(image error) Size: 175 B

Binary file not shown.

Before

(image error) Size: 778 B

BIN
web/images/delete.png Normal file

Binary file not shown.

After

(image error) Size: 229 B

Binary file not shown.

Before

(image error) Size: 44 B

BIN
web/images/download.png Normal file

Binary file not shown.

After

(image error) Size: 2.8 KiB

BIN
web/images/edit.png Normal file

Binary file not shown.

After

(image error) Size: 225 B

Binary file not shown.

Before

(image error) Size: 216 B

Binary file not shown.

Before

(image error) Size: 421 B

Some files were not shown because too many files have changed in this diff Show More