mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-09 22:49:53 +08:00
add Paparazzi On the Web (Web GCS) to in_progress
we need some one to work on it (it was a student project)
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
|
||||
/*
|
||||
* Copyright 2006 Sun Microsystems, Inc. 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 Sun Microsystems 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.
|
||||
*/
|
||||
/**
|
||||
* @see http://blogs.sun.com/gc/entry/unable_to_find_valid_certification
|
||||
*/
|
||||
import java.io.*;
|
||||
|
||||
import java.security.*;
|
||||
import java.security.cert.*;
|
||||
|
||||
import javax.net.ssl.*;
|
||||
|
||||
public class InstallCert {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
String host;
|
||||
int port;
|
||||
char[] passphrase;
|
||||
if ((args.length == 1) || (args.length == 2)) {
|
||||
String[] c = args[0].split(":");
|
||||
host = c[0];
|
||||
port = (c.length == 1) ? 443 : Integer.parseInt(c[1]);
|
||||
String p = (args.length == 1) ? "changeit" : args[1];
|
||||
passphrase = p.toCharArray();
|
||||
} else {
|
||||
System.out.println("Usage: java InstallCert <host>[:port] [passphrase]");
|
||||
return;
|
||||
}
|
||||
|
||||
File file = new File("jssecacerts");
|
||||
if (file.isFile() == false) {
|
||||
char SEP = File.separatorChar;
|
||||
File dir = new File(System.getProperty("java.home") + SEP
|
||||
+ "lib" + SEP + "security");
|
||||
file = new File(dir, "jssecacerts");
|
||||
if (file.isFile() == false) {
|
||||
file = new File(dir, "cacerts");
|
||||
}
|
||||
}
|
||||
System.out.println("Loading KeyStore " + file + "...");
|
||||
InputStream in = new FileInputStream(file);
|
||||
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||
ks.load(in, passphrase);
|
||||
in.close();
|
||||
|
||||
SSLContext context = SSLContext.getInstance("TLS");
|
||||
TrustManagerFactory tmf =
|
||||
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
|
||||
tmf.init(ks);
|
||||
X509TrustManager defaultTrustManager = (X509TrustManager)tmf.getTrustManagers()[0];
|
||||
SavingTrustManager tm = new SavingTrustManager(defaultTrustManager);
|
||||
context.init(null, new TrustManager[] {tm}, null);
|
||||
SSLSocketFactory factory = context.getSocketFactory();
|
||||
|
||||
System.out.println("Opening connection to " + host + ":" + port + "...");
|
||||
SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
|
||||
socket.setSoTimeout(10000);
|
||||
try {
|
||||
System.out.println("Starting SSL handshake...");
|
||||
socket.startHandshake();
|
||||
socket.close();
|
||||
System.out.println();
|
||||
System.out.println("No errors, certificate is already trusted");
|
||||
} catch (SSLException e) {
|
||||
System.out.println();
|
||||
e.printStackTrace(System.out);
|
||||
}
|
||||
|
||||
X509Certificate[] chain = tm.chain;
|
||||
if (chain == null) {
|
||||
System.out.println("Could not obtain server certificate chain");
|
||||
return;
|
||||
}
|
||||
|
||||
BufferedReader reader =
|
||||
new BufferedReader(new InputStreamReader(System.in));
|
||||
|
||||
System.out.println();
|
||||
System.out.println("Server sent " + chain.length + " certificate(s):");
|
||||
System.out.println();
|
||||
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
|
||||
MessageDigest md5 = MessageDigest.getInstance("MD5");
|
||||
for (int i = 0; i < chain.length; i++) {
|
||||
X509Certificate cert = chain[i];
|
||||
System.out.println
|
||||
(" " + (i + 1) + " Subject " + cert.getSubjectDN());
|
||||
System.out.println(" Issuer " + cert.getIssuerDN());
|
||||
sha1.update(cert.getEncoded());
|
||||
System.out.println(" sha1 " + toHexString(sha1.digest()));
|
||||
md5.update(cert.getEncoded());
|
||||
System.out.println(" md5 " + toHexString(md5.digest()));
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
System.out.println("Enter certificate to add to trusted keystore or 'q' to quit: [1]");
|
||||
String line = reader.readLine().trim();
|
||||
int k;
|
||||
try {
|
||||
k = (line.length() == 0) ? 0 : Integer.parseInt(line) - 1;
|
||||
} catch (NumberFormatException e) {
|
||||
System.out.println("KeyStore not changed");
|
||||
return;
|
||||
}
|
||||
|
||||
X509Certificate cert = chain[k];
|
||||
String alias = host + "-" + (k + 1);
|
||||
ks.setCertificateEntry(alias, cert);
|
||||
|
||||
OutputStream out = new FileOutputStream("jssecacerts");
|
||||
ks.store(out, passphrase);
|
||||
out.close();
|
||||
|
||||
System.out.println();
|
||||
System.out.println(cert);
|
||||
System.out.println();
|
||||
System.out.println
|
||||
("Added certificate to keystore 'jssecacerts' using alias '"
|
||||
+ alias + "'");
|
||||
}
|
||||
|
||||
private static final char[] HEXDIGITS = "0123456789abcdef".toCharArray();
|
||||
|
||||
private static String toHexString(byte[] bytes) {
|
||||
StringBuilder sb = new StringBuilder(bytes.length * 3);
|
||||
for (int b : bytes) {
|
||||
b &= 0xff;
|
||||
sb.append(HEXDIGITS[b >> 4]);
|
||||
sb.append(HEXDIGITS[b & 15]);
|
||||
sb.append(' ');
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static class SavingTrustManager implements X509TrustManager {
|
||||
|
||||
private final X509TrustManager tm;
|
||||
private X509Certificate[] chain;
|
||||
|
||||
SavingTrustManager(X509TrustManager tm) {
|
||||
this.tm = tm;
|
||||
}
|
||||
|
||||
public X509Certificate[] getAcceptedIssuers() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void checkClientTrusted(X509Certificate[] chain, String authType)
|
||||
throws CertificateException {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void checkServerTrusted(X509Certificate[] chain, String authType)
|
||||
throws CertificateException {
|
||||
this.chain = chain;
|
||||
tm.checkServerTrusted(chain, authType);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,188 @@
|
||||
|
||||
/*
|
||||
* Copyright 2006 Sun Microsystems, Inc. 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 Sun Microsystems 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.
|
||||
*/
|
||||
/**
|
||||
* @see http://blogs.sun.com/gc/entry/unable_to_find_valid_certification
|
||||
*/
|
||||
import java.io.*;
|
||||
|
||||
import java.security.*;
|
||||
import java.security.cert.*;
|
||||
|
||||
import javax.net.ssl.*;
|
||||
|
||||
public class InstallCert {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
String host;
|
||||
int port;
|
||||
char[] passphrase;
|
||||
if ((args.length == 1) || (args.length == 2)) {
|
||||
String[] c = args[0].split(":");
|
||||
host = c[0];
|
||||
port = (c.length == 1) ? 443 : Integer.parseInt(c[1]);
|
||||
String p = (args.length == 1) ? "changeit" : args[1];
|
||||
passphrase = p.toCharArray();
|
||||
} else {
|
||||
System.out.println("Usage: java InstallCert <host>[:port] [passphrase]");
|
||||
return;
|
||||
}
|
||||
|
||||
File file = new File("jssecacerts");
|
||||
if (file.isFile() == false) {
|
||||
char SEP = File.separatorChar;
|
||||
File dir = new File(System.getProperty("java.home") + SEP
|
||||
+ "lib" + SEP + "security");
|
||||
file = new File(dir, "jssecacerts");
|
||||
if (file.isFile() == false) {
|
||||
file = new File(dir, "cacerts");
|
||||
}
|
||||
}
|
||||
System.out.println("Loading KeyStore " + file + "...");
|
||||
InputStream in = new FileInputStream(file);
|
||||
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||
ks.load(in, passphrase);
|
||||
in.close();
|
||||
|
||||
SSLContext context = SSLContext.getInstance("TLS");
|
||||
TrustManagerFactory tmf =
|
||||
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
|
||||
tmf.init(ks);
|
||||
X509TrustManager defaultTrustManager = (X509TrustManager)tmf.getTrustManagers()[0];
|
||||
SavingTrustManager tm = new SavingTrustManager(defaultTrustManager);
|
||||
context.init(null, new TrustManager[] {tm}, null);
|
||||
SSLSocketFactory factory = context.getSocketFactory();
|
||||
|
||||
System.out.println("Opening connection to " + host + ":" + port + "...");
|
||||
SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
|
||||
socket.setSoTimeout(10000);
|
||||
try {
|
||||
System.out.println("Starting SSL handshake...");
|
||||
socket.startHandshake();
|
||||
socket.close();
|
||||
System.out.println();
|
||||
System.out.println("No errors, certificate is already trusted");
|
||||
} catch (SSLException e) {
|
||||
System.out.println();
|
||||
e.printStackTrace(System.out);
|
||||
}
|
||||
|
||||
X509Certificate[] chain = tm.chain;
|
||||
if (chain == null) {
|
||||
System.out.println("Could not obtain server certificate chain");
|
||||
return;
|
||||
}
|
||||
|
||||
BufferedReader reader =
|
||||
new BufferedReader(new InputStreamReader(System.in));
|
||||
|
||||
System.out.println();
|
||||
System.out.println("Server sent " + chain.length + " certificate(s):");
|
||||
System.out.println();
|
||||
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
|
||||
MessageDigest md5 = MessageDigest.getInstance("MD5");
|
||||
for (int i = 0; i < chain.length; i++) {
|
||||
X509Certificate cert = chain[i];
|
||||
System.out.println
|
||||
(" " + (i + 1) + " Subject " + cert.getSubjectDN());
|
||||
System.out.println(" Issuer " + cert.getIssuerDN());
|
||||
sha1.update(cert.getEncoded());
|
||||
System.out.println(" sha1 " + toHexString(sha1.digest()));
|
||||
md5.update(cert.getEncoded());
|
||||
System.out.println(" md5 " + toHexString(md5.digest()));
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
System.out.println("Enter certificate to add to trusted keystore or 'q' to quit: [1]");
|
||||
String line = reader.readLine().trim();
|
||||
int k;
|
||||
try {
|
||||
k = (line.length() == 0) ? 0 : Integer.parseInt(line) - 1;
|
||||
} catch (NumberFormatException e) {
|
||||
System.out.println("KeyStore not changed");
|
||||
return;
|
||||
}
|
||||
|
||||
X509Certificate cert = chain[k];
|
||||
String alias = host + "-" + (k + 1);
|
||||
ks.setCertificateEntry(alias, cert);
|
||||
|
||||
OutputStream out = new FileOutputStream("jssecacerts");
|
||||
ks.store(out, passphrase);
|
||||
out.close();
|
||||
|
||||
System.out.println();
|
||||
System.out.println(cert);
|
||||
System.out.println();
|
||||
System.out.println
|
||||
("Added certificate to keystore 'jssecacerts' using alias '"
|
||||
+ alias + "'");
|
||||
}
|
||||
|
||||
private static final char[] HEXDIGITS = "0123456789abcdef".toCharArray();
|
||||
|
||||
private static String toHexString(byte[] bytes) {
|
||||
StringBuilder sb = new StringBuilder(bytes.length * 3);
|
||||
for (int b : bytes) {
|
||||
b &= 0xff;
|
||||
sb.append(HEXDIGITS[b >> 4]);
|
||||
sb.append(HEXDIGITS[b & 15]);
|
||||
sb.append(' ');
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static class SavingTrustManager implements X509TrustManager {
|
||||
|
||||
private final X509TrustManager tm;
|
||||
private X509Certificate[] chain;
|
||||
|
||||
SavingTrustManager(X509TrustManager tm) {
|
||||
this.tm = tm;
|
||||
}
|
||||
|
||||
public X509Certificate[] getAcceptedIssuers() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void checkClientTrusted(X509Certificate[] chain, String authType)
|
||||
throws CertificateException {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void checkServerTrusted(X509Certificate[] chain, String authType)
|
||||
throws CertificateException {
|
||||
this.chain = chain;
|
||||
tm.checkServerTrusted(chain, authType);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
|
||||
|
||||
JkWorkersFile /etc/apache2/workers.properties
|
||||
JkLogFile /var/log/apache2/mod_jk.log
|
||||
JkLogLevel debug
|
||||
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
|
||||
@@ -0,0 +1,20 @@
|
||||
<IfModule mod_php5.c>
|
||||
AddType application/x-httpd-php .php .phtml .php3
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
|
||||
<FilesMatch "\.ph(p3?|tml)$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
<FilesMatch "\.phps$">
|
||||
SetHandler application/x-httpd-php-source
|
||||
</FilesMatch>
|
||||
# To re-enable php in user directories comment the following lines
|
||||
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
|
||||
# prevents .htaccess files from disabling it.
|
||||
<IfModule mod_userdir.c>
|
||||
<Directory /home/*/public_html>
|
||||
php_admin_value engine Off
|
||||
</Directory>
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
@@ -0,0 +1 @@
|
||||
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
|
||||
@@ -0,0 +1,64 @@
|
||||
<IfModule mod_ssl.c>
|
||||
#
|
||||
# Pseudo Random Number Generator (PRNG):
|
||||
# Configure one or more sources to seed the PRNG of the SSL library.
|
||||
# The seed data should be of good random quality.
|
||||
# WARNING! On some platforms /dev/random blocks if not enough entropy
|
||||
# is available. This means you then cannot use the /dev/random device
|
||||
# because it would lead to very long connection times (as long as
|
||||
# it requires to make more entropy available). But usually those
|
||||
# platforms additionally provide a /dev/urandom device which doesn't
|
||||
# block. So, if available, use this one instead. Read the mod_ssl User
|
||||
# Manual for more details.
|
||||
#
|
||||
SSLRandomSeed startup builtin
|
||||
SSLRandomSeed startup file:/dev/urandom 512
|
||||
SSLRandomSeed connect builtin
|
||||
SSLRandomSeed connect file:/dev/urandom 512
|
||||
|
||||
##
|
||||
## SSL Global Context
|
||||
##
|
||||
## All SSL configuration in this context applies both to
|
||||
## the main server and all SSL-enabled virtual hosts.
|
||||
##
|
||||
|
||||
#
|
||||
# Some MIME-types for downloading Certificates and CRLs
|
||||
#
|
||||
AddType application/x-x509-ca-cert .crt
|
||||
AddType application/x-pkcs7-crl .crl
|
||||
|
||||
# Pass Phrase Dialog:
|
||||
# Configure the pass phrase gathering process.
|
||||
# The filtering dialog program (`builtin' is a internal
|
||||
# terminal dialog) has to provide the pass phrase on stdout.
|
||||
SSLPassPhraseDialog builtin
|
||||
|
||||
# Inter-Process Session Cache:
|
||||
# Configure the SSL Session Cache: First the mechanism
|
||||
# to use and second the expiring timeout (in seconds).
|
||||
#SSLSessionCache dbm:/var/run/apache2/ssl_scache
|
||||
SSLSessionCache shmcb:/var/run/apache2/ssl_scache(512000)
|
||||
SSLSessionCacheTimeout 300
|
||||
|
||||
# Semaphore:
|
||||
# Configure the path to the mutual exclusion semaphore the
|
||||
# SSL engine uses internally for inter-process synchronization.
|
||||
SSLMutex file:/var/run/apache2/ssl_mutex
|
||||
|
||||
# SSL Cipher Suite:
|
||||
# List the ciphers that the client is permitted to negotiate.
|
||||
# See the mod_ssl documentation for a complete list.
|
||||
# enable only secure ciphers:
|
||||
SSLCipherSuite HIGH:MEDIUM:!ADH
|
||||
# Use this instead if you want to allow cipher upgrades via SGC facility.
|
||||
# In this case you also have to use something like
|
||||
# SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
|
||||
# see http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html.en#upgradeenc
|
||||
#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
|
||||
|
||||
# enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
|
||||
SSLProtocol all -SSLv2
|
||||
|
||||
</IfModule>
|
||||
@@ -0,0 +1 @@
|
||||
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
# If you just change the port or add more ports here, you will likely also
|
||||
# have to change the VirtualHost statement in
|
||||
# /etc/apache2/sites-enabled/000-default
|
||||
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
|
||||
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
|
||||
# README.Debian.gz
|
||||
|
||||
#NameVirtualHost *:80
|
||||
Listen 80
|
||||
|
||||
<IfModule mod_ssl.c>
|
||||
# If you add NameVirtualHost *:443 here, you will also have to change
|
||||
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
|
||||
# to <VirtualHost *:443>
|
||||
# Server Name Indication for SSL named virtual hosts is currently not
|
||||
# supported by MSIE on Windows XP.
|
||||
Listen 443
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_gnutls.c>
|
||||
Listen 443
|
||||
</IfModule>
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
NameVirtualHost *:80
|
||||
<VirtualHost *:80>
|
||||
ServerAdmin webmaster@localhost
|
||||
|
||||
DocumentRoot /var/www
|
||||
<Directory />
|
||||
Options FollowSymLinks
|
||||
AllowOverride None
|
||||
</Directory>
|
||||
<Directory /var/www/>
|
||||
Options Indexes FollowSymLinks MultiViews
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
|
||||
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
|
||||
<Directory "/usr/lib/cgi-bin">
|
||||
AllowOverride None
|
||||
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
ErrorLog /var/log/apache2/error.log
|
||||
|
||||
# Possible values include: debug, info, notice, warn, error, crit,
|
||||
# alert, emerg.
|
||||
LogLevel warn
|
||||
|
||||
CustomLog /var/log/apache2/access.log combined
|
||||
|
||||
Alias /doc/ "/usr/share/doc/"
|
||||
<Directory "/usr/share/doc/">
|
||||
Options Indexes MultiViews FollowSymLinks
|
||||
AllowOverride None
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
Allow from 127.0.0.0/255.0.0.0 ::1/128
|
||||
</Directory>
|
||||
|
||||
</VirtualHost>
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
NameVirtualHost *:443
|
||||
|
||||
<VirtualHost *:443>
|
||||
ServerAdmin admin@pow.fr
|
||||
ServerName blanc
|
||||
|
||||
LogLevel warn
|
||||
|
||||
CustomLog /var/log/apache2/access.log combined
|
||||
ServerSignature On
|
||||
|
||||
SSLEngine on
|
||||
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
|
||||
#SSLCertificateFile /etc/ssl/private/serveur.cert
|
||||
#SSLCertificateKeyFile /etc/ssl/private/serveur.key
|
||||
#SSLCACertificateFile /etc/ssl/private/ca-root.cert
|
||||
SSLCertificateFile /etc/ssl/server.crt
|
||||
SSLCertificateKeyFile /etc/ssl/server.key
|
||||
SSLCACertificatePath /etc/ssl
|
||||
|
||||
#SSLVerifyClient optional_no_ca
|
||||
#SSLOptions +ExportCertData +StdEnvVars
|
||||
SetEnvIf User-Agent ".*MSIE.*" \
|
||||
nokeepalive ssl-unclean-shutdown \
|
||||
downgrade-1.0 force-response-1.0
|
||||
|
||||
JkExtractSSL On
|
||||
JkOptions +FlushPackets
|
||||
JkOptions +FlushHeader
|
||||
JkMount /ServletPow worker1
|
||||
JkMount /ServletPow/* worker1
|
||||
JkMount /examples/* worker1
|
||||
JkMount /examples worker1
|
||||
|
||||
#Redirect https://www.recherche.enac.fr/TestServletPow https://www.recherche.enac.fr/evaluation/TestServletPow
|
||||
</VirtualHost>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
workers.tomcat_home=/users/genin/apache-tomcat-6.0.26
|
||||
|
||||
workers.java_home=/usr/lib/jvm/java-6-sun
|
||||
ps=/
|
||||
worker.list=worker1
|
||||
worker.worker1.port=8009
|
||||
worker.worker1.host=localhost
|
||||
worker.worker1.type=ajp13
|
||||
worker.worker1.lbfactor=1
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-6-openjdk">
|
||||
<attributes>
|
||||
<attribute name="owner.project.facets" value="jst.java"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0">
|
||||
<attributes>
|
||||
<attribute name="owner.project.facets" value="jst.web"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/ivy-1.2.13.jar"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/commons-httpclient-3.1.jar"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/commons-fileupload-1.2.1.jar"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/log4j-1.2.16.jar"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/jdom.jar"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/xerces.jar"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/serializer.jar"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/mysql-connector-java-5.1.12-bin.jar"/>
|
||||
<classpathentry kind="lib" path="/users/genin/JARLIB/jakarta-regexp-1.5.jar"/>
|
||||
<classpathentry kind="output" path="build/classes"/>
|
||||
</classpath>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>ServletPow</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
|
||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
|
||||
<attributes>
|
||||
<attribute name="hide" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
|
||||
<classpathentry kind="output" path=""/>
|
||||
</classpath>
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
#Tue Apr 20 15:09:25 CEST 2010
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
<wb-module deploy-name="TestServletPow">
|
||||
<wb-resource deploy-path="/" source-path="/WebContent"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
|
||||
<property name="context-root" value="TestServletPow"/>
|
||||
<property name="java-output-path" value="/TestServletPow/build/classes"/>
|
||||
</wb-module>
|
||||
</project-modules>
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<faceted-project>
|
||||
<runtime name="Apache Tomcat v6.0"/>
|
||||
<fixed facet="jst.web"/>
|
||||
<fixed facet="jst.java"/>
|
||||
<installed facet="jst.java" version="6.0"/>
|
||||
<installed facet="jst.web" version="2.5"/>
|
||||
<installed facet="wst.jsdt.web" version="1.0"/>
|
||||
</faceted-project>
|
||||
+1
@@ -0,0 +1 @@
|
||||
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
||||
Executable
+1
@@ -0,0 +1 @@
|
||||
Window
|
||||
+220
@@ -0,0 +1,220 @@
|
||||
body
|
||||
{
|
||||
background-color: #CCFFCC;
|
||||
margin: 0%;
|
||||
padding: 0%;
|
||||
outline: 0%;
|
||||
height: 100%;
|
||||
overflow:hidden;
|
||||
max-width:2048px;
|
||||
font-size : 11;
|
||||
}
|
||||
|
||||
select{
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
vertical-align: middle;
|
||||
background-color: #F5F5DC;
|
||||
}
|
||||
input {
|
||||
background-color:#F5F5DC;
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#welcome
|
||||
{
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
height:3%;
|
||||
width: 100%;
|
||||
background-color: #EEEEEE;
|
||||
text-align: center;
|
||||
font-weight:bold;
|
||||
font-size : 12;
|
||||
}
|
||||
#usr
|
||||
{
|
||||
position:absolute;
|
||||
top:0;
|
||||
right:6%;
|
||||
height:3%;
|
||||
width:25%;
|
||||
background-color: #EEEEEE;
|
||||
text-align: right;
|
||||
white-space:nowrap;
|
||||
}
|
||||
#page
|
||||
{
|
||||
position:absolute;
|
||||
top:3%;
|
||||
left:0;
|
||||
height:97%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
#choicePanel{
|
||||
position:absolute;
|
||||
top:0%;
|
||||
left:0%;
|
||||
height: 13%;
|
||||
width : 15%;
|
||||
background-color: #EEEEEE;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
#aircraftSelector
|
||||
{
|
||||
text-align: center;
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
|
||||
#trackdiv
|
||||
{
|
||||
text-align: center;
|
||||
background-color: #EEEEEE;
|
||||
-moz-border-radius: 7px 7px 7px 7px;
|
||||
-webkit-border-radius: 7px 7px 7px 7px;
|
||||
border-radius: 7px 7px 7px 7px;
|
||||
-webkit-border-top-left-radius: 7px; /* pour Chrome */
|
||||
-webkit-border-top-right-radius: 7px; /* pour Chrome */
|
||||
-webkit-border-bottom-left-radius: 7px; /* pour Chrome */
|
||||
-webkit-border-bottom-right-radius: 7px; /* pour Chrome */
|
||||
width: 140px;
|
||||
color: white;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
#active_block
|
||||
{
|
||||
font-size:11;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#FlightPlan
|
||||
{
|
||||
overflow:auto;
|
||||
position:absolute;
|
||||
top:0%;
|
||||
left:15%;
|
||||
height: 40%;
|
||||
width : 14.9%;
|
||||
background-color: #EEEEEE;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
#FlightParams
|
||||
{
|
||||
position:absolute;
|
||||
top:13%;
|
||||
left :0%
|
||||
text-align: center;
|
||||
height: 27%;
|
||||
width : 14.9%;
|
||||
border: 1px solid black;
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
|
||||
#map_canvas
|
||||
{
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:30%;
|
||||
width:70%;
|
||||
height: 95%;
|
||||
border:1px solid black;
|
||||
}
|
||||
|
||||
|
||||
#Settings
|
||||
{
|
||||
overflow:auto;
|
||||
position:absolute;
|
||||
left:0%;
|
||||
top:40%;
|
||||
text-align: left;
|
||||
height: 55%;
|
||||
width: 29.9%;
|
||||
background-color: #EEEEEE;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
#page_setting {
|
||||
|
||||
}
|
||||
|
||||
#setting {
|
||||
width: 400px;
|
||||
height: 250px;
|
||||
padding: 0.5em;
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 8;
|
||||
}
|
||||
#param
|
||||
{
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
#NewsDiv
|
||||
{
|
||||
position:absolute;
|
||||
overflow:auto;
|
||||
left:0%;
|
||||
top:95%;
|
||||
height: 5%;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
vertical-align:top;
|
||||
background-color: #EEEEEE;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
#info
|
||||
{
|
||||
text-align: left;
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#Debug
|
||||
{
|
||||
overflow:auto;
|
||||
position:absolute;
|
||||
left:65%;
|
||||
top:50%;
|
||||
text-align: center;
|
||||
height: 50%;
|
||||
width: 35%;
|
||||
background-color: #EEEEEE;
|
||||
border: 1px solid black;
|
||||
padding-top:20px;
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#title{
|
||||
font-weight:bold;
|
||||
font-size:18;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
table.param {
|
||||
border:3px solid #6495ed;
|
||||
border-collapse:collapse;
|
||||
width:90%;
|
||||
margin:auto;
|
||||
}
|
||||
td.param {
|
||||
font-family:sans-serif;
|
||||
font-size:11px;
|
||||
border:1px solid #6495ed;
|
||||
padding:5px;
|
||||
text-align:left;
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
body
|
||||
{
|
||||
width: 90%;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
margin-left:5%;
|
||||
margin-reight:5%;
|
||||
background-color: #CCFFCC;
|
||||
text-align:justify;
|
||||
}
|
||||
|
||||
h3,h2
|
||||
{
|
||||
color : navy;
|
||||
text-align:center;
|
||||
text-decoration:underline;
|
||||
}
|
||||
#problem
|
||||
{
|
||||
color:red;
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
body
|
||||
{
|
||||
background-color: #CCFFCC;
|
||||
margin-top: 2%;
|
||||
padding: 0%;
|
||||
outline: 0%;
|
||||
height: 100%;
|
||||
overflow:hidden;
|
||||
max-width:2048px;
|
||||
text-align:center;
|
||||
font-size:24px;
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
body
|
||||
{
|
||||
width: 960px;
|
||||
margin-top: 100px;
|
||||
margin-bottom: 5px;
|
||||
background-image: url("Icons/logo.png");
|
||||
background-repeat:no-repeat;
|
||||
background-color: #CCFFCC;
|
||||
|
||||
}
|
||||
|
||||
#signIn
|
||||
{
|
||||
margin: auto;
|
||||
width: 300px;
|
||||
height: 140px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
#log
|
||||
{
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
position:absolute;
|
||||
right:1%;
|
||||
top:80%;
|
||||
}
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
select{
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
vertical-align: middle;
|
||||
background-color: #F5F5DC;
|
||||
}
|
||||
input {
|
||||
border:1px solid black;
|
||||
background-color:#F5F5DC;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
label {
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
span {
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
td {
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#title {
|
||||
position : absolute;
|
||||
top : 0%;
|
||||
left : 0%;
|
||||
height : 5%;
|
||||
width : 100%;
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
text-align : right;
|
||||
font-size : 11px;
|
||||
background-color: #BC8F8F;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
#page {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
left : 15%;
|
||||
width : 70%;
|
||||
height : 65%;
|
||||
border: 1px solid black;
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
|
||||
|
||||
#modifImmat {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
}
|
||||
|
||||
|
||||
#modifPwd {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
}
|
||||
|
||||
|
||||
#modifRight {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
}
|
||||
|
||||
#modifyUser {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
}
|
||||
|
||||
#createUser {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
}
|
||||
|
||||
#mainForm {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
}
|
||||
|
||||
|
||||
#createIvyUser {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
}
|
||||
|
||||
#listIvyUser {
|
||||
position : absolute;
|
||||
top : 15%;
|
||||
}
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
body
|
||||
{
|
||||
background-color: #CCFFCC;
|
||||
margin: 0%;
|
||||
padding: 0%;
|
||||
outline: 0%;
|
||||
height: 95%;
|
||||
}
|
||||
#page
|
||||
{
|
||||
width: 100%;
|
||||
height: 95%;
|
||||
}
|
||||
|
||||
#logo
|
||||
{
|
||||
width: 960px;
|
||||
height: 100px;
|
||||
background-image: url("banniere.jpg");
|
||||
background-repeat: repeat-x;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#leftmenu
|
||||
{
|
||||
/* float: left; /* Le menu flottera à gauche */
|
||||
/* width: 120px; *//* Très important : donner une taille au menu */
|
||||
}
|
||||
#welcome
|
||||
{
|
||||
text-align: center;
|
||||
background-color: #EEEEEE;
|
||||
border: 2px solid black;
|
||||
margin-bottom: 10px; /* Pour éviter que les éléments du menu ne soient trop collés */
|
||||
}
|
||||
#choice
|
||||
{
|
||||
float: left;
|
||||
text-align: center;
|
||||
background-color: #EEEEEE;
|
||||
border: 2px solid black;
|
||||
height: 190px;
|
||||
width: 20px;
|
||||
}
|
||||
#map_canvas
|
||||
{
|
||||
width: 690px;
|
||||
height: 350px;
|
||||
margin-left: 125px;
|
||||
}
|
||||
|
||||
#FlightPlan
|
||||
{
|
||||
float: right;
|
||||
width: 135px; /* Très important : donner une taille au menu */
|
||||
height: 345px;
|
||||
border: 2px solid black;
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ControlPanel
|
||||
{
|
||||
float: left;
|
||||
text-align: center;
|
||||
height: 150px;
|
||||
width: 600px;
|
||||
border: 2px solid black;
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
#FlightParams
|
||||
{
|
||||
text-align: center;
|
||||
float: right;
|
||||
height: 150px;
|
||||
width: 350px;
|
||||
border: 2px solid black;
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
table
|
||||
{
|
||||
margin-left: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/*--------------------------------------------------|
|
||||
| dTree 2.05 | www.destroydrop.com/javascript/tree/ |
|
||||
|---------------------------------------------------|
|
||||
| Copyright (c) 2002-2003 Geir Landrö |
|
||||
|--------------------------------------------------*/
|
||||
|
||||
.dtree {
|
||||
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
|
||||
font-size: 11px;
|
||||
color: #666;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.dtree img {
|
||||
border: 0px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.dtree a {
|
||||
color: #333;
|
||||
text-decoration: none;
|
||||
}
|
||||
.dtree a.node, .dtree a.nodeSel {
|
||||
white-space: nowrap;
|
||||
padding: 1px 2px 1px 2px;
|
||||
}
|
||||
.dtree a.node:hover, .dtree a.nodeSel:hover {
|
||||
color: #333;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.dtree a.nodeSel {
|
||||
background-color: #c0d2ec;
|
||||
}
|
||||
.dtree .clip {
|
||||
overflow: hidden;
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
/* $Id: example.css,v 1.5 2006/03/27 02:44:36 pat Exp $ */
|
||||
|
||||
/*--------------------------------------------------
|
||||
REQUIRED to hide the non-active tab content.
|
||||
But do not hide them in the print stylesheet!
|
||||
--------------------------------------------------*/
|
||||
.tabberlive .tabbertabhide {
|
||||
display:none;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
.tabber = before the tabber interface is set up
|
||||
.tabberlive = after the tabber interface is set up
|
||||
--------------------------------------------------*/
|
||||
.tabber {
|
||||
}
|
||||
.tabberlive {
|
||||
margin-top:1em;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
ul.tabbernav = the tab navigation list
|
||||
li.tabberactive = the active tab
|
||||
--------------------------------------------------*/
|
||||
ul.tabbernav
|
||||
{
|
||||
margin:0;
|
||||
padding: 3px 0;
|
||||
border-bottom: 1px solid #778;
|
||||
font: bold 12px Verdana, sans-serif;
|
||||
}
|
||||
|
||||
ul.tabbernav li
|
||||
{
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
ul.tabbernav li a
|
||||
{
|
||||
padding: 3px 0.5em;
|
||||
margin-left: 3px;
|
||||
border: 1px solid #778;
|
||||
border-bottom: none;
|
||||
background: #DDE;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul.tabbernav li a:link { color: #448; }
|
||||
ul.tabbernav li a:visited { color: #667; }
|
||||
|
||||
ul.tabbernav li a:hover
|
||||
{
|
||||
color: #000;
|
||||
background: #AAE;
|
||||
border-color: #227;
|
||||
}
|
||||
|
||||
ul.tabbernav li.tabberactive a
|
||||
{
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
|
||||
ul.tabbernav li.tabberactive a:hover
|
||||
{
|
||||
color: #000;
|
||||
background: white;
|
||||
border-bottom: 1px solid white;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
.tabbertab = the tab content
|
||||
Add style only after the tabber interface is set up (.tabberlive)
|
||||
--------------------------------------------------*/
|
||||
.tabberlive .tabbertab {
|
||||
padding:5px;
|
||||
border:1px solid #aaa;
|
||||
border-top:0;
|
||||
|
||||
/* If you don't want the tab size changing whenever a tab is changed
|
||||
you can set a fixed height */
|
||||
|
||||
/* height:200px; */
|
||||
|
||||
/* If you set a fix height set overflow to auto and you will get a
|
||||
scrollbar when necessary */
|
||||
|
||||
/* overflow:auto; */
|
||||
}
|
||||
|
||||
/* If desired, hide the heading since a heading is provided by the tab */
|
||||
.tabberlive .tabbertab h2 {
|
||||
display:none;
|
||||
}
|
||||
.tabberlive .tabbertab h3 {
|
||||
display:none;
|
||||
}
|
||||
|
||||
/* Example of using an ID to set different styles for the tabs on the page */
|
||||
.tabberlive#tab1 {
|
||||
}
|
||||
.tabberlive#tab2 {
|
||||
}
|
||||
.tabberlive#tab2 .tabbertab {
|
||||
height:200px;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 260 B |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 251 B |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 178 B |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 104 B |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 125 B |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user