diff --git a/composer.lock b/composer.lock index b709e126715575749e900f9bcc7456268d21debd..6eca06682419b9c1dd4f619694bbeb6024b1aa93 100644 --- a/composer.lock +++ b/composer.lock @@ -526,16 +526,16 @@ }, { "name": "unl/php-wdn-templates", - "version": "v5.3.3", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/unl/phpunltemplates.git", - "reference": "6e8d54a1405f69da508520c53dc059e66efa5ac1" + "reference": "845d8e05a6ae636797b350659f64b5f03b466166" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/unl/phpunltemplates/zipball/6e8d54a1405f69da508520c53dc059e66efa5ac1", - "reference": "6e8d54a1405f69da508520c53dc059e66efa5ac1", + "url": "https://api.github.com/repos/unl/phpunltemplates/zipball/845d8e05a6ae636797b350659f64b5f03b466166", + "reference": "845d8e05a6ae636797b350659f64b5f03b466166", "shasum": "" }, "require": { @@ -581,9 +581,9 @@ "homepage": "http://wdn.unl.edu/", "support": { "issues": "https://github.com/unl/phpunltemplates/issues", - "source": "https://github.com/unl/phpunltemplates/tree/v5.3.3" + "source": "https://github.com/unl/phpunltemplates/tree/v5.3.4" }, - "time": "2021-03-29T21:02:08+00:00" + "time": "2022-01-24T19:05:47+00:00" }, { "name": "unl/unl_cache_lite", diff --git a/config.sample.php b/config.sample.php index b4af86e67299309683b21c89e71d843e86680eb0..f970a92b99877564df1495a6d23d5cf58b335434 100644 --- a/config.sample.php +++ b/config.sample.php @@ -34,3 +34,11 @@ ActiveRecord\Config::initialize(function ($cfg) { )); }); +// Site Notice +$siteNotice = new stdClass(); +$siteNotice->display = false; +$siteNotice->noticePath = 'dcf-notice'; +$siteNotice->containerID = 'dcf-main'; +$siteNotice->type = 'dcf-notice-info'; +$siteNotice->title = 'Maintenance Notice'; +$siteNotice->message = 'We will be performing site maintenance on February 3rd from 4:30 to 5:00. The site may not be available during this time.'; diff --git a/less/main.less b/less/main.less index 51713e67612d35c1ad8d068db85ebc40469944f3..fb8bfec84333e91101fa1673684982071cced4ef 100644 --- a/less/main.less +++ b/less/main.less @@ -323,6 +323,10 @@ svg.preview { } } +.dcf-notice { + margin-top: 1em; +} + @media (min-width: 0px) { .lockup-hero { height: 5em; diff --git a/public/css/main.css b/public/css/main.css index 0a5096fd2f343d1f3f42dd1b13be4e628418cfab..026c569b98d3756b25e684169197c3db177e650e 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -1 +1 @@ -.dcf-nav-menu-child ul{list-style:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");margin-bottom:0;padding-left:0}a{text-decoration:none}label>input{visibility:hidden;position:absolute}label img{padding:5px}label>input+img,label>input+img+img{cursor:pointer;-webkit-box-shadow:0 0 8px #DDD;box-shadow:0 0 8px #DDD}label>input:checked+img,label>input:checked+img+img{-webkit-box-shadow:0 0 8px #1B9AE8;box-shadow:0 0 8px #1B9AE8}form legend{font-size:1.5em}textarea{resize:vertical}.page-title{margin-top:0}div.left,section.left,td.left,th.left{text-align:left}div.center,label.center,section.center,td.center,th.center{text-align:center}div.right,section.right,td.right,th.right{text-align:right}img.height-36{max-height:108px}img.height-38{max-height:114px}img.height-40{max-height:120px}.approval-bug{text-align:center;background:#1b9ae8;border:1px solid #137cbd;border-radius:1em;padding:1em;color:#fefdfa;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;font-weight:400;font-style:normal}.approval-bug.approved{background:#00bc3c;border:1px solid #00892c}.approval-bug.denied{background:#ff5151;border:1px solid #d00000}.caps{text-transform:uppercase;color:inherit}.featured-icon{background-color:#00BD3C;height:144px;width:144px;border-radius:80px;float:none!important;margin:0 auto!important}.featured-icon.red{background-color:#D00000}.featured-icon.blue{background-color:#1B9AE8}.table-actions{line-height:1}.table-actions a,.table-actions button{vertical-align:middle}.delete-form{display:inline;padding:0}svg.preview{background-color:#FFF;border:2px dashed var(--b);max-width:100%}.lockup-hero{position:relative;overflow:hidden;height:25.24em;height:42vh;background-color:#000;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center}.lockup-hero video{width:100%}.lockup-hero-text{position:relative;bottom:auto;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;text-align:center}.lockup-hero-heading{z-index:1;margin:0;font-size:2.67em;text-transform:uppercase;color:#fff}.lockup-hero-heading .hero-line{display:inline-block;line-height:1;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.is-video.lockup-hero .lockup-hero-video{position:absolute;top:0;left:0}.tooltip{background-color:var(--bg-body);color:#1B9AE8;display:inline-block;text-align:center;position:relative;line-height:1.6em;font-size:.8125rem}.tooltip>div{position:absolute;display:none;background-color:var(--bg-body);color:var(--body);-webkit-box-shadow:0 1px 4px var(--b);box-shadow:0 1px 4px var(--b);padding:.75em;bottom:160%;left:-91px;width:200px;text-align:left;z-index:250}.tooltip>div:before{background-color:var(--bg-body);content:"";display:block;width:15px;height:15px;position:absolute;bottom:-8px;left:50%;margin-left:-7px;transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-webkit-box-shadow:0 0 4px rgba(0,0,0,.25);box-shadow:0 0 4px rgba(0,0,0,.25)}.tooltip>div:after{content:"";height:12px;width:40px;background-color:var(--bg-body);display:block;position:absolute;bottom:0;left:50%;margin-left:-24px}.tooltip.hang-right>div{left:-27px}.tooltip.hang-left>div{left:-157px}.tooltip.hang-right>div:before{left:34px;margin-left:-7px}.tooltip.hang-right>div:after{left:34px;margin-left:-24px}.tooltip.hang-left>div:before{left:166px;margin-left:-7px}.tooltip.hang-left>div:after{left:166px;margin-left:-24px}.tooltip ul li{margin-bottom:.75em}.tooltip span.heading{font-family:"Tungsten A","Tungsten B",HelveticaNeueCondensed,HelveticaNeue-Condensed,"Helvetica Neue Condensed",HelveticaNeueRomanCondensed,HelveticaNeue-Roman-Condensed,"Helvetica Neue Roman Condensed","Arial Narrow",HelveticaNeue,"Helvetica Neue",HelveticaNeueRoman,HelveticaNeue-Roman,"Helvetica Neue Roman",Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1.777em}.tooltip:hover>div{display:block}.tooltip p{margin:0}.tooltip.italic *{font-style:italic}.toolbox,.visual-island{background:var(--bg-dialog);margin-bottom:1em;word-wrap:break-word;padding:0!important}.toolbox .details,.toolbox .tools,.visual-island .details,.visual-island .tools{padding:1em;border-left:1px solid var(--b);border-right:1px solid var(--b);border-bottom:1px solid var(--b)}.toolbox .details.top-border,.toolbox .tools.top-border,.visual-island .details.top-border,.visual-island .tools.top-border{border-top:1px solid var(--b)}.toolbox .vi-header,.toolbox h1,.toolbox h2,.toolbox h3,.toolbox h4,.toolbox h5,.toolbox h6,.visual-island .vi-header,.visual-island h1,.visual-island h2,.visual-island h3,.visual-island h4,.visual-island h5,.visual-island h6{display:block;font-size:.802em!important;margin:0;border-bottom:1px solid var(--heading);font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;width:100%;background-color:var(--heading);padding:1em;text-transform:uppercase;color:var(--inverse);font-weight:400;font-style:normal;text-align:center}.toolbox p,.visual-island p{padding:0 1em 1em 1em}.toolbox ul,.visual-island ul{padding:0;padding-left:1em;margin:0}.toolbox ul a,.visual-island ul a{border-bottom:none;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif}@media (min-width:0px){.lockup-hero{height:5em;height:10vh;max-height:8em}}@media (min-height:480px) and (min-width:480px){.lockup-hero{height:15em;height:30vh;max-height:22em}}@media (min-height:718px) and (min-width:960px){.lockup-hero{height:25.24em;height:56vh;max-height:31.474em}}@media (min-height:895px) and (min-width:1044px){.lockup-hero{height:31.474em;height:75vh;max-height:33.645em}}@media (min-width:480px){.lockup-hero-heading{font-size:3.16em}}@media (min-width:768px){.lockup-hero-heading{font-size:4.21em}}@media (min-width:1044px){.lockup-hero-heading{font-size:4.74em}} \ No newline at end of file +.dcf-nav-menu-child ul{list-style:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");margin-bottom:0;padding-left:0}a{text-decoration:none}label>input{visibility:hidden;position:absolute}label img{padding:5px}label>input+img,label>input+img+img{cursor:pointer;-webkit-box-shadow:0 0 8px #DDD;box-shadow:0 0 8px #DDD}label>input:checked+img,label>input:checked+img+img{-webkit-box-shadow:0 0 8px #1B9AE8;box-shadow:0 0 8px #1B9AE8}form legend{font-size:1.5em}textarea{resize:vertical}.page-title{margin-top:0}div.left,section.left,td.left,th.left{text-align:left}div.center,label.center,section.center,td.center,th.center{text-align:center}div.right,section.right,td.right,th.right{text-align:right}img.height-36{max-height:108px}img.height-38{max-height:114px}img.height-40{max-height:120px}.approval-bug{text-align:center;background:#1b9ae8;border:1px solid #137cbd;border-radius:1em;padding:1em;color:#fefdfa;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;font-weight:400;font-style:normal}.approval-bug.approved{background:#00bc3c;border:1px solid #00892c}.approval-bug.denied{background:#ff5151;border:1px solid #d00000}.caps{text-transform:uppercase;color:inherit}.featured-icon{background-color:#00BD3C;height:144px;width:144px;border-radius:80px;float:none!important;margin:0 auto!important}.featured-icon.red{background-color:#D00000}.featured-icon.blue{background-color:#1B9AE8}.table-actions{line-height:1}.table-actions a,.table-actions button{vertical-align:middle}.delete-form{display:inline;padding:0}svg.preview{background-color:#FFF;border:2px dashed var(--b);max-width:100%}.lockup-hero{position:relative;overflow:hidden;height:25.24em;height:42vh;background-color:#000;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center}.lockup-hero video{width:100%}.lockup-hero-text{position:relative;bottom:auto;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;text-align:center}.lockup-hero-heading{z-index:1;margin:0;font-size:2.67em;text-transform:uppercase;color:#fff}.lockup-hero-heading .hero-line{display:inline-block;line-height:1;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.is-video.lockup-hero .lockup-hero-video{position:absolute;top:0;left:0}.tooltip{background-color:var(--bg-body);color:#1B9AE8;display:inline-block;text-align:center;position:relative;line-height:1.6em;font-size:.8125rem}.tooltip>div{position:absolute;display:none;background-color:var(--bg-body);color:var(--body);-webkit-box-shadow:0 1px 4px var(--b);box-shadow:0 1px 4px var(--b);padding:.75em;bottom:160%;left:-91px;width:200px;text-align:left;z-index:250}.tooltip>div:before{background-color:var(--bg-body);content:"";display:block;width:15px;height:15px;position:absolute;bottom:-8px;left:50%;margin-left:-7px;transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-webkit-box-shadow:0 0 4px rgba(0,0,0,.25);box-shadow:0 0 4px rgba(0,0,0,.25)}.tooltip>div:after{content:"";height:12px;width:40px;background-color:var(--bg-body);display:block;position:absolute;bottom:0;left:50%;margin-left:-24px}.tooltip.hang-right>div{left:-27px}.tooltip.hang-left>div{left:-157px}.tooltip.hang-right>div:before{left:34px;margin-left:-7px}.tooltip.hang-right>div:after{left:34px;margin-left:-24px}.tooltip.hang-left>div:before{left:166px;margin-left:-7px}.tooltip.hang-left>div:after{left:166px;margin-left:-24px}.tooltip ul li{margin-bottom:.75em}.tooltip span.heading{font-family:"Tungsten A","Tungsten B",HelveticaNeueCondensed,HelveticaNeue-Condensed,"Helvetica Neue Condensed",HelveticaNeueRomanCondensed,HelveticaNeue-Roman-Condensed,"Helvetica Neue Roman Condensed","Arial Narrow",HelveticaNeue,"Helvetica Neue",HelveticaNeueRoman,HelveticaNeue-Roman,"Helvetica Neue Roman",Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1.777em}.tooltip:hover>div{display:block}.tooltip p{margin:0}.tooltip.italic *{font-style:italic}.toolbox,.visual-island{background:var(--bg-dialog);margin-bottom:1em;word-wrap:break-word;padding:0!important}.toolbox .details,.toolbox .tools,.visual-island .details,.visual-island .tools{padding:1em;border-left:1px solid var(--b);border-right:1px solid var(--b);border-bottom:1px solid var(--b)}.toolbox .details.top-border,.toolbox .tools.top-border,.visual-island .details.top-border,.visual-island .tools.top-border{border-top:1px solid var(--b)}.toolbox .vi-header,.toolbox h1,.toolbox h2,.toolbox h3,.toolbox h4,.toolbox h5,.toolbox h6,.visual-island .vi-header,.visual-island h1,.visual-island h2,.visual-island h3,.visual-island h4,.visual-island h5,.visual-island h6{display:block;font-size:.802em!important;margin:0;border-bottom:1px solid var(--heading);font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;width:100%;background-color:var(--heading);padding:1em;text-transform:uppercase;color:var(--inverse);font-weight:400;font-style:normal;text-align:center}.toolbox p,.visual-island p{padding:0 1em 1em 1em}.toolbox ul,.visual-island ul{padding:0;padding-left:1em;margin:0}.toolbox ul a,.visual-island ul a{border-bottom:none;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif}.dcf-notice{margin-top:1em}@media (min-width:0px){.lockup-hero{height:5em;height:10vh;max-height:8em}}@media (min-height:480px) and (min-width:480px){.lockup-hero{height:15em;height:30vh;max-height:22em}}@media (min-height:718px) and (min-width:960px){.lockup-hero{height:25.24em;height:56vh;max-height:31.474em}}@media (min-height:895px) and (min-width:1044px){.lockup-hero{height:31.474em;height:75vh;max-height:33.645em}}@media (min-width:480px){.lockup-hero-heading{font-size:3.16em}}@media (min-width:768px){.lockup-hero-heading{font-size:4.21em}}@media (min-width:1044px){.lockup-hero-heading{font-size:4.74em}} \ No newline at end of file diff --git a/public/index.php b/public/index.php index f81aae1010982b543a1bdec7354dfb906027e796..e74025b90ce9a10697b1d85d0ae205128ba43a12 100644 --- a/public/index.php +++ b/public/index.php @@ -22,48 +22,52 @@ if (isset($routerBase) && !empty($routerBase)) { $router->setBasePath($routerBase); } +if (isset($siteNotice)) { + \Core::$siteNotice = $siteNotice; +} + $router->map('GET', '/?', function() { - \Core::callController('home', 'view'); + \Core::callController('home', 'view'); }); $router->map('GET', '/logout/?', function() { - \Auth::logout(); + \Auth::logout(); }); $router->map('GET', '/[a:controller]/[a:action]/?', function($controller, $action) { - \Core::callController($controller, $action, array_merge(array(), $_GET)); + \Core::callController($controller, $action, array_merge(array(), $_GET)); }); $router->map('GET', '/[a:controller]/[a:action]/[**:trailing]', function($controller, $action, $trailing) { - # convert "trailing" into an array of params - $params = array(); - $key = NULL; - $even = TRUE; + # convert "trailing" into an array of params + $params = array(); + $key = NULL; + $even = TRUE; - $array = explode('/', $trailing); - for ($i = 0; $i < count($array); $i++) { - if ($even) { - $key = $array[$i]; - } else { - $params[$key] = $array[$i]; - } - $even = !$even; - } + $array = explode('/', $trailing); + for ($i = 0; $i < count($array); $i++) { + if ($even) { + $key = $array[$i]; + } else { + $params[$key] = $array[$i]; + } + $even = !$even; + } - \Core::callController($controller, $action, array_merge($_GET, $params)); + \Core::callController($controller, $action, array_merge($_GET, $params)); }); $router->map('POST', '/[a:controller]/[a:action]/?', function($controller, $action) { - \Core::callController($controller, 'post' . ucfirst($action), $_POST); + \Core::callController($controller, 'post' . ucfirst($action), $_POST); }); $router->map('POST', '/[a:controller]/[a:action]/[**:trailing]', function($controller, $action, $trailing) { - \Core::callController($controller, 'post' . ucfirst($action), $_POST); + \Core::callController($controller, 'post' . ucfirst($action), $_POST); }); $match = $router->match(); # call closure or throw 404 status if($match && is_callable($match['target'])) { - call_user_func_array($match['target'], $match['params']); + call_user_func_array($match['target'], $match['params']); } else { - # no route was matched - echo '404 on match'; - exit; + # no route was matched + echo '404 on match'; + exit; } diff --git a/src/Core.php b/src/Core.php index 058a6dc128597f343f54fc774951496ed2d5f62b..6034570e9c34a214c5300f832fb700f550de53c4 100644 --- a/src/Core.php +++ b/src/Core.php @@ -1,59 +1,61 @@ <?php class Core { - public static $breadcrumbs = array( - array("href" => "http://www.unl.edu", "text" => 'UNL'), - array("href" => '/', "text" => "UNL Lockup Factory") - ); - const ROOT = __DIR__ . '/..'; - public static $absolute_base_url = 'http://lockups.unl.edu/'; + public static $breadcrumbs = array( + array("href" => "http://www.unl.edu", "text" => 'UNL'), + array("href" => '/', "text" => "UNL Lockup Factory") + ); + const ROOT = __DIR__ . '/..'; + public static $absolute_base_url = 'http://lockups.unl.edu/'; - public static function callController($controller, $action, $params = NULL) { - $controller_name = 'Controllers\\' . ucfirst($controller) . 'Controller'; - $action_name = $action . 'Action'; - # if that controller exists and it has that method, call it - $controller_filename = __DIR__ . '/' . str_replace(array('_', '\\'), '/', $controller_name) . '.php'; - if (file_exists($controller_filename) && is_callable($controller_name.'::'.$action_name)) { - $controller_output = call_user_func($controller_name.'::'.$action_name, $params); - self::renderPage($controller_output); - } else { - # need to 404 - echo 'not a thing'; - } - } + public static $siteNotice = NULL; - public static function renderPage(Controllers\ControllerOutput $controllerOutput) { - include __DIR__ . '/Views/main_template.php'; - } + public static function callController($controller, $action, $params = NULL) { + $controller_name = 'Controllers\\' . ucfirst($controller) . 'Controller'; + $action_name = $action . 'Action'; + # if that controller exists and it has that method, call it + $controller_filename = __DIR__ . '/' . str_replace(array('_', '\\'), '/', $controller_name) . '.php'; + if (file_exists($controller_filename) && is_callable($controller_name.'::'.$action_name)) { + $controller_output = call_user_func($controller_name.'::'.$action_name, $params); + self::renderPage($controller_output); + } else { + # need to 404 + echo 'not a thing'; + } + } + + public static function renderPage(Controllers\ControllerOutput $controllerOutput) { + include __DIR__ . '/Views/main_template.php'; + } - # redirect to a URL - public static function redirect($url, $exit = TRUE) { - header('Location: ' . $url); + # redirect to a URL + public static function redirect($url, $exit = TRUE) { + header('Location: ' . $url); if (!defined('CLI') && FALSE !== $exit) { exit($exit); } - } + } - public static function notFound($message = 'That content could not be found.') { - http_response_code(404); + public static function notFound($message = 'That content could not be found.') { + http_response_code(404); - $context = new \stdClass; - $context->message = $message; - self::renderPage(\Controllers\Controller::renderView('not_found', $context)); - exit(); - } + $context = new \stdClass; + $context->message = $message; + self::renderPage(\Controllers\Controller::renderView('not_found', $context)); + exit(); + } - # redirect back to where the user came from - public static function redirectBack($exit = TRUE) { - header('Location: ' . $_SERVER['HTTP_REFERER']); + # redirect back to where the user came from + public static function redirectBack($exit = TRUE) { + header('Location: ' . $_SERVER['HTTP_REFERER']); if (!defined('CLI') && FALSE !== $exit) { exit($exit); } - } + } - # get flash notice information - public static function getNotice() + # get flash notice information + public static function getNotice() { if (isset($_SESSION['flash_notice'])) { $notice = $_SESSION['flash_notice']; @@ -66,7 +68,7 @@ class Core { public static function getGenerateOutput() { - if (isset($_SESSION['generate_output'])) { + if (isset($_SESSION['generate_output'])) { $notice = $_SESSION['generate_output']; unset($_SESSION['generate_output']); return $notice; diff --git a/src/Views/main_template.php b/src/Views/main_template.php index 2177f0c1064e85f6dadbb620c2ad1b9bbc98e076..a95cd13da9fd965cd4d01b3065e54d0510029e0f 100644 --- a/src/Views/main_template.php +++ b/src/Views/main_template.php @@ -24,7 +24,7 @@ $page->titlegraphic = '<a class="dcf-txt-h5" href="' . $baseURL . '">UNL Lockup $page->affiliation = '<a href="http://ucomm.unl.edu">University Communication</a>'; # css -$page->addStyleSheet($baseURL . 'css/main.css?v=20220110'); +$page->addStyleSheet($baseURL . 'css/main.css?v=20220125'); # javascript $page->addScriptDeclaration('WDN.setPluginParam("idm", "logout", "/logout/");'); @@ -79,6 +79,15 @@ if ($scriptState instanceof \Models\ScriptState) { $scriptState->applyScriptDeclarations($page); } +if (isset(\Core::$siteNotice) && \Core::$siteNotice->display) { + $page->displayDCFNoticeMessage( + \Core::$siteNotice->title, + \Core::$siteNotice->message, + \Core::$siteNotice->type, + \Core::$siteNotice->noticePath, + \Core::$siteNotice->containerID); +} + # set footer ob_start(); include \Core::ROOT . '/src/Views/localfooter.php';