Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
Cronlog-viewer
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IML Open Source
Cronlog-viewer
Commits
0fc1cf10
Commit
0fc1cf10
authored
8 months ago
by
Hahn Axel (hahn)
Browse files
Options
Downloads
Patches
Plain Diff
update renderadminlte classes
parent
1a9da681
Branches
Branches containing commit
No related tags found
1 merge request
!18
OP#7365 PHP-8.1 - Upgrade - cronlog Viewer (monitors.ascii)https://projects.iml.unibe.ch/work_packages/7365
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
classes/htmlelements.class.php
+50
-128
50 additions, 128 deletions
classes/htmlelements.class.php
classes/render-adminlte.class.php
+1122
-601
1122 additions, 601 deletions
classes/render-adminlte.class.php
with
1172 additions
and
729 deletions
classes/htmlelements.class.php
+
50
−
128
View file @
0fc1cf10
...
@@ -15,27 +15,33 @@
...
@@ -15,27 +15,33 @@
* - icon - will be added as <i class="[icon value]"></i> to the label
* - icon - will be added as <i class="[icon value]"></i> to the label
*
*
* @author Axel
* @author Axel
*
* 2024-07-04 <axel.hahn@unibe.ch> added type declarations; update php docs
* 2024-08-26 <axel.hahn@unibe.ch> remove unneeded methods; simplify icon methods; update phpdocs
*/
*/
class
htmlelements
{
class
htmlelements
{
/**
/**
*
set of auto generated icon prefix
es
*
Extracted label from array with attribut
es
* @var
type
* @var
string
*/
*/
var
$_aIcons
=
array
(
// 'fa-'=>'fa ',
);
var
$_sLabel
=
''
;
var
$_sLabel
=
''
;
var
$_aAttributes
=
array
();
/**
* Array of attributes for a html tag
* @var array
*/
var
$_aAttributes
=
[];
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
// CONSTRUCTOR
// CONSTRUCTOR
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
public
function
__construct
()
{
public
function
__construct
()
return
true
;
{
// nothiung here
}
}
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
...
@@ -43,27 +49,28 @@ class htmlelements {
...
@@ -43,27 +49,28 @@ class htmlelements {
// PRIVATE FUNCTIONS
// PRIVATE FUNCTIONS
//
//
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
/**
/**
* generate html attibutes with all internal attributes key -> values
* generate html attibutes with all internal attributes key -> values
* to be added in opening tag
* @return string
* @return string
*/
*/
protected
function
_addAttributes
()
{
protected
function
_addAttributes
():
string
{
$sReturn
=
''
;
$sReturn
=
''
;
foreach
(
$this
->
_aAttributes
as
$sAttr
=>
$sValue
)
{
foreach
(
$this
->
_aAttributes
as
$sAttr
=>
$sValue
)
{
if
(
is_array
(
$sValue
)){
if
(
is_array
(
$sValue
))
{
echo
"ERROR: an html tag was defined with array in attribute [
$sAttr
]:<br><pre>"
.
print_r
(
$this
->
_aAttributes
,
1
)
.
"</pre>"
;
echo
"ERROR: an html tag was defined with array in attribute [
$sAttr
]:<br><pre>"
.
print_r
(
$this
->
_aAttributes
,
1
)
.
"</pre>"
;
}
}
$sReturn
.
=
' '
.
$sAttr
.
'="'
.
$sValue
.
'"'
;
$sReturn
.
=
"
$sAttr
=
\"
$sValue
\"
"
;
}
}
return
$sReturn
;
return
$sReturn
;
}
}
/**
/**
*
i
nternal helper: fetch all attributes from key-value hash;
*
I
nternal helper: fetch all attributes from key-value hash;
* Specialties here:
* Specialties here:
* - label will be extracted from key 'label'
* - label will be extracted from key 'label'
* - and optional existing key 'icon' will be added at beginning of a label
* - and optional existing key 'icon' will be added at beginning of a label
...
@@ -71,17 +78,18 @@ class htmlelements {
...
@@ -71,17 +78,18 @@ class htmlelements {
* @param array $aAttributes
* @param array $aAttributes
* @return boolean
* @return boolean
*/
*/
protected
function
_setAttributes
(
$aAttributes
){
protected
function
_setAttributes
(
array
$aAttributes
):
bool
$this
->
_sLabel
=
''
;
{
if
(
isset
(
$aAttributes
[
'icon'
])
&&
$aAttributes
[
'icon'
]){
$this
->
_sLabel
=
''
;
$this
->
_sLabel
.
=
$this
->
getIcon
(
$aAttributes
[
'icon'
]);
if
(
isset
(
$aAttributes
[
'icon'
])
&&
$aAttributes
[
'icon'
])
{
$this
->
_sLabel
.
=
$this
->
getIcon
(
$aAttributes
[
'icon'
]);
unset
(
$aAttributes
[
'icon'
]);
unset
(
$aAttributes
[
'icon'
]);
}
}
if
(
isset
(
$aAttributes
[
'label'
])
&&
$aAttributes
[
'label'
]){
if
(
isset
(
$aAttributes
[
'label'
])
&&
$aAttributes
[
'label'
])
{
$this
->
_sLabel
.
=
$aAttributes
[
'label'
];
$this
->
_sLabel
.
=
$aAttributes
[
'label'
];
unset
(
$aAttributes
[
'label'
]);
unset
(
$aAttributes
[
'label'
]);
}
}
$this
->
_aAttributes
=
$aAttributes
;
$this
->
_aAttributes
=
$aAttributes
;
return
true
;
return
true
;
}
}
...
@@ -91,21 +99,22 @@ class htmlelements {
...
@@ -91,21 +99,22 @@ class htmlelements {
// HTML GENERIC
// HTML GENERIC
//
//
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
/**
/**
*
g
eneric function to get html code for a single tag
*
G
eneric function to get html code for a single tag
*
*
* @param string $sTag tag name
* @param string $sTag tag name
* @param array $aAttributes array with attributes (optional including 'icon' and 'label')
* @param array $aAttributes array with attributes (optional including 'icon' and 'label')
* @param boolean $bCloseTag optional: set false if tag has no closing tag (= ending with "/>")
* @param boolean $bCloseTag optional: set false if tag has no closing tag (= ending with "/>")
* @return
typ
e
* @return
string html cod
e
*/
*/
public
function
getTag
(
$sTag
,
$aAttributes
,
$bCloseTag
=
true
){
public
function
getTag
(
string
$sTag
,
array
$aAttributes
,
bool
$bCloseTag
=
true
):
string
{
$sTpl
=
$bCloseTag
?
"<
$sTag
%s>%s</
$sTag
>"
:
"<
$sTag
%s/>%s"
;
$sTpl
=
$bCloseTag
?
"<
$sTag
%s>%s</
$sTag
>"
:
"<
$sTag
%s/>%s"
;
$this
->
_setAttributes
(
$aAttributes
);
$this
->
_setAttributes
(
$aAttributes
);
return
sprintf
(
$sTpl
,
$this
->
_addAttributes
(),
$this
->
_sLabel
);
return
sprintf
(
$sTpl
,
$this
->
_addAttributes
(),
$this
->
_sLabel
);
}
}
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
//
//
// PUBLIC FUNCTIONS
// PUBLIC FUNCTIONS
...
@@ -114,109 +123,22 @@ class htmlelements {
...
@@ -114,109 +123,22 @@ class htmlelements {
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
/**
/**
*
h
elper detect prefix of a string add prefix of a framework
*
H
elper detect prefix of a string add prefix of a framework
* i.e. value "fa-close" detects font awesome and adds "fa " as prefix
* i.e. value "fa-close" detects font awesome and adds "fa " as prefix
*
*
* @param string $sIconclass
* @param string $sIconclass
* @return
boolean
* @return
string HTML code
*/
*/
public
function
getIcon
(
$sIconclass
=
false
){
public
function
getIcon
(
string
$sIconclass
=
''
):
string
if
(
!
$sIconclass
){
{
if
(
!
$sIconclass
)
{
return
''
;
return
''
;
}
}
$sPrefix
=
''
;
foreach
(
$this
->
_aIcons
as
$sPrefix
=>
$add
)
{
if
(
strpos
(
$sIconclass
,
$sPrefix
)
===
0
){
$sPrefix
=
$add
;
continue
;
}
}
// do not use this .. it overrides internal attribute vars
// return $this->getTag('i', array('class'=>$sPrefix.$sIconclass));
return
'<i class="'
.
$sPrefix
.
$sIconclass
.
'"></i> '
;
}
// ----------------------------------------------------------------------
//
// PUBLIC FUNCTIONS
// HTML COMPONENTS
//
// ----------------------------------------------------------------------
/**
// do not use this .. it overrides internal attribute vars
* get html code for an input field
// return $this->getTag('i', ['class'=>$sIconclass]);
*
* @param array $aAttributes attributes of the select tag
* @return string
*/
public
function
getFormInput
(
$aAttributes
){
$sTpl
=
'<input %s/>'
;
$this
->
_setAttributes
(
$aAttributes
);
return
sprintf
(
$sTpl
,
$this
->
_addAttributes
());
}
/**
* get html code for an option field in a select drop down
*
* @param array $aAttributes attributes of the option tag
* @return string
*/
public
function
getFormOption
(
$aAttributes
){
$sTpl
=
'<option %s>%s</option>'
;
$this
->
_setAttributes
(
$aAttributes
);
return
sprintf
(
$sTpl
,
$this
->
_addAttributes
(),
$this
->
_sLabel
);
}
/**
* get html code for a select drop down
*
* @param array $aAttributes attributes of the select tag
* @param array $aOptions array for all option fields
* @return string
*/
public
function
getFormSelect
(
$aAttributes
,
$aOptions
=
array
()){
// $sTpl = '<select %s>%s</select>';
if
(
!
count
(
$aOptions
)){
return
"<i class=
\"
$sIconclass
\"
></i> "
;
return
false
;
}
$sOptions
=
''
;
foreach
(
$aOptions
as
$aOptionAttributes
){
// $sOptions.=$this->getFormOption($aOptionAttributes);
$sOptions
.
=
$this
->
getTag
(
'option'
,
$aOptionAttributes
);
}
$aAttributes
[
'label'
]
=
$sOptions
;
return
$this
->
getTag
(
'select'
,
$aAttributes
);
/*
$this->_setAttributes($aAttributes);
return sprintf($sTpl, $this->_addAttributes(), $sOptions);
*
*/
}
}
public
function
getTable
(
$aHead
,
$aBody
,
$aTableAttributes
=
array
()){
$sReturn
=
''
;
$sTdata
=
''
;
$sThead
=
''
;
$sTpl
=
'<table %s>'
.
'<thead><tr>%s</tr></thead>'
.
'<tbody>%s</tbody>'
.
'</table>'
;
foreach
(
$aHead
as
$sTh
){
$sThead
.
=
'<th>'
.
$sTh
.
'</th>'
;
}
foreach
(
$aBody
as
$aTr
){
$sTdata
.
=
'<tr>'
;
foreach
(
$aTr
as
$sTd
){
$sTdata
.
=
'<td>'
.
$sTd
.
'</td>'
;
}
$sTdata
.
=
'</tr>'
;
}
$this
->
_setAttributes
(
$aTableAttributes
);
return
sprintf
(
$sTpl
,
$this
->
_addAttributes
(),
$sThead
,
$sTdata
);
}
}
}
This diff is collapsed.
Click to expand it.
classes/render-adminlte.class.php
+
1122
−
601
View file @
0fc1cf10
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment