From 6f328fa18807b59e8ead377ab304f2184e9a41af Mon Sep 17 00:00:00 2001 From: Benjamin Sonntag Date: Wed, 13 May 2015 11:48:23 +0200 Subject: [PATCH] [doc] website for install+presentation of AlternC --- doc/.gitignore | 1 + doc/Makefile | 15 +- doc/home_en.md | 12 ++ doc/home_fr.md | 12 ++ doc/install_en.md | 17 ++ doc/www/.htaccess | 7 + doc/www/assets/css/docs.min.css | 361 +++++++++++++++++++++++++++++++- doc/www/foot.php | 78 ++++--- doc/www/head.php | 68 +----- doc/www/{index.php => home.php} | 12 +- doc/www/install.php | 49 +++++ doc/www/logo.png | Bin 0 -> 8445 bytes doc/www/navbar | 23 -- doc/www/router.php | 48 +++++ 14 files changed, 584 insertions(+), 119 deletions(-) create mode 100644 doc/.gitignore create mode 100644 doc/home_en.md create mode 100644 doc/home_fr.md create mode 100644 doc/install_en.md create mode 100644 doc/www/.htaccess rename doc/www/{index.php => home.php} (87%) create mode 100644 doc/www/install.php create mode 100644 doc/www/logo.png delete mode 100644 doc/www/navbar create mode 100644 doc/www/router.php diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 00000000..2d19fc76 --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/doc/Makefile b/doc/Makefile index 7add872a..ce99279b 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,6 +1,15 @@ -all: install.php +all: install_fr.html install_en.html home_fr.html home_en.html -install.php: install_fr.md - github-markup install_fr.md >install.php +install_fr.html: install_fr.md + github-markup install_fr.md >install_fr.html + +install_en.html: install_en.md + github-markup install_en.md >install_en.html + +home_fr.html: home_fr.md + github-markup home_fr.md >home_fr.html + +home_en.html: home_en.md + github-markup home_en.md >home_en.html diff --git a/doc/home_en.md b/doc/home_en.md new file mode 100644 index 00000000..cacee990 --- /dev/null +++ b/doc/home_en.md @@ -0,0 +1,12 @@ + +AlternC Hosting Control Panel +============================= + +AlternC is a hosting control panel, a software suite which makes web and mail server management easier. + +To [install AlternC on your Debian GNU/Linux stable distribution, see our documentation](install). + +You may want to [test it on our demonstration server](http://demo.alternc.org/) + +If you want to participate, [we have a developer website](http://alternc.org). + diff --git a/doc/home_fr.md b/doc/home_fr.md new file mode 100644 index 00000000..8a525772 --- /dev/null +++ b/doc/home_fr.md @@ -0,0 +1,12 @@ + +AlternC, Logiciel de gestion de serveur +======================================= + +AlternC est une suite logicielle permettant de gérer facilement un serveur web et mail. + +Pour [installer AlternC sur votre distribution Debian GNU/Linux stable, lisez notre documentation](install). + +Vous pouvez tester AlternC [sur notre serveur de démonstration](http://demo.alternc.org/) + +Si vous souhaitez participer à son développement, [nous avons un site dédié aux développeurs](http://alternc.org). + diff --git a/doc/install_en.md b/doc/install_en.md new file mode 100644 index 00000000..bda4bff3 --- /dev/null +++ b/doc/install_en.md @@ -0,0 +1,17 @@ + + +Pre-installation +================ + +AlternC works well with current or previous stable version of Linux Debian distribution. We are using `apt-get` to install the required softwares. + +To install AlternC, you'll need: + +* a SSH access to the server. +* administrator rights (`sudo -s` or `su`) +* ensure that `#includedir /etc/sudoers.d` is present in `/etc/sudoers` with the command `visudo`. + + +ACL +--- + diff --git a/doc/www/.htaccess b/doc/www/.htaccess new file mode 100644 index 00000000..1f3b2c68 --- /dev/null +++ b/doc/www/.htaccess @@ -0,0 +1,7 @@ + +RewriteEngine On + +RewriteCond %{REQUEST_FILENAME} !-f +RewriteRule (.*) router.php [L] + + diff --git a/doc/www/assets/css/docs.min.css b/doc/www/assets/css/docs.min.css index e0c62589..b5f52dab 100644 --- a/doc/www/assets/css/docs.min.css +++ b/doc/www/assets/css/docs.min.css @@ -3,4 +3,363 @@ * Copyright 2011-2014 Twitter, Inc. * Licensed under the Creative Commons Attribution 3.0 Unported License. For * details, see http://creativecommons.org/licenses/by/3.0/. - */body{position:relative}.table code{font-size:13px;font-weight:400}.btn-outline{color:#563d7c;background-color:transparent;border-color:#563d7c}.btn-outline:hover,.btn-outline:focus,.btn-outline:active{color:#fff;background-color:#563d7c;border-color:#563d7c}.btn-outline-inverse{color:#fff;background-color:transparent;border-color:#cdbfe3}.btn-outline-inverse:hover,.btn-outline-inverse:focus,.btn-outline-inverse:active{color:#563d7c;text-shadow:none;background-color:#fff;border-color:#fff}.bs-docs-booticon{display:block;font-weight:500;color:#fff;text-align:center;cursor:default;background-color:#563d7c;border-radius:15%}.bs-docs-booticon-sm{width:30px;height:30px;font-size:20px;line-height:28px}.bs-docs-booticon-lg{width:144px;height:144px;font-size:108px;line-height:140px}.bs-docs-booticon-inverse{color:#563d7c;background-color:#fff}.bs-docs-booticon-outline{background-color:transparent;border:1px solid #cdbfe3}.bs-docs-nav{margin-bottom:0;background-color:#fff;border-bottom:0}.bs-home-nav .bs-nav-b{display:none}.bs-docs-nav .navbar-brand,.bs-docs-nav .navbar-nav>li>a{font-weight:500;color:#563d7c}.bs-docs-nav .navbar-nav>li>a:hover,.bs-docs-nav .navbar-nav>.active>a,.bs-docs-nav .navbar-nav>.active>a:hover{color:#463265;background-color:#f9f9f9}.bs-docs-nav .navbar-toggle .icon-bar{background-color:#563d7c}.bs-docs-nav .navbar-header .navbar-toggle{border-color:#fff}.bs-docs-nav .navbar-header .navbar-toggle:hover,.bs-docs-nav .navbar-header .navbar-toggle:focus{background-color:#f9f9f9;border-color:#f9f9f9}.bs-docs-footer{padding-top:40px;padding-bottom:40px;margin-top:100px;color:#777;text-align:center;border-top:1px solid #e5e5e5}.bs-docs-footer-links{padding-left:0;margin-top:20px;color:#999}.bs-docs-footer-links li{display:inline;padding:0 2px}.bs-docs-footer-links li:first-child{padding-left:0}@media (min-width:768px){.bs-docs-footer p{margin-bottom:0}}.bs-docs-social{margin-bottom:20px;text-align:center}.bs-docs-social-buttons{display:inline-block;padding-left:0;margin-bottom:0;list-style:none}.bs-docs-social-buttons li{display:inline-block;padding:5px 8px;line-height:1}.bs-docs-social-buttons .twitter-follow-button{width:225px!important}.bs-docs-social-buttons .twitter-share-button{width:98px!important}.github-btn{overflow:hidden;border:0}.bs-docs-masthead,.bs-docs-header{position:relative;padding:30px 15px;color:#cdbfe3;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1);background-color:#6f5499;background-image:-webkit-gradient(linear,left top,left bottom,from(#563d7c),to(#6f5499));background-image:-webkit-linear-gradient(top,#563d7c 0,#6f5499 100%);background-image:-o-linear-gradient(top,#563d7c 0,#6f5499 100%);background-image:linear-gradient(to bottom,#563d7c 0,#6f5499 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#563d7c', endColorstr='#6F5499', GradientType=0);background-repeat:repeat-x}.bs-docs-masthead .bs-docs-booticon{margin:0 auto 30px}.bs-docs-masthead h1{font-weight:300;line-height:1;color:#fff}.bs-docs-masthead .lead{margin:0 auto 30px;font-size:20px;color:#fff}.bs-docs-masthead .version{margin-top:-15px;margin-bottom:30px;color:#9783b9}.bs-docs-masthead .btn{width:100%;padding:15px 30px;font-size:20px}@media (min-width:480px){.bs-docs-masthead .btn{width:auto}}@media (min-width:768px){.bs-docs-masthead{padding:80px 0}.bs-docs-masthead h1{font-size:60px}.bs-docs-masthead .lead{font-size:24px}}@media (min-width:992px){.bs-docs-masthead .lead{width:80%;font-size:30px}}.bs-docs-header{margin-bottom:40px;font-size:20px}.bs-docs-header h1{margin-top:0;color:#fff}.bs-docs-header p{margin-bottom:0;font-weight:300;line-height:1.4}.bs-docs-header .container{position:relative}@media (min-width:768px){.bs-docs-header{padding-top:60px;padding-bottom:60px;font-size:24px;text-align:left}.bs-docs-header h1{font-size:60px;line-height:1}}@media (min-width:992px){.bs-docs-header h1,.bs-docs-header p{margin-right:380px}}.carbonad{width:auto!important;height:auto!important;padding:20px!important;margin:30px -30px -31px!important;overflow:hidden;font-size:13px!important;line-height:16px!important;text-align:left;background:transparent!important;border:solid #866ab3!important;border-width:1px 0!important}.carbonad-img{margin:0!important}.carbonad-text,.carbonad-tag{display:block!important;float:none!important;width:auto!important;height:auto!important;margin-left:145px!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important}.carbonad-text{padding-top:0!important}.carbonad-tag{color:inherit!important;text-align:left!important}.carbonad-text a,.carbonad-tag a{color:#fff!important}.carbonad #azcarbon>img{display:none}@media (min-width:480px){.carbonad{width:330px!important;margin:20px auto!important;border-width:1px!important;border-radius:4px}.bs-docs-masthead .carbonad{margin:50px auto 0!important}}@media (min-width:768px){.carbonad{margin-right:0!important;margin-left:0!important}}@media (min-width:992px){.carbonad{position:absolute;top:0;right:15px;width:330px!important;padding:15px!important;margin:0!important}.bs-docs-masthead .carbonad{position:static}}.bs-docs-featurette{padding-top:40px;padding-bottom:40px;font-size:16px;line-height:1.5;color:#555;text-align:center;background-color:#fff;border-bottom:1px solid #e5e5e5}.bs-docs-featurette+.bs-docs-footer{margin-top:0;border-top:0}.bs-docs-featurette-title{margin-bottom:5px;font-size:30px;font-weight:400;color:#333}.half-rule{width:100px;margin:40px auto}.bs-docs-featurette h3{margin-bottom:5px;font-weight:400;color:#333}.bs-docs-featurette-img{display:block;margin-bottom:20px;color:#333}.bs-docs-featurette-img:hover{color:#337ab7;text-decoration:none}.bs-docs-featurette-img img{display:block;margin-bottom:15px}@media (min-width:480px){.bs-docs-featurette .img-responsive{margin-top:30px}}@media (min-width:768px){.bs-docs-featurette{padding-top:100px;padding-bottom:100px}.bs-docs-featurette-title{font-size:40px}.bs-docs-featurette .lead{max-width:80%;margin-right:auto;margin-left:auto}.bs-docs-featurette .img-responsive{margin-top:0}}.bs-docs-featured-sites{margin-right:-1px;margin-left:-1px}.bs-docs-featured-sites .col-xs-6{padding:1px}.bs-docs-featured-sites .img-responsive{margin-top:0}@media (min-width:768px){.bs-docs-featured-sites .col-sm-3:first-child img{border-top-left-radius:4px;border-bottom-left-radius:4px}.bs-docs-featured-sites .col-sm-3:last-child img{border-top-right-radius:4px;border-bottom-right-radius:4px}}.bs-examples .thumbnail{margin-bottom:10px}.bs-examples h4{margin-bottom:5px}.bs-examples p{margin-bottom:20px}@media (max-width:480px){.bs-examples{margin-right:-10px;margin-left:-10px}.bs-examples>[class^=col-]{padding-right:10px;padding-left:10px}}.bs-docs-sidebar.affix{position:static}@media (min-width:768px){.bs-docs-sidebar{padding-left:20px}}.bs-docs-sidenav{margin-top:20px;margin-bottom:20px}.bs-docs-sidebar .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#999}.bs-docs-sidebar .nav>li>a:hover,.bs-docs-sidebar .nav>li>a:focus{padding-left:19px;color:#563d7c;text-decoration:none;background-color:transparent;border-left:1px solid #563d7c}.bs-docs-sidebar .nav>.active>a,.bs-docs-sidebar .nav>.active:hover>a,.bs-docs-sidebar .nav>.active:focus>a{padding-left:18px;font-weight:700;color:#563d7c;background-color:transparent;border-left:2px solid #563d7c}.bs-docs-sidebar .nav .nav{display:none;padding-bottom:10px}.bs-docs-sidebar .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400}.bs-docs-sidebar .nav .nav>li>a:hover,.bs-docs-sidebar .nav .nav>li>a:focus{padding-left:29px}.bs-docs-sidebar .nav .nav>.active>a,.bs-docs-sidebar .nav .nav>.active:hover>a,.bs-docs-sidebar .nav .nav>.active:focus>a{padding-left:28px;font-weight:500}.back-to-top,.bs-docs-theme-toggle{display:none;padding:4px 10px;margin-top:10px;margin-left:10px;font-size:12px;font-weight:500;color:#999}.back-to-top:hover,.bs-docs-theme-toggle:hover{color:#563d7c;text-decoration:none}.bs-docs-theme-toggle{margin-top:0}@media (min-width:768px){.back-to-top,.bs-docs-theme-toggle{display:block}}@media (min-width:992px){.bs-docs-sidebar .nav>.active>ul{display:block}.bs-docs-sidebar.affix,.bs-docs-sidebar.affix-bottom{width:213px}.bs-docs-sidebar.affix{position:fixed;top:20px}.bs-docs-sidebar.affix-bottom{position:absolute}.bs-docs-sidebar.affix-bottom .bs-docs-sidenav,.bs-docs-sidebar.affix .bs-docs-sidenav{margin-top:0;margin-bottom:0}}@media (min-width:1200px){.bs-docs-sidebar.affix-bottom,.bs-docs-sidebar.affix{width:263px}}.bs-docs-section{margin-bottom:60px}.bs-docs-section:last-child{margin-bottom:0}h1[id]{padding-top:20px;margin-top:0}.bs-callout{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px}.bs-callout h4{margin-top:0;margin-bottom:5px}.bs-callout p:last-child{margin-bottom:0}.bs-callout code{border-radius:3px}.bs-callout+.bs-callout{margin-top:-5px}.bs-callout-danger{border-left-color:#d9534f}.bs-callout-danger h4{color:#d9534f}.bs-callout-warning{border-left-color:#f0ad4e}.bs-callout-warning h4{color:#f0ad4e}.bs-callout-info{border-left-color:#5bc0de}.bs-callout-info h4{color:#5bc0de}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatch{float:left;width:60px;height:60px;margin:0 5px;border-radius:3px}@media (min-width:768px){.color-swatch{width:100px;height:100px}}.color-swatches .gray-darker{background-color:#222}.color-swatches .gray-dark{background-color:#333}.color-swatches .gray{background-color:#555}.color-swatches .gray-light{background-color:#999}.color-swatches .gray-lighter{background-color:#eee}.color-swatches .brand-primary{background-color:#337ab7}.color-swatches .brand-success{background-color:#5cb85c}.color-swatches .brand-warning{background-color:#f0ad4e}.color-swatches .brand-danger{background-color:#d9534f}.color-swatches .brand-info{background-color:#5bc0de}.color-swatches .bs-purple{background-color:#563d7c}.color-swatches .bs-purple-light{background-color:#c7bfd3}.color-swatches .bs-purple-lighter{background-color:#e5e1ea}.color-swatches .bs-gray{background-color:#f9f9f9}.bs-team .team-member{line-height:32px;color:#555}.bs-team .team-member:hover{color:#333;text-decoration:none}.bs-team .github-btn{float:right;width:180px;height:20px;margin-top:6px}.bs-team img{float:left;width:32px;margin-right:10px;border-radius:4px}.bs-docs-browser-bugs td p{margin-bottom:0}.bs-docs-browser-bugs th:first-child{width:18%}.show-grid{margin-bottom:15px}.show-grid [class^=col-]{padding-top:10px;padding-bottom:10px;background-color:#eee;background-color:rgba(86,61,124,.15);border:1px solid #ddd;border:1px solid rgba(86,61,124,.2)}.bs-example{position:relative;padding:45px 15px 15px;margin:0 -15px 15px;border-color:#e5e5e5 #eee #eee;border-style:solid;border-width:1px 0;-webkit-box-shadow:inset 0 3px 6px rgba(0,0,0,.05);box-shadow:inset 0 3px 6px rgba(0,0,0,.05)}.bs-example:after{position:absolute;top:15px;left:15px;font-size:12px;font-weight:700;color:#959595;text-transform:uppercase;letter-spacing:1px;content:"Example"}.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin:-15px -15px 15px;border-width:0 0 1px;border-radius:0}@media (min-width:768px){.bs-example{margin-right:0;margin-left:0;background-color:#fff;border-color:#ddd;border-width:1px;border-radius:4px 4px 0 0;-webkit-box-shadow:none;box-shadow:none}.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin-top:-16px;margin-right:0;margin-left:0;border-width:1px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.bs-example-standalone{border-radius:4px}}.bs-example .container{width:auto}.bs-example>p:last-child,.bs-example>ul:last-child,.bs-example>ol:last-child,.bs-example>blockquote:last-child,.bs-example>.form-control:last-child,.bs-example>.table:last-child,.bs-example>.navbar:last-child,.bs-example>.jumbotron:last-child,.bs-example>.alert:last-child,.bs-example>.panel:last-child,.bs-example>.list-group:last-child,.bs-example>.well:last-child,.bs-example>.progress:last-child,.bs-example>.table-responsive:last-child>.table{margin-bottom:0}.bs-example>p>.close{float:none}.bs-example-type .table .type-info{color:#999;vertical-align:middle}.bs-example-type .table td{padding:15px 0;border-color:#eee}.bs-example-type .table tr:first-child td{border-top:0}.bs-example-type h1,.bs-example-type h2,.bs-example-type h3,.bs-example-type h4,.bs-example-type h5,.bs-example-type h6{margin:0}.bs-example-bg-classes p{padding:15px}.bs-example>.img-circle,.bs-example>.img-rounded,.bs-example>.img-thumbnail{margin:5px}.bs-example>.table-responsive>.table{background-color:#fff}.bs-example>.btn,.bs-example>.btn-group{margin-top:5px;margin-bottom:5px}.bs-example>.btn-toolbar+.btn-toolbar{margin-top:10px}.bs-example-control-sizing select,.bs-example-control-sizing input[type=text]+input[type=text]{margin-top:10px}.bs-example-form .input-group{margin-bottom:10px}.bs-example>textarea.form-control{resize:vertical}.bs-example>.list-group{max-width:400px}.bs-example .navbar:last-child{margin-bottom:0}.bs-navbar-top-example,.bs-navbar-bottom-example{z-index:1;padding:0;overflow:hidden}.bs-navbar-top-example .navbar-header,.bs-navbar-bottom-example .navbar-header{margin-left:0}.bs-navbar-top-example .navbar-fixed-top,.bs-navbar-bottom-example .navbar-fixed-bottom{position:relative;margin-right:0;margin-left:0}.bs-navbar-top-example{padding-bottom:45px}.bs-navbar-top-example:after{top:auto;bottom:15px}.bs-navbar-top-example .navbar-fixed-top{top:-1px}.bs-navbar-bottom-example{padding-top:45px}.bs-navbar-bottom-example .navbar-fixed-bottom{bottom:-1px}.bs-navbar-bottom-example .navbar{margin-bottom:0}@media (min-width:768px){.bs-navbar-top-example .navbar-fixed-top,.bs-navbar-bottom-example .navbar-fixed-bottom{position:absolute}}.bs-example .pagination{margin-top:10px;margin-bottom:10px}.bs-example>.pager{margin-top:0}.bs-example-modal{background-color:#f5f5f5}.bs-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bs-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.bs-example>.dropdown>.dropdown-toggle{float:left}.bs-example>.dropdown>.dropdown-menu{position:static;display:block;margin-bottom:5px;clear:left}.bs-example-tabs .nav-tabs{margin-bottom:15px}.bs-example-tooltips{text-align:center}.bs-example-tooltips>.btn{margin-top:5px;margin-bottom:5px}.bs-example-tooltip .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.bs-example-popover{padding-bottom:24px;background-color:#f9f9f9}.bs-example-popover .popover{position:relative;display:block;float:left;width:260px;margin:20px}.scrollspy-example{position:relative;height:200px;margin-top:10px;overflow:auto}.highlight{padding:9px 14px;margin-bottom:14px;background-color:#f7f7f9;border:1px solid #e1e1e8;border-radius:4px}.highlight pre{padding:0;margin-top:0;margin-bottom:0;word-break:normal;white-space:nowrap;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#333}.highlight pre code:first-child{display:inline-block;padding-right:45px}.table-responsive .highlight pre{white-space:normal}.bs-table th small,.responsive-utilities th small{display:block;font-weight:400;color:#999}.responsive-utilities tbody th{font-weight:400}.responsive-utilities td{text-align:center}.responsive-utilities td.is-visible{color:#468847;background-color:#dff0d8!important}.responsive-utilities td.is-hidden{color:#ccc;background-color:#f9f9f9!important}.responsive-utilities-test{margin-top:5px}.responsive-utilities-test .col-xs-6{margin-bottom:10px}.responsive-utilities-test span{display:block;padding:15px 10px;font-size:14px;font-weight:700;line-height:1.1;text-align:center;border-radius:4px}.visible-on .col-xs-6 .hidden-xs,.visible-on .col-xs-6 .hidden-sm,.visible-on .col-xs-6 .hidden-md,.visible-on .col-xs-6 .hidden-lg,.hidden-on .col-xs-6 .hidden-xs,.hidden-on .col-xs-6 .hidden-sm,.hidden-on .col-xs-6 .hidden-md,.hidden-on .col-xs-6 .hidden-lg{color:#999;border:1px solid #ddd}.visible-on .col-xs-6 .visible-xs-block,.visible-on .col-xs-6 .visible-sm-block,.visible-on .col-xs-6 .visible-md-block,.visible-on .col-xs-6 .visible-lg-block,.hidden-on .col-xs-6 .visible-xs-block,.hidden-on .col-xs-6 .visible-sm-block,.hidden-on .col-xs-6 .visible-md-block,.hidden-on .col-xs-6 .visible-lg-block{color:#468847;background-color:#dff0d8;border:1px solid #d6e9c6}.bs-glyphicons{margin:0 -10px 20px;overflow:hidden}.bs-glyphicons-list{padding-left:0;list-style:none}.bs-glyphicons li{float:left;width:25%;height:115px;padding:10px;font-size:10px;line-height:1.4;text-align:center;background-color:#f9f9f9;border:1px solid #fff}.bs-glyphicons .glyphicon{margin-top:5px;margin-bottom:10px;font-size:24px}.bs-glyphicons .glyphicon-class{display:block;text-align:center;word-wrap:break-word}.bs-glyphicons li:hover{color:#fff;background-color:#563d7c}@media (min-width:768px){.bs-glyphicons{margin-right:0;margin-left:0}.bs-glyphicons li{width:12.5%;font-size:12px}}.bs-customizer .toggle{float:right;margin-top:25px}.bs-customizer label{margin-top:10px;font-weight:500;color:#555}.bs-customizer h2{padding-top:30px;margin-top:0;margin-bottom:5px}.bs-customizer h3{margin-bottom:0}.bs-customizer h4{margin-top:15px;margin-bottom:0}.bs-customizer .bs-callout h4{margin-top:0;margin-bottom:5px}.bs-customizer input[type=text]{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background-color:#fafafa}.bs-customizer .help-block{margin-bottom:5px;font-size:12px}#less-section label{font-weight:400}.bs-customize-download .btn-outline{padding:20px}.bs-customizer-alert{position:fixed;top:0;right:0;left:0;z-index:1030;padding:15px 0;color:#fff;background-color:#d9534f;border-bottom:1px solid #b94441;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.bs-customizer-alert .close{margin-top:-4px;font-size:24px}.bs-customizer-alert p{margin-bottom:0}.bs-customizer-alert .glyphicon{margin-right:5px}.bs-customizer-alert pre{margin:10px 0 0;color:#fff;background-color:#a83c3a;border-color:#973634;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.bs-dropzone{position:relative;padding:20px;margin-bottom:20px;color:#777;text-align:center;border:2px dashed #eee;border-radius:4px}.bs-dropzone h2{margin-top:0;margin-bottom:5px}.bs-dropzone hr{width:100px}.bs-dropzone .lead{margin-bottom:10px;font-weight:400;color:#333}#import-manual-trigger{cursor:pointer}.bs-dropzone p:last-child{margin-bottom:0}.bs-brand-logos{display:table;width:100%;margin-bottom:15px;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:4px}.bs-brand-item{padding:60px 0;text-align:center}.bs-brand-item+.bs-brand-item{border-top:1px solid #fff}.bs-brand-logos .inverse{color:#fff;background-color:#563d7c}.bs-brand-item .svg{width:144px;height:144px}.bs-brand-item h1,.bs-brand-item h3{margin-top:0;margin-bottom:0}.bs-brand-item .bs-docs-booticon{margin-right:auto;margin-left:auto}.bs-brand-item .glyphicon{width:30px;height:30px;margin:10px auto -10px;line-height:30px;color:#fff;border-radius:50%}.bs-brand-item .glyphicon-ok{background-color:#5cb85c}.bs-brand-item .glyphicon-remove{background-color:#d9534f}@media (min-width:768px){.bs-brand-item{display:table-cell;width:1%}.bs-brand-item+.bs-brand-item{border-top:0;border-left:1px solid #fff}.bs-brand-item h1{font-size:60px}}.zero-clipboard{position:relative;display:none}.btn-clipboard{position:absolute;top:0;right:0;z-index:10;display:block;padding:5px 8px;font-size:12px;color:#777;cursor:pointer;background-color:#fff;border:1px solid #e1e1e8;border-radius:0 4px 0 4px}.btn-clipboard-hover{color:#fff;background-color:#563d7c;border-color:#563d7c}@media (min-width:768px){.zero-clipboard{display:block}.bs-example+.zero-clipboard .btn-clipboard{top:-16px;border-top-right-radius:0}}#focusedInput{border-color:#ccc;border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:0 0 8px rgba(82,168,236,.6);box-shadow:0 0 8px rgba(82,168,236,.6)}.hll{background-color:#ffc}.c{color:#999}.err{color:#A00;background-color:#FAA}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#FCC;border:1px solid #C00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#CFC;border:1px solid #0C0}.go{color:#AAA}.gp{color:#009}.gu{color:#030}.gt{color:#9C6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#F60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0A8}.no{color:#360}.nd{color:#99F}.ni{color:#999}.ne{color:#C00}.nf{color:#C0F}.nl{color:#99F}.nn{color:#0CF}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#F60}.mh{color:#F60}.mi{color:#F60}.mo{color:#F60}.sb{color:#C30}.sc{color:#C30}.sd{color:#C30;font-style:italic}.s2{color:#C30}.se{color:#C30}.sh{color:#C30}.si{color:#A00}.sx{color:#C30}.sr{color:#3AA}.s1{color:#C30}.ss{color:#FC3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#F60}.css .o,.css .o+.nt,.css .nt+.nt{color:#999} \ No newline at end of file + */body{position:relative} +.table code{font-size:13px;font-weight:400} +.btn-outline{color:#1a8bcb;background-color:transparent;border-color:#1a8bcb} +.btn-outline:hover,.btn-outline:focus,.btn-outline:active{color:#fff;background-color:#1a8bcb;border-color:#1a8bcb} +.btn-outline-inverse{color:#fff;background-color:transparent;border-color:#bfe9ff} +.btn-outline-inverse:hover,.btn-outline-inverse:focus,.btn-outline-inverse:active{color:#1a8bcb;text-shadow:none;background-color:#fff;border-color:#fff} +.bs-docs-booticon{display:block;font-weight:500;color:#fff;text-align:center;cursor:default;background-color:#1a8bcb;border-radius:15%} +.bs-docs-booticon-sm{width:30px;height:30px;font-size:20px;line-height:28px} +.bs-docs-booticon-lg{width:144px;height:144px;font-size:108px;line-height:140px} +.bs-docs-booticon-inverse{color:#1a8bcb;background-color:#fff} +.bs-docs-booticon-outline{background-color:transparent;border:1px solid #bfe9ff} +.bs-docs-nav{margin-bottom:0;background-color:#fff;border-bottom:0} +.bs-home-nav .bs-nav-b{display:none} +.bs-docs-nav .navbar-brand,.bs-docs-nav .navbar-nav>li>a{font-weight:500;color:#1a8bcb} +.bs-docs-nav .navbar-nav>li>a:hover,.bs-docs-nav .navbar-nav>.active>a,.bs-docs-nav .navbar-nav>.active>a:hover{color:#463265;background-color:#f9f9f9} +.bs-docs-nav .navbar-toggle .icon-bar{background-color:#1a8bcb} +.bs-docs-nav .navbar-header .navbar-toggle{border-color:#fff} +.bs-docs-nav .navbar-header .navbar-toggle:hover,.bs-docs-nav .navbar-header .navbar-toggle:focus{background-color:#f9f9f9;border-color:#f9f9f9} +.bs-docs-footer{padding-top:40px;padding-bottom:40px;margin-top:100px;color:#777;text-align:center;border-top:1px solid #e5e5e5} +.bs-docs-footer-links{padding-left:0;margin-top:20px;color:#999} +.bs-docs-footer-links li{display:inline;padding:0 2px} +.bs-docs-footer-links li:first-child{padding-left:0} +@media (min-width:768px){.bs-docs-footer p{margin-bottom:0} +} +.bs-docs-social{margin-bottom:20px;text-align:center} +.bs-docs-social-buttons{display:inline-block;padding-left:0;margin-bottom:0;list-style:none} +.bs-docs-social-buttons li{display:inline-block;padding:5px 8px;line-height:1} +.bs-docs-social-buttons .twitter-follow-button{width:225px!important} +.bs-docs-social-buttons .twitter-share-button{width:98px!important} +.github-btn{overflow:hidden;border:0} +.bs-docs-masthead,.bs-docs-header{ +position:relative;padding:30px 15px; +color:#bfe9ff; +text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1); +background-color:#1aa1cb; +background-image:-webkit-gradient(linear,left top,left bottom,from(#1a8bcb),to(#1aa1cb)); +background-image:-webkit-linear-gradient(top,#1a8bcb 0,#1aa1cb 100%); +background-image:-o-linear-gradient(top,#1a8bcb 0,#1aa1cb 100%); +background-image:linear-gradient(to bottom,#1a8bcb 0,#1aa1cb 100%); +filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1a8bcb', endColorstr='#1AA1CB', GradientType=0); +background-repeat:repeat-x +} +.bs-docs-masthead .bs-docs-booticon{margin:0 auto 30px} +.bs-docs-masthead h1{font-weight:300;line-height:1;color:#fff} +.bs-docs-masthead .lead{margin:0 auto 30px;font-size:20px;color:#fff} +.bs-docs-masthead .version{margin-top:-15px;margin-bottom:30px;color:#9783b9} +.bs-docs-masthead .btn{width:100%;padding:15px 30px;font-size:20px} +@media (min-width:480px){.bs-docs-masthead .btn{width:auto} +} +@media (min-width:768px){.bs-docs-masthead{padding:80px 0} +.bs-docs-masthead h1{font-size:60px} +.bs-docs-masthead .lead{font-size:24px} +} +@media (min-width:992px){.bs-docs-masthead .lead{width:80%;font-size:30px} +} +.bs-docs-header{margin-bottom:40px;font-size:20px} +.bs-docs-header h1{margin-top:0;color:#fff} +.bs-docs-header h1 a { text-decoration: none; color: #fff } +.bs-docs-header h1 a:hover { text-decoration: none; color: #bfe9ff } +.bs-docs-header p{margin-bottom:0;font-weight:300;line-height:1.4} +.bs-docs-header .container{position:relative} +@media (min-width:768px){.bs-docs-header{padding-top:40px;padding-bottom:30px;font-size:24px;text-align:left} +.bs-docs-header h1{font-size:60px;line-height:1} +} +@media (min-width:992px){.bs-docs-header h1,.bs-docs-header p{margin-right:380px} +} +.carbonad{width:auto!important;height:auto!important;padding:20px!important;margin:30px -30px -31px!important;overflow:hidden;font-size:13px!important;line-height:16px!important;text-align:left;background:transparent!important;border:solid #866ab3!important;border-width:1px 0!important} +.carbonad-img{margin:0!important} +.carbonad-text,.carbonad-tag{display:block!important;float:none!important;width:auto!important;height:auto!important;margin-left:145px!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important} +.carbonad-text{padding-top:0!important} +.carbonad-tag{color:inherit!important;text-align:left!important} +.carbonad-text a,.carbonad-tag a{color:#fff!important} +.carbonad #azcarbon>img{display:none} +@media (min-width:480px){.carbonad{width:330px!important;margin:20px auto!important;border-width:1px!important;border-radius:4px} +.bs-docs-masthead .carbonad{margin:50px auto 0!important} +} +@media (min-width:768px){.carbonad{margin-right:0!important;margin-left:0!important} +} +@media (min-width:992px){.carbonad{position:absolute;top:0;right:15px;width:330px!important;padding:15px!important;margin:0!important} +.bs-docs-masthead .carbonad{position:static} +} +.bs-docs-featurette{padding-top:40px;padding-bottom:40px;font-size:16px;line-height:1.5;color:#555;text-align:center;background-color:#fff;border-bottom:1px solid #e5e5e5} +.bs-docs-featurette+.bs-docs-footer{margin-top:0;border-top:0} +.bs-docs-featurette-title{margin-bottom:5px;font-size:30px;font-weight:400;color:#333} +.half-rule{width:100px;margin:40px auto} +.bs-docs-featurette h3{margin-bottom:5px;font-weight:400;color:#333} +.bs-docs-featurette-img{display:block;margin-bottom:20px;color:#333} +.bs-docs-featurette-img:hover{color:#337ab7;text-decoration:none} +.bs-docs-featurette-img img{display:block;margin-bottom:15px} +@media (min-width:480px){.bs-docs-featurette .img-responsive{margin-top:30px} +} +@media (min-width:768px){.bs-docs-featurette{padding-top:100px;padding-bottom:100px} +.bs-docs-featurette-title{font-size:40px} +.bs-docs-featurette .lead{max-width:80%;margin-right:auto;margin-left:auto} +.bs-docs-featurette .img-responsive{margin-top:0} +} +.bs-docs-featured-sites{margin-right:-1px;margin-left:-1px} +.bs-docs-featured-sites .col-xs-6{padding:1px} +.bs-docs-featured-sites .img-responsive{margin-top:0} +@media (min-width:768px){.bs-docs-featured-sites .col-sm-3:first-child img{border-top-left-radius:4px;border-bottom-left-radius:4px} +.bs-docs-featured-sites .col-sm-3:last-child img{border-top-right-radius:4px;border-bottom-right-radius:4px} +} +.bs-examples .thumbnail{margin-bottom:10px} +.bs-examples h4{margin-bottom:5px} +.bs-examples p{margin-bottom:20px} +@media (max-width:480px){.bs-examples{margin-right:-10px;margin-left:-10px} +.bs-examples>[class^=col-]{padding-right:10px;padding-left:10px} +} +.bs-docs-sidebar.affix{position:static} +@media (min-width:768px){.bs-docs-sidebar{padding-left:20px} +} +.bs-docs-sidenav{margin-top:20px;margin-bottom:20px} +.bs-docs-sidebar .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#999} +.bs-docs-sidebar .nav>li>a:hover,.bs-docs-sidebar .nav>li>a:focus{padding-left:19px;color:#1a8bcb;text-decoration:none;background-color:transparent;border-left:1px solid #1a8bcb} +.bs-docs-sidebar .nav>.active>a,.bs-docs-sidebar .nav>.active:hover>a,.bs-docs-sidebar .nav>.active:focus>a{padding-left:18px;font-weight:700;color:#1a8bcb;background-color:transparent;border-left:2px solid #1a8bcb} +.bs-docs-sidebar .nav .nav{display:none;padding-bottom:10px} +.bs-docs-sidebar .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400} +.bs-docs-sidebar .nav .nav>li>a:hover,.bs-docs-sidebar .nav .nav>li>a:focus{padding-left:29px} +.bs-docs-sidebar .nav .nav>.active>a,.bs-docs-sidebar .nav .nav>.active:hover>a,.bs-docs-sidebar .nav .nav>.active:focus>a{padding-left:28px;font-weight:500} +.back-to-top,.bs-docs-theme-toggle{display:none;padding:4px 10px;margin-top:10px;margin-left:10px;font-size:12px;font-weight:500;color:#999} +.back-to-top:hover,.bs-docs-theme-toggle:hover{color:#1a8bcb;text-decoration:none} +.bs-docs-theme-toggle{margin-top:0} +@media (min-width:768px){.back-to-top,.bs-docs-theme-toggle{display:block} +} +@media (min-width:992px){.bs-docs-sidebar .nav>.active>ul{display:block} +.bs-docs-sidebar.affix,.bs-docs-sidebar.affix-bottom{width:213px} +.bs-docs-sidebar.affix{position:fixed;top:20px} +.bs-docs-sidebar.affix-bottom{position:absolute} +.bs-docs-sidebar.affix-bottom .bs-docs-sidenav,.bs-docs-sidebar.affix .bs-docs-sidenav{margin-top:0;margin-bottom:0} +} +@media (min-width:1200px){.bs-docs-sidebar.affix-bottom,.bs-docs-sidebar.affix{width:263px} +} +.bs-docs-section{margin-bottom:60px} +.bs-docs-section:last-child{margin-bottom:0} +h1[id]{padding-top:20px;margin-top:0} +.bs-callout{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px} +.bs-callout h4{margin-top:0;margin-bottom:5px} +.bs-callout p:last-child{margin-bottom:0} +.bs-callout code{border-radius:3px} +.bs-callout+.bs-callout{margin-top:-5px} +.bs-callout-danger{border-left-color:#d9534f} +.bs-callout-danger h4{color:#d9534f} +.bs-callout-warning{border-left-color:#f0ad4e} +.bs-callout-warning h4{color:#f0ad4e} +.bs-callout-info{border-left-color:#5bc0de} +.bs-callout-info h4{color:#5bc0de} +.color-swatches{margin:0 -5px;overflow:hidden} +.color-swatch{float:left;width:60px;height:60px;margin:0 5px;border-radius:3px} +@media (min-width:768px){.color-swatch{width:100px;height:100px} +} +.color-swatches .gray-darker{background-color:#222} +.color-swatches .gray-dark{background-color:#333} +.color-swatches .gray{background-color:#555} +.color-swatches .gray-light{background-color:#999} +.color-swatches .gray-lighter{background-color:#eee} +.color-swatches .brand-primary{background-color:#337ab7} +.color-swatches .brand-success{background-color:#5cb85c} +.color-swatches .brand-warning{background-color:#f0ad4e} +.color-swatches .brand-danger{background-color:#d9534f} +.color-swatches .brand-info{background-color:#5bc0de} +.color-swatches .bs-purple{background-color:#1a8bcb} +.color-swatches .bs-purple-light{background-color:#c7bfd3} +.color-swatches .bs-purple-lighter{background-color:#e5e1ea} +.color-swatches .bs-gray{background-color:#f9f9f9} +.bs-team .team-member{line-height:32px;color:#555} +.bs-team .team-member:hover{color:#333;text-decoration:none} +.bs-team .github-btn{float:right;width:180px;height:20px;margin-top:6px} +.bs-team img{float:left;width:32px;margin-right:10px;border-radius:4px} +.bs-docs-browser-bugs td p{margin-bottom:0} +.bs-docs-browser-bugs th:first-child{width:18%} +.show-grid{margin-bottom:15px} +.show-grid [class^=col-]{padding-top:10px;padding-bottom:10px;background-color:#eee;background-color:rgba(86,61,124,.15);border:1px solid #ddd;border:1px solid rgba(86,61,124,.2)} +.bs-example{position:relative;padding:45px 15px 15px;margin:0 -15px 15px;border-color:#e5e5e5 #eee #eee;border-style:solid;border-width:1px 0;-webkit-box-shadow:inset 0 3px 6px rgba(0,0,0,.05);box-shadow:inset 0 3px 6px rgba(0,0,0,.05)} +.bs-example:after{position:absolute;top:15px;left:15px;font-size:12px;font-weight:700;color:#959595;text-transform:uppercase;letter-spacing:1px;content:"Example"} +.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin:-15px -15px 15px;border-width:0 0 1px;border-radius:0} +@media (min-width:768px){.bs-example{margin-right:0;margin-left:0;background-color:#fff;border-color:#ddd;border-width:1px;border-radius:4px 4px 0 0;-webkit-box-shadow:none;box-shadow:none} +.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin-top:-16px;margin-right:0;margin-left:0;border-width:1px;border-bottom-right-radius:4px;border-bottom-left-radius:4px} +.bs-example-standalone{border-radius:4px} +} +.bs-example .container{width:auto} +.bs-example>p:last-child,.bs-example>ul:last-child,.bs-example>ol:last-child,.bs-example>blockquote:last-child,.bs-example>.form-control:last-child,.bs-example>.table:last-child,.bs-example>.navbar:last-child,.bs-example>.jumbotron:last-child,.bs-example>.alert:last-child,.bs-example>.panel:last-child,.bs-example>.list-group:last-child,.bs-example>.well:last-child,.bs-example>.progress:last-child,.bs-example>.table-responsive:last-child>.table{margin-bottom:0} +.bs-example>p>.close{float:none} +.bs-example-type .table .type-info{color:#999;vertical-align:middle} +.bs-example-type .table td{padding:15px 0;border-color:#eee} +.bs-example-type .table tr:first-child td{border-top:0} +.bs-example-type h1,.bs-example-type h2,.bs-example-type h3,.bs-example-type h4,.bs-example-type h5,.bs-example-type h6{margin:0} +.bs-example-bg-classes p{padding:15px} +.bs-example>.img-circle,.bs-example>.img-rounded,.bs-example>.img-thumbnail{margin:5px} +.bs-example>.table-responsive>.table{background-color:#fff} +.bs-example>.btn,.bs-example>.btn-group{margin-top:5px;margin-bottom:5px} +.bs-example>.btn-toolbar+.btn-toolbar{margin-top:10px} +.bs-example-control-sizing select,.bs-example-control-sizing input[type=text]+input[type=text]{margin-top:10px} +.bs-example-form .input-group{margin-bottom:10px} +.bs-example>textarea.form-control{resize:vertical} +.bs-example>.list-group{max-width:400px} +.bs-example .navbar:last-child{margin-bottom:0} +.bs-navbar-top-example,.bs-navbar-bottom-example{z-index:1;padding:0;overflow:hidden} +.bs-navbar-top-example .navbar-header,.bs-navbar-bottom-example .navbar-header{margin-left:0} +.bs-navbar-top-example .navbar-fixed-top,.bs-navbar-bottom-example .navbar-fixed-bottom{position:relative;margin-right:0;margin-left:0} +.bs-navbar-top-example{padding-bottom:45px} +.bs-navbar-top-example:after{top:auto;bottom:15px} +.bs-navbar-top-example .navbar-fixed-top{top:-1px} +.bs-navbar-bottom-example{padding-top:45px} +.bs-navbar-bottom-example .navbar-fixed-bottom{bottom:-1px} +.bs-navbar-bottom-example .navbar{margin-bottom:0} +@media (min-width:768px){.bs-navbar-top-example .navbar-fixed-top,.bs-navbar-bottom-example .navbar-fixed-bottom{position:absolute} +} +.bs-example .pagination{margin-top:10px;margin-bottom:10px} +.bs-example>.pager{margin-top:0} +.bs-example-modal{background-color:#f5f5f5} +.bs-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block} +.bs-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto} +.bs-example>.dropdown>.dropdown-toggle{float:left} +.bs-example>.dropdown>.dropdown-menu{position:static;display:block;margin-bottom:5px;clear:left} +.bs-example-tabs .nav-tabs{margin-bottom:15px} +.bs-example-tooltips{text-align:center} +.bs-example-tooltips>.btn{margin-top:5px;margin-bottom:5px} +.bs-example-tooltip .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1} +.bs-example-popover{padding-bottom:24px;background-color:#f9f9f9} +.bs-example-popover .popover{position:relative;display:block;float:left;width:260px;margin:20px} +.scrollspy-example{position:relative;height:200px;margin-top:10px;overflow:auto} +.highlight{padding:9px 14px;margin-bottom:14px;background-color:#f7f7f9;border:1px solid #e1e1e8;border-radius:4px} +.highlight pre{padding:0;margin-top:0;margin-bottom:0;word-break:normal;white-space:nowrap;background-color:transparent;border:0} +.highlight pre code{font-size:inherit;color:#333} +.highlight pre code:first-child{display:inline-block;padding-right:45px} +.table-responsive .highlight pre{white-space:normal} +.bs-table th small,.responsive-utilities th small{display:block;font-weight:400;color:#999} +.responsive-utilities tbody th{font-weight:400} +.responsive-utilities td{text-align:center} +.responsive-utilities td.is-visible{color:#468847;background-color:#dff0d8!important} +.responsive-utilities td.is-hidden{color:#ccc;background-color:#f9f9f9!important} +.responsive-utilities-test{margin-top:5px} +.responsive-utilities-test .col-xs-6{margin-bottom:10px} +.responsive-utilities-test span{display:block;padding:15px 10px;font-size:14px;font-weight:700;line-height:1.1;text-align:center;border-radius:4px} +.visible-on .col-xs-6 .hidden-xs,.visible-on .col-xs-6 .hidden-sm,.visible-on .col-xs-6 .hidden-md,.visible-on .col-xs-6 .hidden-lg,.hidden-on .col-xs-6 .hidden-xs,.hidden-on .col-xs-6 .hidden-sm,.hidden-on .col-xs-6 .hidden-md,.hidden-on .col-xs-6 .hidden-lg{color:#999;border:1px solid #ddd} +.visible-on .col-xs-6 .visible-xs-block,.visible-on .col-xs-6 .visible-sm-block,.visible-on .col-xs-6 .visible-md-block,.visible-on .col-xs-6 .visible-lg-block,.hidden-on .col-xs-6 .visible-xs-block,.hidden-on .col-xs-6 .visible-sm-block,.hidden-on .col-xs-6 .visible-md-block,.hidden-on .col-xs-6 .visible-lg-block{color:#468847;background-color:#dff0d8;border:1px solid #d6e9c6} +.bs-glyphicons{margin:0 -10px 20px;overflow:hidden} +.bs-glyphicons-list{padding-left:0;list-style:none} +.bs-glyphicons li{float:left;width:25%;height:115px;padding:10px;font-size:10px;line-height:1.4;text-align:center;background-color:#f9f9f9;border:1px solid #fff} +.bs-glyphicons .glyphicon{margin-top:5px;margin-bottom:10px;font-size:24px} +.bs-glyphicons .glyphicon-class{display:block;text-align:center;word-wrap:break-word} +.bs-glyphicons li:hover{color:#fff;background-color:#1a8bcb} +@media (min-width:768px){.bs-glyphicons{margin-right:0;margin-left:0} +.bs-glyphicons li{width:12.5%;font-size:12px} +} +.bs-customizer .toggle{float:right;margin-top:25px} +.bs-customizer label{margin-top:10px;font-weight:500;color:#555} +.bs-customizer h2{padding-top:30px;margin-top:0;margin-bottom:5px} +.bs-customizer h3{margin-bottom:0} +.bs-customizer h4{margin-top:15px;margin-bottom:0} +.bs-customizer .bs-callout h4{margin-top:0;margin-bottom:5px} +.bs-customizer input[type=text]{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background-color:#fafafa} +.bs-customizer .help-block{margin-bottom:5px;font-size:12px} +#less-section label{font-weight:400} +.bs-customize-download .btn-outline{padding:20px} +.bs-customizer-alert{position:fixed;top:0;right:0;left:0;z-index:1030;padding:15px 0;color:#fff;background-color:#d9534f;border-bottom:1px solid #b94441;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)} +.bs-customizer-alert .close{margin-top:-4px;font-size:24px} +.bs-customizer-alert p{margin-bottom:0} +.bs-customizer-alert .glyphicon{margin-right:5px} +.bs-customizer-alert pre{margin:10px 0 0;color:#fff;background-color:#a83c3a;border-color:#973634;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} +.bs-dropzone{position:relative;padding:20px;margin-bottom:20px;color:#777;text-align:center;border:2px dashed #eee;border-radius:4px} +.bs-dropzone h2{margin-top:0;margin-bottom:5px} +.bs-dropzone hr{width:100px} +.bs-dropzone .lead{margin-bottom:10px;font-weight:400;color:#333} +#import-manual-trigger{cursor:pointer} +.bs-dropzone p:last-child{margin-bottom:0} +.bs-brand-logos{display:table;width:100%;margin-bottom:15px;overflow:hidden;color:#1a8bcb;background-color:#f9f9f9;border-radius:4px} +.bs-brand-item{padding:60px 0;text-align:center} +.bs-brand-item+.bs-brand-item{border-top:1px solid #fff} +.bs-brand-logos .inverse{color:#fff;background-color:#1a8bcb} +.bs-brand-item .svg{width:144px;height:144px} +.bs-brand-item h1,.bs-brand-item h3{margin-top:0;margin-bottom:0} +.bs-brand-item .bs-docs-booticon{margin-right:auto;margin-left:auto} +.bs-brand-item .glyphicon{width:30px;height:30px;margin:10px auto -10px;line-height:30px;color:#fff;border-radius:50%} +.bs-brand-item .glyphicon-ok{background-color:#5cb85c} +.bs-brand-item .glyphicon-remove{background-color:#d9534f} +@media (min-width:768px){.bs-brand-item{display:table-cell;width:1%} +.bs-brand-item+.bs-brand-item{border-top:0;border-left:1px solid #fff} +.bs-brand-item h1{font-size:60px} +} +.zero-clipboard{position:relative;display:none} +.btn-clipboard{position:absolute;top:0;right:0;z-index:10;display:block;padding:5px 8px;font-size:12px;color:#777;cursor:pointer;background-color:#fff;border:1px solid #e1e1e8;border-radius:0 4px 0 4px} +.btn-clipboard-hover{color:#fff;background-color:#1a8bcb;border-color:#1a8bcb} +@media (min-width:768px){.zero-clipboard{display:block} +.bs-example+.zero-clipboard .btn-clipboard{top:-16px;border-top-right-radius:0} +} +#focusedInput{border-color:#ccc;border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:0 0 8px rgba(82,168,236,.6);box-shadow:0 0 8px rgba(82,168,236,.6)} +.hll{background-color:#ffc} +.c{color:#999} +.err{color:#A00;background-color:#FAA} +.k{color:#069} +.o{color:#555} +.cm{color:#999} +.cp{color:#099} +.c1{color:#999} +.cs{color:#999} +.gd{background-color:#FCC;border:1px solid #C00} +.ge{font-style:italic} +.gr{color:red} +.gh{color:#030} +.gi{background-color:#CFC;border:1px solid #0C0} +.go{color:#AAA} +.gp{color:#009} +.gu{color:#030} +.gt{color:#9C6} +.kc{color:#069} +.kd{color:#069} +.kn{color:#069} +.kp{color:#069} +.kr{color:#069} +.kt{color:#078} +.m{color:#F60} +.s{color:#d44950} +.na{color:#4f9fcf} +.nb{color:#366} +.nc{color:#0A8} +.no{color:#360} +.nd{color:#99F} +.ni{color:#999} +.ne{color:#C00} +.nf{color:#C0F} +.nl{color:#99F} +.nn{color:#0CF} +.nt{color:#2f6f9f} +.nv{color:#033} +.ow{color:#000} +.w{color:#bbb} +.mf{color:#F60} +.mh{color:#F60} +.mi{color:#F60} +.mo{color:#F60} +.sb{color:#C30} +.sc{color:#C30} +.sd{color:#C30;font-style:italic} +.s2{color:#C30} +.se{color:#C30} +.sh{color:#C30} +.si{color:#A00} +.sx{color:#C30} +.sr{color:#3AA} +.s1{color:#C30} +.ss{color:#FC3} +.bp{color:#366} +.vc{color:#033} +.vg{color:#033} +.vi{color:#033} +.il{color:#F60} +.css .o,.css .o+.nt,.css .nt+.nt{color:#999} + +h1 { + font-size: 40px; +} +h2 { + font-size: 25px; +} + +code { + color: #4E25C7; + background-color: #F4F2F9; +} \ No newline at end of file diff --git a/doc/www/foot.php b/doc/www/foot.php index 3404d388..7512d3ad 100644 --- a/doc/www/foot.php +++ b/doc/www/foot.php @@ -11,7 +11,12 @@ Back to top - + +"> + + + + @@ -24,45 +29,52 @@
+
- -

Designed and built with all the love in the world by @mdo and @fat.

-

Maintained by the core team with the help of our contributors.

-

Code licensed under MIT, documentation under CC BY 3.0.

- - @@ -9,16 +9,14 @@ - - - Components · Bootstrap - - +AlternC<?php if ($title) { echo " - ".$title; } ?> + + @@ -35,62 +33,16 @@ - -
- - - AlternC panel d'hébergement - Installation & Mise à jour - Documentation - Site des développeurs - - - Démonstration - Service DNS - Chat IRC - Code source - - -
-
-
-
-

Components

-

Over a dozen reusable components built to provide iconography, dropdowns, input groups, navigation, alerts, and much more.

+
+ AlternC +
+

AlternC

+

Suite logicielle de gestion de serveur web & mail

+ ".$title."

"; } ?>
diff --git a/doc/www/index.php b/doc/www/home.php similarity index 87% rename from doc/www/index.php rename to doc/www/home.php index 1586c56c..0c48cc8a 100644 --- a/doc/www/index.php +++ b/doc/www/home.php @@ -1,9 +1,19 @@ ([^<]*)#',$s,$mat)) { + if ($id) $headings[]=array("id"=>$id, "name"=>$name, "cur"=>$cur); + $id=$mat[1]; $name=$mat[2]; + $cur=array(); + } + if (preg_match('#

([^<]*)

#',$s,$mat)) { + $cur[]=array("id"=>$mat[1], "name"=>$mat[2]); + } +} +if ($id) $headings[]=array("id"=>$id, "name"=>$name, "cur"=>$cur); + +ob_start(); +foreach($headings as $v) { +?> +
  • + "> + + + +
  • +010qNS#tmY3ljhU3ljkVnw%H_000McNliru-vta2BN1eGszv|+AOJ~3 zK~#9!?VWj;6vg?+Kh@oH?7<}pD2Eyji3g&fU{Jh`8jXo3##<9(g2wz3QN(!R0fOR< z8pR`uq9_TdfG78jihv>l0xPiW!QOMvbp8IQYIazc-I-;y28MmTUOu~-j~?S-9CBK9XlO>q!}03ncuQ6fxhqwUXH z64|fQQ-g2%d@X=1zK$2}ozG3ru4|O%8Fyn3{_*eieEQVMU3{i!b<)t;Yg`H34Dsfj zeHhT$r2EZZF?qtpSzU|18)XD4uO$}C65vHjhp18r(eS>NQc68GLI@-zusmh)oYt>y zq0OjE@0`B_;Lm4u$t@YS2U-!bHZUTuXCEdH)yPqY>f5~PGS zSwd!c4S;KaU$_L$Kuo&(C{FvQT9q#u)AtIiDF0m}6gXGLV+e#~-;y_3=MxAej$08u z@UT|V2QKZAm~dj>1G)nAKdeoI+AR&qHF&*%6t=zd=~@B3T>@tyhCHwefW>3`o@`W= zj}ftGPifmAghc%OYX>2OKuRnbx4QYl7yj{AxwEo-=HTUP8>X`U_KpQbaj$=(5Q4%g zTUG=U&R1TSz!`?wj|~7|-k4)Mi$K*#qLG8xclvHRECvL2!j^s8MY})zhptnF5ErES z^IOhp&GxrW2jJzWFDGG`3nhZ~ekleY(V8r;VFMKaGXEla9_V+i5KSG={IxeXkN=L3 zpE$|iy0U1Z8LYfe+V;NIcN?O^N{?lT4>nLT{?i>p^NYii>NGylY*TusAc3bSm^Da5=^+A7_8dcW`BZS{2aFZp%qTeD; zn8u>fN8e^u>=-K(34{=`srQxCEXFX!CmUtn*qJ;2R#q0Cy4&*$evRn(5i?#qKc{WM z`rEB=@E&4Oq<&T*rL;^TVumMLp0Fk?$TuIk@73=&H?`+BUCLHt%=JAu@#aN*`1Dx^ z<(6-oEMhTVCXjchBvOhoUE3IKI(NuE;hX%}H-S+6hv8RrXa1_vo#)PcWFS3%J%{(k zpOf36Xu~)&6!@En#|+1w?X;D!r4)9;@*9cc?6@4bt~l|1VOcb<$vwA=U9tG#BgdN+ zC4bR&-i+!abtEbb8jjj00pGX;ZX%d`Pk$~Mxtu5d zbE|p6rWq4NuR4B@&5jGFAL0OD7?e)lW*0HrO^=T~Jatoo5t+Sj?vX!G2K~ zHaoA~8u}hs;}W=uVD8hWWLuRbw;9p!iOztj=~E(-;vl6EnJ1QYc&2mgR%MV9A(V4K z1>3VzHx^2j5JKAW*sflG+jiOAm#nLr1MK)YAI)`SsC7A%Z0}~+@ga_c+G&*nET0E6 zCmWB?gOJjRnrs%3&T|Th$7>Qav&fJ8*%tF7{C+&9lHgJ*Z9_^aaxI(Fx?BAQ9o}|4 zaOlr@|CUQ$`1rx$!h`WA5sI{`Ueu@o+gNGJ2d0;>a$}X~(Iv-z^y2;Pu31sbwoz{7 z4AqmRmbL;x%&?fT!IqPkRfyFaD;!?ObFw{h$e{hWuuqn;pB1w#q@I|hY~?eAkem*T zMFsr?Toqy;uj&#@mi)>loyw8E-n+XxP3S<2`F?W@IJ=113X*@v?6k^h=eVv^45fu64Nx9 z@>Nu7^2UJsfTw4zERBUPIdH8n9)D8A;~Ck1>iG<2ZM+FcDUIAVPRseD5 z{6s9yvorD!S##|EXAJ0SUA(<4dgko!f<`bD2UrV~xMs9{j1L~{&w2k^&fIYW2l-33 z%@VPg$8n>YNY++*aYOGfsZZ3HS$-l_XaNmjOxA+Hp( zdQ%m^2H*-{m)!aPJ#kvQgUa(36Abjqh*$}|^33v?%-Co!d}5xoZ3M6txE}ZvNHrzE5ts+1^uhjZWfF==28&~_Dd$O&tougMbsg0OzU^MkoS{E`t!TLe_mSN zs?$aId{sy(R32s{Ng=6IBdF!j7J<}B>m-^AB8EqfUmBOUzn+IC?~lM=fsfN5FZ$dn zpzP-)Z;K@Gxc}=1!1TvYX>A26ZW7YY6)M94!+^r5hY7Qa9EN-gOsLt$nRhJbt7isq z=0E1I4z+4OM0&ktI%#c>%~=A8WeO~hi8L(2wn->q5K5R}SXh>!7GS%%R&qNY%OHly zrgG%ewKiA2TqK^Gxm{=it^oc5Ov~i)Y;lXY?pMqLpk1Kwd=ZcR3Ms3d6Nber^D1Of zc}(a<%+tWe+S-{gZ3_i&45Z_gi$9zLO^f2*@+6AVN60gUgB5ty5V@%Fp9~MhDhQyYluye}S zzz4va`US-$aE4+2xc+TLMcELMi2I~YSvO6CFY|3?d|l}{Dn0{V-(4Hee7u#O2j{2- zVfc_K7kJk87PkGMNW{}h+EB`~#PoW2YgLqKUzEtal9;Fn#GSA6fGv8ZAFw>8=YXp^ z_dC9WJXoldevzy)7^cDJo8gtY#d2d&R8$7z=xKg7@D?yvzm)OjFqSQD5%>MGNBhHCuwPw5*Cg+>P#z8F-gRt`;mreSW1b{Yx2&j z7*EVBmVt0Wpqv8lX|vWE{kN@;#EZj^>v^h@!Q8olgW>GiJ@$%{29Ntiw!npWhP_0|LD1AhP(>6cPAxAAN- z1b+K2wRkgx>|;ek*Gj4bVJmG*J~pG+;lt;^ztf(|;?Z76yHmR4tw2}N<1c%COnM!q*6{^6h}S$Z^;g+)r?QHX$+UZ%>ctLJVdR^o;>w1BUp7d zfD{Nzz`6>H$qR~gv>-E4aR4b}`q&c@v1lI=kDiUJKR#SaiO&+`M}7R`ogz7NMY;2X zmx239(XKk@M`JY}UnPLgYcToC0MVE&P~O59Y2r1_Tmq+oG4Fi|Ku%S`zeGG{NRUEG z{5d`zow0*>LIM=&MN`UARim%($x*Gtct~6!R9&$;7sg8R8mum{`15P|a@FRbW3C$y z3Sd?%1Zg@?~qmphXGdthEmnOU1Xf#*DWJVNZp$IqSF*$4;DasqZd z9)q`6gjv3!$}v}cruE;HFzUJ<41akY3pYjmMm&0XUDDU_hzTM1q0*2e-!GCs7DXH@ z!85@B(XfCRVG6zSUlQ-Is z=abUzZde90R#nNO@)&yd_?Q-iW=-H5&g}xg{ISRO7UAHP0_hb}3Jim}8=|bt3prBj zQPRlonmD2lhu^f2cb>mA#}ll$3;UWdgI_>^ph!22nrQbd%!l8p?^`0#|RR)2??=zXVMR41@#qy20 zJ48ZNpq>j{4LnI2-ms6y3}n=#O&mUSIrE<$bWE$NqSr+t&ZY`u?bn-vPF~u0nxU8zz%{cEH{!8>3fo4ag2v`-Mt-%SGFkdorqbqZzwgTO$NMAtEMvjA0jC&M zY9VmIrh=ls>B6W3|PDR|3_kUC==BaW{5*5oZ0(he# z&-3Y%gM}wp-oa-_$C#nO)iRNYRhU_Mmp$|2oE>G6tF`WX8Sqg{BXF~mz|+V4inE97 zg_|dSj}Z#&ByZgCaQD<54tci$<5DH>?6Jpd-E%`>`wBO30fV}P|+4NTKud4b@H zmkS;8Mo`%tXEv0)TFP|DBK}`15eCeBKp9>vHi}r%8TD17Htp6ET1X< zw1s{LYA4&DFulvs108qDCo&2|3luG`(A_2|{9>hCUrGXx9A9CNZ&S^Bz& zMY~EVrD+K9eW}46Q;KC?Vb~$pIl%Jz+6uipkgSUrGym}cCwNN=Cy7|3D^dz6ghWbV z2q=|4hP}5#u2{cwQMeHJ8}P+m8ZS$~6bW2pz7G8HnB#YTo;T{~Bg{a>co9|P6+(z@ zK~s+XwA>+Y4COeelf3WVcMJeo7cXYPqsJcWEiL$uh()@|omK`F$5tl&^17D`(BzHj zDgAeQiM-B&Fy@lC8A#xlhaJN;{Uqj)6#y)F=*WRqEc~Vs3LGjydMrb1tuo}W|CO?4 zbCpx~;BjpYs2Bekc7)Nrt@yna4URS<;T}$%Tm(qNWLdr;M}1htmcoz|fc`AXvleh^ zn=?-0?*0f6-TEwLys!Lzd~_A6@c@!J}O;Gxhlj?EShjlefsW2t@Ag$Z-lBI z5z)v2mWj0dUNK>5gb`DUq$Y0^Rln=;RLKhvk0r`6L@23*u8>l)IA6%I9~3y`{QK-^>^SM(oABEMB@1|Z}z{u(a2*mkx&#i3|?PUDRfDt)xc0x_JpgG zx&+>hj$wjk1EK}b1CU7Iqz%VyWKeqSMR^H1{<8veTXEP~=tP0V+8VH`A=f?s z-W780gGat+dwsVWp{U%hXK^S-nm`@9}zq$lYMTL0n1_oX;p?J;{C-#XH7Cew& z6udMVmp%am;;=L?DyA+k5>LlB>_Lc$1y1nE|;3kWsZ=AvNK)0-(QJI~)0Kk@#!w>Y* zy@R(6a4l|$T9?308Kzq0ykaU zanX1HVjkZD41q0?omv}c0w3e{*qV#Z?3 zlzgQJ$E~G)%ZrSL#eO*k9?JmO54B%Jl}o3zc;`iJ^R^#wfc`tExe`EyjYg@*O`i^d z+X25qZ3vR;M$g?)C6jJz4!yqS`yV$BJUDx+5e;|FvTVGTiGGj#v%!UBI-7PmXr?P=l^f3%ox8s4@X1P>!w|}APZJnQVk^0DM@8)yH z;xA9HWowlbB$a_OO~dKK)-FHmM1No+%46zF;t;i{oylYd=zz+){;)RU*Cl~Hz(c@4 zw5}p+Tx2;g85KP9gBJSGt>R4 zJ{`Cxs?c*XdGmm)fG1kwC>+v534v_GzLQ7@(=y~Y`4Jh6+MvQYx4T@e62A@d2AAeGppCHB0GyW~mn73{%|+Y|KvoSsWO_>q&C|tCBK0;mu$`?abF86XhBmbkxI6I6q_-u6$}KB($KfYfS#vSr zqE^(*SZQeKfe^dejs3L|xDU`VdGSpO)f-*7r~{2vEq+Z6u5PQ1z=r~DYl!VUcMM!K z0Zc-9;rgQDA|}>G;0{Tj6R7>hT)1co2%)zBwNQ=_yC#7Ry}EN?LnYBB_QO<#ey0Q(Fw=5aa zJ$(Ls3abu2DkE)Z_o889+SE2&m$B-0=QV)(s zg&(GZ>wsHOu_~XY@si(Ok08oJd0_9OiJMa`syE4#`i$q-bV2M7jG57cF zr%5C0IcmFKiE`+qg5x#WWr{}`soRe)O`~1s2mzO;*nY31KB%kB1h5u3p#kIYQH{2a zZ*1Zkbxfsua-^fr?v0%#zd+fv582Hz7-c4O?l%t=WO9U_{wJiUHoT#yVyUOv`}Azm zLr={EP?;=FN=zG6eD&dJKF>Y7>1PYLQWFfVd%ut-Q3R^Gd~5yez4c4BRKF00Ci_g9 za0!8$5_nG!I}HiEcrQrc`tbLp`e{HaOTyfsY;JhGm1_XlPt zoj*MV^{H3V`Hxe3hRu0Y7fY0=z^*<`NdoUqzfI_i&rEZ0rIs!?&~#yFz1z|A{?tHA z!AaUeAW@ksh4q|&bAffqHITWcM@ zA8Ay(|2Y+u zR4s(PQCxhMCNL?eH0fY7Dw*MVE#a?0rTbL;+=JN?E6Vh#F)(%m`^~8F(x!4adS;lt zldZis_v)BLb?uARsQSoFS^_s$9F(N5H`dNV(@+kOR7<#N z_(PIf^e}rTAV)T}PHBlM1Q|-;81Q4#EHW3E2MkIQL=oUl8kRhnk#OtUX4VUL2fHTO zo}|YxfO1z~iE<0$64*skL_R9=?5!G8`byvo;N6ziAufS44~4*uTGBdZyQ5IvF z$OKfO0+O5{pIqQ3Q~=M{TCcsW2v12ytg>w5I(9E8- zJt}4EK$pPH5BH-i6pmT&MBtKU^n5;4Nats$fTAugftw$mq}r7XKg}}FWSk597L{}O z8&m=<(6SvF%@OaRQkgoFURHHeM_;N>u1n!;mU~Mw!zPl#fx5wpW$~Yv6t3i^|r7~R?6B&Hp!sTU3=)tZ# z2b7Vt*M^bd#Er0T%fL1kDsgxBOcf_nUB?40eOF~Vft}5@!!%A_+rENRz0xU3<)Z%n zx{&JpI~!F>wltFo+=X2?i>}O&`}UxAf&vwo9&!0uFV58mC=*%)wbcNbOyG-?K5t_0 z)K}OWxG3rKDw^@8=#7M5q5^mv@(NU~;$@jkU<(zv4XUQYq71tCyY;_uU}1)-KKmMd zQITg^N#re|mfFghM&Nssrr{q@H4-ub4^mwdc!?&ki`sD|Fas6$>yXz*#;RNdfzQtdW=i@FPbH+T58THx%C)Sc?!`=fL}8A<(TqpH)7uS=(FYC5h{ z#nA(tg>oDJGU=RYRF@EKD#$@)Lzr56T!1Pta%j>y(@`7ev{X3N@Kcq}<-h~LWAzax zSz;tNBpTs{Q}H-C-+T0;OrY$%J!_m71YScGTi#R2*ci{33}>5!Tz;C1Rsp<9`hiDc zH=i4GhF~w>Q#$91q;dXA3xIj4NIYj{97t-&L&M8+=GVBPttpV)Sy1-h&3Q9{muZ}B zxRN9L8(Qlt!LAWfhtzUTL`&UQfcG14jbu+<)m|WQvIjHO{YipU$8em)ri^Cva1W4-|%MH!&i)uq3n_I8-WPb2O_sFL~1^t7{9pW7H1 zi3(?&1$@`QHj1=V4cF+y5UPIJ7g{Q>*Hd9bFkjb8q4EF#0DehCK~&#sd*DBNfxz2Q z$)JY(=s+4ZROr!}Y;hqS7`*A(kMJs>gm%uZ?P zw&K+9adOVBDJ2u^odSG9FDBybSsaB)?J>R1eK&@y*rIy((7m fb5Wc - - - diff --git a/doc/www/router.php b/doc/www/router.php new file mode 100644 index 00000000..fa4e4cba --- /dev/null +++ b/doc/www/router.php @@ -0,0 +1,48 @@ + "Français", + "en" => "English" + ); + +$uri=trim($_SERVER["REQUEST_URI"],"/"); + +// auto lang redirect: +if (!$uri) { + $lang="en"; + if (isset($_SERVER["ACCEPT_LANGUAGE"])) { + $l=substr($_SERVER["ACCEPT_LANGUAGE"],0,2); + if (isset($otherlang[$l])) { + $lang=$l; + } + } + header("Location: /".$lang); + exit(); +} + +list($lang,$uri)=explode("/",$uri,2); + + +if (!isset($otherlang[$lang])) { + header("HTTP/1.0 404 Not Found"); + echo "

    Lang not supported

    "; + exit(); +} + +unset($otherlang[$lang]); + +// Now we spit the proper page: +switch ($uri) { +case "install": + require_once("install.php"); + exit(); +case "": + require_once("home.php"); + exit(); +default: + header("HTTP/1.0 404 Not Found"); + echo "

    Page not found

    "; + exit(); +} +