function get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false, $cPath = '') { if ($parent_id == 0) { $cPath = ''; } else { $cPath .= $parent_id . '_'; } if (!is_array($category_tree_array)) { $category_tree_array = array(); } if (sizeof($category_tree_array) < 1 && $exclude != '0') { $category_tree_array[] = array('id' => '0', 'text' => TEXT_TOP); } if ($include_itself) { // $category_query = "select cd.categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd where cd.language_id = '" . $_SESSION['languages_id'] . "' and c.categories_status = '1' and cd.categories_id = '" . $parent_id . "'"; $category_query = xtDBquery($category_query); $category_query = "select cd.categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd where cd.language_id = '" . $_SESSION['languages_id'] . "' and c.categories_status = '1' and cd.categories_id = '" . $parent_id . "' order by cd.categories_name "; $category = xtc_db_fetch_array($category_query, true); $category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_name']); } $categories_query = "select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . $_SESSION['languages_id'] . "' and c.parent_id = '" . $parent_id . "' and c.categories_status = '1' order by cd.categories_name"; $categories_query = xtDBquery($categories_query); while ($categories = xtc_db_fetch_array($categories_query, true)) { $SEF_link = xtc_href_link(FILENAME_DEFAULT, xtc_category_link($categories['categories_id'], $categories['categories_name'])); if ($exclude != $categories['categories_id']) { $category_tree_array[] = array('id' => $categories['categories_id'], 'text' => $spacing . $categories['categories_name'], 'link' => $SEF_link); } $category_tree_array = get_category_tree($categories['categories_id'], $spacing . ' ', $exclude, $category_tree_array, false, $cPath); } return $category_tree_array; }
chdir('../../'); require_once 'includes/application_top.php'; // include easymarketing api header require_once DIR_FS_CATALOG . 'api/easymarketing/includes/header.php'; // include easymarketing functions require_once 'includes/functions.php'; $parent_id = isset($_GET['parent_id']) ? (int) $_GET['parent_id'] : NULL; $oLanguage = new language($_GET['lang']); // process request if (isset($parent_id)) { // init array $categories_array = array(); // sql query for categories $categories_query_raw = "SELECT c.categories_id,\n cd.categories_name\n FROM " . TABLE_CATEGORIES . " c\n JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd\n ON (c.categories_id = cd.categories_id\n AND cd.language_id = '" . $oLanguage->language['id'] . "')\n WHERE c.categories_status = '1'\n AND c.categories_id = '" . xtc_db_prepare_input($parent_id) . "'"; // make sql query $categories_query_result = xtc_db_query($categories_query_raw); // check for result if (xtc_db_num_rows($categories_query_result) > 0) { while ($categories = xtc_db_fetch_array($categories_query_result)) { // build categories array $categories_array = array('id' => $categories['categories_id'], 'name' => mod_convert_string($categories['categories_name']), 'url' => xtc_href_link(FILENAME_DEFAULT, xtc_category_link($categories['categories_id'], $categories['categories_name']), 'NONSSL', false), 'children' => mod_get_sub_categories($categories['categories_id'])); } } elseif ($parent_id == '0') { // build categories array $categories_array = array('id' => $parent_id, 'name' => mod_convert_string(STORE_NAME), 'url' => xtc_href_link(FILENAME_DEFAULT, '', 'NONSSL', false), 'children' => mod_get_sub_categories($parent_id)); } // output categories mod_stream_response($categories_array); } else { mod_stream_invalid_request(); }
$target = ' target="_blank"'; } elseif ($imagesliders_data['imagesliders_url_target'] == '2') { $target = ' target="_top"'; } elseif ($imagesliders_data['imagesliders_url_target'] == '3') { $target = ' target="_self"'; } elseif ($imagesliders_data['imagesliders_url_target'] == '4') { $target = ' target="_parent"'; } if ($imagesliders_data['imagesliders_url_typ'] == '0') { $url = $imagesliders_data['imagesliders_url']; } elseif ($imagesliders_data['imagesliders_url_typ'] == '1') { $url = xtc_href_link($imagesliders_data['imagesliders_url']); } elseif ($imagesliders_data['imagesliders_url_typ'] == '2') { $url = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link((int) $imagesliders_data['imagesliders_url'], xtc_get_products_name((int) $imagesliders_data['imagesliders_url']))); } elseif ($imagesliders_data['imagesliders_url_typ'] == '3') { $url = xtc_href_link(FILENAME_DEFAULT, xtc_category_link((int) $imagesliders_data['imagesliders_url'], xtc_get_categories_name((int) $imagesliders_data['imagesliders_url']))); } elseif ($imagesliders_data['imagesliders_url_typ'] == '4') { $content_querys = "SELECT content_title FROM " . TABLE_CONTENT_MANAGER . " WHERE languages_id='" . (int) $_SESSION['languages_id'] . "' and content_group = '" . (int) $imagesliders_data['imagesliders_url'] . "' and content_status=1 order by sort_order"; $content_querys = xtDBquery($content_querys); $content_title = xtc_db_fetch_array($content_querys, true); $SEF = ''; if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') { $SEF = '&content=' . xtc_cleanName($content_title['content_title']); } $url = xtc_href_link(FILENAME_CONTENT, 'coID=' . (int) $imagesliders_data['imagesliders_url'] . $SEF); } } $imagesliders_data['imagesliders_image_url'] = DIR_WS_IMAGES . $imagesliders_data['imagesliders_image']; $imagesliders_data['imagesliders_image_url_link'] = $url; $imagesliders_data['imagesliders_image_url_target'] = $target; $imagesliders_array[] = $imagesliders_data;
while ($cat_data = xtc_db_fetch_array($cat_result)) { $cat_array[$cat_data['categories_id']][$cat_data['code']] = $cat_data; } } reset($cat_array); foreach ($cat_array as $lang_array) { foreach ($lang_array as $cat_id => $cat_data) { $lang_param = $cat_data['code'] != DEFAULT_LANGUAGE ? '&language=' . $cat_data['code'] : ''; $date = $cat_data['last_modified'] != NULL ? $cat_data['last_modified'] : $cat_data['date_added']; /** * @author Timo Paul (mail[at]timopaul.biz) * @since Saturday, 16-th May 2009 * * generate seo-frendly uri's */ $cPath_new = xtc_category_link($cat_data['categories_id'], $cat_data['categories_name']); $string = sprintf(SITEMAP_ENTRY, xtc_href_link(FILENAME_DEFAULT, $cPath_new), PRIORITY_CATEGORIES, iso8601_date($date), CHANGEFREQ_CATEGORIES); $c_cat_total++; output_entry(); } } $stmt = " \n SELECT \n p.*, \n pd.*, \n UNIX_TIMESTAMP(p.products_date_added) as products_date_added, \n UNIX_TIMESTAMP(p.products_last_modified) as products_last_modified, \n l.* \n FROM \n " . TABLE_PRODUCTS . " p, \n " . TABLE_PRODUCTS_DESCRIPTION . " pd, \n " . TABLE_LANGUAGES . " l \n WHERE \n p.products_status='1' AND \n p.products_id = pd.products_id AND \n pd.language_id = l.languages_id \n ORDER BY \n p.products_id \n "; $product_result = xtc_db_query($stmt); if (xtc_db_num_rows($product_result) > 0) { while ($product_data = xtc_db_fetch_array($product_result)) { /** * @author Timo Paul (mail[at]timopaul.biz) * @since Saturday, 16-th May 2009 * * generate article-array with valid seo-uri's */
$link_index = HEADER_TITLE_TOP; } else { $breadcrumb->add(HEADER_TITLE_TOP, xtc_href_link('../')); $breadcrumb->add(HEADER_TITLE_CATALOG, xtc_href_link(FILENAME_DEFAULT)); $link_index = HEADER_TITLE_CATALOG; } // add category names or the manufacturer name to the breadcrumb trail if (isset($cPath_array)) { for ($i = 0, $n = sizeof($cPath_array); $i < $n; $i++) { $group_check = ''; if (GROUP_CHECK == 'true') { $group_check = "AND c.group_permission_" . $_SESSION['customers_status']['customers_status_id'] . "=1 "; } $categories_query = xtDBquery("-- /includes/application_top.php\n SELECT cd.categories_name\n FROM " . TABLE_CATEGORIES_DESCRIPTION . " cd,\n " . TABLE_CATEGORIES . " c\n WHERE cd.categories_id = '" . $cPath_array[$i] . "'\n AND c.categories_id=cd.categories_id\n " . $group_check . "\n AND cd.language_id='" . (int) $_SESSION['languages_id'] . "'"); if (xtc_db_num_rows($categories_query, true) > 0) { $categories = xtc_db_fetch_array($categories_query, true); $breadcrumb->add($categories['categories_name'], xtc_href_link(FILENAME_DEFAULT, xtc_category_link($cPath_array[$i], $categories['categories_name']))); } else { break; } } } elseif (isset($_GET['manufacturers_id']) && xtc_not_null($_GET['manufacturers_id'])) { $_GET['manufacturers_id'] = (int) $_GET['manufacturers_id']; $manufacturers_query = xtDBquery("-- /includes/application_top.php\n SELECT manufacturers_name \n FROM " . TABLE_MANUFACTURERS . " \n WHERE manufacturers_id = '" . (int) $_GET['manufacturers_id'] . "'"); $manufacturers = xtc_db_fetch_array($manufacturers_query, true); $breadcrumb->add($manufacturers['manufacturers_name'], xtc_href_link(FILENAME_DEFAULT, xtc_manufacturer_link((int) $_GET['manufacturers_id'], $manufacturers['manufacturers_name']))); } // add the products model/name to the breadcrumb trail if ($product->isProduct()) { $breadcrumb->add($product->data['products_name'], xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($product->data['products_id'], $product->data['products_name']))); }
function xtc_show_category($counter, $oldlevel = 1) { global $foo, $categories_string, $id, $cPath; $level = $foo[$counter]['level'] + 1; //BOF +++ UL LI Verschachtelung mit Quelltext Tab Einzügen +++ $ul = $tab = ''; for ($i = 1; $i <= $level; $i++) { $tab .= "\t"; } if ($level > $oldlevel) { //neue Unterebene $ul = "\n" . $tab . '<ul class="nav nav-pills nav-stacked">' . "\n"; $categories_string = rtrim($categories_string, "\n"); //Zeilenumbruch entfernen $categories_string = substr($categories_string, 0, strlen($categories_string) - 5); //letztes </li> entfernen } elseif ($level < $oldlevel) { //zurück zur höheren Ebene $ul = close_ul_tags($level, $oldlevel); } //EOF +++ UL LI Verschachtelung mit Quelltext Tab Einzügen +++ //BOF +++ Kategorien markieren +++ $category_path = explode('_', $cPath); //Kategoriepfad in Array einlesen //Elternkategorie markieren $cat_active_parent = ''; $in_path = in_array($counter, $category_path); //Testen, ob aktuelle Kategorie ID im Kategoriepfad enthalten ist if ($in_path) { $cat_active_parent = " activeparent" . $level; } //Aktive Kategorie markieren $cat_active = ''; $this_category = array_pop($category_path); //Letzter Eintrag im Array ist die aktuelle Kategorie if ($this_category == $counter) { $cat_active = " active" . $level; } //EOF +++ Kategorien markieren +++ //BOF +++ Kategorie Linkerstellung +++ $cPath_new = xtc_category_link($counter, $foo[$counter]['name']); if (trim($categories_string == '')) { $categories_string = "\n"; } //Zeilenschaltung Codedarstellung $categories_string .= $ul; //UL LI Versschachtelung $categories_string .= $tab; //Tabulator Codedarstellung $categories_string .= '<li class="level' . $level . $cat_active . $cat_active_parent . '">'; $categories_string .= '<a href="' . xtc_href_link(FILENAME_DEFAULT, $cPath_new) . '" title="' . $foo[$counter]['name'] . '">'; $categories_string .= '<h3 class="h6">' . $foo[$counter]['name'] . '</h3>'; //Anzeige Anzahl der Produkte in Kategorie, für bessere Performance im Admin deaktivieren if (SHOW_COUNTS == 'true') { $products_in_category = xtc_count_products_in_category($counter); if ($products_in_category > 0) { $categories_string .= ' (' . $products_in_category . ')'; } } $categories_string .= '</a></li>'; $categories_string .= "\n"; //Zeilenschaltung Codedarstellung //EOF +++ Kategorie Linkerstellung +++ //Nächste Kategorie if ($foo[$counter]['next_id']) { xtc_show_category($foo[$counter]['next_id'], $level); } else { if ($level > 1) { $categories_string .= close_ul_tags(1, $level); } return; } }
// get category name $categories_query = xtDBquery("select cd.categories_name from ".TABLE_CATEGORIES_DESCRIPTION." cd, ".TABLE_CATEGORIES." c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c WHERE c.categories_id=cd.categories_id and p2c.products_id = '".(int) $_SESSION['tracking']['products_history'][$random_last_viewed]."' and cd.language_id='".(int) $_SESSION['languages_id']."'"); $categories_data = xtc_db_fetch_array($categories_query,true); */ //EOF - Dokuman - 2010-01-29 - category name selection included in one select statement $random_products_price = $xtPrice->xtcGetPrice($random_product['products_id'], $format = true, 1, $random_product['products_tax_class_id'], $random_product['products_price']); $category_path = xtc_get_path($random_product['categories_id']); if ($random_product['products_name'] != '') { $box_smarty->assign('box_content', $product->buildDataArray($random_product)); $box_smarty->assign('MY_PAGE', 'TEXT_MY_PAGE'); $box_smarty->assign('WATCH_CATGORY', 'TEXT_WATCH_CATEGORY'); $box_smarty->assign('MY_PERSONAL_PAGE', xtc_href_link(FILENAME_ACCOUNT)); //BOF - Dokuman - 2010-01-29 - category name selection included in one select statement //$box_smarty->assign('CATEGORY_LINK', xtc_href_link(FILENAME_DEFAULT, xtc_category_link($categories_data['categories_id'], $categories_data['categories_name']))); //$box_smarty->assign('CATEGORY_NAME', $categories_data['categories_name']); $box_smarty->assign('CATEGORY_LINK', xtc_href_link(FILENAME_DEFAULT, xtc_category_link($random_product['categories_id'], $random_product['categories_name']))); $box_smarty->assign('CATEGORY_NAME', $random_product['categories_name']); //BOF - Dokuman - 2010-01-29 - category name selection included in one select statement $box_smarty->assign('language', $_SESSION['language']); $box_smarty->caching = 0; $box_last_viewed = $box_smarty->fetch(CURRENT_TEMPLATE . '/boxes/box_last_viewed.html'); $smarty->assign('box_LAST_VIEWED', $box_last_viewed); } }
$prev_link = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($p_data[$prev_id]['pID'], $p_data[$prev_id]['pName'])); // check if prev id = first if ($prev_id != 0) { $first_link = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($p_data[0]['pID'], $p_data[0]['pName'])); } } // check if key = last if ($actual_key == sizeof($p_data) - 1) { // actual key is last } else { $next_id = $actual_key + 1; $next_link = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($p_data[$next_id]['pID'], $p_data[$next_id]['pName'])); // check if next id = last if ($next_id != sizeof($p_data) - 1) { $last_link = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($p_data[sizeof($p_data) - 1]['pID'], $p_data[sizeof($p_data) - 1]['pName'])); } } $overview_link = xtc_href_link(FILENAME_DEFAULT, xtc_category_link($current_category_id)); $module_smarty->assign('FIRST', $first_link); $module_smarty->assign('PREVIOUS', $prev_link); $module_smarty->assign('OVERVIEW', $overview_link); $module_smarty->assign('NEXT', $next_link); $module_smarty->assign('LAST', $last_link); // BOF - Tomcraft - 2010-05-02 - Show actual product count in product_navigator $module_smarty->assign('ACTUAL_PRODUCT', $actual_key + 1); // EOF - Tomcraft - 2010-05-02 - Show actual product count in product_navigator $module_smarty->assign('PRODUCTS_COUNT', count($p_data)); $module_smarty->assign('language', $_SESSION['language']); $module_smarty->caching = 0; $product_navigator = $module_smarty->fetch(CURRENT_TEMPLATE . '/module/product_navigator.html'); $info_smarty->assign('PRODUCT_NAVIGATOR', $product_navigator);