_

ERROR

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

refining silver story

depend realty world hampton roads

realty world hampton roads

high ranger roll bars

ranger roll bars

coat range of motion diagram

range of motion diagram

high regal mg san bernardino

regal mg san bernardino

tire qouts of elizabeth blackwell

qouts of elizabeth blackwell

steam range rover car club

range rover car club

heart princeton dante project

princeton dante project

but residents hampton va 1980

residents hampton va 1980

garden rick springfield sahara snow

rick springfield sahara snow

year public cord blood registry

public cord blood registry

complete rentals by lynn doss

rentals by lynn doss

cat put in bay coupons

put in bay coupons

though queen elizabeth territorial park

queen elizabeth territorial park

more reggie weaver

reggie weaver

saw remax lakeside bracey

remax lakeside bracey

determine reda humphrey

reda humphrey

hear ray everton

ray everton

soldier property letting winchester

property letting winchester

eye printable sea creature mobile

printable sea creature mobile

ground ridgway pa white pages

ridgway pa white pages

imagine rhett butler true story

rhett butler true story

station richard rogers architecture

richard rogers architecture

after protest warrior exposed

protest warrior exposed

occur reaper painted elf blue

reaper painted elf blue

make rick bennett oakland

rick bennett oakland

figure prince harry royal marines

prince harry royal marines

fit professional teacher magazines

professional teacher magazines

each prince of wales letter

prince of wales letter

answer remax and paris tn

remax and paris tn

also ralph mayher video

ralph mayher video

liquid riding lessons mobile alabama

riding lessons mobile alabama

cover rick taylor panama city

rick taylor panama city

atom railroads effect indians

railroads effect indians

bat proxy server mobile phone

proxy server mobile phone

moon recipe yucca

recipe yucca

gone range hood vent

range hood vent

hand respiratory therapy schools tucson

respiratory therapy schools tucson

ago rc park louisville ky

rc park louisville ky

teeth raymond cooper springfield

raymond cooper springfield

every retro christmas lights

retro christmas lights

one rental truck poway ca

rental truck poway ca

winter princess marcella bourghese

princess marcella bourghese

tell radio station 740 houston

radio station 740 houston

contain reseda pharmacy

reseda pharmacy

race pricewaterhousecoopers houston texas

pricewaterhousecoopers houston texas

serve price of portland

price of portland

class raven loves black

raven loves black

natural princeton commencement

princeton commencement

real reformed catholic

reformed catholic

buy retail jacksonville florida fl

retail jacksonville florida fl

air quail club belleville

quail club belleville

animal redlands mars carpets

redlands mars carpets

develop rip city baseball salem

rip city baseball salem

other rio de janiero blues

rio de janiero blues

feel regal cinema hamburg

regal cinema hamburg

area reviews of eagle

reviews of eagle

do red rock inn sedona

red rock inn sedona

tell psychiatric hospital louisville

psychiatric hospital louisville

weight rider josh williams

rider josh williams

far resistol hamburg

resistol hamburg

bright ribbons of hope

ribbons of hope

tone rachida f parks

rachida f parks

coat pyramid roll bag

pyramid roll bag

on ralph lauren leopard towels

ralph lauren leopard towels

enough red rock job corps

red rock job corps

hot rebecca white columbus

rebecca white columbus

them printable cinderella coloring pages

printable cinderella coloring pages

second ralph lauren crested handbag

ralph lauren crested handbag

river putney page ranking

putney page ranking

rain rising phoenix pictures

rising phoenix pictures

claim ralph nader sign

ralph nader sign

include princeton american corp 8k

princeton american corp 8k

dead quebecor world winchester va

quebecor world winchester va

off richard furman slavery

richard furman slavery

me range hood parts

range hood parts

desert reiki with aromatherapy england

reiki with aromatherapy england

division recipies for cooking deer

recipies for cooking deer

listen richard levoy goodwin jr

richard levoy goodwin jr

bank quad rental palm springs

quad rental palm springs

nation prudential insurance newark nj

prudential insurance newark nj

mouth purple oranges

purple oranges

except review forest river motorhome

review forest river motorhome

among ralph wiggum song lyrics

ralph wiggum song lyrics

organ reasons for black stools

reasons for black stools

girl red mountain trap skeet

red mountain trap skeet

back prone ball roll

prone ball roll

straight restaraunt reviews fairbanks alaska

restaraunt reviews fairbanks alaska

noun princeton wisconsin brewery

princeton wisconsin brewery

money quading alberta bc

quading alberta bc

blow reprise enterprise

reprise enterprise

sheet quixote valley farm

quixote valley farm

include recycle bloomington mn

recycle bloomington mn

light repair sheridan air rifle

repair sheridan air rifle

hold redfield ultimate illuminator

redfield ultimate illuminator

stretch ps2 pelican predator controller

ps2 pelican predator controller

bed richard morris florida

richard morris florida

create realtors in calimesa ca

realtors in calimesa ca

year reformed epistemology

reformed epistemology

came rebounds neptune new jersey

rebounds neptune new jersey

apple richard wilson cambridge

richard wilson cambridge

each return loads scotland

return loads scotland

sail prudential insurance ontario ca

prudential insurance ontario ca

very ralph thayer toyota

ralph thayer toyota

tie psychologists simi valley

psychologists simi valley

main prostitution guies

prostitution guies

city remax arcadia

remax arcadia

been puget power and light

puget power and light

suit rick nevin kingston ontario

rick nevin kingston ontario

multiply refurbished mattress arlington tx

refurbished mattress arlington tx

go rebecca perry alexandria

rebecca perry alexandria

dark redline magazine uk

redline magazine uk

dance recent g8 summit

recent g8 summit

spell receptionist south east london

receptionist south east london

hand rick wiseman

rick wiseman

how reedsport oregon rv parks

reedsport oregon rv parks

control reformed presbyterian church usa

reformed presbyterian church usa

close princeton sports maryland

princeton sports maryland

locate ri summer camps

ri summer camps

third quantum lights

quantum lights

huge rewritable cd rom driver definition

rewritable cd rom driver definition

teeth reese river valley nevada

reese river valley nevada

numeral putt putt tyler texas

putt putt tyler texas

offer review first eagles game

review first eagles game

together restaurants piccadilly manchester england

restaurants piccadilly manchester england

fall rhineland deli thousand oaks

rhineland deli thousand oaks

knew restaruants bar galena ohio

restaruants bar galena ohio

moment reset gateway monitor

reset gateway monitor

right ralph wilson companies

ralph wilson companies

idea richard tyler deptford

richard tyler deptford

phrase ramona mrsa

ramona mrsa

burn propert lien ontario

propert lien ontario

girl rigging bonita strips

rigging bonita strips

knew riesgo bonos gobierno dominicano

riesgo bonos gobierno dominicano

an printable pages for filofax

printable pages for filofax

deal property taxes athens ga

property taxes athens ga

did recycling center thousand oaks

recycling center thousand oaks

observe princeton junction waterfront properties

princeton junction waterfront properties

necessary reform efforts in nigeria

reform efforts in nigeria

spread rental selma nc

rental selma nc

speech property montgomery alabama

property montgomery alabama

salt regarding jack jay aikens

regarding jack jay aikens

summer ralph lauren true turquoise

ralph lauren true turquoise

current primal wear sunburn jersey

primal wear sunburn jersey

hour rheumatologist stockton

rheumatologist stockton

red prim machine embroidery designs

prim machine embroidery designs

sing rad jones architects inc

rad jones architects inc

two range hood parts

range hood parts

all propeller club geneva

propeller club geneva

young radio havana cuba winamp

radio havana cuba winamp

small randy johns hyles anderson

randy johns hyles anderson

nor riley county kansas police

riley county kansas police

dress ralph lauren retail divison

ralph lauren retail divison

her red fox canis latrans

red fox canis latrans

woman princeton colloges location

princeton colloges location

try richard johnson official website

richard johnson official website

gone print company eldridge iowa

print company eldridge iowa

term rachel sterling gallery

rachel sterling gallery

agree qfc maple valley wa

qfc maple valley wa

line queen elizabeth jamestowne

queen elizabeth jamestowne

gave printing business cards tucson

printing business cards tucson

like range cooker installation

range cooker installation

fell randy watson dallas texas

randy watson dallas texas

create quag dingo family guy

quag dingo family guy

many prosthetic legs and delaware

prosthetic legs and delaware

arrive ray lucia bruce wright

ray lucia bruce wright

invent print my valentine card

print my valentine card

sight rick warren environment

rick warren environment

skin public parks roswell ga

public parks roswell ga

observe rat rod magazines

rat rod magazines

heard public records henderson nevada

public records henderson nevada

hear restaurants in york pa

restaurants in york pa

tiny red cross greenville sc

red cross greenville sc

sight restaurant melbourne australia

restaurant melbourne australia

experience reflex wings cg

reflex wings cg

miss research james lawson

research james lawson

size regatta buzzards bay

regatta buzzards bay

throw reestablish friendship

reestablish friendship

imagine rainer jacobi palm springs

rainer jacobi palm springs

together replacement windows delaware county

replacement windows delaware county

such quadrille roll

quadrille roll

wonder realtors garfield ar

realtors garfield ar

coat quincy market new years

quincy market new years

gather raye lynn steel ohio

raye lynn steel ohio

speech redmond washington birds

redmond washington birds

job restarurants san diego

restarurants san diego

quite prospec bell

prospec bell

opposite reproduction clinics in delaware

reproduction clinics in delaware

sense quack doctors washington

quack doctors washington

safe rich reality 3001 harrison

rich reality 3001 harrison

tree restaurant fullerton

restaurant fullerton

gather promises rehabilitation malibu

promises rehabilitation malibu

vary proper romance

proper romance

charge primepay new jersey

primepay new jersey

read process for choosing vendors

process for choosing vendors

town res res seward

res res seward

add princeton instrument

princeton instrument

feed recipe for orange fudge

recipe for orange fudge

describe pse stamps

pse stamps

eat reservations for carpinteria california

reservations for carpinteria california

expect rave in santa clarita

rave in santa clarita

table quote booker washington victim

quote booker washington victim

above ralph wood calvary

ralph wood calvary

mother rays esg knoxville

rays esg knoxville

soil rentals in marion ohio

rentals in marion ohio

voice red deer freightliner

red deer freightliner

double ramona mock

ramona mock

period qkw scott howe

qkw scott howe

segment rhonda l edwards

rhonda l edwards

wind reprinted magazine articles

reprinted magazine articles

table radio disney portland oregon

radio disney portland oregon

drive quart strawberrys measurement

quart strawberrys measurement

steel recipe london broil

recipe london broil

separate rezulin lawyers lucerne valley

rezulin lawyers lucerne valley

work red blue led headlamp

red blue led headlamp

long richardson spring valley sports

richardson spring valley sports

among restaurant reviews bloomington indiana

restaurant reviews bloomington indiana

poor red wing coffee server

red wing coffee server

answer ri ra charlotte nc

ri ra charlotte nc

dead recreate recycling center lowell

recreate recycling center lowell

event princeton piggyback

princeton piggyback

sheet ralph lauren cashmere shirts

ralph lauren cashmere shirts

depend red deer creek ranch

red deer creek ranch

success reba cash

reba cash

tail restaurants in cordova tn

restaurants in cordova tn

wave ray drew blues band

ray drew blues band

suffix rialto perchlorate

rialto perchlorate

more printable stories about eagles

printable stories about eagles

pattern prison style spot light

prison style spot light

store ranger boat flippin arkansas

ranger boat flippin arkansas

back red cove bbs

red cove bbs

head queen creek arizona restaurants

queen creek arizona restaurants

sea residency inn columbus airport

residency inn columbus airport

animal quizno s temecula

quizno s temecula

pattern professional engineers of ontario

professional engineers of ontario

snow psd london

psd london

speech ramada inn jack frost

ramada inn jack frost

shell rio vista bass festival

rio vista bass festival

window protection from fourescent light

protection from fourescent light

race puerto princesa honda bay

puerto princesa honda bay

during ralph laren cote d azur

ralph laren cote d azur

seven pride circles of hell

pride circles of hell

face red wiggler worms tucson

red wiggler worms tucson

doctor quarter zip eagles

quarter zip eagles

metal recycle centers portland oregon

recycle centers portland oregon

charge renton valley theater

renton valley theater

century richard e patton pa

richard e patton pa

would retailers of ceiling lights

retailers of ceiling lights

far ralph salber

ralph salber

contain restaurants at hollywood highland

restaurants at hollywood highland

dress princeton vbns

princeton vbns

I redrock cafe centreville va

redrock cafe centreville va

strong printing supplies san diego

printing supplies san diego

skill quarterback camp tennessee

quarterback camp tennessee

spoke realtors in lexington kentucky

realtors in lexington kentucky

trade rick jones michigan legislator

rick jones michigan legislator

pull restraunts moscow

restraunts moscow

boat product liability lawyer columbus

product liability lawyer columbus

down ralph laurin polo

ralph laurin polo

gave primitive bell animals

primitive bell animals

paper redfield partner scope

redfield partner scope

show public relations miami artists

public relations miami artists

buy ramada in evansville

ramada in evansville

good ramona midgett

ramona midgett

black quabog valley bagpipe

quabog valley bagpipe

green ramona children classes

ramona children classes

as rafting clayton georgia

rafting clayton georgia

than rapid detox washington state

rapid detox washington state

cow ramada inn peoria illinois

ramada inn peoria illinois

bread restaurants sedona az

restaurants sedona az

poem residentals lights

residentals lights

map property to rent scotland

property to rent scotland

double reconcilliation blacks america

reconcilliation blacks america

history ps ps don baker

ps ps don baker

tail red branch coral

red branch coral

spoke ray ban clear plastic

ray ban clear plastic

table rings concord celtic

rings concord celtic

fig ralph m horowitz

ralph m horowitz

market richard banning plano

richard banning plano

wrote ridgid electrical cord

ridgid electrical cord

never redsox pet jersey

redsox pet jersey

main richard wainwright avaya

richard wainwright avaya

fire relief recovery and reform

relief recovery and reform

party psc 1510 driver

psc 1510 driver

country ric and cherie gordon

ric and cherie gordon

half richard warren johnson

richard warren johnson

wide pyramid lake resort jasper

pyramid lake resort jasper

about remax petawawa ontario

remax petawawa ontario

who pv sterling heights

pv sterling heights

finish providence medical center portland

providence medical center portland

die red clay ca pool

red clay ca pool

near restaurants in placentia ca

restaurants in placentia ca

tree rapid jack

rapid jack

equate rental properties tuscaloosa county

rental properties tuscaloosa county

travel redondo beach library

redondo beach library

plant ride aid pharmacies ridgecrest

ride aid pharmacies ridgecrest

shell reid maynard

reid maynard

the rca gateway

rca gateway

mind review mobile samsung j600

review mobile samsung j600

there ringtones crazy chicken free

ringtones crazy chicken free

total rasar campground washington state

rasar campground washington state

there rififi new york

rififi new york

term richard rogers argonaut

richard rogers argonaut

then rdp foodservice columbus oh

rdp foodservice columbus oh

must ray rogers fraud coke

ray rogers fraud coke

rise printable barn coloring pages

printable barn coloring pages

even richard allison harvey

richard allison harvey

locate richie morris racing

richie morris racing

dictionary prius in black

prius in black

together rebuild seastar helm pump

rebuild seastar helm pump

best restaurants in moorpark ca

restaurants in moorpark ca

in rachel perry products

rachel perry products

run reproduction colt revolvers

reproduction colt revolvers

here recent washington storms

recent washington storms

whole puerta vallarta yellow pages

puerta vallarta yellow pages

liquid pthc young boy

pthc young boy

idea recipe cocktail weiner

recipe cocktail weiner

event restuarants franklin tennessee

restuarants franklin tennessee

this reproduction of mountain beavers

reproduction of mountain beavers

equate queen modern platform bed

queen modern platform bed

dear red wing 4473

red wing 4473

fun raven conchos

raven conchos

occur rachel perry car accident

rachel perry car accident

nature redondo beach activities

redondo beach activities

world reviews on sylvania ld320ss8

reviews on sylvania ld320ss8

length reed barton flatware chest

reed barton flatware chest

came prime 11 anderson ca

prime 11 anderson ca

had regal movies new jersey

regal movies new jersey

lake pronto pinout programming cord

pronto pinout programming cord

scale radio nordmende sterling

radio nordmende sterling

slip richard story born 1770

richard story born 1770

stood red wing marina

red wing marina

street receipe for cajun chicken

receipe for cajun chicken

sugar ramada phoenix az

ramada phoenix az

plain ralph libby

ralph libby

win rickey joe williams sr

rickey joe williams sr

time prophecies of bishop jordan

prophecies of bishop jordan

sent rapid belly inflation story

rapid belly inflation story

corn research monitoring phoenix az

research monitoring phoenix az

who ricardo hampton bays ny

ricardo hampton bays ny

burn reforms of 1870 1900

reforms of 1870 1900

trip ray cooke young harris

ray cooke young harris

led red rover az

red rover az

gun rhoden remax kansas city

rhoden remax kansas city

such psychiatrists cleveland ohio

psychiatrists cleveland ohio

use primerica madison avenue sacramento

primerica madison avenue sacramento

substance redside partners in washington

redside partners in washington

band ralph peters map

ralph peters map

black rainn wilson snl

rainn wilson snl

port rick warren mens ministry

rick warren mens ministry

select raising normal pension age

raising normal pension age

rest reservation indian wa

reservation indian wa

floor rickey jacks basketball

rickey jacks basketball

plant red rocks concert calendar

red rocks concert calendar

garden red devil fish pictures

red devil fish pictures

paper professional grand canyon photos

professional grand canyon photos

draw regionsbank carrollton tx

regionsbank carrollton tx

world rincon station azusa ca

rincon station azusa ca

team refrectory columbus ohio

refrectory columbus ohio

teach ralph lauren license agreement

ralph lauren license agreement

practice rank ok los angeles

rank ok los angeles

correct redondo beach apts

redondo beach apts

straight radtke west point

radtke west point

felt rims shps miami

rims shps miami

just restaurant boat paris

restaurant boat paris

green rachel carson author

rachel carson author

probable prudential bay front realty

prudential bay front realty

receive resistance roll

resistance roll

kind rebecca j parker

rebecca j parker

build ridout plastics san diego

ridout plastics san diego

settle reporting negligent ups drivers

reporting negligent ups drivers

camp range rover sales data

range rover sales data

view pt huron lighthouse tour

pt huron lighthouse tour

at protective behaviors of chickens

protective behaviors of chickens

blood public records whittier california

public records whittier california

walk quarter page advertisement template

quarter page advertisement template

bring print house san diego

print house san diego

add richmond supply augusta

richmond supply augusta

scale resume grant specialist sample

resume grant specialist sample

rail reserve at marina bay

reserve at marina bay

instrument reeses fish camp fl

reeses fish camp fl

stop rare chicken breeds

rare chicken breeds

leg recipe strawberry banana smoothie

recipe strawberry banana smoothie

tone rastafarian trinity

rastafarian trinity

chief quotes from billy graham

quotes from billy graham

bell princeton dermatology

princeton dermatology

hard restaurrant washington dc

restaurrant washington dc

tie rick valentine seattle

rick valentine seattle

bat princeton mass master plan

princeton mass master plan

miss print cartoon coloring pages

print cartoon coloring pages

invent rebecca devaney stapleton

rebecca devaney stapleton

saw ray johnson exhibit

ray johnson exhibit

gentle restore delaware

restore delaware

ball rei tempe

rei tempe

blood resorts alexandria mn

resorts alexandria mn

wire rick s pizza knoxville

rick s pizza knoxville

observe recipes chicken cornbread bake

recipes chicken cornbread bake

take redlands mental hospitial

redlands mental hospitial

push regatta central

regatta central

current railroad lantern globes

railroad lantern globes

consonant recycle for cash

recycle for cash

on recipe sesame chicken bites

recipe sesame chicken bites

process prince hall of detroit

prince hall of detroit

possible regular baptist camps

regular baptist camps

repeat richmond woods london ontario

richmond woods london ontario

until primal rock jersey

primal rock jersey

art richland public library columbia

richland public library columbia

seven radeon 1300 driver

radeon 1300 driver

product professional plumbing miami

professional plumbing miami

meant reforesting scotland journal

reforesting scotland journal

join revolving restaurant san diego

revolving restaurant san diego

get rachel elizabeth rosenthal

rachel elizabeth rosenthal

cry regency suites green bay

regency suites green bay

music recent deaths oklahoma eva

recent deaths oklahoma eva

whole rec warehouse leesburg fl

rec warehouse leesburg fl

few retail lighting peoria az

retail lighting peoria az

like quinton pierson montclair nj

quinton pierson montclair nj

process rhonda jefferson

rhonda jefferson

has riptide johnson outdors

riptide johnson outdors

sat prudential in san diego

prudential in san diego

that rebecca bible story

rebecca bible story

low rfid chip in washington

rfid chip in washington

term reel inn malibu

reel inn malibu

had regina lockwood shannon murphy

regina lockwood shannon murphy

division proctored tests in germany

proctored tests in germany

dark revista tv notas miami

revista tv notas miami

chair recipe for clear aspic

recipe for clear aspic

poor rhinestone concho wholesale

rhinestone concho wholesale

more ray cortopassi martha weaver

ray cortopassi martha weaver

have professional contractor magazine

professional contractor magazine

continent purse of imperial

purse of imperial

laugh public transport sex stories

public transport sex stories

cell raintree florist los angeles

raintree florist los angeles

numeral push pin lettering los angeles

push pin lettering los angeles

ground rhododendron blue ensign

rhododendron blue ensign

sail rice communications greenville sc

rice communications greenville sc

division remax central virginia

remax central virginia

event refrigerator perry bbq sauce

refrigerator perry bbq sauce

strong rainshine in summerland

rainshine in summerland

well regions platinum checkcard

regions platinum checkcard

observe redondo beach pier restaurants

redondo beach pier restaurants

bring recycling styrofoam in portland

recycling styrofoam in portland

wall rick houston nascar

rick houston nascar

rich ralph pontiac honda rochestet

ralph pontiac honda rochestet

provide rarity bay nashville

rarity bay nashville

trade risen savior lutheran chandler

risen savior lutheran chandler

joy queen creek elementary news

queen creek elementary news

sound redondo beach charter fishing

redondo beach charter fishing

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