Ready to pay if someone can do this FOR COPPERMINE
http://www.alistapart.com/d/complexdynamiclists/order.html
http://www.alistapart.com/articles/complexdynamiclists/
intuitive, very practice, highly configurable, ONLY ONE load (mmmmmmm).
<?php
define('IN_COPPERMINE', true);
require('include/init.inc.php');
global $CONFIG, $HIDE_USER_CAT, $FORBIDDEN_SET, $cpg_show_private_album;
if (!empty($FORBIDDEN_SET) && !$cpg_show_private_album) {
$album_filter = ' and ' . str_replace('p.', 'a.', $FORBIDDEN_SET);
}
$sql = "SELECT aid FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE category>=" . FIRST_USER_CAT . $album_filter;
$result = cpg_db_query($sql);
$private_album_count = mysql_num_rows($result);
if (!$private_album_count) {
$HIDE_USER_CAT = 1;
}
function get_tree_subcat_data($parent) {
global $CONFIG, $HIDE_USER_CAT, $catStr;
if ($CONFIG['categories_alpha_sort'] == 1) {
$cat_sort_order = 'name';
} else {
$cat_sort_order = 'pos';
}
$sql = "SELECT cid, name " . "FROM {$CONFIG['TABLE_CATEGORIES']} " . "WHERE parent = '$parent' " . "ORDER BY ". $cat_sort_order;
$result = cpg_db_query($sql);
if (mysql_num_rows($result) > 0) {
$rowset = cpg_db_fetch_rowset($result);
$pos = 0;
foreach ($rowset as $subcat) {
if ($subcat['cid'] == USER_GAL_CAT && $HIDE_USER_CAT == 1) {
} else {
$catStr .= "<li>".$subcat['name']."\n\n";
$catStr .= "<ul>\n\n";
get_tree_subcat_data($subcat['cid']);
get_tree_album_data($subcat['cid']);
$catStr .= "</ul></li>\n";
}
}
if ($parent == 0) {
get_tree_album_data($parent);
}
}
}
function get_tree_album_data($category) {
global $catStr, $ALBUM_SET;
global $CONFIG, $HIDE_USER_CAT, $FORBIDDEN_SET, $cpg_show_private_album;
$album_filter='';
$pic_filter='';
if (!empty($FORBIDDEN_SET) && !$cpg_show_private_album) {
$album_filter = ' and '.str_replace('p.','a.',$FORBIDDEN_SET);
$pic_filter = ' and '.str_replace('p.',$CONFIG['TABLE_PICTURES'].'.',$FORBIDDEN_SET);
}
if ($category == USER_GAL_CAT) {
$sql = "SELECT DISTINCT user_id, user_name FROM {$CONFIG['TABLE_USERS']}, {$CONFIG['TABLE_ALBUMS']} WHERE 10000 + {$CONFIG['TABLE_USERS']}.user_id = {$CONFIG['TABLE_ALBUMS']}.category ORDER BY user_name ASC";
$result = cpg_db_query($sql);
if (mysql_num_rows($result) > 0) {
$rowset = cpg_db_fetch_rowset($result);
foreach ($rowset as $subcat) {
$catStr .= "<li>".$subcat['user_name']."\n";
$catStr .= "<ul>\n";
get_tree_album_data(FIRST_USER_CAT + (int) $subcat['user_id']);
$catStr .= "</ul></li>\n";
}
}
} else {
if ($category == USER_GAL_CAT) {
$sql = "SELECT aid,title FROM {$CONFIG['TABLE_ALBUMS']} WHERE category = $category ".$ALBUM_SET .$album_filter . " ORDER BY pos";
} else {
$unaliased_album_filter = str_replace('a.','',$album_filter);
$sql = "SELECT aid,title FROM {$CONFIG['TABLE_ALBUMS']} WHERE category = $category ".$ALBUM_SET .$unaliased_album_filter . " ORDER BY pos";
}
$result = cpg_db_query($sql);
if (mysql_num_rows($result) > 0) {
$rowset = cpg_db_fetch_rowset($result);
foreach ($rowset as $subcat) {
$catStr .= "<li><a href=\"thumbnails.php?album=".$subcat['aid']."\">".$subcat['title']."</a></li>\n";
}
}
}
}
get_tree_subcat_data(0);
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Coppermine</title>
<link rel="stylesheet" type="text/css" href="http://www.alistapart.com/d/complexdynamiclists/finder.css" />
<script type="text/javascript" src="http://www.alistapart.com/d/complexdynamiclists/finder.js"></script>
</head>
<body>
<div id="finderparent">
<ul id="finder">
<?php
echo $catStr;
?>
</ul>
</div>
</body>
</html>
Replace cpg_db_ with db_ if you're using cpg 1.3.x
some browsers need the css and/or the script to be on the same server.
Ohhh yes !!! Works like a charm :) A little pb with IE (with HEIGHT when clicking)
http://www.sortons.net/photos/dhtmlCPG.htm
Imagine time you win for your visitors to surf on your album photo :) thanx !!! Titooy you are on my MSN ... wo when you have time, come on ! :)
anybody knows how to iclude this in anycontent.php? thanx
This is the paid help board. The thread has been marked as closed and is very old. Locking it now.