[ Index ]

PHP Cross Reference of osCMax 2.0.4

title

Body

[close]

/includes/ -> coolmenu.php (source)

   1  <?php
   2  
   3  /* ------------------------------------------------
   4  
   5    coolMenu for osCommerce
   6    
   7    author:    Andreas Kothe 
   8    url:        http://www.oddbyte.de
   9  
  10  
  11    Released under the GNU General Public License
  12    
  13    ------------------------------------------------ 
  14  */
  15  
  16  
  17  
  18  
  19  // --- CONFIG ---
  20  
  21  define('SHOW_COUNT','false');
  22  define('SUB_CATEGORIES','4');
  23  
  24  
  25  
  26  
  27  
  28   if (MAX_MANUFACTURERS_LIST < 2) {
  29      $cat_choose = array(array('id' => '', 'text' => BOX_CATEGORIES_CHOOSE));
  30   } else {
  31      $cat_choose = '';
  32   }
  33  
  34  ?>
  35  
  36  
  37  
  38            <!--     Copyright 2002 www.dhtmlcentral.com  --  modified for PHP and osCommerce by Andreas Kothe - www.oddbyte.de    -->
  39  
  40          <script>
  41  
  42          oCMenu=new makeCM("oCMenu") //Making the menu object. Argument: menuname
  43  
  44          //Menu properties
  45          oCMenu.pxBetween=0
  46          oCMenu.fromLeft=10
  47          oCMenu.fromTop=100
  48          oCMenu.rows=0
  49          oCMenu.menuPlacement="left"
  50  
  51          oCMenu.offlineRoot=""
  52          oCMenu.onlineRoot=""
  53          oCMenu.resizeCheck=1
  54          oCMenu.wait=500
  55          oCMenu.fillImg="cm_fill.gif"
  56          oCMenu.zIndex=0
  57  
  58          //Background bar properties
  59          oCMenu.useBar=1
  60          oCMenu.barWidth="menu"
  61          oCMenu.barHeight="menu"
  62          oCMenu.barClass="clBar"
  63          oCMenu.barX="menu"
  64          oCMenu.barY="menu"
  65          oCMenu.barBorderX=0
  66          oCMenu.barBorderY=0
  67          oCMenu.barBorderClass=""
  68  
  69          oCMenu.level[0]=new cm_makeLevel()
  70          oCMenu.level[0].width=150
  71          oCMenu.level[0].height=28
  72          oCMenu.level[0].regClass="clLevel0"
  73          oCMenu.level[0].overClass="clLevel0over"
  74          oCMenu.level[0].borderX=1
  75          oCMenu.level[0].borderY=1
  76          oCMenu.level[0].borderClass="clLevel0border"
  77          oCMenu.level[0].offsetX=0
  78          oCMenu.level[0].offsetY=0
  79          oCMenu.level[0].rows=0
  80          oCMenu.level[0].arrow="images/arrow.gif"
  81          oCMenu.level[0].arrowWidth=11
  82          oCMenu.level[0].arrowHeight=11
  83          oCMenu.level[0].align="right"
  84          oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.8)"
  85  <?php
  86      for ($i=1; $i<SUB_CATEGORIES; $i++) { 
  87          echo'    
  88              oCMenu.level[' . $i . ']=new cm_makeLevel()
  89              oCMenu.level[' . $i . '].width=250
  90              oCMenu.level[' . $i . '].height=14
  91              oCMenu.level[' . $i . '].regClass="clLevel1"
  92              oCMenu.level[' . $i . '].overClass="clLevel1over"
  93              oCMenu.level[' . $i . '].borderX=1
  94              oCMenu.level[' . $i . '].borderY=1
  95              oCMenu.level[' . $i . '].align="right"
  96              oCMenu.level[' . $i . '].offsetX=0
  97              oCMenu.level[' . $i . '].offsetY=0
  98              oCMenu.level[' . $i . '].borderClass="clLevel1border"
  99              oCMenu.level[' . $i . '].align="right"
 100              oCMenu.level[' . $i . '].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.6)"
 101              
 102              
 103          ';
 104      } // end for
 105      
 106  
 107  
 108  
 109   // ---
 110  
 111  	function blank_length($text) {
 112          $count = 0;
 113          while(substr($text, 0,12) == "&nbsp;&nbsp;") {
 114              $text = substr($text, 12);
 115              $count++;
 116          }
 117          return $count;
 118      }
 119  
 120  
 121  
 122  
 123   // ---
 124  
 125  
 126  	function print_menu_line($categories, $depth_size,$depth_parentid, $depth) {
 127  
 128          $size=0;
 129          for($i=0; $depth_size[$i]!=0; $i++) {
 130              $size++;
 131          }
 132  
 133  
 134          echo "oCMenu.makeMenu('";
 135  
 136          if ($depth == 0) {
 137              echo "top" . '_'.$depth_size[0] . "','','";
 138          } else if ($depth == 1) {
 139              echo "sub" .'_'.$depth_size[0] .'_'. $depth_size[1] . "','top" .'_'. $depth_size[0] . "','";
 140          } else { // $depth < 1
 141              echo "sub";
 142              for ($i=0; $i<$size; $i++) {
 143                  echo ($depth_size[$i] != 0) ? '_'.$depth_size[$i] : '_';
 144              }
 145              echo "','sub";
 146              for ($i=0; $i<$size-1; $i++) {
 147                  echo ($depth_size[$i] != 0) ? '_'.$depth_size[$i] : '_';
 148              }
 149              echo "','";
 150          }
 151          echo $categories['text'];
 152          if (SHOW_COUNT == 'true') {
 153              $products_in_category = tep_count_products_in_category($categories['id']);
 154              if ($products_in_category > 0) {
 155                  echo "<FONT COLOR=\"#c0c0c0\"> &nbsp;(" . $products_in_category . ")</FONT>";
 156              }
 157          }
 158    
 159          $cPathNew = "cPath=";
 160          for ($i=0; $i<$size-1; $i++) {
 161              $cPathNew .= ($depth_size[$i] != 0) ? $depth_parentid[$i].'_':'';
 162          }
 163          $cPathNew .= $categories['id'];
 164          echo "','" . tep_href_link(FILENAME_DEFAULT,$cPathNew) . "')\n";
 165      }
 166  
 167  
 168  
 169   // ---
 170  
 171  
 172      $categories = tep_get_categories('');
 173  
 174      $height.= 2.65*count($categories);
 175  
 176      $depth=0;
 177      $blank_length;
 178      $depth_size;
 179      $depth_parentid;
 180  
 181      for($i=0; $i<count($categories); $i++) {    // don't insert 1st entry ("please choose ...")
 182          $blank_length = blank_length($categories[$i]['text']);
 183  
 184          if($blank_length == $depth) {
 185              $categories[$i]['depth'] = $depth;
 186              $depth_size[$depth]++;
 187          } else if ($blank_length > $depth) {
 188              $depth++;
 189              $categories[$i]['depth'] = $depth;
 190              $depth_size[$depth]++;
 191          } else if ($blank_length < $depth) {
 192              for ($j=$depth; $j>$blank_length; $j--) {
 193                  $depth_size[$j] = 0;
 194                  $depth--;
 195              }
 196              $categories[$i]['depth'] = $depth;
 197              $depth_size[$depth]++;
 198  
 199          }
 200              $depth_parentid[$categories[$i]['depth']] = $categories[$i]['id'];
 201      
 202          // remove blanks
 203          $categories[$i]['text'] = substr($categories[$i]['text'], 12*$blank_length);
 204      
 205          print_menu_line($categories[$i], $depth_size,$depth_parentid, $depth);
 206      }
 207  
 208  
 209  
 210  ?>    
 211      
 212          // create menu
 213          oCMenu.construct()
 214  
 215            <!--     Copyright 2002 www.dhtmlcentral.com  --  modified for PHP and osCommerce by Andreas Kothe - www.oddbyte.de    -->
 216  
 217          </SCRIPT>


Generated: Fri Jan 1 13:43:16 2010 Cross-referenced by PHPXref 0.7