query("SELECT cid, name, description FROM ".$xoopsDB->prefix("xcgal_categories")." WHERE parent = '$parent'"); if ($xoopsDB->getRowsNum($result) > 0){ $rowset = db_fetch_rowset($result); foreach ($rowset as $subcat){ $result=$xoopsDB->query("SELECT aid FROM ".$xoopsDB->prefix("xcgal_albums")." WHERE category = {$subcat['cid']}"); $album_count = $xoopsDB->getRowsNum($result); while($row = $xoopsDB->fetchArray($result)){ $album_set_array[] = $row['aid']; } // while } if ($level > 1) get_subcat_data($subcat['cid'], $album_set_array, $level -1); } } /************************************************************************** * Main code **************************************************************************/ if (isset($HTTP_GET_VARS['sort'])) $USER['sort'] = $HTTP_GET_VARS['sort']; if (isset($HTTP_GET_VARS['cat'])) $cat = $HTTP_GET_VARS['cat']; if (isset($HTTP_GET_VARS['search'])){ $USER['search'] = $HTTP_GET_VARS['search']; if (isset($HTTP_GET_VARS['type']) && $HTTP_GET_VARS['type'] == 'full') { $USER['search'] = '###'.$USER['search']; } } if (isset($HTTP_GET_VARS['suid'])){ $USER['suid'] = $HTTP_GET_VARS['suid']; } $album = $HTTP_GET_VARS['album']; if (isset($HTTP_GET_VARS['page'])){ $page = max((int)$HTTP_GET_VARS['page'], 1); } else { $page = 1; } $breadcrumb = ''; $breadcrumb_text = ''; $cat_data = array(); // Build the private album set if (!GALLERY_ADMIN_MODE && $xoopsModuleConfig['allow_private_albums']) get_private_album_set(); if (is_numeric($album)){ $result = $xoopsDB->query("SELECT category, title FROM ".$xoopsDB->prefix("xcgal_albums")." WHERE aid='$album' $ALBUM_SET"); if ($xoopsDB->getRowsNum($result)>0) { $CURRENT_ALBUM_DATA = $xoopsDB->fetchArray($result); $actual_cat = $CURRENT_ALBUM_DATA['category']; breadcrumb($actual_cat, $breadcrumb, $breadcrumb_text); $cat = -$album; } else redirect_header("index.php", 3, _NOPERM); } elseif (isset($cat) && $cat) { // Meta albums, we need to restrict the albums to the current category if ($cat < 0) { $result = $xoopsDB->query("SELECT category, title FROM ".$xoopsDB->prefix("xcgal_albums")." WHERE aid='".(-$cat)."'"); if ($xoopsDB->getRowsNum($result)>0) { $CURRENT_ALBUM_DATA = $xoopsDB->fetchArray($result); $actual_cat = $CURRENT_ALBUM_DATA['category']; $CURRENT_CAT_NAME = $myts->makeTboxData4Show($CURRENT_ALBUM_DATA['title']); } $ALBUM_SET .= 'AND aid IN ('.(-$cat).') '; breadcrumb($actual_cat, $breadcrumb, $breadcrumb_text); } else { $album_set_array = array(); if ($cat == USER_GAL_CAT) $where = 'category > '.FIRST_USER_CAT; else $where = "category = '$cat'"; $result=$xoopsDB->query("SELECT aid FROM ".$xoopsDB->prefix("xcgal_albums")." WHERE $where"); while($row = $xoopsDB->fetchArray($result)){ $album_set_array[] = $row['aid']; } // while if ($cat >= FIRST_USER_CAT) { $user_handler =& xoops_gethandler('member'); $alb_owner =& $user_handler->getUser($cat-FIRST_USER_CAT); if (is_object ($alb_owner)) $CURRENT_CAT_NAME = sprintf(_MD_INDEX_USERS_GAL, $alb_owner->uname()); else redirect_header('index.php',2,_MD_NO_EXIST_CAT); } else { $result = $xoopsDB->query("SELECT name FROM ".$xoopsDB->prefix("xcgal_categories")." WHERE cid = '".$cat."'"); if ($xoopsDB->getRowsNum($result) == 0) redirect_header('index.php',2,_MD_NO_EXIST_CAT); $row = $xoopsDB->fetchArray($result); $CURRENT_CAT_NAME = $myts->makeTboxData4Show($row['name']); } get_subcat_data($cat, $album_set_array, $xoopsModuleConfig['subcat_level']); // Treat the album set if (count($album_set_array)) { $set =''; foreach ($album_set_array as $album_id) $set .= ($set == '') ? $album_id : ','.$album_id; $ALBUM_SET .= "AND aid IN ($set) "; } breadcrumb($cat, $breadcrumb, $breadcrumb_text); } } $xoopsOption['template_main'] = 'xcgal_index.html'; include XOOPS_ROOT_PATH."/header.php"; $xoopsTpl->assign('display_alb_list',''); user_save_profile(); include_once "include/theme_func.php"; if ($breadcrumb) theme_display_cat_list($breadcrumb, $cat_data, ''); else { $xoopsTpl->assign('breadcrumb', ''.$xoopsModule->getVar('name').''); $xoopsTpl->assign('lang_category',0); $xoopsTpl->assign('set_stat',0); } display_thumbnails($album, (isset($cat) ? $cat : 0), $page, $xoopsModuleConfig['thumbcols'], $xoopsModuleConfig['thumbrows'], true); $xoopsTpl->assign('gallery', $xoopsModule->getVar('name')); main_menu(); do_footer(); include_once "../../footer.php"; ?>