-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy path_functions.php
More file actions
53 lines (49 loc) · 1.55 KB
/
Copy path_functions.php
File metadata and controls
53 lines (49 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
/**
* Return every value from array in HTML list.
*
* @param array $array input array
* @param string $ulClass The CSS class to add to the UL element
* @param string $liClass The CSS class to add to LI elements
* @return string HTML list
*/
function getListFromArray(array $array, string $ulClass = '', string $liClass = ''): string
{
if ($ulClass !== '') $ulClass = ' class="' . $ulClass . '"';
if ($liClass !== '') $liClass = ' class="' . $liClass . '"';
$a = array_map(fn ($v) => "<li$liClass>$v</li>", $array);
return '<ul' . $ulClass . '>' . implode('', $a) . '</ul>';
}
/**
* Return every value from array
*
* @param array $serie input array
* @return string
*/
function getHTMLFromSerie(array $serie): string
{
$html = '<a class="serie" href="exo5.php?id=' . $serie["id"] . '#exo4">';
$html .= '<h3 class="serie-ttl">' . $serie["name"] . '</h3>';
$html .= '<img src="' . $serie["image"] . '" alt="' . $serie["name"] . '">';
$html .= '</a>';
return $html;
}
/**
* generate nav bar
*
* @param array $pages input arrays
* @param string $currentPage
* @return string return navigation menu
*/
function createMenu(array $pages, string $currentPage): string
{
$menu = '<ul class="main-nav-list">';
foreach ($pages as $page) {
$title = $page['title'];
$url = $page['url'];
$activeClass = ($currentPage === $url) ? 'active' : '';
$menu .= '<li><a href="' . $url . '" class="main-nav-link ' . $activeClass . '">' . $title . '</a></li>';
}
$menu .= '</ul>';
return $menu;
}