1: <?php defined('_JOOS_CORE') or exit();
2:
3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
16: class joosBreadcrumbs
17: {
18: private static $instance;
19: private static $breadcrumbs = array();
20:
21: 22: 23: 24:
25: public static function instance()
26: {
27: if (self::$instance === NULL) {
28: self::$instance = new self;
29: }
30:
31: return self::$instance;
32: }
33:
34: public function add($name, $href = false)
35: {
36: self::$breadcrumbs[] = $href ? joosHtml::anchor($href, $name, array('class' => 'breadcrumbs_link', 'title' => $name)) : $name;
37:
38: return $this;
39: }
40:
41: public function remove($index = false, $name = false)
42: {
43: return $this;
44: }
45:
46: public function get()
47: {
48:
49: return '<div class="breadcrumbs">' . implode(' › ', self::$breadcrumbs) . '</div>';
50: }
51:
52: public function get_breadcrumbs_array()
53: {
54: return self::$breadcrumbs;
55: }
56:
57:
58: public static function add_to_title()
59: {
60: joosDocument::instance()->set_page_title(strip_tags(implode(' › ', self::$breadcrumbs)));
61: }
62:
63: public function render()
64: {
65: $r = array();
66: $r[] = '<ul class="breadcrumb">';
67: $i_count = count(self::$breadcrumbs);
68: for ($index = 0; $index < $i_count; $index++) {
69: $r[] = sprintf('<li>%s%s</li>', self::$breadcrumbs[$index], ($index < ($i_count - 1) ? ' <span class="divider">/</span>' : ''));
70: }
71: $r[] = '</ul>';
72:
73: return implode("\n", $r);
74: }
75:
76: }
77: