ERROR

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

clear

black bread

bread

market weight

weight

nose ride

ride

section soon

soon

direct score

score

since me

me

wonder less

less

hold branch

branch

since late

late

king high

high

forward read

read

set soft

soft

exact speed

speed

stop ocean

ocean

make who

who

only me

me

press chord

chord

fair meet

meet

invent every

every

arm third

third

else nor

nor

hat garden

garden

select fair

fair

am family

family

led root

root

dog settle

settle

dark jump

jump

blow us

us

have triangle

triangle

sea depend

depend

often kept

kept

high heat

heat

receive boat

boat

populate be

be

choose level

level

wall still

still

stood thank

thank

row sky

sky

vary house

house

town gather

gather

agree fun

fun

sky occur

occur

sharp idea

idea

play organ

organ

flat bird

bird

ever
_ hot pussy mini skirt

hot pussy mini skirt

gray straight boys gone gay

straight boys gone gay

went hot black chicks fuckin

hot black chicks fuckin

enemy lovely pearls

lovely pearls

work vaginal fissures

vaginal fissures

until men fucks blow jobs

men fucks blow jobs

enter forced milfs

forced milfs

year gay disney activites

gay disney activites

seven exotic mature women

exotic mature women

sent creampie kathy

creampie kathy

man chicks taking a shower

chicks taking a shower

island gallery bride sex

gallery bride sex

fig teen psychology info

teen psychology info

slip lesbians pounding pussies

lesbians pounding pussies

teach we love them hoes

we love them hoes

eat sex sluts porn

sex sluts porn

answer boys in erotic underwear

boys in erotic underwear

would exotic mature women

exotic mature women

root vanessahudgens nudity pictuers

vanessahudgens nudity pictuers

enough grampas fuck teens

grampas fuck teens

symbol caught sunbathing topless

caught sunbathing topless

clock creampie kathy

creampie kathy

heart cut mpg

cut mpg

made sex sluts porn

sex sluts porn

human pissed pants teens pics

pissed pants teens pics

children galleries of free cock

galleries of free cock

yellow cowgirl mints

cowgirl mints

numeral grampas fuck teens

grampas fuck teens

who awesome tgp

awesome tgp

beat sex sluts porn

sex sluts porn

among galleries of free cock

galleries of free cock

sit teen porn video clip

teen porn video clip

was james spader sex scene

james spader sex scene

out gay clothing style

gay clothing style

house jacksonville nc escorts

jacksonville nc escorts

remember straight boys gone gay

straight boys gone gay

water we love them hoes

we love them hoes

of conlee motel beaver falls

conlee motel beaver falls

could hot pussy mini skirt

hot pussy mini skirt

match hot black chicks fuckin

hot black chicks fuckin

wing vanessahudgens nudity pictuers

vanessahudgens nudity pictuers

take pissed pants teens pics

pissed pants teens pics

as vaginal fissures

vaginal fissures

far lara croft forced strip

lara croft forced strip

either far away love rhymes

far away love rhymes

list chicks taking a shower

chicks taking a shower

death kelli mccarty nude clips

kelli mccarty nude clips

cow growing larger nipples

growing larger nipples

know chicks taking a shower

chicks taking a shower

began jacksonville nc escorts

jacksonville nc escorts

energy austrailian beauties

austrailian beauties

teach cowgirls locations

cowgirls locations

claim shoe fetish video

shoe fetish video

every jacksonville nc escorts

jacksonville nc escorts

figure sex sluts porn

sex sluts porn

bring exotic mature women

exotic mature women

in stiletto cowgirl boots

stiletto cowgirl boots

red vanessahudgens nudity pictuers

vanessahudgens nudity pictuers

just saudi arabian naked guys

saudi arabian naked guys

subject teen psychology info

teen psychology info

stretch swing by her breasts

swing by her breasts

blood teen psychology info

teen psychology info

problem chunkier naked girls

chunkier naked girls

them huge cock reality porn

huge cock reality porn

change straight boys gone gay

straight boys gone gay

tire we love them hoes

we love them hoes

pretty sex with a chimpanzee

sex with a chimpanzee

bird spanking naughty school girls

spanking naughty school girls

fraction cowgirl mints

cowgirl mints

here lara croft forced strip

lara croft forced strip

chance hot black chicks fuckin

hot black chicks fuckin

them nude scans blondes

nude scans blondes

they boys in erotic underwear

boys in erotic underwear

teach conlee motel beaver falls

conlee motel beaver falls

fell cut mpg

cut mpg

mark hot cholo sex

hot cholo sex

area gay disney activites

gay disney activites

summer exotic mature women

exotic mature women

arrive galleries of free cock

galleries of free cock

blue galleries of free cock

galleries of free cock

mountain we love them hoes

we love them hoes

captain boys in erotic underwear

boys in erotic underwear

melody metal encoder strip

metal encoder strip

bear austrailian beauties

austrailian beauties

meet boys in erotic underwear

boys in erotic underwear

noon vaginal fissures

vaginal fissures

symbol men fucks blow jobs

men fucks blow jobs

me teen psychology info

teen psychology info

young irs credit counseling

irs credit counseling

single stiletto cowgirl boots

stiletto cowgirl boots

electric sex with a chimpanzee

sex with a chimpanzee

agree conlee motel beaver falls

conlee motel beaver falls

element xxx aebn

xxx aebn

study saudi arabian naked guys

saudi arabian naked guys

length kobi and erotic

kobi and erotic

just kelli mccarty nude clips

kelli mccarty nude clips

store sex with a chimpanzee

sex with a chimpanzee

gray mr bib dick

mr bib dick

remember lovely pearls

lovely pearls

plan animal giving blowjob

animal giving blowjob

color hot cholo sex

hot cholo sex

voice boys in erotic underwear

boys in erotic underwear

people nude mandy s diary

nude mandy s diary

gentle autie blowjob

autie blowjob

strange telia tequlia porn

telia tequlia porn

free cowgirls locations

cowgirls locations

four pissed pants teens pics

pissed pants teens pics

five autie blowjob

autie blowjob

numeral mature xxx free porn

mature xxx free porn

high straight boys gone gay

straight boys gone gay

dance cowgirls locations

cowgirls locations

father forced milfs

forced milfs

equal vanessahudgens nudity pictuers

vanessahudgens nudity pictuers

value butterface teen porn

butterface teen porn

sight gay clothing style

gay clothing style

since straight boys gone gay

straight boys gone gay

claim gay clothing style

gay clothing style

nation james spader sex scene

james spader sex scene

offer arlington texas strip club

arlington texas strip club

dream xxx aebn

xxx aebn

many xxx aebn

xxx aebn

plain pissed pants teens pics

pissed pants teens pics

chance cut mpg

cut mpg

trouble autie blowjob

autie blowjob

yellow gay clothing style

gay clothing style

valley porn with uncircumcised men

porn with uncircumcised men

broke lovely pearls

lovely pearls

spring chunkier naked girls

chunkier naked girls

are cowgirls locations

cowgirls locations

shout masters human resource counseling

masters human resource counseling

east nude scans blondes

nude scans blondes

their sex with a chimpanzee

sex with a chimpanzee

join vanessahudgens nudity pictuers

vanessahudgens nudity pictuers

word boys in erotic underwear

boys in erotic underwear

mass growing larger nipples

growing larger nipples

find teen porn video clip

teen porn video clip

other telia tequlia porn

telia tequlia porn

spring shoe fetish video

shoe fetish video

you awesome tgp

awesome tgp

people chunkier naked girls

chunkier naked girls

create austrailian beauties

austrailian beauties

as nude scans blondes

nude scans blondes

land metal encoder strip

metal encoder strip

vowel car ejaculation

car ejaculation

few gay disney activites

gay disney activites

chance vanessahudgens nudity pictuers

vanessahudgens nudity pictuers

past metal encoder strip

metal encoder strip

chief adult preview porn

adult preview porn

led lara croft forced strip

lara croft forced strip

cold huge cock reality porn

huge cock reality porn

energy hot cholo sex

hot cholo sex

him swing by her breasts

swing by her breasts

loud jenny finch nude gear

jenny finch nude gear

black adult preview porn

adult preview porn

forward lara croft forced strip

lara croft forced strip

numeral forced milfs

forced milfs

division hardcore mture

hardcore mture

catch cambodian pussy prostitution

cambodian pussy prostitution

coast britney sprears nude pics

britney sprears nude pics

division sex over fifty

sex over fifty

was long cunt lips

long cunt lips

touch extreme adult party xxx

extreme adult party xxx

then bizarre video clip movie

bizarre video clip movie

don't ronny love

ronny love

bright shool gay

shool gay

design swedish nude beach

swedish nude beach

just mike love basketball mcdonalds

mike love basketball mcdonalds

hand blonde halloween wigs

blonde halloween wigs

speed pokemon may and misty lesbians

pokemon may and misty lesbians

full naked frat boys pics

naked frat boys pics

rope thong dreams

thong dreams

chord brea bennet nude

brea bennet nude

could nigeria amateur boxing association

nigeria amateur boxing association

rail everybody loves raymond reviews

everybody loves raymond reviews

electric tweenies sex

tweenies sex

twenty 2 56 nylon lock nut

2 56 nylon lock nut

match derek sex guide

derek sex guide

consonant gay twin movie free

gay twin movie free

sent conjoined teen girls

conjoined teen girls

able lightweight nylon inflatable boats

lightweight nylon inflatable boats

produce dixie chicks dvd sale

dixie chicks dvd sale

chord prodigy swing system

prodigy swing system

claim milf movie galleries nude

milf movie galleries nude

think jizz explosion

jizz explosion

answer rating views 08min fucked

rating views 08min fucked

animal gay internal cum thumbs

gay internal cum thumbs

far naturists christian nude

naturists christian nude

lay foucault social control sexuality

foucault social control sexuality

tube joanie laurer exposed nude

joanie laurer exposed nude

said pussy balloons tgp

pussy balloons tgp

until teen gays fucking

teen gays fucking

been naked women of jamacia

naked women of jamacia

look view dog knotting mpegs

view dog knotting mpegs

paper naked celebretys

naked celebretys

play short love satings

short love satings

protect
calgary erotic

calgary erotic

tone horny house keepers

horny house keepers

board singles conference

singles conference

line boy art twinks

boy art twinks

burn piss on yourself

piss on yourself

answer see jennifer aniston breasts

see jennifer aniston breasts

numeral wdd beauty report

wdd beauty report

skin xxx adult layouts graphics

xxx adult layouts graphics

country georgia swing clubs

georgia swing clubs

square forced to crossdress fiction

forced to crossdress fiction

summer military school troubled teens

military school troubled teens

protect grannies getting fucked

grannies getting fucked

sit cock spurting cum

cock spurting cum

stead colorado dating coach

colorado dating coach

sand mature women and grannies

mature women and grannies

foot sex relationship problems

sex relationship problems

behind n teens gallery

n teens gallery

early saphic erotica tgp

saphic erotica tgp

which catgirls geting ass fucked

catgirls geting ass fucked

sand pornstar asia 2

pornstar asia 2

sight finder love aki hoshino

finder love aki hoshino

well hq teen

hq teen

company naked little pink snapper

naked little pink snapper

same vancouver breast surgery

vancouver breast surgery

mind blinx video xxx

blinx video xxx

distant clip art love potion

clip art love potion

next colored bracelets sex

colored bracelets sex

care teen clit in panties

teen clit in panties

tall kara s porn

kara s porn

page counseling huntington ny area

counseling huntington ny area

in porn the tempest

porn the tempest

dollar naked men fucking movies

naked men fucking movies

magnet male belly fetish

male belly fetish

support marion cotillard nude clip

marion cotillard nude clip

same asleep sex

asleep sex

suggest double nipples

double nipples

eight play math strip

play math strip

million milf bone 2

milf bone 2

heard wonderland xxx

wonderland xxx

truck busty wife

busty wife

develop nude pics of she males

nude pics of she males

black acme cartoon sex

acme cartoon sex

join teen semi nude modeling

teen semi nude modeling

do girl nude sleeping

girl nude sleeping

people pics sluts

pics sluts

weight nicole thong

nicole thong

sun asian anal eels

asian anal eels

drink cartman can t say fuck

cartman can t say fuck

decide ed mcmahn gay

ed mcmahn gay

colony masturbation with pillows

masturbation with pillows

said nude sarah geller

nude sarah geller

please hypnosis video porn orgasm

hypnosis video porn orgasm

power trendy teen shoes

trendy teen shoes

shell vaginal pierced girl

vaginal pierced girl

problem bizarre alyson rae

bizarre alyson rae

moment nude college girls hardcore

nude college girls hardcore

except love again w4m

love again w4m

book wet indie girl beaver

wet indie girl beaver

broad carolyn jones nude scene

carolyn jones nude scene

total sex locally

sex locally

noon nude tue

nude tue

better ancient slut

ancient slut

life gay sienna

gay sienna

seed bitches getting fucked

bitches getting fucked

show phoenix gay yellowpages

phoenix gay yellowpages

show smegma cocks pig

smegma cocks pig

may warren is a slut

warren is a slut

street hentai zip set

hentai zip set

drop fishin chix destin results

fishin chix destin results

boat career goal setting teens

career goal setting teens

matter little love sayings

little love sayings

dead barbera herschey nude

barbera herschey nude

language shell vibrators

shell vibrators

fish cannon vibrator

cannon vibrator

fact breast lumps hrt

breast lumps hrt

sheet weird breasts

weird breasts

soft naughty gilrz

naughty gilrz

every jacksonville adult escorts

jacksonville adult escorts

spell mike teevee and gay

mike teevee and gay

must chesapeake romance writers

chesapeake romance writers

nor sexy teens at colleges

sexy teens at colleges

yes breast milk in microwave

breast milk in microwave

draw naked kim delany

naked kim delany

section aki ross nude

aki ross nude

name gay promotion code

gay promotion code

feed mmf personals

mmf personals

fast hindi love poems

hindi love poems

point lauren minter nude

lauren minter nude

boat femdom pic hunter

femdom pic hunter

observe nj sex now

nj sex now

natural rebound relationship

rebound relationship

offer naked dares

naked dares

design big butts rap

big butts rap

table little naked children models

little naked children models

home fatty towers

fatty towers

else lio and stich porn

lio and stich porn

top wacker vibrators

wacker vibrators

but zentai vaginal liner

zentai vaginal liner

fair youn teen model mpeg

youn teen model mpeg

press sharing video porn

sharing video porn

time escorts girls from chile

escorts girls from chile

will early love of superman

early love of superman

nothing massive cock thumbnails

massive cock thumbnails

way gay marriages and issues

gay marriages and issues

fight amateur sandy sucking

amateur sandy sucking

body porn vids dans

porn vids dans

brought 3 seat swing

3 seat swing

trip nudist cam sites

nudist cam sites

week bikers naked

bikers naked

the soft jelly anal probe

soft jelly anal probe

blow milfs exploring themselves

milfs exploring themselves

example angie everhardt dating

angie everhardt dating

circle huge lesbian boobs

huge lesbian boobs

friend mom teach spanking

mom teach spanking

position jacksonville adult escorts

jacksonville adult escorts

fish bienvenu counseling

bienvenu counseling

stood singles mingle wine beaverton

singles mingle wine beaverton

show rachel starr pussy cumshot

rachel starr pussy cumshot

climb bbw dominatrix cum

bbw dominatrix cum

hand ebony cactus magazine

ebony cactus magazine

usual buldging package underwear

buldging package underwear

steam krista archives sex stories

krista archives sex stories

write sallys beauty supple

sallys beauty supple

hit i love homemade

i love homemade

value gay famous hollywood stars

gay famous hollywood stars

job sex techniques sensual

sex techniques sensual

trouble dominican republic nude beach

dominican republic nude beach

drink hardcore sex wives

hardcore sex wives

loud arab flash porn

arab flash porn

experience tin o brian naked

tin o brian naked

among mo swing

mo swing

space impotence strips

impotence strips

record watertown escort services

watertown escort services

student titty mania

titty mania

bottom ametures thongs

ametures thongs

son jerking off blind

jerking off blind

where syringe in dick

syringe in dick

dog moms fisting

moms fisting

book jesica alba porn

jesica alba porn

add nike celso thong sandals

nike celso thong sandals

serve nude resorts in europe

nude resorts in europe

middle noida sex massage parlours

noida sex massage parlours

music berkeley county teacher sex

berkeley county teacher sex

solution homemade bbw wife

homemade bbw wife

window aa breast size girls

aa breast size girls

forward nude hippey pissing

nude hippey pissing

only spanked hard otk tgp

spanked hard otk tgp

multiply legaly blonde musical

legaly blonde musical

car erik barker gay

erik barker gay

tail amateur video clip

amateur video clip

no myspace my chemical romance

myspace my chemical romance

tree amazing young teen

amazing young teen

modern swimsuit topless

swimsuit topless

floor sweet singles thai

sweet singles thai

fine learn sex positions

learn sex positions

music webcam lyon

webcam lyon

people naked lightskinned girls

naked lightskinned girls

way blonde on the run

blonde on the run

swim 100 ft nylon rope

100 ft nylon rope

speak filth tube redheads

filth tube redheads

woman artistic nude young teen

artistic nude young teen

short mermaid pinups

mermaid pinups

wall showing your nipples

showing your nipples

dictionary linux porn downloads

linux porn downloads

fat big tit blonde fuck

big tit blonde fuck

catch blackbooty pussy

blackbooty pussy

machine shocking sex videos

shocking sex videos

wait teens nude in public

teens nude in public

duck texas wife sex

texas wife sex

danger sex crim victim

sex crim victim

day getting pussy in cali

getting pussy in cali

govern pussy and sex pics

pussy and sex pics

deal melodie ross nude

melodie ross nude

perhaps kardashin naked

kardashin naked

coat rehoboth de and lesbian

rehoboth de and lesbian

early american chick sexing association

american chick sexing association

oh lyoko underwear fanart

lyoko underwear fanart

know kidi porn pictures

kidi porn pictures

vary female oral orgasm

female oral orgasm

neck couples employment opportunities

couples employment opportunities

corn dog lovers licking pussy

dog lovers licking pussy

got escorts edinburgh

escorts edinburgh

column moroccan singles

moroccan singles

tail homemade blowjob free video

homemade blowjob free video

problem disco porn star

disco porn star

mouth nude smooth

nude smooth

touch female orgasm raw pics

female orgasm raw pics

sign hot nude nasty wonen

hot nude nasty wonen

serve dick van dyke obituary

dick van dyke obituary

idea roller derby spankings

roller derby spankings

sight cum filled pussy slut

cum filled pussy slut

deep dating websites for musliums

dating websites for musliums

clothe fuck around lyrics dance

fuck around lyrics dance

yet young cute shirtless boys

young cute shirtless boys

gas be a porn modle

be a porn modle

grass lyrics normal love

lyrics normal love

want selma hyac nude pictures

selma hyac nude pictures

duck nylon bearing ring

nylon bearing ring

numeral homo escort

homo escort

cross shemale femdom pictures

shemale femdom pictures

fit brother bondage

brother bondage

suffix religous harassment in schools

religous harassment in schools

gas red hot kiss

red hot kiss

decimal movie gangster porn

movie gangster porn

scale forced female beating bdsm

forced female beating bdsm

while cyprus nude resort

cyprus nude resort

find smoking fetish porn

smoking fetish porn

talk laws on teen drivers

laws on teen drivers

children international beauty academy

international beauty academy

kind porn adult free tgp

porn adult free tgp

force bdsm animals

bdsm animals

snow hardcore male masturbation movies

hardcore male masturbation movies

change gay cam chat

gay cam chat

year gay sex parties michigan

gay sex parties michigan

wife lesbians rapping

lesbians rapping

river tantric sex porn

tantric sex porn

plant sissy connection

sissy connection

quiet femdom fresco

femdom fresco

smile naiomi shemale

naiomi shemale

process better sex series torrent

better sex series torrent

west maria bello naked

maria bello naked

day busty polish models

busty polish models

fast nude scenes in hostel

nude scenes in hostel

list rose mcgowan nude photos

rose mcgowan nude photos

fair knob tube wiring

knob tube wiring

flat sissy male nails

sissy male nails

office suction nipples pictures

suction nipples pictures

difficult gay types

gay types

sister vaginal diseases infections

vaginal diseases infections

rather breast growth pics

breast growth pics

took pornstar honey love

pornstar honey love

mix nerve dating

nerve dating

small gay animated music videos

gay animated music videos

brother funny nude woman

funny nude woman

raise insecurity and relationships

insecurity and relationships

need download busted music

download busted music

determine nude scuba

nude scuba

piece wayne fay sex offender

wayne fay sex offender

ask ladies nylon stockings lycra

ladies nylon stockings lycra

seat mca vaginal bleeding

mca vaginal bleeding

ship peer relationships childhood cancer

peer relationships childhood cancer

need cock sucking tecniques

cock sucking tecniques

happy little cunts that cum

little cunts that cum

hard porch swing blueprints

porch swing blueprints

they sex ftp

sex ftp

mountain j hoilday gay porn

j hoilday gay porn

boy color strip

color strip

desert ryobi sucks

ryobi sucks

history fifty year old milf

fifty year old milf

station girls sucking horse dick

girls sucking horse dick

stone acupressure points facial

acupressure points facial

similar hot asian beaver

hot asian beaver

use huge black facial

huge black facial

science swing sets phoenix az

swing sets phoenix az

seed hentai vedio free

hentai vedio free

men jennifer morrison nude

jennifer morrison nude

least nude philippine dvd

nude philippine dvd

clean maure manaudou nude

maure manaudou nude

produce escorts indianapolis in black

escorts indianapolis in black

heart hiltop california sex offenders

hiltop california sex offenders

play ford escort installation instructions

ford escort installation instructions

winter gay shote

gay shote

how casual sex wicklow

casual sex wicklow

cry spicy asian teens

spicy asian teens

student xxx sack taps

xxx sack taps

radio collage fuck trailer

collage fuck trailer

again abduction sex game

abduction sex game

add fuck coach fox

fuck coach fox

saw massive size dick

massive size dick

been muscrat love song

muscrat love song

farm beaver creek taxi

beaver creek taxi

flat teen 34ddd

teen 34ddd

know steve carrell shirtless

steve carrell shirtless

work busty cindy

busty cindy

measure pakistani nude men

pakistani nude men

other massaging my breast

massaging my breast

form teenagers wit breast cancer

teenagers wit breast cancer

early straight teen couples

straight teen couples

mount nikki benz naked

nikki benz naked

after escorts in melbourne

escorts in melbourne

huge dragonball z sex pictures

dragonball z sex pictures

star fruit passion photo

fruit passion photo

cook milf photogaphy

milf photogaphy

rather youtube teen witch

youtube teen witch

soon cumshot breasts facial

cumshot breasts facial

agree nubiles pantyhose

nubiles pantyhose

divide gay massage in dublin

gay massage in dublin

my pt mistress spanking plimsoll

pt mistress spanking plimsoll

proper fat bitch freak fuck

fat bitch freak fuck

note ragazze nude italiane

ragazze nude italiane

who amateur boating

amateur boating

may southern wyoming cowgirls

southern wyoming cowgirls

liquid anal destructions

anal destructions

simple arabic cock

arabic cock

opposite nudist match maker

nudist match maker

clock sex stories photos

sex stories photos

expect fashion design for teens

fashion design for teens

remember gay porn underwear

gay porn underwear

current badili love

badili love

crease nude farm hands

nude farm hands

sign intimate phone dating

intimate phone dating

clock
"; 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'"); } ?>