add cms, add todo
[ssproject1617.git] / testcms-final-anon / system / functions / menus.php
1 <?php defined('IN_CMS') or die('No direct access allowed.');
2
3 /**
4 Theme functions for menus
5 */
6 function has_menu_items() {
7 if(($total = IoC::resolve('total_menu_items')) === false) {
8 $total = Pages::count(array('status' => 'published'));
9 IoC::instance('total_menu_items', $total, true);
10 }
11 return $total;
12 }
13
14 function menu_items($params = array()) {
15 if(!has_menu_items()) {
16 return false;
17 }
18
19 if(($pages = IoC::resolve('menu')) === false) {
20 $params['status'] = 'published';
21 $pages = Pages::list_all($params);
22 IoC::instance('menu', $pages, true);
23 }
24
25 if($result = $pages->valid()) {
26 // register single post
27 IoC::instance('menu_item', $pages->current(), true);
28
29 // move to next
30 $pages->next();
31 }
32
33 return $result;
34 }
35
36 function menu_id() {
37 if($itm = IoC::resolve('menu_item')) {
38 return $itm->id;
39 }
40
41 return '';
42 }
43
44 function menu_url() {
45 if($itm = IoC::resolve('menu_item')) {
46 return $itm->url;
47 }
48
49 return '';
50 }
51
52 function menu_name() {
53 if($itm = IoC::resolve('menu_item')) {
54 return $itm->name;
55 }
56
57 return '';
58 }
59
60 function menu_title() {
61 if($itm = IoC::resolve('menu_item')) {
62 return $itm->title;
63 }
64
65 return $default;
66 }
67
68 function menu_active() {
69 if($itm = IoC::resolve('menu_item')) {
70 return $itm->active;
71 }
72
73 return '';
74 }