Photo online sharing with DAlbum PHP software

mrbass Photos of family, friends, relatives, associates.


membo.org over 10,000 photos (back online Sep 2005)
Tips: -- click FullScreen and then Slideshow (looks better)
-- advance to next photo, press ENTER key instead of mouse clicking

Japanese Alphabet Hirgana & Katana [Mincho tiny | big] [Gothic tiny | big]


DAlbum (GPL) the best IMHO and the one I use for my photo collection.
--easy tree navigation
--recursive indexing for new photos
--generates thumbnails with GD and resized images (default 800x600)
--relatively easy to setup
--GPL (free)
--CSS for easy switching of color themes
--Optional Slideshow capability..easy to add
--built-in EXIF (shutter, camera, date, time details)

I used pbase.com from April 2000 till September 2003. I left one gallery up there for an example. Pbase.com is great if you can't figure out DAlbum and don't want to get your own website. Flickr (sep 2005) is also pretty good, however I still prefer pbase over flickr in the presentation and navigation department.

I looked at a ton of PHP photo album scripts and these were at the top of my list but behind DAlbum.
Full Screen Image Gallery Pro (pro is $20)
Coppermine requires mysql (GPL)
Gallery
(GPL) requires jhead, NetPBM or Imagemagick
wnailer ($10 for credit removal or free with credits)

Best online photo sharing sites IMHO
see tons of photo-sharing sites at Online Photo Resource Guide
pbase.com $23/yr for 300MB, $60/yr for 900MB
flickr.com $24.95/yr for unlimited storage/bandwidth, 2GB bandwith upload cap/month
fotopic.net 500MB free, premium is $8/month or $80/yr. (based in UK) unlimited space
smugmug.com 2GB bandwith/month for $29.95/yr or 4GB bandwidth/month for $49.95/yr (unlimited space)
imageevent.com 1,500 photos for $24.95/yr, person viewing can set # of columns and how many photos per page.
fotki.com $30/yr unlimited space

Static HTML thumbnailer pages
JAlbum (java based so works on windows, mac, linux, etc.)

Multi-user php photo based software
The Exhibit Engine shareware $?, person viewing can set # of columns and how many photos per page.
Gallery GPL free
PhotoPost $129
Albinator $99

DAlbum modifications
) Thanks to DAlbum, the author, for all the code and tips.
Only user-modified files are config.php, custom.php, t_index.php, t_showimg.php and custom.css

I use two of the custom modifications Slideshow and Display EXIF info inline.

/*modify custom.css */
/*changes the background when viewing an image to light black and add slideshow css */
/* Add your custom styles here */
.showImgPane
{
background-color: #222222;
}
.slideshow form
{
display: inline;
}
.slideshow form select
{
position: relative;
bottom: -2px;
}

<?
//for custom modification 'Display EXIF in line.
//added color white since I change default background to light black
<div style="color:#ffffff;font-size:8pt;white-space:nowrap;text-align:center;">    

//config/config.php changes
$g_sThumbnailXSize=150;     // thumbnail size
$g_sThumbnailYSize=150;

$g_nPicturesPerPage=16;    // Number of images per page

//part of slideshow code in config/t_showimg.php

            // Change 5 here to minimal allowed interval in seconds 
            
if ($nSlideShow<2
                
$nSlideShow=2
         

//part of slideshow code in config/custom.php

        //change 'Slide show' to 'Slideshow'
        
$ret.= '<span class="slideshow">Slideshow:&nbsp;';

        
// Number of seconds/slide to be displayed in the combo-box. 
        
$seconds=array(0,2,3,4,5,7,10,15,30,60); 


//appended after slideshow code in config/custom.php
//to prevent ALT text from displaying while hovering over buttons
//changes Index to Thumbnails and Show Details and Hide Details
function everypageCallback($sUserName=""

    global 
$lang
    
$lang['statusRight']='mrbass.org (DAlbum 1.32 b66)'
    
$lang['showIndexBtn'] = 'Thumbnails';
    
$lang['showShowDetailsBtn'] = 'EXIF';  
    
$lang['showHideDetailsBtn'] = 'EXIF'
    
$lang['showHiResBtn'] = '#size#';
    
$lang['showHiResBtnTitle'] ='Original Image';
    
$lang['showPrevBtnTitle' ] = ''
    
$lang['showNextBtnTitle'] = ''
    
$lang['showIndexBtnTitle'] = '';     
    
$lang['showImageTitleImage'] =''
    
$lang['fullScreenBtnTitle'] = '';
    
$lang['prevPageBtnTitle'] = '';
    
$lang['nextPageBtnTitle'] = '';
    
$lang['closeWindowBtnTitle'] = '';
    
$lang['showImageBtnTitle'] = '';
    


//removes Titles from Thumbnail Index and Keeps Album Titles 
function customTitle(&$object$titleDefault

      if (
$object->IsImage()) 
          return 
""
      return 
$titleDefault


//prevents slideshows from looping 
//comment out these two lines in t_showimg.php

//if (empty($url)) 
// $url=$first;

//clicking on pictures returns to index rather than next picture
//change the following in /config/t_showimg.php
<td id="showimgImageCell">
    <
a href="<?php template('ImageHref');?>">
//change to
<td id="showimgImageCell">
    <
a href="<?php template(index;);?>">

//display # of images next to album titles in navigation bar
//Family (87) Friends (23) Associates (64)
//add to config/custom.php and make sure to reindex 
class CExAlbum extends CAlbum 

     function 
GetTreeNodeCode($myID,$nParentID,$sText,$sRef
   { 
      if (
$this->m_nImages
         
$sText.="&nbsp;({$this->m_nImages})"
      return 
CAlbum::GetTreeNodeCode($myID,$nParentID,$sText,$sRef); 
   } 
}; 
function &
customCreateAlbum() 

    return new 
CExAlbum


//Computes total size used
//add to config/custom.php
$stat=array();

$f=$g_sPrivateDir "/.album_stats.dat";

$handle = @fopen ($f"rb");
if (
$handle)
{
    @
clearstatcache();
    
$size=filesize ($f);
    
$stat=unserialize(fread ($handle$size));
    
fclose ($handle);
}

if (isset(
$stat['TotalSize']))
{
   
$lang['statusLeft'].=". Total size: <B>" .       size_as_str($stat['TotalSize'])."</B>";

?>


test1

24 CSS themes all24css.zip 88KB for DAlbum released Sep 2005

To use a theme you wish upload them all or just the ones you like to your root dalbum folder where custom.css, main_blue.css, main_cyan.css, etc. currently reside.

change the following in /config/config.php

// Stylesheet to use (check DAlbum main directory *.css files for the possibilites)
$g_sStylesheet="main_normal.css";

change to
$g_sStylesheet="main24themes.css";

Upload custom.css and main24themes.css for that paticular theme.

PHP Developers: if you knew a way for end users to be able to switch themes on the fly that'd be awesome. I'd be more than willing to help out and test. Perhaps with cookie or php sessions.


Updated Sep 21, 2005


Back Home