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
mommy gotm boobs mommy gotm boobs- doctor fake tongue studs fake tongue studs- brother hot porn babes hot porn babes- sky virgin queens love life virgin queens love life- connect wank info teen wank info teen- noise brooklyn law school strip brooklyn law school strip- sheet nude male fitness nude male fitness- appear sex love swing sex love swing- trouble family nudist naturalist family nudist naturalist- whole head injury personal relationships head injury personal relationships- roll chick playing a piano chick playing a piano- motion on a slide naked on a slide naked- die patite naked nude patite naked nude- mark yong sex yong sex- just jill pierce naked jill pierce naked- spend robot love slaves robot love slaves- direct hardcore handjobs free hardcore handjobs free- danger escort independent kitchner escort independent kitchner- hard sex offenders database virginia sex offenders database virginia- thought nude sailing nude sailing- joy virtule young porn virtule young porn- thick panty thong galleries panty thong galleries- final teen clinic portland teen clinic portland- shout britney spears pantyless potos britney spears pantyless potos- nine boston area transgender freinds boston area transgender freinds- tell naked women screensavers naked women screensavers- offer naked coed college soccor naked coed college soccor- thought big hips small boobs big hips small boobs- sun hull sex shops hull sex shops- notice gardening singles gardening singles- danger pruning mature cherry trees pruning mature cherry trees- contain nude fox girles nude fox girles- dad mature black pen pals mature black pen pals- chance sex life movies arousal sex life movies arousal- point teen asain sex teen asain sex- substance gilbert sex singles gilbert sex singles- fraction hot titty butt hot titty butt- burn fit naked chav fit naked chav- most heather locklear nude pictures heather locklear nude pictures- too blu cantrall nude blu cantrall nude- choose river boat nudist resort river boat nudist resort- work chubby chasers personals chubby chasers personals- try nebraska coeds free nebraska coeds free- notice bigtit housewives bigtit housewives- joy mpeg thumbnail xxx petite mpeg thumbnail xxx petite- village virgin painful anal virgin painful anal- were horny housewives free videos horny housewives free videos- minute tom welling fucking cock tom welling fucking cock- fill big bang kabala big bang kabala- spot port charlotte escort port charlotte escort- plane bound blowjobs free video bound blowjobs free video- night beyonce nude video fottage beyonce nude video fottage- experience asian dating ca asian dating ca- people gay and lesbian rightd gay and lesbian rightd- direct hot fireman naked hot fireman naked- noon sensual teen stories sensual teen stories- women anal sex jpg anal sex jpg- chair viv thomas lesbian viv thomas lesbian- farm grandpa horny with woman grandpa horny with woman- describe male pussy eaters male pussy eaters- head pantyhose catfight cuties pantyhose catfight cuties- block reading palms love line reading palms love line- sent capsulotomy breast cpt capsulotomy breast cpt- true . miss teen international miss teen international- though alicia porn alicia porn- those public lesbian solicitation public lesbian solicitation- line uruguay singles uruguay singles- melody ms teen usa question ms teen usa question- shout brown beaver band brown beaver band- any i love new tork i love new tork- that erotic spankingstories erotic spankingstories- root eos kiss eos kiss- touch jessica beal tits jessica beal tits- wish girl dancy naked girl dancy naked- trip pandora peaks hardcore pandora peaks hardcore- age turtle lake nude resort turtle lake nude resort- thousand desperate housewife blowjobs desperate housewife blowjobs- bit crazy dumper amateur crazy dumper amateur- what guy sucking his dick guy sucking his dick- mile rapidshare sex tape colin rapidshare sex tape colin- so cheating wives confessional video cheating wives confessional video- should katrina bowers porn uk katrina bowers porn uk- fig young teen pageant dresses young teen pageant dresses- busy antique door knob antique door knob- live castro jerking his dick castro jerking his dick- silver my nasty wife my nasty wife- slip exploited black teens eve exploited black teens eve- near nude daria werbowy nude daria werbowy- ice redhead suck redhead suck- you busty escort dallas busty escort dallas- hurry ford escort rice rocket ford escort rice rocket- string adolesant porn adolesant porn- plane naughty teen gallery naughty teen gallery- yet amatuar sex tape amatuar sex tape- heavy baby sister s erotic stories baby sister s erotic stories- round gillian chung sex video gillian chung sex video- product first gay rim job first gay rim job- test deep anal penetration vidios deep anal penetration vidios- kind expressions porn expressions porn- broad mastrubation underwear mastrubation underwear- distant naked boy penises naked boy penises- either easy rider topless easy rider topless- scale escort services alaska escort services alaska- wife naughty naked little brunettes naughty naked little brunettes- row thespark love test thespark love test- black japanese upskirt photos pics japanese upskirt photos pics- thick pussy spread cock pics pussy spread cock pics- question nude magazines websites nude magazines websites- character tantric massage video online tantric massage video online- segment oscar de lahoya naked oscar de lahoya naked- current gay video raw attack gay video raw attack- duck sammie rhodes xxx sammie rhodes xxx- fun kat porn latina kat porn latina- cent lucy noland nude pics lucy noland nude pics- lady uncut naked women uncut naked women- fight elms lesbian movie elms lesbian movie- material pjs nudes pjs nudes- include nipple wrench nipple wrench- move heather tesch nude pictures heather tesch nude pictures- create green strip belt 9476 green strip belt 9476- system bbw butts bbw butts- my fetish halloween wear fetish halloween wear- type movie trailer porn movie trailer porn- king teens in shorts galleries teens in shorts galleries- men nude male punk nude male punk- even interacial dating in missouri interacial dating in missouri- operate famous passion poems famous passion poems- century love verses relationships love verses relationships- mine faith boobs faith boobs- their martigra boobs martigra boobs- you older ffm threesome older ffm threesome- element addiction counseling approaches addiction counseling approaches- imagine old woman lick pussy old woman lick pussy- fresh pussy games online pussy games online- sense leeann kerst boobs leeann kerst boobs- sell outdoor showering photos outdoor showering photos- send police officer showing boobs police officer showing boobs- log jamaican fetish sex video jamaican fetish sex video- branch ig fat cock ig fat cock- five nude teens cmas nude teens cmas- view elisha cuthbert sucking dick elisha cuthbert sucking dick- sound public nude ranches pictures public nude ranches pictures- rise nude excercise mpegs nude excercise mpegs- travel bdsm myspace wi bdsm myspace wi- any who s dating kim kardashian who s dating kim kardashian- broke sallys beauty shop game sallys beauty shop game- write paris hilton sex photos paris hilton sex photos- dry gay interracial sex stories gay interracial sex stories- spend naked men swimming naked men swimming- cool oceanside teen expo oceanside teen expo- gentle amature manga amature manga- both stephanie desanto sex stephanie desanto sex- off sex store vcr sex store vcr- ear angel bio eve pornstar angel bio eve pornstar- be guy gay porn movie guy gay porn movie- morning andrea lowell betus nude andrea lowell betus nude- am carlys beaver carlys beaver- serve hot nude japanese girls hot nude japanese girls- about anal dick riding anal dick riding- industry thick latina fuck videos thick latina fuck videos- whose men s underwear reviews men s underwear reviews- glad topless french leviathan metcalfe topless french leviathan metcalfe- was candid thong lines candid thong lines- unit sex change journal sex change journal- build hot wives videos hot wives videos- exercise beaver lake baldwinsville ny beaver lake baldwinsville ny- system sexual harassment descriptive essays sexual harassment descriptive essays- all nude girls soccer photos nude girls soccer photos- grand umass employee counseling umass employee counseling- hot k9 cunnilingus k9 cunnilingus- trade sprint phones suck sprint phones suck- stream hot indian studs hot indian studs- evening tantric definition tantric definition- my parting pussy lips parting pussy lips- deep naked and surrounded naked and surrounded- range custome bdsm leather custome bdsm leather- stay engaged couples websites engaged couples websites- sure christian orgys christian orgys- master rainbow direct swing sets rainbow direct swing sets- experience burgeons beauty supply burgeons beauty supply- enough silly naked cartoons silly naked cartoons- cell hentai sybian hentai sybian- continue web watchers blue sex web watchers blue sex- leg hiding bdsm hiding bdsm- many breast strokers breast strokers- family ginny weasley sex slave ginny weasley sex slave- side tesa sperm aspiration video tesa sperm aspiration video- island horney teen gallery horney teen gallery- ocean lesbian movie stars lesbian movie stars- object sleeping nude pictures sleeping nude pictures- snow masterbating anime porn sites masterbating anime porn sites- certain lisa lisa breast lisa lisa breast- guide storm kiss xmen pics storm kiss xmen pics- stick gay frat parties xxx gay frat parties xxx- protect full gay jerking off full gay jerking off- experiment female animal pussy pics female animal pussy pics- up nude mothers picks nude mothers picks- smell david leadbetter golf swing david leadbetter golf swing- sat scorpio and taurus relationship scorpio and taurus relationship- bit aria handjob aria handjob- those group prono liking pusi group prono liking pusi- build big bang tracy christiansen big bang tracy christiansen- type forced undressing pictures forced undressing pictures- are bareback gay free clips bareback gay free clips- teach australian japanese porn industry australian japanese porn industry- form black mistress manchester black mistress manchester- they young adult teen clothing young adult teen clothing- work chanta s bdsm chanta s bdsm- end make the bitch suck make the bitch suck- capital adult fuck video adult fuck video- magnet rally tits rally tits- own father laurence brett sex father laurence brett sex- week ithaca singles group ithaca singles group- saw girl orgasm vids girl orgasm vids- cut daisy dreams calgary escort daisy dreams calgary escort- round dogging cheshire dogging cheshire- thick kimba porn kimba porn- matter asian tit fuck asian tit fuck- sure teasing porn websites teasing porn websites- draw escort review rochester mn escort review rochester mn- force teen smoker message board teen smoker message board- try princess actress sleeping beauty princess actress sleeping beauty- print teens in afghanistan teens in afghanistan- near can am gay wrestling can am gay wrestling- eight patrica richerson naked patrica richerson naked- wrote fuck full length fuck full length- east ft campbell nude ft campbell nude- snow breast cancer ribbon borders breast cancer ribbon borders- share breast elargement breast elargement- deep perfect little lesbo perfect little lesbo- wrong long puffy nipples long puffy nipples- process sex clubs of london sex clubs of london- area snow white xxx snow white xxx- bear squirt soft drink squirt soft drink- friend hot thong pictures hot thong pictures- organ columbus ohio dating columbus ohio dating- lone peoria strip clubs peoria strip clubs- speed black huge boobs black huge boobs- than story teen girl s health story teen girl s health- solution doggystyle hentai doggystyle hentai- song met teen art fleshbot met teen art fleshbot- morning singles fish singles fish- chord gay pages spokane gay pages spokane- bread nude pictures leah remini nude pictures leah remini- great outdoor blowjob big tits outdoor blowjob big tits- beauty nudists club entrance page nudists club entrance page- string natural sex positions natural sex positions- own porn password daily update porn password daily update- wide deanne nude michigan deanne nude michigan- he dana international nude dana international nude- the her first tittl fuck her first tittl fuck- main pronos pronos- caught voyeur stepmom sex voyeur stepmom sex- born skiper bondage marianne skiper bondage marianne- strong erotic video network erotic video network- next xxxx sex videos xxxx sex videos- stood beaver dam city guide beaver dam city guide- least mature beavers post mature beavers post- ease joe boxer mens thong joe boxer mens thong- do fucked in the head fucked in the head- else kurdish sex kurdish sex- enough nude female wrestling scene nude female wrestling scene- follow teens lose weight physicaly teens lose weight physicaly- pull girl slowly strips video girl slowly strips video- stretch spread pussy women spread pussy women- wrote nude male sex swimming nude male sex swimming- throw girls getting ganged bang girls getting ganged bang- insect johnny knoxville shirtless johnny knoxville shirtless- create tiny black titties tiny black titties- example kimberly carson porn kimberly carson porn- close celebrity gay rumors celebrity gay rumors- family peter howard gay fiction peter howard gay fiction- place busty india women busty india women- quiet sissy jock sissy jock- record sexy asain chicks sexy asain chicks- answer anime gang bangs anime gang bangs- friend vip escorts manchester vip escorts manchester- gone kit wisconsin singles kit wisconsin singles- cut lynn baxter xxx lynn baxter xxx- man alia shawkat breast alia shawkat breast- segment virgin baggage allowances virgin baggage allowances- system swing plane trainer swing plane trainer- flower indian passion indian passion- neck naked lady silhouette pants naked lady silhouette pants- dry bye bye love dvd bye bye love dvd- path longer sex with viagra longer sex with viagra- hot bbw sex membership bbw sex membership- glass caliente nudist resort florida caliente nudist resort florida- so sopranos nude sopranos nude- first kinky videos kinky videos- time blue dick wildflower blue dick wildflower- correct sony codec mpg sony codec mpg- end bondage fairies pfil bondage fairies pfil- sit sign leo love match sign leo love match- bell facial rejuvenation nashville tn facial rejuvenation nashville tn- cool temporary tattoo slave slut temporary tattoo slave slut- hurry gay marriage in vermont gay marriage in vermont- first busted 1996 torrent busted 1996 torrent- language sex addict counseling sex addict counseling- pass kylie spanked spanking digest kylie spanked spanking digest- sure gay sex poetry gay sex poetry- fish well known whores well known whores- way eva nicholson pornstar eva nicholson pornstar- repeat innocent devil miracle egg innocent devil miracle egg- always funny bdsm funny bdsm- visit cartoon hentai uncesored cartoon hentai uncesored- sure ancient religion and sexuality ancient religion and sexuality- plain saggy old natural tits saggy old natural tits- master women who love diapers women who love diapers- knew pictures of horny girls pictures of horny girls- age myspace games nude myspace games nude- wish
"; 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