Script written by Stephen Yabziz | > Date started: 14th February 2004 | > Directory page | +-------------------------------------------------------------------------- */ define("IN_DIR",1); include "includes/inc.php"; $baseUrl='directory.php?'; if(isset($_SESSION[pages])) $per_num=$_SESSION[pages]; else $per_num=$_SESSION[pages]=1; $per_num=25; $input[s]=intval($input[s]); $cat_id=intval($input[cat]); $pathway='Home::'; if($cat_id)$where="c.parent_id='$cat_id' or c.category_id='$cat_id'"; else $where=1; /** * query category infomation */ $db->setQuery("select c.*, count(distinct g.gallery_id) as num, count(if(gps.bandwidth=0 or gps.bandwidth>=u.bandwidth,1,null)) as num1, count(distinct i.id) as num2 from category as c left join gallery as g on g.category_id=c.category_id left join images4g as i on i.gallery_id=g.gallery_id left join users as u on u.id=g.uid left join groups as gps on u.gid=gps.id where $where group by c.category_id order by c.name"); $db->query(); $rows=$db->loadRowList(); foreach($rows as $row) { if($row[parent_id]) $subcats[$row[parent_id]][]=$row; else $cats[]=$row; } if($cats) { $template->set_filenames(array( 'catlist' => 'dir.cat.html', )); foreach($cats as $cat) { if($cat[parent_id]==0&&$cat[category_id]==$cat_id) $pathway.=$cat[name]; /** * get total galleries for this cat! */ $total=$cat[num]; if($subcats[$cat[category_id]]) foreach($subcats[$cat[category_id]] as $subcat) { $total=$total+$subcat[num]; } $template->assign_block_vars('cat', array( 'category_id' =>$cat[category_id], 'name' =>$cat[name], 'description' =>$cat[description], 'total' =>$total, ) ); $i=0; if($subcats[$cat[category_id]]) foreach($subcats[$cat[category_id]] as $subcat) { $i++; $template->assign_block_vars('cat.subcat', array( 'category_id' =>$subcat[category_id], 'name' =>$subcat[name], 'description' =>$subcat[description], 'num' =>$subcat[num], 'num2' =>$subcat[num2], 'class'=>$i%2?'tdrow1':'tdrow2', ) ); if($subcat[num2]) { $db->setQuery("select i.file,i.name,i.id,i.width,i.height,s.domain,i.time,i.gallery_id from images4g as i left join gallery as g on i.gallery_id=g.gallery_id left join server as s on s.server_id=i.server_id left join users as u on u.id=g.uid left join groups as gps on u.gid=gps.id where (gps.bandwidth=0 or gps.bandwidth>=u.bandwidth) and g.category_id='$subcat[category_id]' order by i.time desc "); $db->query(); $image=$db->loadRow(); $urls=getUrl($image,array('out'=>'images.php','show'=>'view.php')); extract($urls); $template->assign_block_vars('cat.subcat.last_post',array( 'thumburl' =>$thumburl, 'galleryurl' =>$galleryurl, 'last_uploaded'=>date('m/d/y',$image[time]), )); } else { $template->assign_block_vars('cat.subcat.no_post',array()); } $total=$total+$subcat[num]; } } $template->assign_var_from_handle('inc_cat_list','catlist'); } else { $subcats2=@current($subcats); if($subcats2) foreach($subcats2 as $subcat) { if($subcat[category_id]==$cat_id) $pathway.=$subcat[name]; } } if($cat_id) { $template->set_filenames(array( 'listings' => 'dir.listings.html', )); $db->setQuery("select count(g.gallery_id) as nums from gallery as g LEFT JOIN users as u on u.id=g.uid LEFT JOIN groups as gps on u.gid=gps.id WHERE (gps.bandwidth=0 or gps.bandwidth>=u.bandwidth) and g.category_id='$cat_id' and g.status!=0 "); $db->query(); $row=$db->loadRow(); $cur_page=$input[s]/$per_num; $info=array( 'total' =>$row[nums], 'page' =>$per_num, 'cur_page' =>$cur_page, 'baseUrl' =>$baseUrl."&cat=".$cat_id, ); $pageLinks=buildPageLinks($info); $db->setQuery("select g.*,g.name as galleryname,g.name as gallery_dir,u.user ,count(distinct i.id) as imgs ,sum(i.views) as totalviews,sum(i.size) as totalsize,count(distinct c.comment_id) as totalcomments, sum(i.views) + count(distinct c.comment_id) as totals ,i.id,i.name,i.file,i.height,i.width,s.domain from gallery as g LEFT JOIN images4g as i on i.gallery_id=g.gallery_id LEFT JOIN users as u on u.id=g.uid LEFT JOIN groups as gps on u.gid=gps.id LEFT JOIN comments as c on c.img_id=i.id LEFT JOIN server as s on i.server_id=s.server_id WHERE (gps.bandwidth=0 or gps.bandwidth>=u.bandwidth) and g.category_id='$cat_id' and (i.deleted=0 or i.id is null) and g.status!=0 GROUP BY g.gallery_id ORDER BY totals DESC LIMIT $input[s],$per_num"); $db->query(); $rows=$db->loadRowList(); foreach($rows as $row) { $i++; if($i%2)$row['class']='tdrow1';else $row['class']='tdrow2'; $urls=getUrl($row,array('out'=>'images.php','show'=>'view.php')); extract($urls); $row[galleryurl]=$galleryurl; $row[thumburl]=$thumburl; $row[totalsize]=convertsize($row[totalsize]); $template->assign_block_vars('listing', $row); } $template->assign_var_from_handle('inc_gallery_listings','listings'); } showPopularGallery(); showTopGallery(); require_once("header.php"); $template->set_filenames(array( 'body' => 'directory.html' )); $template->assign_vars(array('pageLinks'=>$pageLinks,'pathway'=>$pathway)); $template->pparse('body'); include "gallery_footer.php"; ?>