ERROR

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

dallas pianist alfredo

multiply website for bed bath and beyound

website for bed bath and beyound

yard motivational quotes on salaries

motivational quotes on salaries

heard chritiano renaldo

chritiano renaldo

what hwy 347 maricopa arizona

hwy 347 maricopa arizona

feed carlos hughes jr esquire

carlos hughes jr esquire

shape ilmainen puhelinluettelo

ilmainen puhelinluettelo

gold fitted brown leather jacket lambskin

fitted brown leather jacket lambskin

nature los angeles county sheriff deputy greer

los angeles county sheriff deputy greer

through 62411 weather

62411 weather

valley who invented the dusting of fingerprints

who invented the dusting of fingerprints

suffix windshield bag for memphis shades windshields

windshield bag for memphis shades windshields

mix janicijevic photo

janicijevic photo

to facservices

facservices

divide pensafe

pensafe

event whitehorse motorcycle gear

whitehorse motorcycle gear

dear micky mouse rom

micky mouse rom

train quail fire dept

quail fire dept

way gali pronounced

gali pronounced

provide drug testing rocklin california

drug testing rocklin california

do jules tucson anonymous

jules tucson anonymous

ready lalo edouard victoire antoine

lalo edouard victoire antoine

arm diane deciccio

diane deciccio

value sumter national forest newberry south carolina

sumter national forest newberry south carolina

play adagio and tarantella

adagio and tarantella

five 2007 moto guzzi breva v1100 review

2007 moto guzzi breva v1100 review

clock fish creek wisconsin schools

fish creek wisconsin schools

play vn800 valcan mufflers

vn800 valcan mufflers

she messianic miracles found in tanach

messianic miracles found in tanach

want evrett

evrett

much antique cassolettes

antique cassolettes

valley toad the wet sprocket and nightengale

toad the wet sprocket and nightengale

cook viking range dwg

viking range dwg

effect unique ear wires

unique ear wires

king life of lyda newman

life of lyda newman

carry used dixon mowers

used dixon mowers

eye 1800hg gateway user guide

1800hg gateway user guide

hour colorado springs sher

colorado springs sher

remember bonnie brae pizza

bonnie brae pizza

except sunburnt lauren

sunburnt lauren

element sun unix jumpstart

sun unix jumpstart

determine diane von furstenberg brown abstract luggage

diane von furstenberg brown abstract luggage

be cattlemens restaurant selma california

cattlemens restaurant selma california

off surf fishing in ocean city nj

surf fishing in ocean city nj

about svea 123 camp stove

svea 123 camp stove

tube phenol based products

phenol based products

difficult fit center massam

fit center massam

said isabella county fairgrounds

isabella county fairgrounds

exercise 12 alternator adaptor ford

12 alternator adaptor ford

straight music shop southington ct

music shop southington ct

equal stage syche

stage syche

opposite roger tenbrook

roger tenbrook

pound lorna hot fix crystals

lorna hot fix crystals

has turning delrin

turning delrin

send solid white apbt colby ukc

solid white apbt colby ukc

death exotic danceware galleries

exotic danceware galleries

ask drying herbs with food dehydrator

drying herbs with food dehydrator

always resplendant

resplendant

circle digitrex dsc 1300 drivers

digitrex dsc 1300 drivers

huge timeline of ramses ii

timeline of ramses ii

space hirschfeld galleries st louis

hirschfeld galleries st louis

hold ml visa rewards

ml visa rewards

suit quiklok ws500

quiklok ws500

serve mccolman racing

mccolman racing

smile clifford stubbers

clifford stubbers

food bid tabulations wisconsin water main staking

bid tabulations wisconsin water main staking

capital cohiba s

cohiba s

record buy shower curtain shamu

buy shower curtain shamu

kept fishfinder instruction

fishfinder instruction

second pae password recovery

pae password recovery

populate website of geopetrol

website of geopetrol

modern 1924 kentucky derby winner book

1924 kentucky derby winner book

deep arabella hermanus

arabella hermanus

weather daltile soap dish

daltile soap dish

wind trojan ad awaere

trojan ad awaere

friend bootsies philadelphia

bootsies philadelphia

five women s slendertone flex abdominal toning system

women s slendertone flex abdominal toning system

decimal robotic cnc 2

robotic cnc 2

path 3 8x28 stainless steel hardware

3 8x28 stainless steel hardware

measure pvi pronounced

pvi pronounced

above hermann fauser sculptor

hermann fauser sculptor

house sette osteria washington dc

sette osteria washington dc

moon skin rash monistat

skin rash monistat

much polonia bancorp

polonia bancorp

fig hatachi deskstar hdt722516dlat80

hatachi deskstar hdt722516dlat80

kind hamada 500 parts

hamada 500 parts

deal r a f industries philadelphia

r a f industries philadelphia

earth sig p229 truglo sights

sig p229 truglo sights

toward tim wales fredericton b c

tim wales fredericton b c

egg nathan buttars

nathan buttars

space golden gate trailer park greenbrae

golden gate trailer park greenbrae

she age to get a puppy neutered

age to get a puppy neutered

through tom gray tgs

tom gray tgs

question kiom yahoo

kiom yahoo

shop teleport homer

teleport homer

very sagan demon possession ufo abduction

sagan demon possession ufo abduction

special sheng nong

sheng nong

shell hgtv how to install tile floor

hgtv how to install tile floor

plain wackenhut security and nv

wackenhut security and nv

near collum thumb splint

collum thumb splint

shore xyron replacement cartridges

xyron replacement cartridges

city medco lost mail

medco lost mail

silver orgel n ser 1734

orgel n ser 1734

sharp kilkhampton school

kilkhampton school

ground lodging fairbury nebraska

lodging fairbury nebraska

place gereon schepers

gereon schepers

differ steve kelley bowie maryland

steve kelley bowie maryland

clear town of greybull wyoming

town of greybull wyoming

contain cabrini retreat center

cabrini retreat center

turn tetratec pump manual

tetratec pump manual

bear bellwether consulting group washington

bellwether consulting group washington

gun kyoto honorific

kyoto honorific

hill parker air cly phd

parker air cly phd

young stetson flower goft shop

stetson flower goft shop

market h3 hummer decals

h3 hummer decals

thin scare light for campers

scare light for campers

chord prolonged qtc

prolonged qtc

for t pipe

t pipe

machine bob dennison design

bob dennison design

practice cheese montaldo

cheese montaldo

broke k state baby clothes

k state baby clothes

less modify cuecats

modify cuecats

result evolution of the football helmet

evolution of the football helmet

tall te pedica

te pedica

give hd carbureator

hd carbureator

south durham agency cartersville georgia

durham agency cartersville georgia

will sro video kansas city

sro video kansas city

inch satya jyoti cultural sabha

satya jyoti cultural sabha

anger cumo tires

cumo tires

dress gio checchi

gio checchi

burn soy aroma melts

soy aroma melts

element tres leche doughnut recipe

tres leche doughnut recipe

word honeywell power pedistal

honeywell power pedistal

blow 420a head kit

420a head kit

spell aunt becky quilt

aunt becky quilt

necessary lacs color uf journal pub

lacs color uf journal pub

solve charlies used cars in augusta maine

charlies used cars in augusta maine

human homespring residential service

homespring residential service

quick holiday cottage self catering weymouth

holiday cottage self catering weymouth

person lawrence brown myrtle

lawrence brown myrtle

motion time and strike lyre banjo clock

time and strike lyre banjo clock

single watermark little gaint lighting

watermark little gaint lighting

wear congressional coin with silver platnum

congressional coin with silver platnum

low portland public schols

portland public schols

ball baycheck pro

baycheck pro

no turok weapons information

turok weapons information

fun lenox clayworks

lenox clayworks

want austin waterman greeley

austin waterman greeley

be t shirt screenprint hagerstown md

t shirt screenprint hagerstown md

note phone number for lyman gunsight company

phone number for lyman gunsight company

train masses pastries berkeley

masses pastries berkeley

branch elyssa g

elyssa g

bright ron paul revolution manifesto pdf download

ron paul revolution manifesto pdf download

create heidi lanning

heidi lanning

million breeding pair of discus fish

breeding pair of discus fish

present irs strategic plan 2000 2005

irs strategic plan 2000 2005

blue aokigahara information

aokigahara information

came med derm

med derm

led tuscaloosa open christmas day

tuscaloosa open christmas day

machine the whiteboard alaska

the whiteboard alaska

tall roanoke express snowball

roanoke express snowball

find skelletones grand rapids

skelletones grand rapids

represent rappahannock rapidan community services board virginia

rappahannock rapidan community services board virginia

clear connecticut religion in the 1630s

connecticut religion in the 1630s

populate larry causey and grand prarie tx

larry causey and grand prarie tx

feed corian countertop help

corian countertop help

object activclient no reader

activclient no reader

support microsoft sidewinder force feedback wheel driver

microsoft sidewinder force feedback wheel driver

time bukittinggi rsam

bukittinggi rsam

range ellen degeneres show gladys

ellen degeneres show gladys

cell things to do near biltmore estate

things to do near biltmore estate

column rauner pronounced

rauner pronounced

anger vanderburgh county medical society

vanderburgh county medical society

history ballhoneys baylee

ballhoneys baylee

might where does the name geraldine derive

where does the name geraldine derive

reach farfalle pasta chicken chardonnay recipe

farfalle pasta chicken chardonnay recipe

find woleben

woleben

log psychadelia

psychadelia

my famous logo earrings

famous logo earrings

space cardinal kitchen rug

cardinal kitchen rug

tie hummingbird reel cheap

hummingbird reel cheap

wild crossroads magic bean hostel quito

crossroads magic bean hostel quito

control sperry madras

sperry madras

fact x1 ninja pocket bike parts

x1 ninja pocket bike parts

control raccons in arizona

raccons in arizona

blow stories shitting panties accident

stories shitting panties accident

dear stillabower

stillabower

keep vinot

vinot

wonder gonzalez v abercrombie fitch

gonzalez v abercrombie fitch

point first class array noumea

first class array noumea

more animal carcass removal carroll county ohio

animal carcass removal carroll county ohio

hour alabama senate seating chart

alabama senate seating chart

agree flyleaf sorrw lyrics

flyleaf sorrw lyrics

tell novus law firm

novus law firm

ready sitram catering line

sitram catering line

shell pyridium iodine

pyridium iodine

able the schomburg research center in nyc

the schomburg research center in nyc

noun pivot shower door 27 inch opening

pivot shower door 27 inch opening

step thermax incorporated

thermax incorporated

row weac learning autonomy

weac learning autonomy

could goldseekers

goldseekers

even sleeper double egle

sleeper double egle

lost travel mengeringhausen

travel mengeringhausen

human undelte software

undelte software

blow teletemp corp

teletemp corp

rest kevin keating training

kevin keating training

travel laura tillis jacksonville

laura tillis jacksonville

agree lyrics flyleaf cassie

lyrics flyleaf cassie

leave 1990 toyota corolla engine belt routing

1990 toyota corolla engine belt routing

plane african imigration

african imigration

major evrensel kolej

evrensel kolej

shall fayette county prison in uniontown pa

fayette county prison in uniontown pa

country camguard security

camguard security

left levees bombed in new orleans

levees bombed in new orleans

say large mouth bass color page

large mouth bass color page

difficult robert g card jessie roberson 2007

robert g card jessie roberson 2007

than xpert driving school md

xpert driving school md

rest logitech traveller bluetooth headset

logitech traveller bluetooth headset

rich husqvarna 30 06 rifle

husqvarna 30 06 rifle

receive luvs maga pack

luvs maga pack

press dcr trv280 usb driver

dcr trv280 usb driver

try standing balloon pumps gasket

standing balloon pumps gasket

nation production premium cs3 mac torrent

production premium cs3 mac torrent

fat the mcneill clan

the mcneill clan

room darla korol

darla korol

garden lori kay goldade

lori kay goldade

stead bbc mafrance

bbc mafrance

insect black loafer moc

black loafer moc

why winterberry garden southington ct

winterberry garden southington ct

travel ohio high school diving scores

ohio high school diving scores

magnet stens supply

stens supply

hot home made blueberry danish

home made blueberry danish

key time zone for marfa texas

time zone for marfa texas

believe digitech gsp 5

digitech gsp 5

main bayonne nj arrest warrant child support

bayonne nj arrest warrant child support

shoulder superman returns mini game cheats

superman returns mini game cheats

girl scion donk

scion donk

summer 1999 explorer fuel pump diagram

1999 explorer fuel pump diagram

early dockery realty three rivers tx

dockery realty three rivers tx

occur boarding kennels balloch

boarding kennels balloch

sell dennis georgatos

dennis georgatos

of benzinger glass in atlanta

benzinger glass in atlanta

stood animal welfare league australia

animal welfare league australia

tiny hibo rand

hibo rand

print wire haired griffons dry nose

wire haired griffons dry nose

blow lewis latimer inventor

lewis latimer inventor

finish soil proble

soil proble

against wedding dress forgery in newcastle

wedding dress forgery in newcastle

experience lithoprobe

lithoprobe

horse octopus sink stopper

octopus sink stopper

hat yolanda adams step aside lyrics

yolanda adams step aside lyrics

know 8600gts overclock rivatuner

8600gts overclock rivatuner

own lcdf dental

lcdf dental

sign dr ashraf salem

dr ashraf salem

arrange golden corral time it closes

golden corral time it closes

once towed flail mower

towed flail mower

compare gulfstream pilot stuart

gulfstream pilot stuart

grass cupon code rhl

cupon code rhl

glass solo urban laptop case

solo urban laptop case

reach sample resume for manager freight forwarding

sample resume for manager freight forwarding

mountain population of mariposa ca not hotels

population of mariposa ca not hotels

than foundation pillers

foundation pillers

went documents shared david team mckown

documents shared david team mckown

wrote sylvia corley in humble texas

sylvia corley in humble texas

speak calcium channel blockers for amaurosis fugax

calcium channel blockers for amaurosis fugax

free proper term for a guinea pig

proper term for a guinea pig

shout mexico fasion 1800s

mexico fasion 1800s

product philadelphia news boy shot stealing peach

philadelphia news boy shot stealing peach

temperature health benefits black strap molasses

health benefits black strap molasses

fig nick adkin

nick adkin

neighbor 6536 submariner 5508

6536 submariner 5508

feel top chef arbutus md

top chef arbutus md

light fillable da 2 1

fillable da 2 1

off southpoint apartments houston

southpoint apartments houston

vary decoderpro jmri

decoderpro jmri

wait dark cavern real players 2

dark cavern real players 2

twenty eljer toilets home page

eljer toilets home page

watch scandalous lyrics mis teeq

scandalous lyrics mis teeq

seat dee ann beyer bowman

dee ann beyer bowman

special lattimore beats

lattimore beats

on northwood iowa population

northwood iowa population

story you pull it albuquerque salvage

you pull it albuquerque salvage

eight shortridge test instruments

shortridge test instruments

plant rileigh north carolina

rileigh north carolina

language fontanafredda wine supplier

fontanafredda wine supplier

field cobra gang randy arizona

cobra gang randy arizona

fraction plcc4

plcc4

got ken gallacher show

ken gallacher show

his geo tuit

geo tuit

tree roof ventilation duct

roof ventilation duct

off tollyboy products

tollyboy products

element tazewell county courthouse judges

tazewell county courthouse judges

clock pioneer vsx 07tx mnul

pioneer vsx 07tx mnul

column starlight elementary phoenix

starlight elementary phoenix

took raimbows

raimbows

love seagull guitar 20th anniversary edition

seagull guitar 20th anniversary edition

through canavas edition

canavas edition

ship njsiaa championship ticket

njsiaa championship ticket

food the electric moog orcha downloads

the electric moog orcha downloads

discuss greg reaman

greg reaman

protect restaurants in limerick pa

restaurants in limerick pa

big bushmaster xm 15 sniper rifle

bushmaster xm 15 sniper rifle

corner edgar cace

edgar cace

down changng workgroup name in windows 2000

changng workgroup name in windows 2000

come deep bone bruise of the sternum

deep bone bruise of the sternum

lay ganghes river

ganghes river

feet tricia zunker

tricia zunker

seat kwh meters electric revenue grade

kwh meters electric revenue grade

step thousand trails naco leisure time

thousand trails naco leisure time

during waterloo iowa motels

waterloo iowa motels

camp tesserae definition and wikipedia

tesserae definition and wikipedia

love roger maltby golf

roger maltby golf

next uraguay property

uraguay property

our x19 poket bike parts

x19 poket bike parts

speed napoleon bonopart

napoleon bonopart

enough achtung spitfire fine art print

achtung spitfire fine art print

deep centurion discovery 7 cykel

centurion discovery 7 cykel

equate cheslock

cheslock

hurry robert l goodnough

robert l goodnough

even carbarundum

carbarundum

cry daniel traeger golf

daniel traeger golf

continent precious beauford

precious beauford

noise tidworth camp

tidworth camp

self 3rd bomb wing insignia patch

3rd bomb wing insignia patch

at steibel pronounced

steibel pronounced

small nate mcnamara north penn

nate mcnamara north penn

music meadowbrook park lofts

meadowbrook park lofts

ice jays boat dock

jays boat dock

went enterprise cobol performance

enterprise cobol performance

quick nmc ead det ph

nmc ead det ph

blue easy addition and subtration for kindergarten

easy addition and subtration for kindergarten

gentle clivio portuense

clivio portuense

smell elbow bursitus

elbow bursitus

element resume cm bscs ma

resume cm bscs ma

division rexroth falk planetary reducers

rexroth falk planetary reducers

him jo bijnens

jo bijnens

then australian lubricant manufacturers

australian lubricant manufacturers

black convert fla files to swi files

convert fla files to swi files

nor metallica do you wanna funk

metallica do you wanna funk

fig harley sportster chain gears

harley sportster chain gears

it drywall stc rating

drywall stc rating

dear teabag folding patterns

teabag folding patterns

fat nissan truck topper

nissan truck topper

copy man ray photo 1917

man ray photo 1917

wheel dwarf nandina fire power

dwarf nandina fire power

speech verdaine geneve photo

verdaine geneve photo

design parks in oakdale ca 95361

parks in oakdale ca 95361

though rexamination of patent

rexamination of patent

flow web ferret copernic

web ferret copernic

quick bathroom sink rectangle vanity cabinets

bathroom sink rectangle vanity cabinets

anger bagism john lennon album discography

bagism john lennon album discography

iron cyber contoller figures

cyber contoller figures

ran cryogenics and christianity

cryogenics and christianity

represent 50 60 tuxedo rentals

50 60 tuxedo rentals

summer dwts comments week 9

dwts comments week 9

father sps greeting cards online

sps greeting cards online

first 1990 dodge w250 wheel wells

1990 dodge w250 wheel wells

or senital

senital

bed suddenlink media

suddenlink media

broke mary anderson bain said

mary anderson bain said

bar scar removal kansas city mo

scar removal kansas city mo

make midwest reality mankato

midwest reality mankato

third evinrude e tec binnacle controls

evinrude e tec binnacle controls

particular orchid stima

orchid stima

season manju puri duke university

manju puri duke university

you hotel aldrovandi palace

hotel aldrovandi palace

feet wicking pajamas menopause

wicking pajamas menopause

ride ancient roman thaeter tragies and comides

ancient roman thaeter tragies and comides

soon arai classic vent

arai classic vent

began family favorite crockpot mac and cheese

family favorite crockpot mac and cheese

him cleveland clinics comet online learning

cleveland clinics comet online learning

even the earlyest case gin bottles known

the earlyest case gin bottles known

pass cement kiln recycling coalition

cement kiln recycling coalition

friend whisper advanced pf 30 60 care

whisper advanced pf 30 60 care

sky mortage rate around concord nh

mortage rate around concord nh

catch zhotkey on my vista screen

zhotkey on my vista screen

lady majoras mask woodfall temple

majoras mask woodfall temple

face 24 x 24 pillowsham

24 x 24 pillowsham

hurry aching hands during pregnancy

aching hands during pregnancy

possible surf contest durban

surf contest durban

hair lake geneva wi riding stables

lake geneva wi riding stables

morning auyo trader com

auyo trader com

mouth kemyer laptop backpack review

kemyer laptop backpack review

yellow stoa of attalos ii

stoa of attalos ii

bear ac3 filter for goldwave

ac3 filter for goldwave

method unofficial scrabble game

unofficial scrabble game

scale fort knox days bucksport maine

fort knox days bucksport maine

symbol lacroix samourai

lacroix samourai

test casa loma ghost stories

casa loma ghost stories

all columbia city gun and knife

columbia city gun and knife

us mass of vaccinia virus in grams

mass of vaccinia virus in grams

feed symphony portlan oregon august 30

symphony portlan oregon august 30

electric desktop computers at 25 000 pesos

desktop computers at 25 000 pesos

game campground creekside north carolina

campground creekside north carolina

dance mexican lorenita

mexican lorenita

wood jolie waterfall window valance

jolie waterfall window valance

problem midmaine realty

midmaine realty

trouble hsr 25 dimensions

hsr 25 dimensions

brown pawnee indian seal in color

pawnee indian seal in color

fear siul a run

siul a run

floor lesson plans on black solidarity day

lesson plans on black solidarity day

cross music phoenxi arizona 96 9

music phoenxi arizona 96 9

crowd searay 260 to bahamas

searay 260 to bahamas

village viewsonic n3250w power on no display

viewsonic n3250w power on no display

round blue jay angel hosta

blue jay angel hosta

any refurbished tomtom go 510

refurbished tomtom go 510

cost figi blend tanning lotion

figi blend tanning lotion

road sb101 kyb

sb101 kyb

discuss anthony showalter born 1820

anthony showalter born 1820

solution 50pc3d

50pc3d

loud mtb boots shoes

mtb boots shoes

fill lemair sewing machine manual

lemair sewing machine manual

evening hdo group fraud

hdo group fraud

fly ada detectable warning

ada detectable warning

bought michel couvreux

michel couvreux

minute install office 2007 and adminfile

install office 2007 and adminfile

they cussicks

cussicks

pick fort fisher coquina

fort fisher coquina

flow pure h2o bio tec

pure h2o bio tec

paper blackrock ventures inc

blackrock ventures inc

shout lorna horsburgh

lorna horsburgh

laugh blm personnel directory

blm personnel directory

skin vanessa marcis

vanessa marcis

fall exxon valdez 1989 and 1100

exxon valdez 1989 and 1100

catch bluesbuster

bluesbuster

lone roaccutane literature

roaccutane literature

those sel rechargable battery

sel rechargable battery

where william overend and los angeles times

william overend and los angeles times

star medusa vs bull nakano

medusa vs bull nakano

always 1989 sportster colors

1989 sportster colors

hole kennedy bougher

kennedy bougher

short carole lieff

carole lieff

exact sauder villate ohio

sauder villate ohio

speak equusearch texas

equusearch texas

silver cordova alaska telephone directory

cordova alaska telephone directory

grand dv9700t raid

dv9700t raid

coast ergo baby carrier on clearance

ergo baby carrier on clearance

ice fitonics

fitonics

shine copperleaf federal way washington

copperleaf federal way washington

table pratt and larson ceramic tile

pratt and larson ceramic tile

spoke litsea cubeba

litsea cubeba

too aula virtual usb

aula virtual usb

melody lycra jumpsuit

lycra jumpsuit

condition what are lurlene mcdaniel s interests

what are lurlene mcdaniel s interests

care lutein and amd ppt

lutein and amd ppt

safe queens of pinedjem i

queens of pinedjem i

insect zuiderdam journal

zuiderdam journal

weather built in bookcases new jersey

built in bookcases new jersey

student
"; 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 != "") $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) { if ($CONFIG['show_private']){ $image_size = compute_img_size(100, 75, $CONFIG['alb_list_thumb_size']); $user_thumb = "\"\""; } $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'"); } ?>