1{* $Id$ *} 2{tikimodule error=$module_params.error title=$tpl_module_title name="adminbar" flip=$module_params.flip decorations=$module_params.decorations nobox=$module_params.nobox notitle=$module_params.notitle} 3 4{if $tiki_p_admin == "y"} {$main_admin_icons = [ 5"general" => [ 6'title' => tra('General'), 7'description' => tra('Global site configuration, date formats, etc.'), 8'help' => 'General Admin' 9], 10"features" => [ 11'title' => tra('Features'), 12'description' => tra('Switches for major features'), 13'help' => 'Features Admin' 14], 15"login" => [ 16'title' => tra('Log in'), 17'description' => tra('User registration, remember me cookie settings and authentication methods'), 18'help' => 'Login Config' 19], 20"user" => [ 21'title' => tra('User Settings'), 22'description' => tra('User related preferences like info and picture, features, messages and notification, files, etc'), 23'help' => 'User Settings' 24], 25"profiles" => [ 26'title' => tra('Profiles'), 27'description' => tra('Repository configuration, browse and apply profiles'), 28'help' => 'Profiles' 29], 30"look" => [ 31'title' => tra('Look & Feel'), 32'description' => tra('Theme selection, layout settings and UI effect controls'), 33'help' => 'Look and Feel' 34], 35"textarea" => [ 36'title' => tra('Editing & Plugins'), 37'description' => tra('Text editing settings applicable to many areas. Plugin activation and plugin alias management'), 38'help' => 'Text area' 39], 40"module" => [ 41'title' => tra('Modules'), 42'description' => tra('Module appearance settings'), 43'help' => 'Module' 44], 45"performance" => [ 46'title' => tra('Performance'), 47'description' => tra('Server performance settings'), 48'help' => 'Performance' 49], 50"security" => [ 51'title' => tra('Security'), 52'description' => tra('Site security settings'), 53'help' => 'Security' 54], 55"print" => [ 56'title' => tra('Print Settings'), 57'description' => tra('Settings and features for print versions and pdf generation'), 58'help' => 'Print Setting-Admin' 59], 60"packages" => [ 61'title' => tra('Packages'), 62'description' => tra('External packages installation and management'), 63'help' => 'Packages' 64] 65]} 66 <a class="js-admin-bar link-admin-bar float-sm-right mr-auto btn btn-link">{icon name='cog'}</a> 67 <div class="sliding-panel-admin-bar js-sliding-panel-admin-bar card-header invisible"> 68 <div class="card-header left"></div> 69 <div class="container-fluid container-sliding-panel d-flex flex-column h-100 justify-content-center"> 70 71 <div class="row"> 72 <div class="col-md-4 align-self-center col-left-sliding-panel mb-2 mb-md-0 pl-md-0"> 73 <div class="col-md-12 col-search mb-2 px-0"> 74 <form method="post" action="tiki-admin.php" class="form-inline my-2 my-md-0 ml-auto" role="form" target="_blank"> 75 <label class="col-form-control mr-md-3 text-left">Admin Features</label> 76 <input type="text" name="lm_criteria" value="{$smarty.request.lm_criteria|escape}" class="form-control form-control-sm mr-2 col-10 col-md-auto" placeholder="Search preferences..."> 77 <button type="submit" class="btn btn-primary btn-sm"> 78 <span class="icon icon-search fas fa-search fa-fw "></span> 79 </button> 80 </form> 81 </div> 82 <div class="col-md-12 px-0"> 83 <div class="row"> 84 <div id="adminbar" class="btn-group"> 85 <div class="btn-group"> 86 {if ! $js} 87 <ul class="cssmenu_horiz"> 88 <li>{/if} 89 <a class="btn btn-link" data-toggle="dropdown" data-hover="dropdown" href="#"> 90 {icon name="history"} Recent Actions </a> 91 <div class="dropdown-menu" role="menu"> 92 {foreach $recent_prefs as $p} 93 <a class="dropdown-item" href="tiki-admin.php?lm_criteria={$p|escape}&exact">{$p|stringfix}</a> 94 {foreachelse} 95 <div class="dropdown-item">{tr}None{/tr}</div> 96 {/foreach} 97 </div> 98 {if ! $js}</li> 99 </ul>{/if} 100 </div> 101 <div class="btn-group"> 102 {if ! $js} 103 <ul class="cssmenu_horiz"> 104 <li>{/if} 105 <a class="btn btn-link" data-toggle="dropdown" data-hover="dropdown" href="#"> 106 {icon name='menu-extra'} Quick Links </a> 107 <div class="dropdown-menu"> 108 <a class="dropdown-item" href="tiki-wizard_admin.php?stepNr=0&url=index.php"> 109 {icon name="wizard"} {tr}Wizards{/tr} 110 </a> <a class="dropdown-item" href="tiki-admin.php"> 111 {icon name="cog"} {tr}Control panels{/tr} 112 </a> <a class="dropdown-item" href="tiki-admin.php?page=look"> 113 {icon name="image"} {tr}Themes{/tr} 114 </a> <a class="dropdown-item" href="tiki-adminusers.php"> 115 {icon name="user"} {tr}Users{/tr} 116 </a> <a class="dropdown-item" href="tiki-admingroups.php"> 117 {icon name="group"} {tr}Groups{/tr} 118 </a> 119 <li class="dropdown-item"> 120 {permission_link mode=text} 121 </li> 122 <a class="dropdown-item" href="tiki-admin_menus.php"> 123 {icon name="menu"} {tr}Menus{/tr} 124 </a> 125 {if $prefs.lang_use_db eq "y"} 126 {if isset($smarty.session.interactive_translation_mode) && $smarty.session.interactive_translation_mode eq "on"} 127 <a class="dropdown-item" href="tiki-interactive_trans.php?interactive_translation_mode=off"> 128 {icon name="translate"} {tr}Turn off interactive translation{/tr} 129 </a> 130 {else} 131 <a class="dropdown-item" href="tiki-interactive_trans.php?interactive_translation_mode=on"> 132 {icon name="translate"} {tr}Turn on interactive translation{/tr} 133 </a> 134 {/if} 135 {/if} 136 {if $prefs.feature_comments_moderation eq "y"} 137 <a class="dropdown-item" href="tiki-list_comments.php"> 138 {icon name="comments"} {tr}Comment moderation{/tr} 139 </a> 140 {/if} 141 <a class="dropdown-item" href="tiki-admin_system.php?do=all"> 142 {icon name="trash"} {tr}Clear all caches{/tr} 143 </a> 144 <a class="dropdown-item" href="{bootstrap_modal controller=search action=rebuild}"> 145 {icon name="index"} {tr}Rebuild search index{/tr} 146 </a> <a class="dropdown-item" href="tiki-plugins.php"> 147 {icon name="plugin"} {tr}Plugin approval{/tr} 148 </a> <a class="dropdown-item" href="tiki-syslog.php"> 149 {icon name="log"} {tr}Logs{/tr} 150 </a> <a class="dropdown-item" href="tiki-admin_modules.php"> 151 {icon name="module"} {tr}Modules{/tr} 152 </a> 153 {if $prefs.feature_scheduler eq "y"} 154 <a class="dropdown-item" href="tiki-admin_schedulers.php"> 155 {icon name="calendar"} {tr}Scheduler{/tr} 156 </a> 157 {/if} 158 {if $prefs.feature_sefurl_routes eq "y"} 159 <a class="dropdown-item" href="tiki-admin_routes.php"> 160 {icon name="random"} {tr}Custom Routes{/tr} 161 </a> 162 {/if} 163 {if $prefs.feature_debug_console eq 'y'} 164 <a class="dropdown-item" href="{query _type='relative' show_smarty_debug=1}"> 165 {icon name="bug"} {tr}Smarty debug window{/tr} 166 </a> 167 {/if} 168 </div> 169 {if ! $js}</li></ul>{/if} 170 </div> 171 </div> 172 </div> 173 </div> 174 </div> 175 <div class="col-md-8 mb-2 mb-md-0 pr-md-0"> 176 <div class="swiper-container js-admin-bar-slider admin-bar-slider"> 177 <div class="swiper-wrapper"> 178 {foreach from=$main_admin_icons key=page item=info} 179 180 {if $info.disabled} 181 {assign var=class value="admbox advanced btn btn-primary disabled"} 182 {else} 183 {assign var=class value="admbox basic btn btn-primary"} 184 <div class="swiper-slide"> 185 {* FIXME: Buttons are forced to be squares, not fluid. Labels which exceed 2 lines will be cut. *} 186 <a href="{if $info.url}{$info.url}{else}tiki-admin.php?page={$page}{/if}" alt="{$info.title} {$info.description}" class="d-flex flex-column justify-content-center align-items-center btn-primary {if $info.disabled}disabled-clickable{/if}" title="{$info.title|escape}{if $info.disabled} ({tr}Disabled{/tr}){/if}|{$info.description}"> 187 {icon name="admin_$page"} 188 <span class="title">{$info.title|escape}</span> </a> 189 </div> 190 {/if} 191 192 193 {/foreach} 194 </div> 195 </div> 196 <!-- Add Arrows --> 197 <div class="swiper-button-next"> 198 199 </div> 200 201 <div class="swiper-button-prev"> 202 203 </div> 204 </div> 205 </div> 206 </div> 207 <div class="card-header right"></div> 208 </div> 209 210 211{literal} 212 <link rel="stylesheet" href="vendor_bundled/vendor/nolimits4web/swiper/dist/css/swiper.css" type="text/css"> 213 <script type="text/javascript" src="vendor_bundled/vendor/nolimits4web/swiper/dist/js/swiper.min.js"></script> 214 <style type="text/css"> 215 @media screen and (prefers-reduced-motion: reduce) { 216 body { 217 transition: none; 218 } 219 } 220 221 body.tiki.open { 222 padding-top: 0px !important; 223 } 224 225 body { 226 227 transition: transform ease-in 0.15s; 228 } 229 230 body.tiki.open { 231 -webkit-transform: translate(0, 7rem); 232 -moz-transform: translate(0, 7rem); 233 -ms-transform: translate(0, 7rem); 234 -o-transform: translate(0, 7rem); 235 transform: translate(0, 7rem); 236 transition: transform ease-out 0.15s; 237 } 238 239 @media (max-width: 767px) { 240 body.tiki.open { 241 -webkit-transform: translate(0, 14rem); 242 -moz-transform: translate(0, 14rem); 243 -ms-transform: translate(0, 14rem); 244 -o-transform: translate(0, 14rem); 245 transform: translate(0, 14rem); 246 transition: transform ease-out 0.15s; 247 } 248 } 249 250 .sliding-panel-admin-bar { 251 -webkit-transform: translate(0, -7rem); 252 -moz-transform: translate(0, -7rem); 253 -ms-transform: translate(0, -7rem); 254 -o-transform: translate(0, -7rem); 255 transform: translate(0, -7rem); 256 left: 0; 257 right: 0; 258 position: fixed; 259 top: 0; 260 left: 0; 261 margin: 0 auto; 262 right: 0; 263 height: 7rem; 264 } 265 266 @media (max-width: 767px) { 267 .sliding-panel-admin-bar { 268 -webkit-transform: translate(0, -14rem); 269 -moz-transform: translate(0, -14rem); 270 -ms-transform: translate(0, -14rem); 271 -o-transform: translate(0, -14rem); 272 transform: translate(0, -14rem); 273 } 274 } 275 276 body { 277 overflow-x: hidden; 278 } 279 280 .page-header { 281 transition: padding ease-in-out 0.3s; 282 } 283 284 .page-header.has-admin-bar-sliding-panel { 285 /*padding-top: 7rem;*/ 286 position: relative; 287 z-index: 3; 288 } 289 290 .box-logo { 291 order: 0; 292 } 293 294 .link-admin-bar { 295 margin-left: auto; 296 order: 0; 297 } 298 299 .link-admin-bar .icon-admin-bar { 300 padding: 0.8rem 0.5rem 0.5rem; 301 cursor: pointer; 302 transition: all ease-in-out 0.3s; 303 border-radius: 0 0 3px 3px; 304 } 305 306 .link-admin-bar .icon-admin-bar.card-header:first-child { 307 border-radius: 0 0 3px 3px; 308 } 309 310 .top_modules .module:nth-child(2) { 311 margin-left: 0; 312 order: 2; 313 } 314 315 @media (max-width: 767px) { 316 .sliding-panel-admin-bar { 317 height: 14rem; 318 } 319 } 320 321 .sliding-panel-admin-bar .card-header.left { 322 display: block; 323 position: absolute; 324 left: -999em; 325 top: 0; 326 bottom: 0; 327 right: 100%; 328 border-bottom: 0; 329 padding: 0; 330 } 331 332 .sliding-panel-admin-bar .card-header.left:first-child { 333 border-radius: 0; 334 } 335 336 @media (max-width: 767px) { 337 .sliding-panel-admin-bar .card-header.left { 338 display: none; 339 } 340 } 341 342 .sliding-panel-admin-bar .card-header.right { 343 display: block; 344 position: absolute; 345 left: 100%; 346 top: 0; 347 bottom: 0; 348 right: -999em; 349 border-bottom: 0; 350 padding: 0; 351 } 352 353 .sliding-panel-admin-bar .card-header.right:first-child { 354 border-radius: 0; 355 } 356 357 @media (max-width: 767px) { 358 .sliding-panel-admin-bar .card-header.right { 359 display: none; 360 } 361 } 362 363 .sliding-panel-admin-bar.card-header { 364 padding: 0; 365 border-bottom: 0; 366 } 367 368 .sliding-panel-admin-bar .container-sliding-panel { 369 position: relative; 370 z-index: 1; 371 max-width: 1140px; 372 } 373 //adding safe colors for nav bar dark 374 .navbar-dark #adminbar a { 375 color:#222 !important; 376 } 377 378 .navbar-dark .sliding-panel-admin-bar .container-sliding-panel .btn-primary:hover{ 379 background-color:#333; 380 border-color:#000; 381 } 382 .sliding-panel-admin-bar .box-adminbar { 383 position: relative; 384 z-index: 1; 385 } 386 387 .sliding-panel-admin-bar .col-search { 388 position: relative; 389 z-index: 1; 390 } 391 392 @media (min-width: 768px) { 393 .sliding-panel-admin-bar .btn-group > .dropdown-menu, 394 .sliding-panel-admin-bar .btn-group > .dropdown-menu.show, 395 .sliding-panel-admin-bar .btn-group.show > .dropdown-menu, 396 .sliding-panel-admin-bar .btn-group.show > .dropdown-menu.show { 397 display: none; 398 margin-top: 0; 399 } 400 } 401 402 @media (min-width: 768px) { 403 .sliding-panel-admin-bar .btn-group:hover > .dropdown-menu, 404 .sliding-panel-admin-bar .btn-group:hover > .dropdown-menu.show, 405 .sliding-panel-admin-bar .btn-group.show:hover > .dropdown-menu, 406 .sliding-panel-admin-bar .btn-group.show:hover > .dropdown-menu.show { 407 display: block; 408 } 409 } 410 411 @media (max-width: 767px) { 412 .sliding-panel-admin-bar .col-left-sliding-panel { 413 position: relative; 414 z-index: 11; 415 } 416 } 417 418 .swiper-container.admin-bar-slider { 419 width: 90%; 420 } 421 422 @media (max-width: 767px) { 423 .swiper-container.admin-bar-slider { 424 width: 80%; 425 } 426 } 427 428 .swiper-container.admin-bar-slider a { 429 display: inline-block; 430 padding: 0.2rem 0.5rem; 431 border-radius: 3px; 432 text-align: center; 433 min-height: 5.5rem; 434 line-height: 1.2; 435 } 436 437 .swiper-container.admin-bar-slider a:hover { 438 text-decoration: none; 439 } 440 441 .swiper-button-prev, .swiper-container-rtl .swiper-button-next { 442 background-image: url(img/arrow-inverse-left.svg) !important; 443 } 444 445 .swiper-button-next, .swiper-container-rtl .swiper-button-prev { 446 background-image: url(img/arrow-inverse-right.svg) !important; 447 } 448 449 @media (min-width: 768px) { 450 .swiper-button-next, .swiper-container-rtl .swiper-button-prev { 451 right: 0 !important; 452 } 453 } 454 455 #swiper-container1 { 456 z-index: 4; 457 } 458 </style> 459{/literal} 460{/if} 461{/tikimodule}