diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 54c61eb331..711674780d 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,20 @@ +2013-04-23 Sergio Martin + + * include/styles/dialog.css + include/styles/images/dialog-titlebar-close.png + include/styles/pandora.css + include/ajax/events.php + include/functions_events.php + images/event_responses_col.png + images/interrogant.png + general/pandora_help.php + general/footer.php + general/login_page.php + general/logon_ok.php: Change the help screens and + the modal windows visual style to new design. + Little fixes to support metaconsole login and + some visual changes + 2013-04-23 Miguel de Dios * include/functions_ui.php, include/javascript/pandora_modules.js: diff --git a/pandora_console/general/footer.php b/pandora_console/general/footer.php index c72ded3702..2383e4b468 100644 --- a/pandora_console/general/footer.php +++ b/pandora_console/general/footer.php @@ -26,10 +26,10 @@ if (! file_exists ($config["homedir"] . $license_file)) { $license_file = 'general/license/pandora_info_en.html'; } -echo ''; +echo ''; echo sprintf(__('Pandora FMS %s - Build %s', $pandora_version, $build_version)); echo '
'; -echo ''. __('Page generated at') . ' '. ui_print_timestamp ($time, true, array ("prominent" => "timestamp")); //Always use timestamp here +echo ''. __('Page generated at') . ' '. ui_print_timestamp ($time, true, array ("prominent" => "timestamp")); //Always use timestamp here echo ''; if (isset ($config['debug'])) { echo ' - Saved '.format_numeric ($sql_cache["saved"]).' Queries'; diff --git a/pandora_console/general/login_page.php b/pandora_console/general/login_page.php index d56af3209c..8268ded7cc 100644 --- a/pandora_console/general/login_page.php +++ b/pandora_console/general/login_page.php @@ -69,7 +69,10 @@ echo ' // Replace the following with your own URL and logo. // A mashup of the Pandora FMS logo and your companies highly preferred echo ''; - if (defined ('PANDORA_ENTERPRISE')) { + if (defined ('METACONSOLE')) { + html_print_image ("enterprise/meta/images/pandora_login_enterprise.png", false, array ("class" => "login_logo", "alt" => "logo", "border" => 0, "title" => $logo_title), false, true); + } + else if (defined ('PANDORA_ENTERPRISE')) { html_print_image ($config['homeurl'] . "/images/pandora_login_enterprise.png", false, array ("class" => "login_logo", "alt" => "logo", "border" => 0, "title" => $logo_title), false, true); } else { @@ -101,7 +104,7 @@ echo ' html_print_input_text_extended ("pass", '', "pass", '', '', '' ,false, '', 'class="login login_password"', false, true); echo ''; echo ''; break; case 'logout': diff --git a/pandora_console/general/logon_ok.php b/pandora_console/general/logon_ok.php index 969c93a3cd..7f57913fe8 100644 --- a/pandora_console/general/logon_ok.php +++ b/pandora_console/general/logon_ok.php @@ -54,7 +54,7 @@ echo '
' $news = db_get_all_rows_sql ($sql); if ($news !== false) { echo ''; - echo ''; + echo ''; if ($config["prominent_time"] == "timestamp") { $comparation_suffix = ""; } @@ -97,7 +97,7 @@ echo '
' $table->head[3] = __('Date'); $table->head[4] = __('Source IP'); $table->head[5] = __('Comments'); - $table->title = '' . __('This is your last activity in Pandora FMS console') . ''; + $table->title = '' . __('This is your last activity in Pandora FMS console') . ''; switch ($config["dbtype"]) { case "mysql": @@ -178,7 +178,7 @@ $table->head = array (); $table->data = array (); $table->style[0] = 'text-align:center;'; $table->width = "100%"; -$table->head[0] = '' . __('Pandora FMS Overview') . ''; +$table->head[0] = '' . __('Pandora FMS Overview') . ''; $table->head_colspan[0] = 4; // Indicators diff --git a/pandora_console/general/pandora_help.php b/pandora_console/general/pandora_help.php index d017ac050f..e2042cbf3a 100644 --- a/pandora_console/general/pandora_help.php +++ b/pandora_console/general/pandora_help.php @@ -72,21 +72,25 @@ if (! $id || ! file_exists ($help_file)) { /* Show help */ echo '
'; -echo '
'; -echo ''; -echo html_print_image('images/pandora_textlogo.png', true, array("border" => '0')); +echo ''; +echo html_print_image('images/pandora_tinylogo.png', true, array("border" => '0')); echo ""; -echo '

'.__('Pandora FMS help system').'

'; -echo '

'; -echo '
'; +echo '

'. html_print_image('images/interrogant.png', true, array('title' => __('Pandora FMS help system'))) . '

'; +echo '
'; echo '
'; -echo '
'; +echo '
'; +ob_start(); require_once ($help_file); -echo '
'; -echo '


'; -echo '
'; +$help = ob_get_contents(); +ob_end_clean(); + +// Add a line after H1 tags +$help = str_replace('', '
', $help); +$help = str_replace('', '
', $help); +echo $help; +echo '

'; +echo '
'; include ('footer.php'); -echo '
'; ?> diff --git a/pandora_console/images/event_responses_col.png b/pandora_console/images/event_responses_col.png new file mode 100644 index 0000000000..6c33514e11 Binary files /dev/null and b/pandora_console/images/event_responses_col.png differ diff --git a/pandora_console/images/interrogant.png b/pandora_console/images/interrogant.png new file mode 100644 index 0000000000..6fdc5c2090 Binary files /dev/null and b/pandora_console/images/interrogant.png differ diff --git a/pandora_console/include/ajax/events.php b/pandora_console/include/ajax/events.php index 58ae1fef3d..4af7d3dd58 100644 --- a/pandora_console/include/ajax/events.php +++ b/pandora_console/include/ajax/events.php @@ -286,7 +286,7 @@ if ($get_extended_event) { $tabs .= "
  • ".html_print_image('images/pencil.png',true).__('Comments')."
  • "; if (!$readonly && (tags_check_acl ($config['id_user'], $event['id_grupo'], "EW", $event['clean_tags']) || tags_check_acl ($config['id_user'], $event['id_grupo'], "EM", $event['clean_tags']))) { - $tabs .= "
  • ".html_print_image('images/cog.png',true).__('Responses')."
  • "; + $tabs .= "
  • ".html_print_image('images/event_responses_col.png',true).__('Responses')."
  • "; } $tabs .= ""; diff --git a/pandora_console/include/functions_events.php b/pandora_console/include/functions_events.php index 61947c8d7a..bcee7cc595 100644 --- a/pandora_console/include/functions_events.php +++ b/pandora_console/include/functions_events.php @@ -1546,7 +1546,7 @@ function events_page_responses ($event) { $table_responses->head = array (); $table_responses->style[0] = 'width:35%; font-weight: bold; text-align: left;'; $table_responses->style[1] = 'text-align: left;'; - $table_responses->class = "databox alternate"; + $table_responses->class = "alternate rounded_cells"; if (tags_check_acl ($config["id_user"], $event["id_grupo"], "EM", $event['clean_tags'])) { // Owner @@ -1748,7 +1748,7 @@ function events_page_custom_fields ($event) { $table->head = array (); $table->style[0] = 'width:35%; font-weight: bold; text-align: left;'; $table->style[1] = 'text-align: left;'; - $table->class = "databox alternate"; + $table->class = "alternate rounded_cells"; $all_customs_fields = (bool)check_acl($config["id_user"], $event["id_grupo"], "AW"); @@ -1816,7 +1816,7 @@ function events_page_details ($event, $server = "") { $table_details->head = array (); $table_details->style[0] = 'width:35%; font-weight: bold; text-align: left;'; $table_details->style[1] = 'text-align: left;'; - $table_details->class = "databox alternate"; + $table_details->class = "alternate rounded_cells"; switch ($event['event_type']) { case 'going_unknown': @@ -2059,7 +2059,7 @@ function events_page_general ($event) { $table_general->head = array (); $table_general->style[0] = 'width:35%; font-weight: bold; text-align: left;'; $table_general->style[1] = 'text-align: left;'; - $table_general->class = "databox alternate"; + $table_general->class = "alternate rounded_cells"; $data = array(); $data[0] = __('Event ID'); @@ -2200,7 +2200,7 @@ function events_page_comments ($event) { $table_comments->head = array (); $table_comments->style[0] = 'width:35%; vertical-align: top; text-align: left;'; $table_comments->style[1] = 'text-align: left;'; - $table_comments->class = "databox alternate"; + $table_comments->class = "alternate rounded_cells"; $comments_array = explode('
    ',io_safe_output($event["user_comment"])); diff --git a/pandora_console/include/styles/dialog.css b/pandora_console/include/styles/dialog.css index d90adc9478..7e09460143 100644 --- a/pandora_console/include/styles/dialog.css +++ b/pandora_console/include/styles/dialog.css @@ -2,7 +2,7 @@ /* This file skins dialog */ .ui-dialog { - background: none repeat scroll 0 0 #b0d68d !important; + background: none repeat scroll 0 0 #3f3f3f !important; border: 1px solid #DDDDDD !important; color: #333333 !important; padding: 0.2em !important; @@ -17,9 +17,12 @@ box-shadow: 0px 5px 5px #010E1B !important; } +.ui-widget-header { + background: #3f3f3f !important; +} .ui-dialog .ui-dialog-titlebar { - background: url(../../images/ui_title.png) repeat-x scroll !important; + background-color: #f3f3f3; height: 14px !important; #_height: 16px !important; padding: 0.3em 1em !important; @@ -43,7 +46,8 @@ color: white !important; font-weight: bold !important; position: relative !important; - #top: 7px !important; + top: 3px; + font-size: 10pt; left: 4px !important; float: none !important; } @@ -59,17 +63,13 @@ position: absolute !important; top: 2px; right: 5px !important; - cursor: default !important; + cursor: pointer !important; } .ui-dialog .ui-dialog-titlebar-close span { display: none !important; } - .ui-dialog .ui-dialog-titlebar-close-hover { - background: url(images/dialog-titlebar-close-hover.png) no-repeat !important; - } - .ui-dialog .ui-dialog-titlebar-close-hover { color: #000000 !important; } @@ -78,10 +78,6 @@ display: none !important; } - .ui-dialog .ui-dialog-titlebar-close:hover { - background: url(images/dialog-titlebar-close-hover.png) no-repeat !important; - } - .ui-dialog .ui-dialog-titlebar-close:hover { color: #000000 !important; } @@ -89,20 +85,67 @@ .ui-dialog .ui-dialog-content { - margin: 1.2em !important; + margin: 12px !important; #padding: 0.5em 1em !important; overflow: auto !important; + -moz-border-left: 1px solid #A9A9A9 !important; + -moz-border-right: 1px solid #A9A9A9 !important; + -moz-border-bottom: 1px solid #A9A9A9 !important; + -moz-border-radius: 8px 8px 8px 8px !important; + + -webkit-border-left: 1px solid #A9A9A9 !important; + -webkit-border-right: 1px solid #A9A9A9 !important; + -webkit-border-bottom: 1px solid #A9A9A9 !important; + -webkit-border-radius: 8px 8px 8px 8px !important; + border-left: 1px solid #A9A9A9 !important; border-right: 1px solid #A9A9A9 !important; border-bottom: 1px solid #A9A9A9 !important; - border-radius: 0px 0px 4px 4px !important; - #height: 80% !important; - #width: 98% !important; - margin: 0 auto !important; + border-radius: 8px 8px 8px 8px !important; + background: #FFFFFF !important; position: relative !important; - +} + +.ui-tabs .ui-tabs-nav { + background-color: white !important; +} + +.ui-tabs-panel { + background: #F3F3F3 !important; + -moz-border-radius: 8px !important; + -webkit-border-radius: 8px !important; + border-radius: 8px !important; + -moz-border-top-left-radius: 0px !important; + -webkit-border-top-left-radius: 0px !important; + border-top-left-radius: 0px !important; + -moz-box-shadow: -1px 1px 6px #aaa; + -webkit-box-shadow: -1px 1px 6px #aaa; + box-shadow: 1px 1px 6px #aaa; +} + +.ui-widget .ui-widget { + border: 0px !important; +} + +.ui-state-default:first-child { + margin-left: -3px !important; +} + +.ui-state-default { + background: #fff !important; + border: 2px solid #f3f3f3 !important; + -moz-border-top-left-radius: 10px !important; + -webkit-top-left-border-radius: 10px !important; + border-top-left-radius: 10px !important; + -moz-border-top-right-radius: 10px !important; + -webkit-top-right-border-radius: 10px !important; + border-top-right-radius: 10px !important; + margin-left: 2px !important; +} +.ui-state-active { + background: #f3f3f3 !important; } .ui-dialog-content { diff --git a/pandora_console/include/styles/images/dialog-titlebar-close.png b/pandora_console/include/styles/images/dialog-titlebar-close.png index cb836bdc7c..dacaf9b2f4 100644 Binary files a/pandora_console/include/styles/images/dialog-titlebar-close.png and b/pandora_console/include/styles/images/dialog-titlebar-close.png differ diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 5e44d158bd..e9857df784 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -39,35 +39,6 @@ div#page { background-image: none; } -#login_body { - /* Set rules to fill background */ - min-height: 100%; - min-width: 960px; - - /* Set up proportionate scaling */ - width: 100%; - height: auto; - - /* Set up positioning */ - position: fixed; - top: 0; - left: 0; - z-index: -999; - - background-image: url('../../images/login_background.jpg'); - background-size: cover; - -moz-background-size: cover; - -webkit-background-size: cover; - -o-background-size: cover; -} - -@media screen and (max-width: 1024px) { /* Specific to this particular image */ - #login_body { - left: 50%; - margin-left: -512px; /* 50% */ - } -} - body.pure { background-color: #fff; } @@ -172,80 +143,7 @@ div#error_buttons { div#error_buttons a{ margin: 14px; } -p.log_in { - color: #CCC; - padding: 0px 10px; -} -h1#log_f { - color: #c00; - border-bottom: 1px solid #c00; - padding-bottom: 3px; -} -div#login { - border-left: solid 1px #000; - border-top: solid 1px #000; - border-bottom: solid 2px #000; - border-right: solid 2px #000; - font-size: 12px !important; -} -div#login_in, #login_f { - /*margin: 0 auto 0 140px; - width: 400px;*/ -} -/* Style for login form */ -.databox_login, .databox_logout { - border: none !important; - background-color: #888888; - padding: 8px; - border-radius: 11px; - height: 300px; -} - -#login_inner { - background: url('../../images/splash_bg.png') #111; - width: 100%; - height: 100%; - border-radius: 11px; - overflow: hidden; -} -#login_outer { - -moz-box-shadow: 0px 0px 8px #ffffff; - -webkit-box-shadow: 0px 0px 18px #ffffff; - box-shadow: 0px 0px 18px rgba(200, 200, 200, 0.2); - padding: 3px; - border-radius: 11px; - width: 250px !important; - height: 300px; - margin: 50px auto; - background: transparent; -} -div#error_login { - #margin: 0 auto; - #margin-top: -10px; - text-align: center; - margin-top: 5px; - margin-left: 5px; - width: 75%; - float: right; - text-align: left; - top: 100px; -} - -div#error_login_icon { - #margin: 0 auto; - margin-top: 10px; - margin-right: 7px; - text-align: center; - #margin-left: 20px; - width: 20%; - float: right; -} - -div#login_f { - margin-top: 10px; - margin-bottom: 25px; -} div#noaccess { width: 350px; padding-left: 40px; @@ -283,8 +181,6 @@ div#container { div#page { width: 960px; clear: both; - border-bottom: solid 5px #567953; - /*border-top: solid 5px #567953;*/ } div#main { background: #fafafa; @@ -310,6 +206,54 @@ div#main_help { margin-right: 0px; border-radius: 10px; } +div#main_help div.databox { + background: F3F3F3; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; + border: 0px; + padding-left: 25px; + padding-right: 25px; + margin-top: 10px; + -moz-box-shadow: -1px 1px 6px #aaa; + -webkit-box-shadow: -1px 1px 6px #aaa; + box-shadow: -1px 1px 6px #aaa; + +} + +div#main_help div.databox h1{ + padding-bottom: 0px; + margin-bottom: 0px; + font-weight: bold; + font-family: sans-serif, verdana; +} + +div#main_help div.databox h3, div#main_help div.databox h2 { + color: #6EB432; + font-family: sans-serif, verdana; +} + +div#main_help a.footer { + color: #999; +} + +a.footer{ + font-size: 9px; +} + +div#main_help div.databox hr{ + width:100%; + border: 0px; + height: 1px; + background-color: #222; + margin: 0px; +} + +div#main_help div.databox p{ + line-height: 15px; + text-align: justify; +} + div#menu { width: 165px; float: left; @@ -325,27 +269,125 @@ div#head { } div#foot { - font-size: 7pt; - border-top: solid 2px #000; - padding-top: 5px; + font-size: 6pt !important; + border-top: solid 2px #222; + padding-top: 8px; padding-bottom: 5px; text-align: center; - background: #000; + background: #111; width: 960px; height: 38px; clear: both; + width: auto; } #ver { margin-bottom: 25px; } -#bottom_logo { - bottom: 0; - height: 70px; - margin: 0 auto 0 44%; - overflow: hidden; +/****************/ +/* LOGIN STYLES */ +/****************/ + +#login_body { + /* Set rules to fill background */ + min-height: 100%; + min-width: 960px; + + /* Set up proportionate scaling */ + width: 100%; + height: auto; + + /* Set up positioning */ position: fixed; - display: none; + top: 0; + left: 0; + z-index: -999; + + background-image: url('../../images/login_background.jpg'); + background-size: cover; + -moz-background-size: cover; + -webkit-background-size: cover; + -o-background-size: cover; +} + +@media screen and (max-width: 1024px) { /* Specific to this particular image */ + #login_body { + left: 50%; + margin-left: -512px; /* 50% */ + } +} + +p.log_in { + color: #CCC; + padding: 0px 10px; +} +h1#log_f { + color: #c00; + border-bottom: 1px solid #c00; + padding-bottom: 3px; +} +div#login { + border-left: solid 1px #000; + border-top: solid 1px #000; + border-bottom: solid 2px #000; + border-right: solid 2px #000; + font-size: 12px !important; +} +div#login_in, #login_f { + /*margin: 0 auto 0 140px; + width: 400px;*/ +} + +.databox_login, .databox_logout { + border: none !important; + background-color: #888888; + padding: 8px; + border-radius: 11px; + height: 300px; +} + +#login_inner { + background: url('../../images/splash_bg.png') #111; + width: 100%; + height: 100%; + border-radius: 11px; + overflow: hidden; +} +#login_outer { + -moz-box-shadow: 0px 0px 18px #ffffff; + -webkit-box-shadow: 0px 0px 18px #ffffff; + box-shadow: 0px 0px 18px rgba(200, 200, 200, 0.2); + padding: 3px; + border-radius: 11px; + width: 250px !important; + margin: 50px auto; + background: transparent; +} +div#error_login { + #margin: 0 auto; + #margin-top: -10px; + text-align: center; + margin-top: 5px; + margin-left: 5px; + width: 75%; + float: right; + text-align: left; + top: 100px; +} + +div#error_login_icon { + #margin: 0 auto; + margin-top: 10px; + margin-right: 7px; + text-align: center; + #margin-left: 20px; + width: 20%; + float: right; +} + +div#login_f { + margin-top: 10px; + margin-bottom: 25px; } IMG.login_logo { @@ -376,12 +418,55 @@ DIV.login_pass { margin-top: 21px; } +input.login { + border: 0px none; + background-color: #ebebeb !important; + margin: 0px auto; + width: 135px; + height: 18px; + font-weight: bold; +} +/* FF hack for login inputs */ +@-moz-document url-prefix() { + input.login{ + margin: -2px 0 8px 20px !important; + } +} + +input.login_user { + /* Browser without multibackground support */ + background: #efefef url(../../images/input_user.png) no-repeat 7px 1px !important; + padding-left: 32px; + width: 106px; + color: #222; +} + +input.login_password { + /* Browser without multibackground support */ + background: #efefef url(../../images/input_lock.png) no-repeat 7px 1px !important; + padding-left: 32px; + width: 106px; + color: #222; +} +.databox_error { + width: 657px !important; + height: 400px; + border: none !important; + background-color: #fafafa; + background: url(../../images/splash_error.png) no-repeat; +} + #ver_num { position: relative; color: #696969; font-size: xx-small; margin-top: 32px; } + +/***********************/ +/* END OF LOGIN STYLES */ +/***********************/ + label { display: block; padding-top: 4px; @@ -402,22 +487,6 @@ input.datos { input.datos_readonly { background-color: #050505; } -input.login { - border: 0px none; - background-color: #ebebeb !important; - margin: 0px auto; - width: 135px; - height: 18px; -} - - - -/* FF hack for login inputs */ -@-moz-document url-prefix() { - input.login{ - margin: -2px 0 8px 20px !important; - } -} input.sub { font-weight: bold; @@ -468,7 +537,7 @@ input.sub[disabled] { color: #aaa; } -input.next, input.upd, input.ok, input.wand, input.delete, input.cog, +input.next, input.next_login, input.upd, input.ok, input.wand, input.delete, input.cog, input.target, input.search, input.copy, input.add, input.graph, input.percentile, input.binary, input.camera, input.config, input.cancel, input.default, input.filter, input.pdf { @@ -476,22 +545,6 @@ input.cancel, input.default, input.filter, input.pdf { } -input.login_user { - /* Browser without multibackground support */ - background: #efefef url(../../images/input_user.png) no-repeat 7px 1px !important; - padding-left: 32px; - width: 106px; - color: #222; -} - -input.login_password { - /* Browser without multibackground support */ - background: #efefef url(../../images/input_lock.png) no-repeat 7px 1px !important; - padding-left: 32px; - width: 106px; - color: #222; -} - input.next { /* Browser without multibackground support */ background: #efefef url(../../images/input_go.png) no-repeat 90% 3px !important; @@ -508,6 +561,22 @@ input.next { /* estándar */ background: url(../../images/input_go.png) no-repeat 90% 3px, linear-background(top, #ffffff, #dfdfdf) !important; } +input.next_login { + /* Browser without multibackground support */ + background: #efefef url(../../images/input_go.png) no-repeat 90% 3px !important; + /* Safari 4-5, Chrome 1-9 */ + background: url(../../images/input_go.png) no-repeat 90% 3px, -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffffff), to(#dfdfdf)) !important; + /* Safari 5.1+, Chrome 10+ */ + background: url(../../images/input_go.png) no-repeat 90% 3px, -webkit-linear-gradient(top, #ffffff, #dfdfdf) !important; + /* Firefox 3.6+ */ + background: url(../../images/input_go.png) no-repeat 90% 3px, -moz-linear-gradient(top, #ffffff, #dfdfdf) !important; + /* Opera 11.10+ */ + background: url(../../images/input_go.png) no-repeat 90% 3px, -o-linear-background(top, #ffffff, #dfdfdf) !important; + /* IE 10 */ + background: url(../../images/input_go.png) no-repeat 90% 3px, -ms-linear-background(top, #ffffff, #dfdfdf) !important; + /* estándar */ + background: url(../../images/input_go.png) no-repeat 90% 3px, linear-background(top, #ffffff, #dfdfdf) !important; +} input.upd { /* Browser without multibackground support */ background: #efefef url(../../images/input_update.png) no-repeat 90% 3px !important; @@ -1480,25 +1549,19 @@ table.databox_grid td { border-right: 1px solid #acacac; } + table.alternate tr:nth-child(odd) td{ + background-color: #ffffff; +} +table.alternate tr:nth-child(even) td{ background-color: #e4e5e4; } -/* Style for login form -.databox_logout { - width: 657px !important; - height: 400px; - border: none !important; - background-color: #fafafa; - background: url(../../images/splash_logout.png) no-repeat; -}*/ - -.databox_error { - width: 657px !important; - height: 400px; - border: none !important; - background-color: #fafafa; - background: url(../../images/splash_error.png) no-repeat; +table.rounded_cells td { + padding: 4px 4px 4px 10px; + -moz-border-radius: 6px !important; + -webkit-border-radius: 6px !important; + border-radius: 6px !important; } .databox_color { @@ -1979,9 +2042,6 @@ div#head { color: white; } -div#foot { - width: auto; -} ol.steps { margin-bottom: 70px; }
    ' . __('News board') . '
    ' . __('News board') . '