<?php
/*
  www.oscGold.com (C) Kamelia-Net Jacek Krysiak
  modul oscGold wer 4.0
*/

$boxHeading = BOX_HEADING_CATEGORIES;
$corner_left = 'rounded';
$corner_right = 'square';
$box_base_name = 'categories_full'; // for easy unique box template setup (added BTSv1.2)

$box_id = $box_base_name . 'Box';  // for CSS styling paulm (editted BTSv1.2)

function tep_show_category($counter) {
 global $tree, $categories_string, $cPath_array;

 if(!$tree[$counter]['level']){
  $categories_string .= $categories_string ? '<tr><td height=10 colspan="2"></td></tr>' : '';
  $categories_string .= '<tr><td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"><tr><td width="12%" valign="middle" align="center">' .tep_image(DIR_WS_TEMPLATES . 'images/infobox/menu.gif'). '</td><td width="88%" align="left" valign="bottom" class="BoxLink"><a class="boxLink" href="';
  if ($tree[$counter]['parent'] == 0) {
   $cPath_new = 'cPath=' . $counter;
  } else {
   $cPath_new = 'cPath=' . $tree[$counter]['path'];
  }
  $categories_string .= tep_href_link('index.php', $cPath_new) . '">';
  // display categry name
  $categories_string .= '<b>'.$tree[$counter]['name'].'</b>';
  $categories_string .= '</a></td></tr>';
   if (file_exists(DIR_WS_TEMPLATES . 'images/infobox/category_line.gif')) {
		$categories_string .= '<tr><td colspan="2" height="10px" align="center" valign="middle">'.tep_image(DIR_WS_TEMPLATES . 'images/infobox/category_line.gif').'</td></tr>';
   } 
  $categories_string .= '</table></td></tr>';
 } else {  // SUBCATEGORY
  $categories_string .= '<tr><td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="1"><tr><td width="12%" align="center" class="smallText">&nbsp;</td><td width="88%" align="left">'; 
  for($i=0;$i<$tree[$counter]['level'];$i++)
   // zamieniony wers poniżej            $categories_string .= '<a class=infoBoxContents style="font-weight:normal;" href="';
   $categories_string .= '<a class="boxLink" style="font-weight:normal;" href="';   
   if ($tree[$counter]['parent'] == 0) {
    $cPath_new = 'cPath=' . $counter;
   } else {
    $cPath_new = 'cPath=' . $tree[$counter]['path'];
   }
   $categories_string .= tep_href_link('index.php', $cPath_new) . '">';
   // display category name
   $categories_string .= '&nbsp;&raquo;&nbsp;' . $tree[$counter]['name'];
   $categories_string .= '</a></td></tr>';
   if (file_exists(DIR_WS_TEMPLATES . 'images/infobox/category_line.gif')) {
		$categories_string .= '<tr><td colspan="2" align="center">' . tep_image(DIR_WS_TEMPLATES . 'images/infobox/category_line.gif') . '</td></tr>';
   }   
   $categories_string .= '</table></td></tr>';
  }

  if ($tree[$counter]['next_id'] != false) {
   tep_show_category($tree[$counter]['next_id']);
  }  
 }

 define(TABLE_CATEGORIES, "categories");
 define(TABLE_CATEGORIES_DESCRIPTION, "categories_description");

 $categories_string = '';
 $tree = array();

  $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' and c.categories_status = '1' order by sort_order, cd.categories_name");

 while ($categories = tep_db_fetch_array($categories_query))  {
  $tree[$categories['categories_id']] = array('name' => $categories['categories_name'],
                                              'parent' => $categories['parent_id'],
                                              'level' => 0,
                                              'path' => $categories['categories_id'],
                                              'next_id' => false);

  if (isset($parent_id)) {
   $tree[$parent_id]['next_id'] = $categories['categories_id'];
  }

  $parent_id = $categories['categories_id'];

  if (!isset($first_element)) {
   $first_element = $categories['categories_id'];
  }
 }

 $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' and c.categories_status = '1' order by sort_order, cd.categories_name");
 while ($categories = tep_db_fetch_array($categories_query))  {
  $cPath_array2 = Array();    
  $new_path = '';
  $cPath_array2[] = $categories['categories_id'];
  while (list($key, $value) = each($cPath_array2)) {
   unset($parent_id);
   unset($first_id);
   $categories_query2 = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$value . "' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' and c.categories_status = '1' order by sort_order, cd.categories_name");
   if (tep_db_num_rows($categories_query2)) {
    $new_path .= $value;
    while ($row = tep_db_fetch_array($categories_query2)) {
     $tree[$row['categories_id']] = array('name' => $row['categories_name'],
                                          'parent' => $row['parent_id'],
                                          'level' => $key+1,
                                          'path' => $new_path . '_' . $row['categories_id'],
                                          'next_id' => false);

     if (isset($parent_id)) {
      $tree[$parent_id]['next_id'] = $row['categories_id'];
     }

     $parent_id = $row['categories_id'];

     if (!isset($first_id)) {
      $first_id = $row['categories_id'];
     }

     $last_id = $row['categories_id'];
    }
    $tree[$last_id]['next_id'] = $tree[$value]['next_id'];
    $tree[$value]['next_id'] = $first_id;
    $new_path .= '_';
   } else {
    break;
   }
  }
 }

 //------------------------

  tep_show_category($first_element);
  $boxContent = '<table border="0" width="100%" cellspacing="0" cellpadding="0">';
  $boxContent .= $categories_string;
  $boxContent .= '</table>';  

// bof BTSv1.2
  if(file_exists(DIR_WS_BOX_TEMPLATES . $box_base_name . '.tpl.php')) {
  // if exists, load unique box template for this box from templates/boxes/
      require(DIR_WS_BOX_TEMPLATES . $box_base_name . '.tpl.php');
  }
  else {
  // load default box template: templates/boxes/box.tpl.php
      require(DIR_WS_BOX_TEMPLATES . TEMPLATENAME_BOX);
  }
// eof BTSv1.2

?>