From af0cb598689457fea2d54709c84df6fa6dbe63a0 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Tue, 29 Nov 2016 23:49:15 +0000 Subject: [PATCH] dbq --- etc/dbq/000-local.php | 14 +++---- lib/css/button.css | 5 ++- lib/php/nb.php | 2 +- share/db/shell.db | Bin 53248 -> 0 bytes src/Docker/nginx/Dockerfile | 10 ++++- www/Docker | 1 + www/dbq/button.css | 1 - www/dbq/db.css | 1 - www/dbq/default.css | 67 +++++++++++++++++++++++---------- www/dbq/docker-compose.yaml | 34 +++++++++++++++++ www/dbq/etc/nginx/default.conf | 38 +++++++++++++++++++ www/dbq/index.php | 2 + 12 files changed, 143 insertions(+), 32 deletions(-) delete mode 100644 share/db/shell.db create mode 120000 www/Docker delete mode 120000 www/dbq/button.css delete mode 120000 www/dbq/db.css create mode 100644 www/dbq/docker-compose.yaml create mode 100644 www/dbq/etc/nginx/default.conf diff --git a/etc/dbq/000-local.php b/etc/dbq/000-local.php index 08e7a43d..d5d6aebd 100644 --- a/etc/dbq/000-local.php +++ b/etc/dbq/000-local.php @@ -3,16 +3,16 @@ # !!! MANDATORY !!! # if (true or !nb::is_vm()) $DBQ = [ - 'shell' => [ - 'type' => 'sqlite', - 'name' => 'shell', - 'default_table' => 'shell_function', - 'host' => nb::ROOT_DIR.'/share/db/shell.db', - ], +# NB 29.11.16 'shell' => [ +# NB 29.11.16 'type' => 'sqlite', +# NB 29.11.16 'name' => 'shell', +# NB 29.11.16 'default_table' => 'shell_function', +# NB 29.11.16 'host' => nb::ROOT_DIR.'/share/db/shell.db', +# NB 29.11.16 ], 'sys' => [ 'type' => 'sqlite', 'name' => 'sys', - 'default_table' => 'mime', + 'default_table' => 'port', 'host' => nb::ROOT_DIR.'/share/db/sys.db', ], ]; diff --git a/lib/css/button.css b/lib/css/button.css index e02b8a44..680a4e47 100644 --- a/lib/css/button.css +++ b/lib/css/button.css @@ -1,11 +1,14 @@ .button { display: inline-block; text-decoration: none; + /* font-size: 13px; line-height: 26px; height: 28px; - margin: 0; padding: 0 10px 1px; + */ + line-height: 1.5em; + margin: 0; cursor: pointer; border-width: 1px; border-style: solid; diff --git a/lib/php/nb.php b/lib/php/nb.php index 0c275cca..feb76f1c 100644 --- a/lib/php/nb.php +++ b/lib/php/nb.php @@ -6,8 +6,8 @@ if (!defined('NB_EOL')) define('NB_EOL',defined('NB_PROD') ? '' : "\n"); require_once(realpath(dirname(__FILE__).'/functions.php')); #$nb = new NB(); debug($nb->test()); #if (!defined('NB_PARAMS')) define('NB_PARAMS',$_REQUEST); +if (class_exists('NB')) return; -#if (class_exists('NB')) return; class NB { const ROOT_DIR = NB_ROOT; diff --git a/share/db/shell.db b/share/db/shell.db deleted file mode 100644 index f8fae83dc5b580d8dea9b59bf896d00a70578146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53248 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 diff --git a/src/Docker/nginx/Dockerfile b/src/Docker/nginx/Dockerfile index d8e3f0cd..0460608a 100644 --- a/src/Docker/nginx/Dockerfile +++ b/src/Docker/nginx/Dockerfile @@ -1,7 +1,15 @@ FROM nginx:latest + ARG WWW_ROOT ENV WWW_ROOT=${WWW_ROOT:-/var/www/html} + COPY ./default.conf /etc/nginx/conf.d/default.conf -RUN sed -ie 's,^\([\t ]*root \).*$,\1'$WWW_ROOT';,' /etc/nginx/conf.d/default.conf + +# Set DOCUMENT_ROOT +RUN test "$WWW_ROOT" && sed -ie 's,^\([\t ]*root \).*$,\1'$WWW_ROOT';,' /etc/nginx/conf.d/default.conf + +# Create default index.html RUN mkdir -p $WWW_ROOT && echo 'Welcom to Nginx

Welcom to Nginx

' > $WWW_ROOT/index.html + +# Run daemon CMD nginx -g 'daemon off;' diff --git a/www/Docker b/www/Docker new file mode 120000 index 00000000..c21bfe5d --- /dev/null +++ b/www/Docker @@ -0,0 +1 @@ +../src/Docker \ No newline at end of file diff --git a/www/dbq/button.css b/www/dbq/button.css deleted file mode 120000 index 3657d48f..00000000 --- a/www/dbq/button.css +++ /dev/null @@ -1 +0,0 @@ -../../lib/css/button.css \ No newline at end of file diff --git a/www/dbq/db.css b/www/dbq/db.css deleted file mode 120000 index d12264f1..00000000 --- a/www/dbq/db.css +++ /dev/null @@ -1 +0,0 @@ -../../lib/css/db.css \ No newline at end of file diff --git a/www/dbq/default.css b/www/dbq/default.css index 553a7a37..003f2b4b 100644 --- a/www/dbq/default.css +++ b/www/dbq/default.css @@ -11,6 +11,10 @@ body { background-color: #E6E6E6; } +h1 { + margin: 0 0 0.2em 0; +} + a, body { color: #333333; @@ -30,56 +34,49 @@ a, a:visited { text-decoration: none; } -.button { - color: #ddd; - background-color: #3C3C3B; -} - table { border-collapse: collapse; } td, th { padding: 0.2em 0.7em; } th { font-size: 0.8em; } textarea, +select, input:not([type]), -input[type=''], -input[type='text'] { +input[type='text'] +input[type='password'] +input[type='date'] +input[type='email'] +input[type='url'] +input[type=''], { box-shadow: 0 0 5px 0 #eee; border-radius: 4px; border: solid 1px #eee; - padding: 0.4em; - margin-right: 0.3em; } -form label:after { - content: ': '; -} +form label:after { content: ':'; } form label, form input, form select { vertical-align: middle; + margin: 0.2em 0.4em 0.2em 0; } table.rows, div.rows, .menu, -object, iframe, pre, .t2d tr +object, iframe, pre { border-collapse: separate; border-spacing: 0; - padding: 0.5em 0.2em; border-radius: 4px; - border: solid 1px #fff; - margin-bottom: 0.5em; -} + padding: 0.5em 0.2em; + margin-bottom: 0.5em; -table.rows th, table.rows td, -table.border th, table.border td { - border-bottom: solid 1px #fff; } +table.rows th, table.rows td, table.border th, table.border td { border-bottom: solid 1px #fff; } table.rows tr:last-child td, table.border tr:last-child td { border-bottom: none; } .menu, .nav, .rows, @@ -89,3 +86,33 @@ table.rows tr:last-child td, table.border tr:last-child td { border-bottom: none display: table; } +.menu { padding: 0.5em; } + +.button { + display: inline-block; + text-decoration: none; + line-height: 1.5em; + margin: 0; + cursor: pointer; + border-width: 1px; + border-style: solid; + white-space: nowrap; + box-sizing: border-box; + color: #ddd; + background-color: #3C3C3B; + border-color: #3C3C3B; + border-radius: 4px; +} + +a:hover, +.button:hover { + opacity: 0.8; +} + +/* +form a.button:visited, form a.button { + display: inline-block; + position: relative; + top: -1px; +} +*/ diff --git a/www/dbq/docker-compose.yaml b/www/dbq/docker-compose.yaml new file mode 100644 index 00000000..e2f27cdb --- /dev/null +++ b/www/dbq/docker-compose.yaml @@ -0,0 +1,34 @@ +version: '2' +services: + php: + #image: php:7.0-fpm-alpine + build: ../Docker/php/ + expose: + - 9000 + environment: + NB_ROOT: /opt/nb + volumes: + - ./../..:$NB_ROOT + - ./:/var/www/html + - php + #- ./../../lib/php/db:/var/www/html + command: "echo . $NB_ROOT/etc/profile > /etc/profile.d/nb.sh" + +# NB 29.11.16 php: +# NB 29.11.16 build: ../Docker/php/ +# NB 29.11.16 expose: +# NB 29.11.16 - 9000 +# NB 29.11.16 volumes_from: +# NB 29.11.16 - code + + nginx: + build: + context: ../Docker/nginx/ + args: + - WWW_ROOT=$NB_ROOT/www/dbq + volumes_from: + - php + links: + - php + ports: + - "8080:80" diff --git a/www/dbq/etc/nginx/default.conf b/www/dbq/etc/nginx/default.conf new file mode 100644 index 00000000..ac59a71a --- /dev/null +++ b/www/dbq/etc/nginx/default.conf @@ -0,0 +1,38 @@ +server { + listen 80 default_server; + root /var/www/html; + index index.html index.php; + + charset utf-8; + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location = /favicon.ico { access_log off; log_not_found off; } + location = /robots.txt { access_log off; log_not_found off; } + + #access_log off; + #error_log /var/log/nginx/error.log error; + + error_log /dev/stderr error; + access_log /dev/stdout main; + sendfile off; + + client_max_body_size 100m; + + location ~ \.php$ { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass php:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_intercept_errors off; + fastcgi_buffer_size 16k; + fastcgi_buffers 4 16k; + } + + location ~ /\.ht { + deny all; + } +} diff --git a/www/dbq/index.php b/www/dbq/index.php index 4f96b8e7..7ec1f9e8 100644 --- a/www/dbq/index.php +++ b/www/dbq/index.php @@ -1,3 +1,5 @@ -- 2.47.3