Blame view

modules/default/model/menu.class.php 3.32 KB
8d65d0ce   andryeyev   init
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
  <?php
  Class Menu{
   private $db;
   private $lang;
  
   function __construct($lang){
    $this->db = sdb::getInstance();
    $this->lang = $lang;
   }
   
  
   public function view($id){
    return $this->db->getRow("select *,name_{$this->lang} as name,title_{$this->lang} as title,description_{$this->lang} as description,keywords_{$this->lang} as keywords,about_{$this->lang} as about from menu where id=?",array($id),DB_FETCHMODE_ASSOC);
   }
   
   public function view_params($param1,$value = null){
  /*   $rt = explode("/" ,$rt);
     $rt = array_slice($rt, $offset,$length);
   print  $params = implode("/",$rt);
     if($params) $params .= "/";  */
     $params = ($value != null) ? $param1 . '/' . $value . '/' : (($param1 != null) ? $param1 . '/' : $param1);
   //$params = sprintf("%s/%s/",$param1,$value);
   return $this->db->getRow("select *,name_{$this->lang} as name,title_{$this->lang} as title,description_{$this->lang} as description,keywords_{$this->lang} as keywords,about_{$this->lang} as about from menu where params=?",array($params),DB_FETCHMODE_ASSOC);
   }
   
   public function getMenuUL($url,$id = 0,&$menu = ''){
     // global $menu;
      $q=$this->db->query("select *,name_{$this->lang} as name from menu where parent_id=? and is_menu=1 order by sort asc",array($id));
      if(!$q->numRows())
          return;
      $menu.= "<ul>\n";
  	$i = 0;
      while($q->fetchInto($arr,DB_FETCHMODE_ASSOC))
      {$i++;
          $menu.= '<li id="item'.$i.'">';
          $menu.= '<a href="'.$url.'/'.$arr['params'].'">';
          $menu.= stripslashes($arr['name']);
          $menu.= '</a>';
          $this->getMenuUL($url,$arr['id'],$menu);
          $menu.= "</li>\n";
  		if($i == 1){$i++;
          $menu.= '<li id="item'.$i.'">';
          $menu.= '<a href="#">';
          $menu.= 'ÏÐÎÄÓÊÒÈ';
          $menu.= '</a>';
  		$menu.= $this->addULBrends();
          $menu.= "</li>\n";		
  		}
      }
      $menu.= "</ul>\n";
  
    return $menu;
   }
   
   public function addULBrends(){
  	$out = "<ul id='menu_brends'>\n";
  	$res = $this->db->getAll("select * from catalogs_brends order by sort asc",array(),DB_FETCHMODE_ASSOC);
  	foreach($res as $row){
  		$out .= "<li class='row_brend'>";
  		$out .= $row['name'];
  		$out .= $this->addULRubrics($row['id']);
  		$out .= "</li>\n";
  	}
  	$out .= "</ul>\n";
  	return $out;
   }
   
   public function addULRubrics($brend_id){
  	$out = "<ul>\n";
  	$res = $this->db->getAll("select r.*,b.translit as brend_translit from catalogs_rubrics r LEFT JOIN catalogs_brends b ON b.id=r.brend_id where r.parent_id=? and r.brend_id=? order by r.sort asc",array(0,$brend_id),DB_FETCHMODE_ASSOC);
  	foreach($res as $row){
  		$out .= "<li>";
  		$out .= '<a href="'.$url.'/products/'.$row['brend_translit'].'/'.$row['translit'].'/">';
  		$out .= $row['name'];
  		$out .= '</a>';
  		$out .= "</li>\n";
  	}
  	$out .= "</ul>\n";
  	return $out; 
   }
   
   public function getMenuBottomUL($url,$id = 0,&$menu = ''){
     // global $menu;
      $q=$this->db->query("select *,name_{$this->lang} as name from menu where parent_id=? and is_menu_bottom=1 order by sort asc",array($id));
      if(!$q->numRows())
          return;
      $menu.= "<ul>\n";
      while($q->fetchInto($arr,DB_FETCHMODE_ASSOC))
      {
          $menu.= '<li>';
          $menu.= '<a href="'.$url.'/'.$arr['params'].'">';
          $menu.= $arr['name'];
          $menu.= '</a>';
          $this->getMenuBottomUL($url,$arr['id'],$menu);
          $menu.= "</li>\n";
      }
      $menu.= "</ul>\n";
  
    return $menu;
   } 
  
  }
  ?>