function ShowDropDownCategoryList( $cat, $name = "cat", $f_opt = "", $hide_id = 0, $onCh = "", $fset = "_ALL_" ) { global $hwJsCats; global $db; $page = ( boolean )$_GET['page']; $is_ams_page = ( $page == "add" || $page == "modify" || $page == "search" ) && PHP_SELF_BASE == "index.php"; if ( EN_CAT_MULTI && ( $is_ams_page || $EN_CAT_MULTI ) ) { return showdropdownmulticategorylist( $cat, $fset, $hide_id ); } $SEL = array( ); if ( is_array( $cat ) ) { foreach ( $cat as $v ) { $SEL[$v] = 1; } } else { $SEL[$cat] = 1; } include_once( SITE_PATH."inc/class.categ_tree.php" ); $o_cat =& new HawkCategory( TBL_CAT ); $o_cat->CAT_ORDER = "c.weight DESC,name"; $o_cat->CAT_F = "fset"; if ( EN_FSETS && $fset != "_ALL_" ) { $o_cat['SQL_CAT'] .= " AND fset='{$fset}'"; } if ( $hide_id ) { if ( !is_array( $hide_id ) ) { $hide_id = array( $hide_id ); } $hide_id = array_map( "intval", $hide_id ); $hide_id = $db->one_col_array( "SELECT id FROM ".TBL_CAT." WHERE id IN(".implode( ",", $hide_id ).")" ); if ( $hide_id ) { $o_cat['SQL_CAT'] .= " AND c.id NOT IN(".get_daughter_cats( $hide_id ).")"; } } if ( defined( "TBL_CAT_EXTRA" ) && !defined( "ADMIN_AREA" ) && $is_ams_page && ( $page == "add" || $page == "modify" ) ) { $no_ids = $db->one_col_array( "SELECT cid FROM ".TBL_CAT_EXTRA." WHERE type=\"H\"" ); if ( $no_ids ) { $o_cat['SQL_CAT'] .= " AND c.id NOT IN(".implode( ",", $no_ids ).")"; } unset( $no_ids ); } $a_v = $o_cat->Get_CatFullPaths_Array( ); $cats = ""; $cnt = count( $a_v ); $i = 0; for ( ; $i < $cnt; ++$i ) { $v = $a_v[$i]; $cats .= "<OPTION ".( $v['pid'] ? "" : "class=root " )."VALUE=".$v['id']; if ( isset( $SEL[$v['id']] ) ) { $cats .= " SELECTED"; } $cats .= ">".$v['cat_path']."\n"; } $hwJsCats = ""; if ( EN_FSETS && $fset == "_ALL_" ) { $A_FSET = array( ); reset( $o_cat->CAT_FDATA ); while ( list( $_id, $_fs ) = each( $o_cat->CAT_FDATA ) ) { $A_FSET[$_fs['fset']][] = $_id; } foreach ( $A_FSET as $_fs => $v ) { $hwJsCats .= "\"|".implode( "|", $v )."|\","; } if ( $hwJsCats ) { $hwJsCats = substr( $hwJsCats, 0, -1 ); } } return "<select name=".$name." ".$onCh.">".$f_opt.$cats."\n</select>"; }
$o_cat['SQL_CAT'] .= " AND fset='{$fset}'";