diff --git a/Layout/default/Linework/Index.php b/Layout/default/Linework/Index.php index de06e26fc..7adee780d 100644 --- a/Layout/default/Linework/Index.php +++ b/Layout/default/Linework/Index.php @@ -302,29 +302,36 @@ building->getWorkflowvalue('ist_rohrverband_name')) ? $term->building->getWorkflowvalue('ist_rohrverband_name') : $term->building->getWorkflowvalue('rohrverband_name')?> building->getWorkflowvalue('ist_rohrtype')) ? $term->building->getWorkflowvalue('ist_rohrtype') : $term->building->getWorkflowvalue('rohrtype')?> - building->getWorkflowvalue('ist_rohrfarbe')): ?> + building->getWorkflowvalue('ist_rohrfarbe')) { + $rohrfarbe = $term->building->getWorkflowvalue('ist_rohrfarbe'); + } elseif($term->building->getWorkflowvalue('rohrfarbe')) { + $rohrfarbe = $term->building->getWorkflowvalue('rohrfarbe'); + } + ?> + + ; - building->getWorkflowvalue('ist_rohrfarbe')]["mark"]): ?> - color: #building->getWorkflowvalue('ist_rohrfarbe')]["hexfg"]?>; - - color: #building->getWorkflowvalue('ist_rohrfarbe')]["hex"]?>; - + background: rgb(,,); + background: linear-gradient(90deg, rgba(,,,.5) 0%, rgba(,,,.5) 50%, rgba(,,,.5) 50%, rgba(,,,.5) 100%); + padding-right: 42px; border-radius: 3px; - ">------- building->getWorkflowvalue('ist_rohrfarbe'))?> - building->getWorkflowvalue('rohrfarbe')): ?> + ">  + + ; - building->getWorkflowvalue('rohrfarbe')]["mark"]): ?> - color: #building->getWorkflowvalue('rohrfarbe')]["hexfg"]?>; + background-color: #; + + color: #; - color: #building->getWorkflowvalue('rohrfarbe')]["hex"]?>; + color: #; border-radius: 3px; - ">------- building->getWorkflowvalue('rohrfarbe'))?> + ">------- + diff --git a/Layout/default/Workflow/items/color.php b/Layout/default/Workflow/items/color.php index e5cec043f..094803bf5 100644 --- a/Layout/default/Workflow/items/color.php +++ b/Layout/default/Workflow/items/color.php @@ -11,14 +11,29 @@ if(preg_match('/^(.+)-1R$/', $color_name, $cmatch)) { diff --git a/Layout/default/footer.php b/Layout/default/footer.php index c2286a7b0..8727d9f2c 100644 --- a/Layout/default/footer.php +++ b/Layout/default/footer.php @@ -19,7 +19,8 @@ diff --git a/application/Api/v1/AddressdbApicontroller.php b/application/Api/v1/AddressdbApicontroller.php index 3c211ac79..9732a8e12 100644 --- a/application/Api/v1/AddressdbApicontroller.php +++ b/application/Api/v1/AddressdbApicontroller.php @@ -35,10 +35,7 @@ class AddressdbApicontroller extends mfBaseApicontroller { $this->filter_salescluster_ids[] = $campain_scluster->salescluster_id; } - if(!array_key_exists($campain_scluster->salescluster_id, $this->campaigns_by_scluster)) { - $this->campaigns_by_scluster[$campain_scluster->salescluster_id] = []; - } - $this->campaigns_by_scluster[$campain_scluster->salescluster_id][] = $campaign->id; + $this->campaigns_by_scluster[$campain_scluster->salescluster_id] = $campaign->id; } $this->campaigns[$campaign->id] = $campaign; diff --git a/application/Dashboard/DashboardController.php b/application/Dashboard/DashboardController.php index a71a17d88..d9f7f03ad 100644 --- a/application/Dashboard/DashboardController.php +++ b/application/Dashboard/DashboardController.php @@ -29,6 +29,35 @@ class DashboardController extends mfBaseController { } } + protected function colorAction() { + + foreach(TT_CABLE_COLORS as $name => $color) { + if(!$color['two-color']) continue; + $hex = $color['hex']; + $hexfg = $color['hexfg']; + $hex2 = $color['hex2']; + $hexfg2 = $color['hexfg2']; + $r = $color['r']; + $g = $color['g']; + $b = $color['b']; + $r2 = $color['r2']; + $g2 = $color['g2']; + $b2 = $color['b2']; + + + $class = ".btn-outline-".$name." { + color: #$hexfg; + border-left-color: #$hex; + border-top-color: #$hex; + border-right-color: #$hex2; + border-bottom-color: #$hex2; + background: linear-gradient(90deg, rgba($r,$g,$b,.5) 0%, rgba($r,$g,$b,.5) 50%, rgba($r2,$g2,$b2,.5) 50%, rgba($r2,$g2,$b2,.5) 100%); +}"; + echo "
$class
\n"; + } + exit; + } + protected function pdfAction() { $order = new Order(7); $owner = new Address(1); diff --git a/lib/mvcfronk/mfBase/mfBaseApicontroller.php b/lib/mvcfronk/mfBase/mfBaseApicontroller.php index 33f21a373..1430d1867 100644 --- a/lib/mvcfronk/mfBase/mfBaseApicontroller.php +++ b/lib/mvcfronk/mfBase/mfBaseApicontroller.php @@ -42,6 +42,21 @@ class mfBaseApicontroller { $this->logRequest2(); register_shutdown_function(["mfBaseApicontroller", "return_errors"]); + + // CORS preflight + // allow all origins + if($this->http_method == "OPTIONS") { + // dont execute route, OPTIONS only requires CORS headers + header("Access-Control-Allow-Methods: GET,POST,OPTIONS"); + header("Access-Control-Allow-Headers: X-Api-Key"); + + if(preg_match('#^(https?)://(.+)(:\d+)?$#i', $this->headers['origin'], $m)) { + $origin_proto = $m[1]; + $origin_hostname = $m[2]; + header("Access-Control-Allow-Origin: ".$origin_proto."://".$origin_hostname); + $this->return(mfResponse::Ok()); + } + } // run Controllers init() function if(method_exists($this,"init")) { @@ -58,12 +73,6 @@ class mfBaseApicontroller { // Apicontroller should add allowed hostnames with $this->addAllowedOrigin() $this->createCorsHeaders(); - // CORS preflight OPTIONS - if($this->http_method == "OPTIONS") { - // dont execute route, OPTIONS only requires CORS headers - $this->return(mfResponse::Ok()); - } - // route to action $this->route = $params['apicall'].((array_key_exists("apiparams", $params)) ? $params['apiparams'] : ""); $responseData = $this->runRoute($this->route); @@ -303,7 +312,7 @@ class mfBaseApicontroller { private function createCorsHeaders() { header("Access-Control-Allow-Methods: GET,POST,OPTIONS"); header("Access-Control-Allow-Headers: X-Api-Key"); - //var_dump($this->headers);exit; + if(!is_array($this->allowed_origins) || !count($this->allowed_origins)) { return true; } @@ -321,7 +330,6 @@ class mfBaseApicontroller { $request_origin['hostname'] = $m[2]; } - //var_dump($request_origin);exit; foreach($this->allowed_origins as $origin) { //echo $origin." -> ".$_SERVER["HTTP_HOST"]; diff --git a/public/assets/css/thetool.css b/public/assets/css/thetool.css index 3722094ce..637343890 100644 --- a/public/assets/css/thetool.css +++ b/public/assets/css/thetool.css @@ -220,6 +220,14 @@ h1, h2, h3, h4, h5, h6 { } +.color-shadow-b { + text-shadow: 1px 1px 2px black; +} +.color-shadow-2 { + text-shadow: 1px 1px 2px white; +} + + .pagination a { color: #007bff; } @@ -373,6 +381,231 @@ td.controls { border-color: #FF0088; } +.btn-outline-natur { + color: #000000; + background-color: #FFFFCC; +} + +.btn-outline-Rot-Gelb { + color: #FFFFFF; + border-left-color: #FF0000; + border-top-color: #FF0000; + border-right-color: #FFFF00; + border-bottom-color: #FFFF00; + background: linear-gradient(90deg, rgba(255,0,0,.5) 0%, rgba(255,0,0,.5) 50%, rgba(255,255,0,.5) 50%, rgba(255,255,0,.5) 100%); +} + +.btn-outline-Rot-Gruen { + color: #FFFFFF; + border-left-color: #FF0000; + border-top-color: #FF0000; + border-right-color: #00FF00; + border-bottom-color: #00FF00; + background: linear-gradient(90deg, rgba(255,0,0,.5) 0%, rgba(255,0,0,.5) 50%, rgba(0,255,0,.5) 50%, rgba(0,255,0,.5) 100%); +} + +.btn-outline-Rot-Blau { + color: #FFFFFF; + border-left-color: #FF0000; + border-top-color: #FF0000; + border-right-color: #0000FF; + border-bottom-color: #0000FF; + background: linear-gradient(90deg, rgba(255,0,0,.5) 0%, rgba(255,0,0,.5) 50%, rgba(0,0,255,.5) 50%, rgba(0,0,255,.5) 100%); +} + +.btn-outline-Rot-Violett { + color: #FFFFFF; + border-left-color: #FF0000; + border-top-color: #FF0000; + border-right-color: #8800FF; + border-bottom-color: #8800FF; + background: linear-gradient(90deg, rgba(255,0,0,.5) 0%, rgba(255,0,0,.5) 50%, rgba(136,0,255,.5) 50%, rgba(136,0,255,.5) 100%); +} + +.btn-outline-Rot-Grau { + color: #FFFFFF; + border-left-color: #FF0000; + border-top-color: #FF0000; + border-right-color: #888888; + border-bottom-color: #888888; + background: linear-gradient(90deg, rgba(255,0,0,.5) 0%, rgba(255,0,0,.5) 50%, rgba(136,136,136,.5) 50%, rgba(136,136,136,.5) 100%); +} + +.btn-outline-Gelb-Blau { + color: #000000; + border-left-color: #FFFF00; + border-top-color: #FFFF00; + border-right-color: #0000FF; + border-bottom-color: #0000FF; + background: linear-gradient(90deg, rgba(255,255,0,.5) 0%, rgba(255,255,0,.5) 50%, rgba(0,0,255,.5) 50%, rgba(0,0,255,.5) 100%); +} + +.btn-outline-Gelb-Violett { + color: #000000; + border-left-color: #FFFF00; + border-top-color: #FFFF00; + border-right-color: #8800FF; + border-bottom-color: #8800FF; + background: linear-gradient(90deg, rgba(255,255,0,.5) 0%, rgba(255,255,0,.5) 50%, rgba(136,0,255,.5) 50%, rgba(136,0,255,.5) 100%); +} + +.btn-outline-Gelb-Grau { + color: #000000; + border-left-color: #FFFF00; + border-top-color: #FFFF00; + border-right-color: #888888; + border-bottom-color: #888888; + background: linear-gradient(90deg, rgba(255,255,0,.5) 0%, rgba(255,255,0,.5) 50%, rgba(136,136,136,.5) 50%, rgba(136,136,136,.5) 100%); +} + +.btn-outline-Gruen-Blau { + color: #000000; + border-left-color: #00FF00; + border-top-color: #00FF00; + border-right-color: #0000FF; + border-bottom-color: #0000FF; + background: linear-gradient(90deg, rgba(0,255,0,.5) 0%, rgba(0,255,0,.5) 50%, rgba(0,0,255,.5) 50%, rgba(0,0,255,.5) 100%); +} + +.btn-outline-Gruen-Violett { + color: #000000; + border-left-color: #00FF00; + border-top-color: #00FF00; + border-right-color: #8800FF; + border-bottom-color: #8800FF; + background: linear-gradient(90deg, rgba(0,255,0,.5) 0%, rgba(0,255,0,.5) 50%, rgba(136,0,255,.5) 50%, rgba(136,0,255,.5) 100%); +} + +.btn-outline-Gruen-Grau { + color: #000000; + border-left-color: #00FF00; + border-top-color: #00FF00; + border-right-color: #888888; + border-bottom-color: #888888; + background: linear-gradient(90deg, rgba(0,255,0,.5) 0%, rgba(0,255,0,.5) 50%, rgba(136,136,136,.5) 50%, rgba(136,136,136,.5) 100%); +} + +.btn-outline-Braun-Blau { + color: #FFFFFF; + border-left-color: #A52A2A; + border-top-color: #A52A2A; + border-right-color: #0000FF; + border-bottom-color: #0000FF; + background: linear-gradient(90deg, rgba(165,42,42,.5) 0%, rgba(165,42,42,.5) 50%, rgba(0,0,255,.5) 50%, rgba(0,0,255,.5) 100%); +} + +.btn-outline-Braun-Violett { + color: #FFFFFF; + border-left-color: #A52A2A; + border-top-color: #A52A2A; + border-right-color: #8800FF; + border-bottom-color: #8800FF; + background: linear-gradient(90deg, rgba(165,42,42,.5) 0%, rgba(165,42,42,.5) 50%, rgba(136,0,255,.5) 50%, rgba(136,0,255,.5) 100%); +} + +.btn-outline-Braun-Grau { + color: #FFFFFF; + border-left-color: #A52A2A; + border-top-color: #A52A2A; + border-right-color: #888888; + border-bottom-color: #888888; + background: linear-gradient(90deg, rgba(165,42,42,.5) 0%, rgba(165,42,42,.5) 50%, rgba(136,136,136,.5) 50%, rgba(136,136,136,.5) 100%); +} + +.btn-outline-Braun-Gruen { + color: #FFFFFF; + border-left-color: #A52A2A; + border-top-color: #A52A2A; + border-right-color: #00FF00; + border-bottom-color: #00FF00; + background: linear-gradient(90deg, rgba(165,42,42,.5) 0%, rgba(165,42,42,.5) 50%, rgba(0,255,0,.5) 50%, rgba(0,255,0,.5) 100%); +} + +.btn-outline-Braun-Gelb { + color: #FFFFFF; + border-left-color: #A52A2A; + border-top-color: #A52A2A; + border-right-color: #FFFF00; + border-bottom-color: #FFFF00; + background: linear-gradient(90deg, rgba(165,42,42,.5) 0%, rgba(165,42,42,.5) 50%, rgba(255,255,0,.5) 50%, rgba(255,255,0,.5) 100%); +} + +.btn-outline-Braun-Rot { + color: #FFFFFF; + border-left-color: #A52A2A; + border-top-color: #A52A2A; + border-right-color: #FF0000; + border-bottom-color: #FF0000; + background: linear-gradient(90deg, rgba(165,42,42,.5) 0%, rgba(165,42,42,.5) 50%, rgba(255,0,0,.5) 50%, rgba(255,0,0,.5) 100%); +} + +.btn-outline-Schwarz-Rot { + color: #FFFFFF; + border-left-color: #000000; + border-top-color: #000000; + border-right-color: #FF0000; + border-bottom-color: #FF0000; + background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 50%, rgba(255,0,0,.5) 50%, rgba(255,0,0,.5) 100%); +} + +.btn-outline-Schwarz-Gelb { + color: #FFFFFF; + border-left-color: #000000; + border-top-color: #000000; + border-right-color: #FFFF00; + border-bottom-color: #FFFF00; + background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 50%, rgba(255,255,0,.5) 50%, rgba(255,255,0,.5) 100%); +} + +.btn-outline-Schwarz-Gruen { + color: #FFFFFF; + border-left-color: #000000; + border-top-color: #000000; + border-right-color: #00FF00; + border-bottom-color: #00FF00; + background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 50%, rgba(0,255,0,.5) 50%, rgba(0,255,0,.5) 100%); +} + +.btn-outline-Schwarz-Blau { + color: #FFFFFF; + border-left-color: #000000; + border-top-color: #000000; + border-right-color: #0000FF; + border-bottom-color: #0000FF; + background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 50%, rgba(0,0,255,.5) 50%, rgba(0,0,255,.5) 100%); +} + +.btn-outline-Schwarz-Violett { + color: #FFFFFF; + border-left-color: #000000; + border-top-color: #000000; + border-right-color: #8800FF; + border-bottom-color: #8800FF; + background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 50%, rgba(136,0,255,.5) 50%, rgba(136,0,255,.5) 100%); +} + +.btn-outline-Schwarz-Grau { + color: #FFFFFF; + border-left-color: #000000; + border-top-color: #000000; + border-right-color: #888888; + border-bottom-color: #888888; + background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 50%, rgba(136,136,136,.5) 50%, rgba(136,136,136,.5) 100%); +} + +.btn-outline-Schwarz-Braun { + color: #FFFFFF; + border-left-color: #000000; + border-top-color: #000000; + border-right-color: #A52A2A; + border-bottom-color: #A52A2A; + background: linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 50%, rgba(165,42,42,.5) 50%, rgba(165,42,42,.5) 100%); +} + + + + + .text-white { color: #f00;