I see what you mean Tarique. I got it working but I can't position it anywhere except along the top of the screen. I won't be using this mod on my site because of these limitations, and won't make further changes to it, but if you really want it, here it is.
Andreyua, if you're still interested, even with the limitations, here the instructions.
1. Download phplayersmenu, unzip the contents into folder called phplayersmenu, and upload it to your coppermine directory on your server.
2. Create a file called hor_menu.php in your coppermine directory.
3. Paste this code into that file
<?php
// ------------------------------------------------------------------------- //
// Coppermine Photo Gallery - Tree Menu //
// ------------------------------------------------------------------------- //
// Based on Browser Sidebar, which is //
// Copyright (C) Dr. Tarique Sani //
// http://tariquesani.net/ //
// --------------------------------------- --------------------------------- //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// ------------------------------------------------------------------------- //
// Just put into the same directory as your coppermine installation //
// ------------------------------------------------------------------------- //
if (!defined('IN_COPPERMINE')) {
define('IN_COPPERMINE', true);
}
require_once('include/init.inc.php');
global $CONFIG; //NEW
if (isset($HTTP_COOKIE_VARS[$CONFIG['cookie_name'] . '_sidebar'])) {
$sidePrefs = @unserialize(@base64_decode($HTTP_COOKIE_VARS[$CONFIG['cookie_name'] . '_sidebar']));
//Read prefs from cookie
$theme = $sidePrefs['theme'];
$thumb_count = $sidePrefs['thumbs'];
$thumb_per_page = $sidePrefs['thumbs'];
}else{
$theme = "kde";
$thumb_count = 1;
$thumb_per_page = 1;
}
//Change these variables to reflect your choices if you don't want lastup
$album = 'lastup';
$album_name = "";
$lower_limit = 0;
$link_url = "displayimage.php?album=lastup&cat=0&pos=";
$image_url = "albums/";
get_private_album_set();
$data = get_pic_data($album, $thumb_count, $album_name, $lower_limit, $thumb_per_page);
require_once("hor_menu_funcs.php");
//$startTime = microtime();
//Start building the string needed for php Tree Menu
//$catStr = ".|".$CONFIG['gallery_name']."|index.php\n";
//if (empty($_COOKIE["tree_menu"])) {
$catStr = ".|Home|index.php\n";
if (!empty($_SERVER['QUERY_STRING'])) {
$catStr = get_tree_subcat_data(0,".");
} else {
$catStr = get_tree_subcat_data(0,".");
}
//$_COOKIE["tree_menu"] = gzcompress($catStr);
// setcookie("tree_menu",$catStr,time() + 600,"/",".photo-junky.com");
//} else {
// $catStr = gzuncompress($_COOKIE["tree_menu"]);
//}
//$endTime = microtime();
// benchmark timing
//print timediff($startTime,$endTime);
//starttable("100%", "Site Tree");
/* TO USE RELATIVE PATHS: */
$myDirPath = 'phplayersmenu/';
$myWwwPath = 'phplayersmenu/';
/* TO USE ABSOLUTE PATHS: */
//$myDirPath = '/home/pratesi/public_html/phplayersmenu/';
//$myWwwPath = '/~pratesi/phplayersmenu/';
?>
<tr>
<td class="tableb" >
<?php
/* TO USE RELATIVE PATHS: */
$myDirPath = 'phplayersmenu/';
$myWwwPath = './phplayersmenu/';
/* TO USE ABSOLUTE PATHS: */
//$myDirPath = '/home/pratesi/public_html/phplayersmenu/';
//$myWwwPath = '/~pratesi/phplayersmenu/';
?>
<link rel="stylesheet" href="<?php print $myWwwPath; ?>layersmenu-demo.css" type="text/css"></link>
<link rel="stylesheet" href="<?php print $myWwwPath; ?>layersmenu-gtk2.css" type="text/css"></link>
<link rel="shortcut icon" href="<?php print $myWwwPath; ?>LOGOS/shortcut_icon_phplm.png"></link>
<script language="JavaScript" type="text/javascript">
<!--
<?php require_once $myDirPath . 'libjs/layersmenu-browser_detection.js'; ?>
// -->
</script>
<script language="JavaScript" type="text/javascript" src="<?php print $myWwwPath; ?>libjs/layersmenu-library.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php print $myWwwPath; ?>libjs/layersmenu.js"></script>
<?php
require_once $myDirPath . 'lib/PHPLIB.php';
require_once $myDirPath . 'lib/layersmenu-common.inc.php';
require_once $myDirPath . 'lib/layersmenu.inc.php';
//$mid = new LayersMenu(6, 7, 2, 5, 140);
//$mid = new LayersMenu(6, 7, 2, 1); // Gtk2-like
//$mid = new LayersMenu(3, 8, 1, 1); // Keramik-like
$mid = new LayersMenu(3, 9, 2, 1); // Galaxy-like
//$mid = new LayersMenu(-12, 10, 6, 5); // "Traditional" PHPLM look
/* TO USE RELATIVE PATHS: */
$mid->setDirroot('./phplayersmenu/');
$mid->setLibjsdir('./phplayersmenu/libjs/');
$mid->setImgdir('./phplayersmenu/menuimages/');
$mid->setImgwww('./phplayersmenu/menuimages/');
$mid->setIcondir('./phplayersmenu/menuicons/');
$mid->setIconwww('./phplayersmenu/menuicons/');
/* either: */
$mid->setTpldir('./templates/');
$mid->setHorizontalMenuTpl('layersmenu-horizontal_menu.ihtml');
$mid->setSubMenuTpl('layersmenu-sub_menu.ihtml');
/* or: (disregarding the tpldir) */
//$mid->setHorizontalMenuTpl('templates/layersmenu-horizontal_menu.ihtml');
//$mid->setSubMenuTpl('templates/layersmenu-sub_menu.ihtml');
/* TO USE ABSOLUTE PATHS: */
//$mid->setDirroot($myDirPath);
////$mid->setLibjsdir($myDirPath . 'libjs/');
////$mid->setImgdir($myDirPath . 'menuimages/');
//$mid->setImgwww($myWwwPath . 'menuimages/');
////$mid->setIcondir($myDirPath . 'menuicons/');
//$mid->setIconwww($myWwwPath . 'menuicons/');
////$mid->setTpldir($myDirPath . 'templates/');
//$mid->setHorizontalMenuTpl('layersmenu-horizontal_menu.ihtml');
//$mid->setSubMenuTpl('layersmenu-sub_menu.ihtml');
////$mid->setHorizontalMenuTpl('layersmenu-horizontal_menu-old.ihtml');
////$mid->setSubMenuTpl('layersmenu-sub_menu-old.ihtml');
//$mid->setDownArrowImg('down-arrow.png');
//$mid->setForwardArrowImg('forward-arrow.png');
//$mid->setMenuStructureFile($myDirPath . 'layersmenu-horizontal-1.txt');
$mid->setMenuStructureString($catStr);
$mid->setIconsize(16, 16);
$mid->parseStructureForMenu('hormenu1');
$mid->newHorizontalMenu('hormenu1');
$mid->printHeader();
/* alternatively:
$header = $mid->getHeader();
print $header;
*/
?>
<?php
$mid->printMenu('hormenu1');
/* alternatively:
$hormenu1 = $mid->getMenu('hormenu1');
print $hormenu1;
*/
?>
<!--<div class="normalbox">
<div class="normal" align="center">
<b>A file-based example with a Horizontal Layers Menu</b>
<div style="height: 5px"></div>
<a href="http://phplayersmenu.sourceforge.net/"><img border="0"
src="<?php print $myWwwPath; ?>LOGOS/powered_by_phplm.png" alt="Powered by PHP Layers Menu"
height="31" width="88" /></a> <a
href="http://validator.w3.org/check/referer"><img border="0"
src="<?php print $myWwwPath; ?>images/valid-xhtml10.png" alt="Valid XHTML 1.0!"
height="31" width="88" /></a> <a
href="http://jigsaw.w3.org/css-validator/"><img border="0"
src="<?php print $myWwwPath; ?>images/vcss.png" alt="Valid CSS!" height="31" width="88" /></a>
</div>
</div>
<div class="normalbox">
<div class="normal">
<?php //require_once $myDirPath . 'README.ihtml'; ?>
</div>
</div>-->
<?php
$mid->printFooter();
/* alternatively:
$footer = $mid->getFooter();
print $footer;
*/
?>
</td>
</tr>
<?php
endtable();
4. Create another file called tree_menu_functions.php in the same folder. Put this in it:
<?php
function get_tree_subcat_data($parent, $ident = '') {
global $CONFIG, $catStr;
if ($parent == 0) {
get_tree_album_data($parent,$ident );
}
$sql = "SELECT cid, name, description " . "FROM {$CONFIG['TABLE_CATEGORIES']} " . "WHERE parent = '$parent' " . " ORDER BY pos";
$result = db_query($sql);
if (($cat_count = mysql_num_rows($result)) > 0) {
$rowset = db_fetch_rowset($result);
$pos = 0;
foreach ($rowset as $subcat) {
$catStr .= $ident."|".$subcat['name']."|index.php?cat=".$subcat['cid']." \n";
get_tree_album_data($subcat['cid'], $ident . '.');
get_tree_subcat_data($subcat['cid'], $ident . '.');
}
}
return $catStr;
}
function get_tree_album_data($category,$ident) {
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 == 1) {
$sql = "SELECT DISTINCT user_id, user_fullname FROM {$CONFIG['TABLE_USERS']}, {$CONFIG['TABLE_ALBUMS']} WHERE 10000 + {$CONFIG['TABLE_USERS']}.user_id = {$CONFIG['TABLE_ALBUMS']}.category ORDER BY user_fullname ASC";
$result = db_query($sql);
if (($cat_count = mysql_num_rows($result)) > 0) {
$rowset = db_fetch_rowset($result);
foreach ($rowset as $subcat) {
$catStr .= $ident."|".$subcat['user_fullname']."|index.php?cat=". (FIRST_USER_CAT + (int) $subcat['user_id']) ."\n";
get_tree_album_data(FIRST_USER_CAT + (int) $subcat['user_id'],$ident . '.');
}
}
} else {
if ($category == USER_GAL_CAT) {
$sql = "SELECT aid,title FROM {$CONFIG['TABLE_ALBUMS']} WHERE category = $category ".$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 " .$unaliased_album_filter ." ORDER BY pos";
}
$result = db_query($sql);
if (($cat_count = mysql_num_rows($result)) > 0) {
$rowset = db_fetch_rowset($result);
foreach ($rowset as $subcat) {
$catStr .= $ident."|".htmlentities($subcat['title'])."|thumbnails.php?album=".$subcat['aid']."\n";
}
}
}
}
?>
5. Open yourtheme/template.html, put this somewhere:
{HOR_MENU}
6. Open yourtheme/theme.php, add this function:
function theme_hor_menu() {
require_once("hor_menu.php");
}
7. Find:
'{MAIN_MENU}' => theme_main_menu(),
'{ADMIN_MENU}' => theme_admin_mode_menu(),
Add:
'{HOR_MENU}' => theme_hor_menu(),