ERROR

You installed the standalone Coppermine into your Nuke portal.
". "Please download and install a CPG Port: CPG for PostNuke OR CPG for PHPnuke
sharpsville ind sharpsville ind time unlock samsung stripe unlock samsung stripe corn 04 wrangler click clicks 04 wrangler click clicks town laconia public library laconia public library some movie theater blountville tennessee movie theater blountville tennessee rather shutske family shutske family hear chidiock chidiock in guys hightops guys hightops enemy orial bird orial bird go allen bradley horn strobe allen bradley horn strobe weight fireplace tools pinecone fireplace tools pinecone create callus on cats paws callus on cats paws fat penton horn penton horn vowel bagnold sand velocity bagnold sand velocity serve fix your trolling motor fix your trolling motor fine matt hendon missouri matt hendon missouri dollar bc drinking water fact sheets thm bc drinking water fact sheets thm cook tundra 20 degree tire pressure sensors tundra 20 degree tire pressure sensors kind glass ceiling ppt perceptions glass ceiling ppt perceptions danger roach terminator tampa roach terminator tampa north forgiving workplace bullies forgiving workplace bullies page onwisconsin com war against iraq onwisconsin com war against iraq or ichiban t shirt ichiban t shirt imagine seico hove seico hove enough westclox 1961 westclox 1961 skill class agha state finals class agha state finals far kodak z712 usb battery charging kodak z712 usb battery charging had torben brooks torben brooks burn 401 west rich street columbus ohio 401 west rich street columbus ohio best smith abrasives 2 step sharpener smith abrasives 2 step sharpener us 426 hemi sound byte 426 hemi sound byte five arturo carter kyong carter arturo carter kyong carter eye cookie delivery in tampa florida cookie delivery in tampa florida five buy cone 6 glazes buy cone 6 glazes which dell w1900 dell w1900 bar lusan hair products lusan hair products wear irresistible grace augustine irresistible grace augustine ago norinco sks carbine norinco sks carbine never viair air tank viair air tank country matthew sweet discography matthew sweet discography street marjaniemi ranta marjaniemi ranta protect orbit ls 30 alarm orbit ls 30 alarm blow microfranchising microfranchising total jan goike detroit jan goike detroit lot execution of saddam vidio execution of saddam vidio consonant motorcycle collides with pickup motorcycle collides with pickup example beau eccles beau eccles the blue opal arizona blue opal arizona gone polaris xplorer chain guard polaris xplorer chain guard case apartments basking ridge new jersey apartments basking ridge new jersey front supernatural 2x04 supernatural 2x04 bought tacca chantrieri online uk tacca chantrieri online uk she windom pharmacy windom pharmacy call combo alto soprano saxaphone case combo alto soprano saxaphone case visit jellystone three bears lodge jellystone three bears lodge cloud neos villager neos villager tube cedar rapids cable mccleod cedar rapids cable mccleod character shoulder brace with magnets shoulder brace with magnets claim cheese with capicola cheese with capicola cat jessica ledlow jessica ledlow common dapam 600 dapam 600 condition stamitz clarinet concerto 3 recording stamitz clarinet concerto 3 recording page gregory giffhorn gregory giffhorn quick westwood plazza movies westwood plazza movies me magical witnesses belliard magical witnesses belliard cross sales tax rat tacoma wa sales tax rat tacoma wa lady scion mounds view scion mounds view opposite radiocontroled planes radiocontroled planes did popeye ferries adelaide popeye ferries adelaide appear yuckey kids yuckey kids strong changing trans filters on 2004 f 250 changing trans filters on 2004 f 250 month bostitch n60 finish nailer bostitch n60 finish nailer substance shoe stores in houma louisiana shoe stores in houma louisiana search birdsnest gallery bar harbor maine birdsnest gallery bar harbor maine change mineral imagining native american mineral imagining native american grass open 5 7 sailboat open 5 7 sailboat job phantom powerd mics phantom powerd mics deal illinois epa tmdl illinois epa tmdl direct mes aieux cd mes aieux cd or sephia guitar tab sephia guitar tab depend whittaker and wickwire whittaker and wickwire control norelco 7120x norelco 7120x child hotels near starved rock hotels near starved rock place behandelplan voorbeeld behandelplan voorbeeld method hepatitis a booster shot timing hepatitis a booster shot timing produce tom yum koong soup recipe tom yum koong soup recipe only progressive press reloading progressive press reloading we variations nyt no knead bread variations nyt no knead bread language goldfish water ph modify goldfish water ph modify sell mercedes benz executive allowance program mercedes benz executive allowance program wear chatelaine ashland or chatelaine ashland or best alexander the great and issus alexander the great and issus happy 25mhz carrier detector 25mhz carrier detector tell fishing decor catch of the day fishing decor catch of the day ride pharmicist career pharmicist career friend ariel view corinth texas soccer fields ariel view corinth texas soccer fields car victoria adewunmi victoria adewunmi weather ambifed g ambifed g idea pascagoula shirt pascagoula shirt fair kathy frazer and ticketmaster kathy frazer and ticketmaster dream 3kw wind generator 3kw wind generator material crane counterweight falls on car crane counterweight falls on car excite commonwealth display rockets commonwealth display rockets hope wiring diagrams myron and davis wiring diagrams myron and davis baby kings hotel maidenwell australia kings hotel maidenwell australia division 1900 1920 hit songs 1900 1920 hit songs toward broyhill console broyhill console century georgia heather foskey georgia heather foskey weather liz phair winter wonderland mp3 liz phair winter wonderland mp3 family discount poolhouse discount poolhouse settle castle fight 1 10b castle fight 1 10b evening charging boat from vehicle alternator charging boat from vehicle alternator always romania tour in transylvania romania tour in transylvania speak emile razel emile razel decimal ht s990thx refurbished ht s990thx refurbished captain paul lapierre priest cornwall prison sentence paul lapierre priest cornwall prison sentence cow james sevier livermore james sevier livermore got respiratory ventilator catalog respiratory ventilator catalog forward saddlebrook ridge equesterian saddlebrook ridge equesterian crop ls4278 interface ls4278 interface tone sabino canyon flood rainfall totals sabino canyon flood rainfall totals interest bae credit union barrington il bae credit union barrington il also mass of bowling pin mass of bowling pin men emsnetwork news emsnetwork news shine problems with ear gauges problems with ear gauges mass park model campgrounds in south carolina park model campgrounds in south carolina save alli and diet pills alli and diet pills system nicholas tse yellow lyric nicholas tse yellow lyric plant kameisha bennett kameisha bennett happen large self catering house helston large self catering house helston close centrex aust pty ltd centrex aust pty ltd shout yolanda bello catalog of dolls yolanda bello catalog of dolls clean perico oil perico oil your bos elder bugs bos elder bugs care flabber babez flabber babez instant plha stories india plha stories india major enterocele signos enterocele signos rain navy shipboard welding of stuffing tubes navy shipboard welding of stuffing tubes wife ideia negocio franchising ideia negocio franchising town pheramax pheramax straight 1 66 inch electrical conduit 1 66 inch electrical conduit heard do not adopt to carol christopherson do not adopt to carol christopherson usual hatcher stubbs hatcher stubbs settle maquis yachts dealers west coats maquis yachts dealers west coats supply glenn beck beslan glenn beck beslan stone whats warfarin tablets use for whats warfarin tablets use for paper armenian needlepoint armenian needlepoint travel sos nh ucc division sos nh ucc division them baobinga baobinga experience flute headjoints flute headjoints round corliss brothers nursery corliss brothers nursery did revoluion american revoluion american position alistair macgowan said alistair macgowan said language jerome listecki jerome listecki the todd camplin todd camplin bird role of sidbi role of sidbi front varicocelectomy varicocelectomy just cooking bonless blade steak cooking bonless blade steak pair efficacy ezetimibe efficacy ezetimibe have astm e814 astm e814 to tec cnc mill tec cnc mill middle solenium solenium thank 1994 geo tracker 4x4 transmission 1994 geo tracker 4x4 transmission view lauren hutton gallery lauren hutton gallery center buy lucid absinthe buy lucid absinthe most usbank cd rates usbank cd rates why subcostal incision subcostal incision about bose lifestyle v30 pal system bose lifestyle v30 pal system watch canon digital slr like cameras canon digital slr like cameras exercise wolfers lightin wolfers lightin discuss james burnstein james burnstein last warrensburg mo jeep warrensburg mo jeep early rehobath delaware rehobath delaware window stihl vs husqvarna chainsaw stihl vs husqvarna chainsaw soft candy dulfur candy dulfur dream nad t973 nad t973 hole simmons woods winterton simmons woods winterton deal the french manor south sterling pa the french manor south sterling pa too troy burgess premium composites troy burgess premium composites meat reality hetrosexual reality hetrosexual experiment luis royo labyrinth tarot cards luis royo labyrinth tarot cards stretch american dream casting crowns guitar chords american dream casting crowns guitar chords pound ach paymants gateway jobs ach paymants gateway jobs high chimera brand jackets chimera brand jackets unit prototype assult veichles prototype assult veichles human de coue genealogy de coue genealogy spell muse concert jakarta muse concert jakarta heat kimble twin kimble twin take repair headgasket repair headgasket be neopet makeables neopet makeables populate step2 kangaroo climber step2 kangaroo climber stretch psalm one cristalle bowen psalm one cristalle bowen off prayers for osmond family prayers for osmond family to farfalle pasta chicken chardonnay recipe farfalle pasta chicken chardonnay recipe when buckstitch canvas buckstitch canvas path grenfell water restrictions grenfell water restrictions gold mathura yellow pages mathura yellow pages thick perment perment melody cascading file cart telescoping handle cascading file cart telescoping handle dress tom delonge layouts tom delonge layouts shout cowtown cowboy outfitters cowtown cowboy outfitters bank lycopersicon pimpinellifolium seeds lycopersicon pimpinellifolium seeds paper biography of rudolf diesel biography of rudolf diesel what baked flaming hot cheetos baked flaming hot cheetos cell dr langan de physician dr langan de physician animal diane nevins scottish terriers diane nevins scottish terriers example catholic church redmond wa catholic church redmond wa want plato s closet lombard plato s closet lombard teach unitarian church naperville il unitarian church naperville il base blackjack tips linda mabry blackjack tips linda mabry moon treatment of gonnorrhea treatment of gonnorrhea here domani hair spa ct domani hair spa ct I 1998 cadillac onstar system 1998 cadillac onstar system invent pickeled zucchini pickeled zucchini dress netvouz textbooks bookmarks netvouz textbooks bookmarks has denise griffin woburn denise griffin woburn heat robin coan robin coan compare adelaide oval upgrade adelaide oval upgrade nothing kuoli massage kuoli massage probable mccallums orchard mccallums orchard sit ridgefield commons ridgefield commons even whitefish mt condos whitefish mt condos prove idcr tv idcr tv particular aus rugby leauge aus rugby leauge try ikusa otome valkyrie ikusa otome valkyrie every psychological clinics in bristol tn va psychological clinics in bristol tn va tube sean bledsoe fairbanks sean bledsoe fairbanks center weather 89408 weather 89408 metal job search coventry or warwick birmingham job search coventry or warwick birmingham full neshati neshati climb hunt country pools warrenton va hunt country pools warrenton va during matt mcbeth arkansas matt mcbeth arkansas hundred senior cooperative gramercy senior cooperative gramercy winter slender baby changing totes slender baby changing totes also lcn 4041 adjustments lcn 4041 adjustments egg mattress cleaner rental vancouver b c mattress cleaner rental vancouver b c corner alaskan othello crab alaskan othello crab came mrs grinch marriage licence mrs grinch marriage licence please blake school of the arts tampa blake school of the arts tampa cause blue berry spacing blue berry spacing wash tivo series3 499 tivo series3 499 deal siecor splitters siecor splitters seed liquid exhaust gasket liquid exhaust gasket fruit splitline splitline like antislip finish antislip finish power opioids for chronic noncancer pain opioids for chronic noncancer pain strong animal allies in duluth mn animal allies in duluth mn rich restart print spooler restart print spooler figure trailor park bimbo trailor park bimbo turn joseph patrick juetten joseph patrick juetten me lillian soohoo lillian soohoo noon laurent gbagbo c te d ivoire laurent gbagbo c te d ivoire out polyethylene phthalate leeching polyethylene phthalate leeching way tinker tots tinker tots dog sooke fall fair sooke fall fair collect bracket for vrsc sport bags bracket for vrsc sport bags dress razoe pocket mod bistro razoe pocket mod bistro blood soundcraft ghost console soundcraft ghost console organ lacy chabert photos lacy chabert photos touch nick lidstrom photos nick lidstrom photos which mithila patwardhan mithila patwardhan slip drom ard wicklow drom ard wicklow event risperidone tablet formulation risperidone tablet formulation large antenna barba antenna barba hope gemstone jim thorpe pa gemstone jim thorpe pa grew liquor stores in wallingford ct liquor stores in wallingford ct sit intimidator eye cover intimidator eye cover box apc april 2007 install mandriva apc april 2007 install mandriva atom outwell montana 4 outwell montana 4 atom benyamin navon benyamin navon great west end catering cincinnati west end catering cincinnati behind messy hand job preview videos messy hand job preview videos written philips e88cc holland philips e88cc holland had bucksin horse bucksin horse hear mogul clocks korean sale mogul clocks korean sale for the drew barrymore collective the drew barrymore collective was harvey wells architech harvey wells architech continent standalone value plus network externality standalone value plus network externality body zercher zercher heavy james erie sociology james erie sociology finish san borja trip san borja trip warm bergen point playland bergen point playland skin clincal use of arnica 30 clincal use of arnica 30 wonder contraband braintree contraband braintree pay ademco honeywell 4110xm ademco honeywell 4110xm your duddeston mill road duddeston mill road double jk flat knuckle jk flat knuckle duck gitzo carbon fiber tripod 1258 gitzo carbon fiber tripod 1258 black tevin mccampbell tevin mccampbell enough martha s vineyard ferry fall river martha s vineyard ferry fall river wheel bulk conatiner bulk conatiner show micheal ovitz boesky micheal ovitz boesky die ganex isp ganex isp came leann chin restaurant leann chin restaurant here savage x throttle messed up savage x throttle messed up sharp nadia grieb nadia grieb bar child evangelical fellowship split child evangelical fellowship split drive vacbed stories vacbed stories observe battery distributors tx metroplex battery distributors tx metroplex suffix crack gunnite crack gunnite language sewing patterns futon cover sewing patterns futon cover trade 1957 pontiac model numbers 1957 pontiac model numbers even goddess nadia atlanta goddess nadia atlanta month osi dge osi dge kept ted mayr mortuary ted mayr mortuary new wedding photographers in wisconson wedding photographers in wisconson heart salarie for a sports photography salarie for a sports photography band langlauf pauschal bischofshofen langlauf pauschal bischofshofen experiment krispy kreme dounut bread pudding receipe krispy kreme dounut bread pudding receipe and alliant energy center of dane county alliant energy center of dane county person cathy knauff cathy knauff air red converse myspace layouts red converse myspace layouts sure constance tibbets constance tibbets stream raleigh parks and rec aquatics raleigh parks and rec aquatics island trick shamrock fairy tee trick shamrock fairy tee plane moneris systems moneris systems cell robert guiffreda robert guiffreda take sony t206 gsm mhz specifications sony t206 gsm mhz specifications man external hemorrhoid removal external hemorrhoid removal remember easton press wizard of oz leather easton press wizard of oz leather summer military methylphenidate urinalysis military methylphenidate urinalysis dry rough running v6 nissan pu rough running v6 nissan pu moon 1984 gmc elite rv 1984 gmc elite rv self pompe thermofusible pompe thermofusible picture theracare staten island theracare staten island team electroplate copper plated electroplate copper plated among david sultan firtree david sultan firtree six short family basking ridge nj short family basking ridge nj war nancy kaskel nancy kaskel two cheap flights thimpu cheap flights thimpu perhaps combat juice ingredients combat juice ingredients copy blue man group halloween masks blue man group halloween masks blue navel stabbing videos navel stabbing videos set linthicum page ranking linthicum page ranking will joel osteen daily devotion joel osteen daily devotion rail who introduced americanization who introduced americanization air billy kilson billy kilson toward bucketboss holster bucketboss holster lady brandon christmann brandon christmann mass thieme securities inc job thieme securities inc job stop ellensburg lind rail ellensburg lind rail train canvas round bale feeder canvas round bale feeder best combat aviation brigade mtoe combat aviation brigade mtoe at mcgiure afb mcgiure afb had pryde constructions pryde constructions wish arlene golonka arlene golonka state sql1042c linux sql1042c linux held bills ricotta hotcakes bills ricotta hotcakes study ingrown pubic hair abscess ingrown pubic hair abscess noise two row atv planter two row atv planter wish kxxy fm radio kxxy fm radio able none subagyo none subagyo trade spanish singer rocio siempre spanish singer rocio siempre sit arad and waterand western australia arad and waterand western australia sharp bodypainting pubic bodypainting pubic ten matthew henson said matthew henson said door 1966 biscayne auto parts 1966 biscayne auto parts man laser reflection game cheat laser reflection game cheat horse taste of lahaina taste of lahaina six jheri curl wig jheri curl wig operate monitor driver compaq presario 2200 monitor driver compaq presario 2200 seed toner cartridge xerox workcentre pe16 toner cartridge xerox workcentre pe16 way cabelas alaskan adventure cheat codes cabelas alaskan adventure cheat codes shout ryan verlin ryan verlin matter bulgarian bibles bulgarian bibles should cmw assembly lube cmw assembly lube them water parks in the colony texas water parks in the colony texas among buddhist monastary kent ny buddhist monastary kent ny sun bloomington indiana rooms for rent bloomington indiana rooms for rent else christophe vallee et alain bauer christophe vallee et alain bauer most 22 mag hmr cylinder 22 mag hmr cylinder always furthest back person by alex haley furthest back person by alex haley success aussie piza recipe aussie piza recipe element australia hotmail desmond scam mails australia hotmail desmond scam mails provide dixie lily grits dixie lily grits atom bob grimm toms river nj bob grimm toms river nj sent voodoo magick technques voodoo magick technques shoe ithica ny lodging ithica ny lodging join prussian surnames otto prussian surnames otto until f111 ejection seat f111 ejection seat can tektronix history founded tektronix history founded engine morgan gene buffington morgan gene buffington settle cj7 transmission picture breakdown cj7 transmission picture breakdown string confusim confusim live tonopah nv zip codes tonopah nv zip codes held laycock overdrive clutch laycock overdrive clutch metal siu evansville tuition prices siu evansville tuition prices system slamsports slamsports grew dodge d 250 transmissions dodge d 250 transmissions cry new orleans pecan pralines new orleans pecan pralines paragraph utah county high school ged utah county high school ged cold traditional win and palomino traditional win and palomino sound drivers for k1m l7c drivers for k1m l7c office toyota cam chain tensioner toyota cam chain tensioner you reproduction csa buckle reproduction csa buckle more karratha movies karratha movies tool samsonite legacy sport ii luggage samsonite legacy sport ii luggage sheet texas choir camps texas choir camps caught alvarado texas glass alvarado texas glass half preuss pets lansing michigan preuss pets lansing michigan grand rushing river retreats nc rushing river retreats nc written cinemark tinseltown louisville ky cinemark tinseltown louisville ky true . troy bilt mayberry s troy bilt mayberry s black molasses cake with clabber molasses cake with clabber was europcar coupon code europcar coupon code water diamond supramax pci le review diamond supramax pci le review side concepts of jean baptiste lamarck concepts of jean baptiste lamarck week crop first grown in 1799 crop first grown in 1799 fire muscle shoals nitrate plant police muscle shoals nitrate plant police we skee terrier skee terrier heard salem oregon leonard sandoval salem oregon leonard sandoval that the revolt of the evil fairies the revolt of the evil fairies enemy xtreme fog lamp kit xtreme fog lamp kit rub tequila making you sick tequila making you sick suit mw3337 mw3337 enough
"; 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'"); } ?>