From e3775e1045b14af00b13e8f39632dec6c9c23f55 Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Fri, 28 Nov 2025 01:28:32 +0100 Subject: [PATCH] Fixes in settings admin --- modules/admin/controllers/app.php | 38 +++ modules/admin/libraries/settings.php | 9 + modules/admin/libraries/tplcontroller.php | 17 +- modules/admin/media/css/admin.css | 320 +++++++++++++++++++++- modules/admin/settings/config_admin.php | 9 + modules/admin/templates/layout.php | 218 +++++++++++++++ 6 files changed, 597 insertions(+), 14 deletions(-) create mode 100644 modules/admin/libraries/settings.php create mode 100644 modules/admin/settings/config_admin.php create mode 100644 modules/admin/templates/layout.php diff --git a/modules/admin/controllers/app.php b/modules/admin/controllers/app.php index 0ca6d7b..58271b5 100644 --- a/modules/admin/controllers/app.php +++ b/modules/admin/controllers/app.php @@ -24,6 +24,8 @@ class AppController extends TplController{ //Default admin page. + echo $this->tpl->load_template('layout', ['title' => 'Admin', 'path_module' => 'admin.home']); + } else { @@ -319,6 +321,42 @@ class AppController extends TplController{ header('Location: '.PhangoApp\PhaRouter\Url::make_url('admin')); break; + + case 'change_theme': + + if($this->check_login()) { + + settype($_GET['theme'], 'integer'); + + if($_GET['theme']>1 || $_GET['theme']<0) { + + $_GET['theme']=0; + + } + + $error=0; + + $message=''; + + $this->db->connect(); + + if(!$this->db->update('useradmin', ['theme' => $_GET['theme']], 'WHERE id=?', [$_SESSION['admin_login']])) { + + $error=1; + + } + else { + + $_SESSION['theme']=$_GET['theme']; + + } + + } + + + echo $this->json(['error' => $error, 'message' => $message]); + + break; } diff --git a/modules/admin/libraries/settings.php b/modules/admin/libraries/settings.php new file mode 100644 index 0000000..48f5449 --- /dev/null +++ b/modules/admin/libraries/settings.php @@ -0,0 +1,9 @@ +path_info!='/admin/app/check_auth') { - header('Location: '.PhangoApp\PhaRouter\Url::make_url('admin', 'app', ['check_auth'])); - die; - - } else { - $now=date("Y-m-d H:i:s"); $timestamp_5_min=strtotime($now)-300; @@ -43,8 +38,16 @@ class TplController extends PhangoApp\PhaRouter\Controller { header('Location: '.PhangoApp\PhaRouter\Url::make_url('admin', 'app', ['logout'])); } + else { - } + header('Location: '.PhangoApp\PhaRouter\Url::make_url('admin', 'app', ['check_auth'])); + + } + + die; + + + } return true; diff --git a/modules/admin/media/css/admin.css b/modules/admin/media/css/admin.css index 8b610f4..e411a60 100644 --- a/modules/admin/media/css/admin.css +++ b/modules/admin/media/css/admin.css @@ -1,28 +1,54 @@ +/** { + margin: 0; + padding: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; +}*/ + body { margin:0px; background-color:#f4f6f9; - font-family: "Roboto", sans, sans-serif, serif; + font-family: sans, sans-serif, serif; font-size: 16px; + /*-webkit-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out; + -webkit-transition-property: background-color, color; + transition-property: background-color, color;*/ } -a -{ +body.dark { + background-color: #232834; + + color: #fbfbfb; + /*-webkit-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out; + -webkit-transition-property: background-color, color; + transition-property: background-color, color;*/ + +} + +a { color: #1c6280; } -a:hover -{ +a:hover { color: #d54e21; } +.dark a { + + color: #5fa6c4; + +} + #header { @@ -39,6 +65,14 @@ a:hover } +.dark #header { + + + + background-color:#1e1412; + +} + #title_phango { font-size:28px; @@ -99,6 +133,20 @@ h1 { } +.dark h1 { + + background-color:#000a22; + color: #fbfbfb; + border-color: #000; + +} + +.dark h2 { + + color: #fbfbfb; + +} + p { border: solid #cbcbcb; @@ -142,6 +190,16 @@ p { box-sizing: border-box; /* padding-bottom: 100px;*/ overflow:hidden; + height:100%; + -webkit-box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.75); + -moz-box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.75); + box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.75); +} + +.dark #menu { + + + } #menu a @@ -257,8 +315,23 @@ p { border: solid #cbcbcb; border-width: 0px 0px 1px 0px; min-height: 90vh; + /*-webkit-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out;*/ + + } +.dark .content_admin { + + background-color: #1e202a; + /*-webkit-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out;*/ + border: solid #323232; + border-width: 0px 0px 1px 0px; + +} + + .content_admin i { margin-right: 10px; @@ -271,8 +344,10 @@ p { width:82%; padding:0px 0px 0px 0px; box-sizing: border-box; + } + .content { padding:0px 10px 5px 10px; @@ -320,6 +395,13 @@ p { } +.dark .form { + + background-color: #1e202a; + border-color: #323232; + +} + .form textarea { width:100%; @@ -327,6 +409,13 @@ p { } +.dark .form textarea { + + background-color: #1e202a; + color: #fbfbfb; + +} + .form label { display: block; /*width: 150px;*/ @@ -408,6 +497,12 @@ table { } +.dark .table_list { + + border: solid #323232 1px; + +} + .title_list td, .fields_span_title { margin:0px; @@ -423,6 +518,13 @@ table { } +.dark .title_list td { + + background-color:#000a22; + + +} + .fields_span_title, div.options_td , div.fields_span_table_data { box-sizing: border-box; @@ -449,6 +551,13 @@ table { } +.dark .row_list td { + + background-color: #2d313b; + color: #fbfbfb; + +} + div.fields_span_table_data { box-sizing: border-box; @@ -472,6 +581,13 @@ div.fields_span_table_data { } +.dark .cont_text, .dark .cont { + + background-color: #2d313b; + border-color: #343434; + +} + .cont_top { border-width: 1px 1px 1px 1px; @@ -518,6 +634,12 @@ div.fields_span_table_data { } +.dark .error { + + color: #ff3232; + +} + .hidden_form { @@ -577,9 +699,11 @@ a:hover.no_choose_flag #center_body input { border: solid #bcbcbc; - border-width:1px; + border-width:2px; border-radius:5px; background: #eeeeee; + padding: 2px 4px; + font-size:16px; } @@ -589,6 +713,13 @@ a:hover.no_choose_flag } +.dark #center_body input { + + background-color: #2d313b; + color: #fbfbfb; + +} + #center_body input[type="submit"], #center_body input[type="button"], #center_body input[type="button"].button_blue { @@ -611,6 +742,12 @@ a:hover.no_choose_flag } +.dark #center_body input[type="button"] { + + background: #d08b2c; + +} + #center_body input:hover[type="submit"], #center_body input[type="button"].button_blue { @@ -627,6 +764,15 @@ a:hover.no_choose_flag } +#center_body input:hover[type="button"].button_blue +{ + + background: #215181; + cursor: pointer; + +} + + #center_body input[type="text"], #center_body input[type="password"] { @@ -647,6 +793,16 @@ a:hover.no_choose_flag border: solid #bcbcbc; border-width:1px; border-radius:5px; + padding: 2px 5px; + border: solid #cbcbcb 2px; + font-size: 16px; + +} + +.dark #center_body select { + + background-color: #2d313b; + color: #fbfbfb; } @@ -846,7 +1002,7 @@ a.form_button_tab:hover #layer_loading { - z-index:50000; + z-index:99999; /*background-color:rgba(0,0,0,0.4);*/ /*opacity:0.5;*/ position:absolute; @@ -880,6 +1036,7 @@ a.form_button_tab:hover box-sizing: border-box; /* border: solid #fff 1px;*/ float:left; + overflow:hidden; } @@ -889,6 +1046,7 @@ a.form_button_tab:hover box-sizing: border-box; /* border: solid #fff 1px;*/ float:left; + overflow:hidden; } @@ -899,6 +1057,7 @@ a.form_button_tab:hover box-sizing: border-box; /*border: solid #f00 1px;*/ float:left; + overflow:hidden; } @@ -908,6 +1067,7 @@ a.form_button_tab:hover box-sizing: border-box; /*border: solid #f00 1px;*/ float:left; + overflow:hidden; } @@ -969,6 +1129,14 @@ h2.title_container { } +.dark h2.title_container { + + background-color: #2d313b; + border-color: #343434; + color: #fbfbfb; + +} + .container_warning h2.title_container { background:#dc3545; @@ -1001,6 +1169,144 @@ h2.title_container { } +.dark .container_content { + + background-color: #2d313b; + border-color: #343434; + color: #fbfbfb; + +} + +/* Switch for dark mode */ + +/* switches css */ + + /* The switch - the box around the slider */ + +.switch { + position: relative; + display: inline-block; + width: 40px; + height: 16px; + +} + +/* Hide default HTML checkbox */ +.switch input {display:none;} + +/* The slider */ +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: .4s; + transition: .4s; + height: 16px; + width:38px; + box-sizing: border-box; + -webkit-box-sizing:border-box; + -moz-box-sizing: border-box; +} + +/* before is the checkbox */ + +.slider:before { + position: absolute; + content: ""; + height: 22px; + width: 22px; + left: -1px; + top: -3px; + background-color: #fbfbfb; + -webkit-transition: .4s; + transition: .4s; +} + +input:checked + .slider { + background-color: #447211; +} + +input:focus + .slider { + box-shadow: 0 0 1px #447211; +} + +input:checked + .slider:before { + -webkit-transform: translateX(21px); + -ms-transform: translateX(21px); + transform: translateX(21px); + background-color: #7ed321; +} + +input:checked + .slider_grey { + background-color: #ccc; +} + +input:focus + .slider_grey { + box-shadow: 0 0 1px #ccc; +} + +input:checked + .slider_grey:before { + -webkit-transform: translateX(21px); + -ms-transform: translateX(21px); + transform: translateX(21px); + background-color: #fbfbfb; +} + + +/* Rounded sliders */ +.slider.round { + border-radius: 34px; +} + +.slider.round:before { + border-radius: 50%; +} + +.container_switch { + + margin-top:6px; + display:inline-block; + float:right; + +} + +.switch-btn { + + position:absolute; + /*border: solid #f00 1px;*/ + right:4px; + top:8px; + z-index:9999; + +} + +.switch-slider { + + text-align:center; + display: inline-block; + +} + +.switch-text { + + display: inline-block; + font-size: 12px; + position:relative; + top: -4px; + left:-2px; + color: #000; + +} + +.dark .switch-text { + + color: #fbfbfb; + +} /* Media queries */ diff --git a/modules/admin/settings/config_admin.php b/modules/admin/settings/config_admin.php new file mode 100644 index 0000000..56d866c --- /dev/null +++ b/modules/admin/settings/config_admin.php @@ -0,0 +1,9 @@ +make_url('admin', 'users'), 'admin.users', '']; + +//config_admin.append([users_edit, 'paramecio2.modules.admin.admin.ausers', 'admin_app.ausers', '']) diff --git a/modules/admin/templates/layout.php b/modules/admin/templates/layout.php new file mode 100644 index 0000000..412fc11 --- /dev/null +++ b/modules/admin/templates/layout.php @@ -0,0 +1,218 @@ + + + + + + +<?=$title?> + + + +section('extra_css')?> + + + +section('extra_js')?> +section('extra_header')?> + + +
+
+
+
+ +
+ +
+ +
+ + +
+

+
+
+ +
+
+ +
+
+
+ + +
+ + + section('content')?> +
+
+
+
+
+ +section('footer_js')?> + +