forked from phphatesme/cms20
/
create_menu.php
48 lines (41 loc) · 1.33 KB
/
create_menu.php
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
<?php
include_once 'htdocs/content.php';
function orderMenu( array $subMenu, $pathPrefix )
{
foreach( $subMenu as $element => $submenu) {
$content = new Content( $pathPrefix.$element.'.md' );
$order = 99;
if ( $content->getVar('menu_order') != '' ) {
$order = $content->getVar('menu_order');
}
if( $content->getVar( 'menu_display' ) != 'false' ) {
$mainMenu[$order.'_'.$element] = array();
if ( is_array( $submenu )) {
$mainMenu[$order.'_'.$element] = orderMenu( $submenu, $pathPrefix.$element.'|' );
}
}
}
return $mainMenu;
}
$dir = new DirectoryIterator( __DIR__.'/htdocs/content/');
$menu = array();
foreach( $dir as $file ) {
if ( $file->isFile( ) ) {
$content = new Content( $file->getPathName() );
$filename = str_replace('.md', '', $file->getFilename() );
$path = explode('|', $filename );
$menuElement = '';
foreach( $path as $element ) {
$menuElement .= '["'.$element.'"]';
}
$arrayElements[] = '$menu'.$menuElement.' = array();';
}
}
sort( $arrayElements );
foreach( $arrayElements as $arrayElement )
{
eval( $arrayElement );
}
$mainMenu = orderMenu( $menu, __DIR__.'/htdocs/content/' );
ksort($mainMenu);
file_put_contents( 'menu.serialize', serialize( $mainMenu ));