ERROR

You installed the standalone Coppermine into your Nuke portal.
". "Please download and install a CPG Port: CPG for PostNuke OR CPG for PHPnuke
travel mpanda

travel mpanda

but treti galaxie mp3

treti galaxie mp3

fresh tweezerman tweezers cheap

tweezerman tweezers cheap

night turle excluder device in nigeria

turle excluder device in nigeria

off trevallian

trevallian

from tunkhannock court house

tunkhannock court house

life tulsa youth basketball aau wild cars

tulsa youth basketball aau wild cars

found tucson cake decor highschool musical

tucson cake decor highschool musical

sell triglicerydes

triglicerydes

offer transubstantiation appeared to contain

transubstantiation appeared to contain

lake trash removal services in ronan mt

trash removal services in ronan mt

present trend houscall

trend houscall

year tru link skokie

tru link skokie

bear trabajos de bisuteria en casa pagados

trabajos de bisuteria en casa pagados

contain trigonum of the eye

trigonum of the eye

build traditional babywear

traditional babywear

represent trilink cancer research

trilink cancer research

out transtar rebuild kits dsm

transtar rebuild kits dsm

is trends in instant cappuccino consumption

trends in instant cappuccino consumption

blue toyota 3vze ignition

toyota 3vze ignition

hurry tsgt jennifer dack

tsgt jennifer dack

carry tri cities tennessee news

tri cities tennessee news

language township rebellion lyrics rage

township rebellion lyrics rage

year travel kedougou

travel kedougou

build toy boa constrictor

toy boa constrictor

brown tv damper tunning

tv damper tunning

west toyota bainbridge ga

toyota bainbridge ga

captain trojan secm

trojan secm

paint tristen grabe

tristen grabe

silent toyota hilux surf seattle

toyota hilux surf seattle

sister tricker treating time for oconomowoc wi

tricker treating time for oconomowoc wi

very toyota celica 2zz ge

toyota celica 2zz ge

mass tracy morgan king kong

tracy morgan king kong

guess tuffy muffler romeo mi

tuffy muffler romeo mi

lay tristate outfitters

tristate outfitters

experiment transport canada fule economy

transport canada fule economy

silver tvg gulf stream park race track

tvg gulf stream park race track

color tuareg smithsonian

tuareg smithsonian

could tranter graphics

tranter graphics

shell tronds orakel januar

tronds orakel januar

sentence travel lodge duck call connecticut history

travel lodge duck call connecticut history

share triarco supplement

triarco supplement

street transcription ear piece

transcription ear piece

room trick dualsport kits

trick dualsport kits

together trip billund

trip billund

got truman hackworth

truman hackworth

expect transprt hire

transprt hire

sky tree services pruning wilmington north carolina

tree services pruning wilmington north carolina

north trend mfg salon and spa equipment

trend mfg salon and spa equipment

bell transporting a firearm in australia

transporting a firearm in australia

written tqm jamaica

tqm jamaica

island trumpet keeshond

trumpet keeshond

door travel atirro

travel atirro

step troopers drum and bugle corps

troopers drum and bugle corps

beauty trike vanity plate ideas

trike vanity plate ideas

climb tubercule bacillus

tubercule bacillus

sleep tri state hospital supply howell mi

tri state hospital supply howell mi

build toy cat with bell in paw

toy cat with bell in paw

glad toy m16 s

toy m16 s

white triangular cartilage wrist

triangular cartilage wrist

money troj proxy remove

troj proxy remove

industry transciever

transciever

moment transducer airmar

transducer airmar

oxygen tulloch castle scotland

tulloch castle scotland

rub tucsson plein aire

tucsson plein aire

general triton mermaid poster

triton mermaid poster

deep trantor sales

trantor sales

teach toyota entourage milwaukee wisconsin

toyota entourage milwaukee wisconsin

bright troma entertainment site map

troma entertainment site map

try troubleshooting residential heat recovery ventilators

troubleshooting residential heat recovery ventilators

brown triathlon singlets

triathlon singlets

milk tristeza chords

tristeza chords

present trip advisor bellagio vegas

trip advisor bellagio vegas

caught trattoria romana staten island

trattoria romana staten island

gun trailview ski lodge

trailview ski lodge

fear truetone music santa monica

truetone music santa monica

flat tractor wallies

tractor wallies

drop trawick s legal forms

trawick s legal forms

stead turlough thought

turlough thought

major toyo mud terrians

toyo mud terrians

effect trattoria timone

trattoria timone

noun trophies naperville il

trophies naperville il

under tuatara genetic research

tuatara genetic research

show trial sergeant gary clarke hampshire

trial sergeant gary clarke hampshire

wide towson travel basketball

towson travel basketball

degree trower in connecticut

trower in connecticut

sleep tuatha sparks

tuatha sparks

sell tricounty technology center

tricounty technology center

locate tusk mmabatho casino resort

tusk mmabatho casino resort

loud trojan t125

trojan t125

girl tribal leatherworking pattern

tribal leatherworking pattern

grew trucos acrilicos

trucos acrilicos

band toyota 22re head stud

toyota 22re head stud

bread travertine basketweave

travertine basketweave

hair truck accident georgia i 16

truck accident georgia i 16

got tuff ghosts starring spooky

tuff ghosts starring spooky

fast tremco 1737

tremco 1737

so treo 700 battery not charging

treo 700 battery not charging

tell trodat date stamps

trodat date stamps

could trimming lombardy poplar

trimming lombardy poplar

throw trout canapes

trout canapes

small trickers slippers

trickers slippers

chord treetop bed and breakfast

treetop bed and breakfast

heart tuff torq k62

tuff torq k62

clean tri anim blenders

tri anim blenders

spring tradoc analysis center

tradoc analysis center

stead trixie pronounced

trixie pronounced

clear turkish delight recipie

turkish delight recipie

first traviata cartagena

traviata cartagena

talk transcendentalists vs the trinity

transcendentalists vs the trinity

fell traslape de orbitales

traslape de orbitales

raise transportable homes for sale

transportable homes for sale

band trufill liquid embolic system

trufill liquid embolic system

event trumph laser

trumph laser

provide trixxy videos

trixxy videos

list traci ann oberman

traci ann oberman

engine tr250 su english carburetors

tr250 su english carburetors

stop train rides in chattanooga

train rides in chattanooga

the tubbs bullets

tubbs bullets

sleep treemart

treemart

except travel trailer door rain diverter parts

travel trailer door rain diverter parts

whose tuscora ks

tuscora ks

plant truck topper interchange

truck topper interchange

liquid tvb the wild castaway

tvb the wild castaway

least trompenaar

trompenaar

act treatment for torn epiglottis

treatment for torn epiglottis

plan trademark attorney in tulsa oklahoma

trademark attorney in tulsa oklahoma

thank truck rental mundelein

truck rental mundelein

special trigon inc new iberia la

trigon inc new iberia la

case tri city tribune cozad nebraska

tri city tribune cozad nebraska

hunt tremec tko600 transmission

tremec tko600 transmission

body trollers association

trollers association

pound tundra camper shells

tundra camper shells

gentle tuskeegee airmen memorial south carolina

tuskeegee airmen memorial south carolina

front travis pastrana gillman subaru

travis pastrana gillman subaru

sudden tubular american idol archives

tubular american idol archives

cut tuba city arizona street map

tuba city arizona street map

go turky apartments

turky apartments

teach tsitsanis

tsitsanis

clock tshaneni travel guide

tshaneni travel guide

meet trillium portland layoffs

trillium portland layoffs

station translation of english words to blackfoot

translation of english words to blackfoot

house trisun san atnonio

trisun san atnonio

instant trow consulting engineering ltd

trow consulting engineering ltd

iron troubleshooting karcher pressure washers

troubleshooting karcher pressure washers

village tulsa cng

tulsa cng

get tvb wars of in laws ii 2008

tvb wars of in laws ii 2008

hard troll pensil toppers

troll pensil toppers

some tunisia hammamet hotel emira

tunisia hammamet hotel emira

cause triangular distribution semivariance

triangular distribution semivariance

subtract translation guapa

translation guapa

sense trinny woodall uk

trinny woodall uk

father treatments and interventions for impetigo

treatments and interventions for impetigo

insect tri valley growers modesto

tri valley growers modesto

gave tsb for chevy cobalts

tsb for chevy cobalts

field tri colored charms

tri colored charms

exercise trumpf laser cutting head

trumpf laser cutting head

divide tr ramage award

tr ramage award

connect trevor limbocker

trevor limbocker

map trombocytopenia

trombocytopenia

egg tuning an saprano ukulele

tuning an saprano ukulele

modern travel kyjov

travel kyjov

capital tumbnail galleries

tumbnail galleries

guess trooper sentenced years tocchet betting ring

trooper sentenced years tocchet betting ring

syllable tuebrook

tuebrook

divide toy hauler with upstairs room

toy hauler with upstairs room

fresh tristan bowen in shelby

tristan bowen in shelby

substance truckload frt

truckload frt

is translate dulce et decorum est

translate dulce et decorum est

kept travel bad ditzenbach

travel bad ditzenbach

she trista sv wisconsin

trista sv wisconsin

fast tucker and ashoka

tucker and ashoka

insect troll statue in seattle

troll statue in seattle

knew treehouse hostels of georgia

treehouse hostels of georgia

crease trade barriers and kimchi

trade barriers and kimchi

horse tv meets rhe clark sisters

tv meets rhe clark sisters

fear tristar computers houston

tristar computers houston

object turlock sportsmen s club

turlock sportsmen s club

success trazione attrito nel confezionamento

trazione attrito nel confezionamento

plant tucks ferry oklahoma

tucks ferry oklahoma

hat trutorq associates

trutorq associates

shell tresa richardson hannibal mo

tresa richardson hannibal mo

hunt tree63 tabs

tree63 tabs

region true boardman

true boardman

office train tickets for amtrack

train tickets for amtrack

great triumph rocket iii specifications

triumph rocket iii specifications

sit treatment options for ridge resorption

treatment options for ridge resorption

group tracey edmonds biracial

tracey edmonds biracial

it tsunami sushi chesterfield

tsunami sushi chesterfield

triangle transtech trucking school

transtech trucking school

print tri states philosophy

tri states philosophy

water twenty three sheffield uk

twenty three sheffield uk

observe triathalon bmw

triathalon bmw

large trista sutter baby

trista sutter baby

piece triumph 2005 craigslist

triumph 2005 craigslist

all trenz group ltd

trenz group ltd

meant tsugaru apple mix download

tsugaru apple mix download

every triggerfish recipes

triggerfish recipes

way tunnel sous la mediteranee gibraltar

tunnel sous la mediteranee gibraltar

give transfer to computer from dcr sr62

transfer to computer from dcr sr62

consonant trumpet trilling

trumpet trilling

if travis sinclair rush

travis sinclair rush

case tuba mirum

tuba mirum

finish tumbleweed resturant

tumbleweed resturant

other tractor watertown wisconsin

tractor watertown wisconsin

produce tube vedieo

tube vedieo

occur turkey spur necklace

turkey spur necklace

fun transformers armada wallpaper

transformers armada wallpaper

store tricounty auction arthur il

tricounty auction arthur il

history trans world creations

trans world creations

hold tree of life wall hanging frieze

tree of life wall hanging frieze

atom travel trailer departure checklist

travel trailer departure checklist

ball tuscany at mohegan sun

tuscany at mohegan sun

got trudy dornfeld

trudy dornfeld

voice tru64 unix raw fs

tru64 unix raw fs

law tva harbor rights

tva harbor rights

thus tub shower enclosure doors

tub shower enclosure doors

laugh truman jba

truman jba

now trasferimento liquidi densi

trasferimento liquidi densi

heard toyota copper head gasket

toyota copper head gasket

matter transcanada highway speed limit

transcanada highway speed limit

element trego wi campgrounds

trego wi campgrounds

loud trip dedougou

trip dedougou

animal trubrite nits

trubrite nits

talk tradewinds realty san diego

tradewinds realty san diego

area townhome blaine mn

townhome blaine mn

band toyota diesel renton

toyota diesel renton

cost toxic fumes camper trailers attornies

toxic fumes camper trailers attornies

verb trip guasdualito

trip guasdualito

skill transportation to roswell from albu

transportation to roswell from albu

fresh tusting

tusting

pair tv mediaq

tv mediaq

garden trixie koontz

trixie koontz

roll trident river ridge austin

trident river ridge austin

raise trip kisengwa

trip kisengwa

close true voteur

true voteur

heat tsukune

tsukune

office tuskagee project

tuskagee project

feel tuckwiller civil war

tuckwiller civil war

end train xb 13 service manual

train xb 13 service manual

child tsonta

tsonta

ocean treeman of indonesia

treeman of indonesia

thick tunbridge wells fertility centre

tunbridge wells fertility centre

interest tuesday november bury communications pharmacists and

tuesday november bury communications pharmacists and

locate tracing an unregistered mobile

tracing an unregistered mobile

figure trout farm catskills ny

trout farm catskills ny

find tracy macnish

tracy macnish

in tpr teachers in houston

tpr teachers in houston

visit tr0 650 battery atlanta ga

tr0 650 battery atlanta ga

wide travis childers realty

travis childers realty

learn tracfone c261 codes

tracfone c261 codes

buy tuber s glenn

tuber s glenn

close trenton bridge clun

trenton bridge clun

pass tracie taylor eventing

tracie taylor eventing

modern triton 9500 3des upgrade

triton 9500 3des upgrade

an trip aubigny sur nere

trip aubigny sur nere

ready tropical escape swimwear

tropical escape swimwear

build tribal breats

tribal breats

chief townley dist

townley dist

find tuna noodle casserole low sodium recipe

tuna noodle casserole low sodium recipe

night trombold equipment company

trombold equipment company

dollar trustco cobleskill ny

trustco cobleskill ny

represent tuffy sporting goods

tuffy sporting goods

problem toy store arlington virginia clarendon

toy store arlington virginia clarendon

base tubing in vail co

tubing in vail co

noon tv scedule

tv scedule

run trip puerto cabello

trip puerto cabello

rule tracey tarlton

tracey tarlton

came truth operator 20755 left

truth operator 20755 left

among trident hilton agra

trident hilton agra

wrong toyota of waldorf murano

toyota of waldorf murano

dead tratamiento de menopausia con medicinas naturistas

tratamiento de menopausia con medicinas naturistas

material twelve dancing barbie princess coloring pages

twelve dancing barbie princess coloring pages

story trucontrol gold

trucontrol gold

original travel directions wuhu

travel directions wuhu

fine tulsa hurricane volleyball

tulsa hurricane volleyball

machine traditional resepies

traditional resepies

sand treo 755p hotsync cables

treo 755p hotsync cables

remember trevor rieger mentos intern

trevor rieger mentos intern

nor truth brand casement window operators

truth brand casement window operators

rub toyo proxes t1r review

toyo proxes t1r review

money tv commercial pantene pro v

tv commercial pantene pro v

wheel tritton tri ga600 audio xtreme 360 headset

tritton tri ga600 audio xtreme 360 headset

experience trumbower industries inc

trumbower industries inc

bed triumph motorcycles north america official

triumph motorcycles north america official

jump toyo l56

toyo l56

drink truth by joseph mozier

truth by joseph mozier

quick travel air travel finder chiang rai

travel air travel finder chiang rai

tone tv wonder 650 software

tv wonder 650 software

run transculturation american indian

transculturation american indian

crop trudell trailers

trudell trailers

lake ts830s cw filter

ts830s cw filter

round tracy pennywell

tracy pennywell

neighbor tuscan grill clifton park

tuscan grill clifton park

clear triturate protocol

triturate protocol

a truck beds bay city tx

truck beds bay city tx

supply trimble geoxm

trimble geoxm

apple tracy warner biddeford maine

tracy warner biddeford maine

air transformer core squareness

transformer core squareness

picture trompenaars model

trompenaars model

soon tsukikage ran wallpaper

tsukikage ran wallpaper

fill trivium the anthem lyrics

trivium the anthem lyrics

wheel trebuchet in the middle ages

trebuchet in the middle ages

pull treadwear 300

treadwear 300

cow trim a home

trim a home

offer tversity xbox 360 upside down

tversity xbox 360 upside down

day transcription service johnstown pa

transcription service johnstown pa

sheet transformation du caoutchouc pur tunisie

transformation du caoutchouc pur tunisie

bank tri colored ristras

tri colored ristras

page treetops resort gaylord

treetops resort gaylord

street tsh gold tube

tsh gold tube

bottom trucktrailer

trucktrailer

populate treo 650 antenna replacement

treo 650 antenna replacement

are trade name petrothene

trade name petrothene

food trimcar

trimcar

sugar tracy anderson pilates

tracy anderson pilates

as tundra biome rhythms

tundra biome rhythms

gone townsend china longton

townsend china longton

floor trust auto reddich

trust auto reddich

far truaisch

truaisch

ride tradewinds resort st pete beach florida

tradewinds resort st pete beach florida

human tree ornamints

tree ornamints

city toy hauler wide cargo area

toy hauler wide cargo area

to treemont

treemont

change trinsic telephone service richmond va

trinsic telephone service richmond va

ground triumph tr decals

triumph tr decals

after trimline vents

trimline vents

family trapolines for children

trapolines for children

change tracey buzbee birth

tracey buzbee birth

bottom true vine assembly of pentecostal church

true vine assembly of pentecostal church

table transyn

transyn

dress treatment for shrinking testicles

treatment for shrinking testicles

steam trico comfort saddle

trico comfort saddle

hand trader joew

trader joew

represent tri valley elementary school downs

tri valley elementary school downs

gas trulucks naples

trulucks naples

wrong tune up 96 chevy dulley

tune up 96 chevy dulley

spend treatment for thrombosed hemorrhoid

treatment for thrombosed hemorrhoid

are tracie kelly mprg

tracie kelly mprg

experiment travel vargarda

travel vargarda

less tsfat israel

tsfat israel

door tsst corp sh s

tsst corp sh s

are treenware antiques

treenware antiques

neck travel paganella

travel paganella

at twh solutions inc

twh solutions inc

operate trumbull county school closings

trumbull county school closings

late tri city sportsmen show

tri city sportsmen show

sugar tumor shaped like a jelly bean

tumor shaped like a jelly bean

since treo700 active syncronization error

treo700 active syncronization error

flow tuff rider horse blankets

tuff rider horse blankets

past transistor b562

transistor b562

one train travel plymouth chippenham

train travel plymouth chippenham

burn tsunami dpg

tsunami dpg

lady turkey fryer cajun boil

turkey fryer cajun boil

mark trucks are us ipswich uk

trucks are us ipswich uk

by transformer 117v to 6 3v

transformer 117v to 6 3v

fell tri toon for sale mn

tri toon for sale mn

locate turks caicos entry requirements

turks caicos entry requirements

together translin transmission line

translin transmission line

million tr goodman pro camp sports

tr goodman pro camp sports

continent trennjaeger

trennjaeger

horse trd toyota bodykit nz

trd toyota bodykit nz

subtract
"; die(); } // end check define('IN_COPPERMINE', true); define('INDEX_PHP', true); require('include/init.inc.php'); if ($CONFIG['enable_smilies']) include("include/smilies.inc.php"); /** * Local functions definition */ function html_albummenu($id) { global $template_album_admin_menu, $lang_album_admin_menu; static $template = ''; if ($template == '') { $params = array('{CONFIRM_DELETE}' => $lang_album_admin_menu['confirm_delete'], '{DELETE}' => $lang_album_admin_menu['delete'], '{MODIFY}' => $lang_album_admin_menu['modify'], '{EDIT_PICS}' => $lang_album_admin_menu['edit_pics'], ); $template = template_eval($template_album_admin_menu, $params); } $params = array('{ALBUM_ID}' => $id, ); return template_eval($template, $params); } function get_subcat_data($parent, &$cat_data, &$album_set_array, $level, $ident = '') { 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); } $result = db_query("SELECT cid, name, description, thumb FROM {$CONFIG['TABLE_CATEGORIES']} WHERE parent = '$parent' ORDER BY pos"); if (mysql_num_rows($result) > 0) { $rowset = db_fetch_rowset($result); foreach ($rowset as $subcat) { if ($subcat['cid'] == USER_GAL_CAT) { $sql = "SELECT aid FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE category>=" . FIRST_USER_CAT.$album_filter; $result = db_query($sql); $album_count = mysql_num_rows($result); while ($row = mysql_fetch_array($result)) { $album_set_array[] = $row['aid']; } // while mysql_free_result($result); $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} as p, {$CONFIG['TABLE_ALBUMS']} as a WHERE p.aid = a.aid AND category >= " . FIRST_USER_CAT.$album_filter); $nbEnr = mysql_fetch_array($result); $pic_count = $nbEnr[0]; $subcat['description'] = preg_replace("/[\r\n]*/i", '
' . $ident , bb_decode($subcat['description'])); $link = $ident . "{$subcat['name']}"; if ($album_count) { $cat_data[] = array($link, $ident . $subcat['description'], $album_count, $pic_count); $HIDE_USER_CAT = 0; } else { $HIDE_USER_CAT = 1; } } else { $unaliased_album_filter = str_replace('a.','',$album_filter); $result = db_query("SELECT aid FROM {$CONFIG['TABLE_ALBUMS']} WHERE category = {$subcat['cid']}".$unaliased_album_filter); $album_count = mysql_num_rows($result); while ($row = mysql_fetch_array($result)) { $album_set_array[] = $row['aid']; } // while mysql_free_result($result); $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} as p, {$CONFIG['TABLE_ALBUMS']} as a WHERE p.aid = a.aid AND category = {$subcat['cid']}".$album_filter); $nbEnr = mysql_fetch_array($result); mysql_free_result($result); $pic_count = $nbEnr[0]; if ($subcat['thumb']>0) { $sql = "SELECT filepath, filename, url_prefix, pwidth, pheight ". "FROM {$CONFIG['TABLE_PICTURES']} ". "WHERE pid='{$subcat['thumb']}'".$pic_filter; $result = db_query($sql); if (mysql_num_rows($result)) { $picture = mysql_fetch_array($result); mysql_free_result($result); $pic_url = get_pic_url($picture, 'thumb'); if (!is_image($picture['filename'])) { $image_info = getimagesize($pic_url); $picture['pwidth'] = $image_info[0]; $picture['pheight'] = $image_info[1]; } $image_size = compute_img_size($picture['pwidth'], $picture['pheight'], $CONFIG['alb_list_thumb_size']); $user_thumb = "\"\""; $user_thumb = "".$user_thumb.""; } }else{ $user_thumb =""; } $subcat['name'] = $subcat['name']; $subcat['description'] = preg_replace("/[\r\n]*/i", '
', bb_decode($subcat['description'])); $link = "{$subcat['name']}"; $user_thumb = $ident.$user_thumb; if ($pic_count == 0 && $album_count == 0) { $user_thumb = $ident; $cat_data[] = array($link, $subcat['description'],'cat_thumb' =>$user_thumb); } else { // Check if you need to show subcat_level if ($level == $CONFIG['subcat_level']) { $cat_albums = list_cat_albums($subcat['cid']); } else { $cat_albums = ''; } $cat_data[] = array($link, $subcat['description'], $album_count, $pic_count, 'cat_albums' => $cat_albums,'cat_thumb' =>$user_thumb); } } if ($level > 1) get_subcat_data($subcat['cid'], $cat_data, $album_set_array, $level -1, $ident . ""); } } } // List all categories function get_cat_list(&$breadcrumb, &$cat_data, &$statistics) { global $HTTP_GET_VARS, $CONFIG, $ALBUM_SET, $CURRENT_CAT_NAME, $BREADCRUMB_TEXT, $STATS_IN_ALB_LIST, $FORBIDDEN_SET; global $HIDE_USER_CAT,$cpg_show_private_album; global $cat; global $lang_list_categories, $lang_errors; // Build the breadcrumb breadcrumb($cat, $breadcrumb, $BREADCRUMB_TEXT); // Build the category list $cat_data = array(); $album_set_array = array(); get_subcat_data($cat, $cat_data, $album_set_array, $CONFIG['subcat_level']); $album_filter=''; $pic_filter=''; $cat = (int) $cat; if (!empty($FORBIDDEN_SET) && !$cpg_show_private_album) { $album_filter = ' and '.str_replace('p.','a.',$FORBIDDEN_SET); $pic_filter = ' and '.$FORBIDDEN_SET; } // Add the albums in the current category to the album set //if ($cat) { if ($cat == USER_GAL_CAT) { $sql = "SELECT aid FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE category >= " . FIRST_USER_CAT.$album_filter; $result = db_query($sql); } else { $sql = "SELECT aid FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE category = '$cat'".$album_filter; $result = db_query($sql); } while ($row = mysql_fetch_array($result)) { $album_set_array[] = $row['aid']; } // while mysql_free_result($result); //} if (count($album_set_array)&&$cat) { $set = ''; foreach ($album_set_array as $album) $set .= $album . ','; $set = substr($set, 0, -1); $current_album_set = "AND aid IN ($set) "; $ALBUM_SET .= $current_album_set; } elseif ($cat) { $current_album_set = "AND aid IN (-1) "; $ALBUM_SET .= $current_album_set; } // Gather gallery statistics if ($cat == 0) { $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE 1".$album_filter); $nbEnr = mysql_fetch_array($result); $album_count = $nbEnr[0]; mysql_free_result($result); $sql = "SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} as p ". 'LEFT JOIN '.$CONFIG['TABLE_ALBUMS'].' as a '. 'ON a.aid=p.aid '. 'WHERE 1'.$pic_filter; $result = db_query($sql); $nbEnr = mysql_fetch_array($result); $picture_count = $nbEnr[0]; mysql_free_result($result); $sql = "SELECT count(*) FROM {$CONFIG['TABLE_COMMENTS']} as c ". 'LEFT JOIN '.$CONFIG['TABLE_PICTURES'].' as p '. 'ON c.pid=p.pid '. 'LEFT JOIN '.$CONFIG['TABLE_ALBUMS'].' as a '. 'ON a.aid=p.aid '. 'WHERE 1'.$pic_filter; $result = db_query($sql); $nbEnr = mysql_fetch_array($result); $comment_count = $nbEnr[0]; mysql_free_result($result); $sql = "SELECT count(*) FROM {$CONFIG['TABLE_CATEGORIES']} WHERE 1"; $result = db_query($sql); $nbEnr = mysql_fetch_array($result); $cat_count = $nbEnr[0] - $HIDE_USER_CAT; mysql_free_result($result); $sql = "SELECT sum(hits) FROM {$CONFIG['TABLE_PICTURES']} as p ". 'LEFT JOIN '.$CONFIG['TABLE_ALBUMS'].' as a '. 'ON p.aid=a.aid '. 'WHERE 1'.$pic_filter; $result = db_query($sql); $nbEnr = mysql_fetch_array($result); $hit_count = (int)$nbEnr[0]; mysql_free_result($result); if (count($cat_data)) { $statistics = strtr($lang_list_categories['stat1'], array('[pictures]' => $picture_count, '[albums]' => $album_count, '[cat]' => $cat_count, '[comments]' => $comment_count, '[views]' => $hit_count)); } else { $STATS_IN_ALB_LIST = true; $statistics = strtr($lang_list_categories['stat3'], array('[pictures]' => $picture_count, '[albums]' => $album_count, '[comments]' => $comment_count, '[views]' => $hit_count)); } } elseif ($cat >= FIRST_USER_CAT && $ALBUM_SET) { $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_ALBUMS']} WHERE 1 $current_album_set"); $nbEnr = mysql_fetch_array($result); $album_count = $nbEnr[0]; mysql_free_result($result); $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1 $current_album_set"); $nbEnr = mysql_fetch_array($result); $picture_count = $nbEnr[0]; mysql_free_result($result); $result = db_query("SELECT sum(hits) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1 $current_album_set"); $nbEnr = mysql_fetch_array($result); $hit_count = (int)$nbEnr[0]; mysql_free_result($result); $statistics = strtr($lang_list_categories['stat2'], array('[pictures]' => $picture_count, '[albums]' => $album_count, '[views]' => $hit_count)); } else { $statistics = ''; } } function list_users() { global $CONFIG, $PAGE, $FORBIDDEN_SET; global $lang_list_users, $lang_errors, $template_user_list_info_box, $cpg_show_private_album; if (defined('UDB_INTEGRATION')) { $result = udb_list_users_query($user_count); } else { // $sql = "SELECT user_id," . " user_name," . " COUNT(DISTINCT a.aid) as alb_count," . " COUNT(DISTINCT pid) as pic_count," . " MAX(pid) as thumb_pid " . "FROM {$CONFIG['TABLE_USERS']} AS u " . "INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS a ON category = " . FIRST_USER_CAT . " + user_id " . "INNER JOIN {$CONFIG['TABLE_PICTURES']} AS p ON p.aid = a.aid " . "WHERE approved = 'YES' " . "$FORBIDDEN_SET " . "GROUP BY user_id " . "ORDER BY user_name "; // Fixed correct album count DJMaze $sql = "SELECT user_id, " . "user_name, " . "COUNT(DISTINCT a.aid) as alb_count, " . "COUNT(DISTINCT pid) as pic_count, " . "MAX(pid) as thumb_pid " . "FROM {$CONFIG['TABLE_USERS']} AS u " . "INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS a ON category = " . FIRST_USER_CAT . " + user_id " . "LEFT JOIN {$CONFIG['TABLE_PICTURES']} AS p ON (p.aid = a.aid AND approved = 'YES') "; if ($FORBIDDEN_SET != "" && !$cpg_show_private_album) $sql .= "WHERE $FORBIDDEN_SET "; $sql .= "GROUP BY user_id " . "ORDER BY user_name"; $result = db_query($sql); $user_count = mysql_num_rows($result); } if (!$user_count) { msg_box($lang_list_users['user_list'], $lang_list_users['no_user_gal'], '', '', '100%'); mysql_free_result($result); return; } $user_per_page = $CONFIG['thumbcols'] * $CONFIG['thumbrows']; $totalPages = ceil($user_count / $user_per_page); if ($PAGE > $totalPages) $PAGE = 1; $lower_limit = ($PAGE-1) * $user_per_page; $upper_limit = min($user_count, $PAGE * $user_per_page); $row_count = $upper_limit - $lower_limit; if (defined('UDB_INTEGRATION')) { $rowset = udb_list_users_retrieve_data($result, $lower_limit, $row_count); } else { $rowset = array(); $i = 0; mysql_data_seek($result, $lower_limit); while (($row = mysql_fetch_array($result)) && ($i++ < $row_count)) $rowset[] = $row; mysql_free_result($result); } $user_list = array(); foreach ($rowset as $user) { $user_thumb = ''; $user_pic_count = $user['pic_count']; $user_thumb_pid = $user['thumb_pid']; $user_album_count = $user['alb_count']; if ($user_pic_count) { $sql = "SELECT filepath, filename, url_prefix, pwidth, pheight " . "FROM {$CONFIG['TABLE_PICTURES']} " . "WHERE pid='$user_thumb_pid'"; $result = db_query($sql); if (mysql_num_rows($result)) { $picture = mysql_fetch_array($result); mysql_free_result($result); $pic_url = get_pic_url($picture, 'thumb'); if (!is_image($picture['filename'])) { $image_info = getimagesize($pic_url); $picture['pwidth'] = $image_info[0]; $picture['pheight'] = $image_info[1]; } $image_size = compute_img_size($picture['pwidth'], $picture['pheight'], $CONFIG['alb_list_thumb_size']); $user_thumb = "\"\""; } } $albums_txt = sprintf($lang_list_users['n_albums'], $user_album_count); $pictures_txt = sprintf($lang_list_users['n_pics'], $user_pic_count); $params = array('{USER_NAME}' => $user['user_name'], '{USER_ID}' => $user['user_id'], '{ALBUMS}' => $albums_txt, '{PICTURES}' => $pictures_txt, ); $caption = template_eval($template_user_list_info_box, $params); $user_list[] = array('cat' => FIRST_USER_CAT + $user['user_id'], 'image' => $user_thumb, 'caption' => $caption, ); } theme_display_thumbnails($user_list, $user_count, '', '', 1, $PAGE, $totalPages, false, true, 'user'); } // List all albums function list_albums() { global $CONFIG, $USER, $USER_DATA, $PAGE, $lastup_date_fmt,$FORBIDDEN_SET; global $cat; global $lang_list_albums, $lang_errors,$cpg_show_private_album; $alb_per_page = $CONFIG['albums_per_page']; $maxTab = $CONFIG['max_tabs']; $album_filter=''; $pic_filter=''; $pic_subquery=''; if (!empty($FORBIDDEN_SET) && !$cpg_show_private_album) { $album_filter = ' and '.str_replace('p.','a.',$FORBIDDEN_SET); $pic_filter = ' and '.$FORBIDDEN_SET; } $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE category = '$cat'".$album_filter); $nbEnr = mysql_fetch_array($result); $nbAlb = $nbEnr[0]; mysql_free_result($result); if (!$nbAlb) return; $totalPages = ceil($nbAlb / $alb_per_page); if ($PAGE > $totalPages) $PAGE = 1; $lower_limit = ($PAGE-1) * $alb_per_page; $upper_limit = min($nbAlb, $PAGE * $alb_per_page); $limit = "LIMIT " . $lower_limit . "," . ($upper_limit - $lower_limit); $sql = 'SELECT a.aid, a.title, a.description, visibility, filepath, '. 'filename, url_prefix, pwidth, pheight '. 'FROM '.$CONFIG['TABLE_ALBUMS'].' as a '. 'LEFT JOIN '.$CONFIG['TABLE_PICTURES'].' as p '. 'ON a.thumb=p.pid '. 'WHERE category='.$cat.$album_filter. ' ORDER BY a.pos '. $limit; $alb_thumbs_q = db_query($sql); $alb_thumbs = db_fetch_rowset($alb_thumbs_q); mysql_free_result($alb_thumbs_q); $disp_album_count = count($alb_thumbs); $album_set = ''; foreach($alb_thumbs as $value) { $album_set .= $value['aid'] . ', '; } $album_set = '(' . substr($album_set, 0, -2) . ')'; $sql = "SELECT aid, count(pid) as pic_count, max(pid) as last_pid, max(ctime) as last_upload ". "FROM {$CONFIG['TABLE_PICTURES']} ". "WHERE aid IN $album_set AND approved = 'YES' ". "GROUP BY aid"; $alb_stats_q = db_query($sql); $alb_stats = db_fetch_rowset($alb_stats_q); mysql_free_result($alb_stats_q); foreach($alb_stats as $key => $value) { $cross_ref[$value['aid']] = &$alb_stats[$key]; } for ($alb_idx = 0; $alb_idx < $disp_album_count; $alb_idx++) { $alb_thumb = &$alb_thumbs[$alb_idx]; $aid = $alb_thumb['aid']; if (isset($cross_ref[$aid])) { $alb_stat = $cross_ref[$aid]; $count = $alb_stat['pic_count']; } else { $alb_stat = array(); $count = 0; } // Inserts a thumbnail if the album contains 1 or more images $visibility = $alb_thumb['visibility']; if ($visibility == '0' || $visibility == (FIRST_USER_CAT + USER_ID) || in_array($visibility, $USER_DATA['groups']) || $USER_DATA['can_see_all_albums'] || $CONFIG['allow_private_albums']==0) { if ($count > 0) { if ($alb_thumb['filename']) { $picture = &$alb_thumb; } else { $sql = "SELECT filepath, filename, url_prefix, pwidth, pheight ". "FROM {$CONFIG['TABLE_PICTURES']} ". "WHERE pid='{$alb_stat['last_pid']}'"; $result = db_query($sql); $picture = mysql_fetch_array($result); mysql_free_result($result); } $pic_url = get_pic_url($picture, 'thumb'); if (!is_image($picture['filename'])) { $image_info = getimagesize($pic_url); $picture['pwidth'] = $image_info[0]; $picture['pheight'] = $image_info[1]; } $image_size = compute_img_size($picture['pwidth'], $picture['pheight'], $CONFIG['alb_list_thumb_size']); $alb_list[$alb_idx]['thumb_pic'] = "\"{$picture['filename']}\""; } else { // Inserts an empty thumbnail if the album contains 0 images $image_size = compute_img_size(100, 75, $CONFIG['alb_list_thumb_size']); $alb_list[$alb_idx]['thumb_pic'] = "\"\""; } } elseif ($CONFIG['show_private']) { $image_size = compute_img_size(100, 75, $CONFIG['alb_list_thumb_size']); $alb_list[$alb_idx]['thumb_pic'] = "\"\""; } // Prepare everything if ($visibility == '0' || $visibility == (FIRST_USER_CAT + USER_ID) || in_array($visibility, $USER_DATA['groups']) || $USER_DATA['can_see_all_albums'] || $CONFIG['allow_private_albums']==0) { $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : ''; $alb_list[$alb_idx]['aid'] = $alb_thumb['aid']; $alb_list[$alb_idx]['album_title'] = $alb_thumb['title']; $alb_list[$alb_idx]['album_desc'] = bb_decode($alb_thumb['description']); $alb_list[$alb_idx]['pic_count'] = $count; $alb_list[$alb_idx]['last_upl'] = $last_upload_date; $alb_list[$alb_idx]['album_info'] = sprintf($lang_list_albums['n_pictures'], $count) . ($count ? sprintf($lang_list_albums['last_added'], $last_upload_date) : ""); $alb_list[$alb_idx]['album_adm_menu'] = (GALLERY_ADMIN_MODE || (USER_ADMIN_MODE && $cat == USER_ID + FIRST_USER_CAT)) ? html_albummenu($alb_thumb['aid']) : ' '; } elseif ($CONFIG['show_private']) { // uncomment this else block to show private album description $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : ''; $alb_list[$alb_idx]['aid'] = $alb_thumb['aid']; $alb_list[$alb_idx]['album_title'] = $alb_thumb['title']; $alb_list[$alb_idx]['album_desc'] = bb_decode($alb_thumb['description']); $alb_list[$alb_idx]['pic_count'] = $count; $alb_list[$alb_idx]['last_upl'] = $last_upload_date; $alb_list[$alb_idx]['album_info'] = sprintf($lang_list_albums['n_pictures'], $count) . ($count ? sprintf($lang_list_albums['last_added'], $last_upload_date) : ""); $alb_list[$alb_idx]['album_adm_menu'] = (GALLERY_ADMIN_MODE || (USER_ADMIN_MODE && $cat == USER_ID + FIRST_USER_CAT)) ? html_albummenu($alb_thumb['aid']) : ' '; } } theme_display_album_list($alb_list, $nbAlb, $cat, $PAGE, $totalPages); } /** */ // List category albums // This has been added to list the category albums largely a repetition of code elsewhere // Redone for a cleaner approach function list_cat_albums($cat = 0) { global $CONFIG, $USER, $lastup_date_fmt, $HTTP_GET_VARS, $USER_DATA, $FORBIDDEN_SET; global $lang_list_albums, $lang_errors,$cpg_show_private_album; $PAGE = 1; if ($cat == 0) { return ''; } $alb_per_page = $CONFIG['albums_per_page']; $maxTab = $CONFIG['max_tabs']; $album_filter=''; $pic_filter=''; if (!empty($FORBIDDEN_SET) && !$cpg_show_private_album) { $album_filter = ' and '.str_replace('p.','a.',$FORBIDDEN_SET); $pic_filter = ' and '.$FORBIDDEN_SET; } $sql = "SELECT count(*) FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE category = '$cat'".$album_filter; $result = db_query($sql); $nbEnr = mysql_fetch_array($result); $nbAlb = $nbEnr[0]; mysql_free_result($result); if ($nbAlb == 0) { return; } $totalPages = ceil($nbAlb / $alb_per_page); if ($PAGE > $totalPages) $PAGE = 1; $lower_limit = ($PAGE-1) * $alb_per_page; $upper_limit = min($nbAlb, $PAGE * $alb_per_page); $limit = "LIMIT " . $lower_limit . "," . ($upper_limit - $lower_limit); /* $sql = "SELECT a.aid, a.title, a.description, visibility, filepath, ". "filename, url_prefix, pwidth, pheight ". "FROM {$CONFIG['TABLE_ALBUMS']} as a ". "LEFT JOIN {$CONFIG['TABLE_PICTURES']} as p ON thumb=pid ". "WHERE category = $cat ORDER BY a.pos ".$limit; */ $sql = 'SELECT a.aid, a.title, a.description, visibility, filepath, '. 'filename, url_prefix, pwidth, pheight '. 'FROM '.$CONFIG['TABLE_ALBUMS'].' as a '. 'LEFT JOIN '.$CONFIG['TABLE_PICTURES'].' as p '. 'ON a.thumb=p.pid '. 'WHERE category='.$cat.$album_filter. ' ORDER BY a.pos '. $limit; $alb_thumbs_q = db_query($sql); $alb_thumbs = db_fetch_rowset($alb_thumbs_q); mysql_free_result($alb_thumbs_q); $disp_album_count = count($alb_thumbs); $album_set = ''; foreach($alb_thumbs as $value) { $album_set .= $value['aid'] . ', '; } $album_set = '(' . substr($album_set, 0, -2) . ')'; $sql = "SELECT aid, count(pid) as pic_count, max(pid) as last_pid, max(ctime) as last_upload ". "FROM {$CONFIG['TABLE_PICTURES']} ". "WHERE aid IN $album_set AND approved = 'YES' ". "GROUP BY aid"; $alb_stats_q = db_query($sql); $alb_stats = db_fetch_rowset($alb_stats_q); mysql_free_result($alb_stats_q); foreach($alb_stats as $key => $value) { $cross_ref[$value['aid']] = &$alb_stats[$key]; } for ($alb_idx = 0; $alb_idx < $disp_album_count; $alb_idx++) { $alb_thumb = &$alb_thumbs[$alb_idx]; $aid = $alb_thumb['aid']; if (isset($cross_ref[$aid])) { $alb_stat = $cross_ref[$aid]; $count = $alb_stat['pic_count']; } else { $alb_stat = array(); $count = 0; } // Inserts a thumbnail if the album contains 1 or more images $visibility = $alb_thumb['visibility']; if ($visibility == '0' || $visibility == (FIRST_USER_CAT + USER_ID) || in_array($visibility, $USER_DATA['groups']) || $USER_DATA['can_see_all_albums'] || $CONFIG['allow_private_albums']==0) { // test for visibility if ($count > 0) { // Inserts a thumbnail if the album contains 1 or more images if ($alb_thumb['filename']) { $picture = &$alb_thumb; } else { $sql = "SELECT filepath, filename, url_prefix, pwidth, pheight " . "FROM {$CONFIG['TABLE_PICTURES']} " . "WHERE pid='{$alb_stat['last_pid']}'"; $result = db_query($sql); $picture = mysql_fetch_array($result); mysql_free_result($result); } $pic_url = get_pic_url($picture, 'thumb'); if (!is_image($picture['filename'])) { $image_info = getimagesize($pic_url); $picture['pwidth'] = $image_info[0]; $picture['pheight'] = $image_info[1]; } $image_size = compute_img_size($picture['pwidth'], $picture['pheight'], $CONFIG['alb_list_thumb_size']); $alb_list[$alb_idx]['thumb_pic'] = "\"{$picture['filename']}\""; } else { // Inserts an empty thumbnail if the album contains 0 images $image_size = compute_img_size(100, 75, $CONFIG['alb_list_thumb_size']); $alb_list[$alb_idx]['thumb_pic'] = "\"\""; } } elseif ($CONFIG['show_private']) { $image_size = compute_img_size(100, 75, $CONFIG['alb_list_thumb_size']); $alb_list[$alb_idx]['thumb_pic'] = "\"\""; } // Prepare everything if ($visibility == '0' || $visibility == (FIRST_USER_CAT + USER_ID) || in_array($visibility, $USER_DATA['groups']) || $USER_DATA['can_see_all_albums']) { $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : ''; $alb_list[$alb_idx]['aid'] = $alb_thumb['aid']; $alb_list[$alb_idx]['album_title'] = $alb_thumb['title']; $alb_list[$alb_idx]['album_desc'] = bb_decode($alb_thumb['description']); $alb_list[$alb_idx]['pic_count'] = $count; $alb_list[$alb_idx]['last_upl'] = $last_upload_date; $alb_list[$alb_idx]['album_info'] = sprintf($lang_list_albums['n_pictures'], $count) . ($count ? sprintf($lang_list_albums['last_added'], $last_upload_date) : ""); $alb_list[$alb_idx]['album_adm_menu'] = (GALLERY_ADMIN_MODE || (USER_ADMIN_MODE && $cat == USER_ID + FIRST_USER_CAT)) ? html_albummenu($alb_thumb['aid']) : ''; } elseif ($CONFIG['show_private']) { // uncomment this else block to show private album description $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : ''; $alb_list[$alb_idx]['aid'] = $alb_thumb['aid']; $alb_list[$alb_idx]['album_title'] = $alb_thumb['title']; $alb_list[$alb_idx]['album_desc'] = bb_decode($alb_thumb['description']); $alb_list[$alb_idx]['pic_count'] = $count; $alb_list[$alb_idx]['last_upl'] = $last_upload_date; $alb_list[$alb_idx]['album_info'] = sprintf($lang_list_albums['n_pictures'], $count) . ($count ? sprintf($lang_list_albums['last_added'], $last_upload_date) : ""); $alb_list[$alb_idx]['album_adm_menu'] = (GALLERY_ADMIN_MODE || (USER_ADMIN_MODE && $cat == USER_ID + FIRST_USER_CAT)) ? html_albummenu($alb_thumb['aid']) : ''; } } ob_start(); theme_display_album_list_cat($alb_list, $nbAlb, $cat, $PAGE, $totalPages); $cat_albums = ob_get_contents(); ob_end_clean(); return $cat_albums; } /** */ /** * Main code */ if (isset($HTTP_GET_VARS['page'])) { $PAGE = max((int)$HTTP_GET_VARS['page'], 1); $USER['lap'] = $PAGE; } elseif (isset($USER['lap'])) { $PAGE = max((int)$USER['lap'], 1); } else { $PAGE = 1; } if (isset($HTTP_GET_VARS['cat'])) { $cat = (int)$HTTP_GET_VARS['cat']; } // Gather data for categories $breadcrumb = ''; $cat_data = array(); $statistics = ''; $STATS_IN_ALB_LIST = false; $cpg_show_private_album = ($CONFIG['allow_private_albums'])?($CONFIG['show_private']):(true); get_cat_list($breadcrumb, $cat_data, $statistics); pageheader($BREADCRUMB_TEXT ? $BREADCRUMB_TEXT : $lang_index_php['welcome']); $elements = preg_split("|/|", $CONFIG['main_page_layout'], -1, PREG_SPLIT_NO_EMPTY); foreach ($elements as $element) { if (preg_match("/(\w+),*(\d+)*/", $element, $matches)) switch ($matches[1]) { case 'breadcrumb': // Added breadcrumb as a separate listable block from config if (($breadcrumb != '' || count($cat_data) > 0) && $cat !=0 ) theme_display_breadcrumb($breadcrumb, $cat_data); break; case 'catlist': if ($breadcrumb != '' || count($cat_data) > 0) theme_display_cat_list($breadcrumb, $cat_data, $statistics); if (isset($cat) && $cat == USER_GAL_CAT) list_users(); flush(); break; case 'alblist': list_albums(); flush(); break; case 'random': display_thumbnails('random', $cat, 1, $CONFIG['thumbcols'], max(1, $matches[2]), false); flush(); break; case 'lastup': display_thumbnails('lastup', $cat, 1, $CONFIG['thumbcols'], max(1, $matches[2]), false); flush(); break; case 'lastalb': display_thumbnails('lastalb', $cat, 1, $CONFIG['thumbcols'], max(1, $matches[2]), false); break; case 'topn': display_thumbnails('topn', $cat, 1, $CONFIG['thumbcols'], max(1, $matches[2]), false); flush(); break; case 'toprated': display_thumbnails('toprated', $cat, 1, $CONFIG['thumbcols'], max(1, $matches[2]), false); flush(); break; case 'lastcom': display_thumbnails('lastcom', $cat, 1, $CONFIG['thumbcols'], max(1, $matches[2]), false); flush(); break; case 'lasthits': display_thumbnails('lasthits', $cat, 1, $CONFIG['thumbcols'], max(1, $matches[2]), false); flush(); break; case 'anycontent': if ($cat == 0) { include('anycontent.php'); } flush(); break; } } pagefooter(); ob_end_flush(); // Speed-up the random image query by 'keying' the image table if (time() - $CONFIG['randpos_interval'] > 86400) { $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1"); $nbEnr = mysql_fetch_array($result); mysql_free_result($result); $pic_count = $nbEnr[0]; $granularity = floor($pic_count / RANDPOS_MAX_PIC); $result = db_query("UPDATE {$CONFIG['TABLE_PICTURES']} SET randpos = ROUND(RAND()*$granularity) WHERE 1"); $result = db_query("UPDATE {$CONFIG['TABLE_CONFIG']} SET value = '" . time() . "' WHERE name = 'randpos_interval'"); } ?>