Skip to content
Snippets Groups Projects
Commit 9e107311 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

Merge branch 'update_renderer_class' into 'main'

Update renderer class; update docker env to PHP 8.3

See merge request !16
parents 02c7aa8f a3036817
No related branches found
No related tags found
1 merge request!16Update renderer class; update docker env to PHP 8.3
#
# GENERATED BY init.sh - template: ./templates/web-server-Dockerfile - 42dce773c83597a7d05af398bdd66d15
#
FROM php:8.2-apache
FROM php:8.3-apache
# install packages
RUN apt-get update && apt-get install -y git unzip zip
......
......@@ -19,7 +19,7 @@ services:
build:
context: .
dockerfile: ./containers/web-server/Dockerfile
image: "php:8.2-apache"
image: "php:8.3-apache"
container_name: 'adminlte-renderer-server'
ports:
- '${APP_PORT}:80'
......
......@@ -17,7 +17,7 @@ APP_APT_PACKAGES="git unzip zip"
#APP_APACHE_MODULES="rewrite"
APP_APACHE_MODULES="rewrite"
APP_PHP_VERSION=8.2
APP_PHP_VERSION=8.3
# APP_PHP_MODULES="curl pdo_mysql mbstring xml zip xdebug"
APP_PHP_MODULES=""
......
......@@ -18,7 +18,7 @@ The AdminLTE renderer is a PHP class offers several methods to render
* buttons
* ...
The class is compatible to PHP 7+8 ... up to PHP 8.2.
The class is compatible to PHP 7+8 ... up to PHP 8.3.
## Screenshots
......
......@@ -158,26 +158,6 @@ class renderadminlte {
//
// ----------------------------------------------------------------------
/**
* verify if an item has a correct value
* it returns false if a key is not defined to be checked
* it returns true if it was validated successfully
* it dies with an errror, if a value check failed
*
* @param string $sType type; key in $_aValidItems; one of bgcolor|color|type|size
* @param string $sValue value to check
* @param string $sReferrer optional: method that called this function
*/
protected function _DELETE_ME___checkValue($sType, $sValue, $sReferrer=false){
if (!$sValue || !array_key_exists($sType, $this->_aValidItems)){
return false;
}
if(array_search($sValue, $this->_aValidItems[$sType])===false){
echo "ERROR: ".($sReferrer ? $sReferrer.' - ' : '')."value [$sValue] is not a valid for type [$sType]; it must be one of ".implode("|", $this->_aValidItems[$sType]).'<br>';
}
return true;
}
/**
* used in cosntructor
* initialize all element definitions
......@@ -580,13 +560,16 @@ class renderadminlte {
$iCounter=0;
}
switch ($aLink['label']) {
// special menu entry: horizontal bar (label is "-")
if($aLink['label']=='-'){
return '<div class="dropdown-divider"></div>';
}
case '-': return '<div class="dropdown-divider"></div>'; break;
// special menu entry: hamburger menu item (label is "=")
if($aLink['label']=='='){
return '<li class="nav-item"><a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a></li>';
case '=': return '<li class="nav-item"><a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a></li>'; break;
// special menu entry: hamburger menu item (label is "|")
// requires css: .navbar-nav li.divider{border-left: 1px solid rgba(0,0,0,0.2);}
case '|': return '<li class="divider"></li>'; break;
}
$aChildren=isset($aLink['children']) && is_array($aLink['children']) && count($aLink['children']) ? $aLink['children'] : false;
......@@ -670,9 +653,16 @@ class renderadminlte {
* @param array $aUlOptions array of html attrubutes for wrapping UL tag
* @return string
*/
public function getTopNavigation($aNavItems, $aUlOptions=['class'=>'navbar-nav']){
public function getTopNavigation($aNavItems, $aUlOptions=false, $aNavItemsRight=[], $aUlOptionsRight=false){
// array_unshift($aNavItems, ['class'=>'nav-link', 'data-widget'=>'pushmenu', 'href'=>'#', 'role'=>'button', 'label'=>'<i class="fa-solid fa-bars"></i>']);
return $this->addWrapper('ul', $aUlOptions, $this->getNavItems($aNavItems));
$aUlOptLeft=$aUlOptions ? $aUlOptions : ['class'=>'navbar-nav'];
$aUlOptRight=$aUlOptionsRight ? $aUlOptionsRight : ['class'=>'navbar-nav ml-auto'];
return $this->addWrapper('ul', $aUlOptLeft, $this->getNavItems($aNavItems))
.(count($aNavItemsRight)
? $this->addWrapper('ul', $aUlOptRight, $this->getNavItems($aNavItemsRight))
: ''
)
;
}
// ----------------------------------------------------------------------
......@@ -1085,7 +1075,7 @@ class renderadminlte {
// print_r($aOptions);
$sVariantPrefix=$aVariants[$aOptions['variant']] ? $aVariants[$aOptions['variant']] : $aVariants['default'];
$sVariantPrefix=isset($aVariants[$aOptions['variant']]) ? $aVariants[$aOptions['variant']] : $aVariants['default'];
$sClass='card'
. $this->_addClassValue($aOptions['type'], $sVariantPrefix)
.($aOptions['shadow'] && isset($this->_aValueMappings['shadow'][$aOptions['shadow']])
......@@ -1106,10 +1096,13 @@ class renderadminlte {
$aOptions['tools'].=($aOptions[$sTool] ? $sHtml : '');
}
// build parts of the card
$sCardHeader=$this->addWrapper('div', ['class'=>'card-header'],
$sCardHeader=$aOptions['title']
? $this->addWrapper('div', ['class'=>'card-header'],
$this->_tag('h3', ['class'=>'card-title', 'label'=>$aOptions['title']])
. ($aOptions['tools'] ? $this->_tag('div', ['class'=>'card-tools', 'label'=>$aOptions['tools']]) : '')
);
)
: ''
;
$sCardBody=$this->_tag('div', ['class'=>'card-body', 'label'=>$aOptions['text']]);
$sCardFooter=$aOptions['footer'] ? $this->_tag('div', ['class'=>'card-footer', 'label'=>$aOptions['footer']]) : '';
......@@ -1372,7 +1365,6 @@ class renderadminlte {
if( ! isset($aOptions['tabs']) || ! is_array($aOptions['tabs']) ){
return false;
}
static $iTabCounter;
if (!isset($iTabCounter)){
$iTabCounter=1;
} else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment