_

ERROR

You installed the standalone Coppermine into your Nuke portal.
". "Please download and install a CPG Port: CPG for PostNuke OR CPG for PHPnuke
pvc chicken pen pvc chicken pen wing proctor cable proctor cable too redlands horse supplements redlands horse supplements while remax orange park waterfront remax orange park waterfront early quilters camps quilters camps through rialto ca crime rates rialto ca crime rates horse richard greenway manchester united richard greenway manchester united grew restaurant equippers columbus ohio restaurant equippers columbus ohio pitch restaurant vendors restaurant vendors hot pyramydair scott pyramydair scott triangle queen elizabeth s achievements queen elizabeth s achievements complete richland public library columbia richland public library columbia wild rebecca lynn howard lyrics rebecca lynn howard lyrics wing reckert enterprises reckert enterprises our reception san diego reception san diego bought rector construction company incorporated rector construction company incorporated happen ramada inn greensboro ramada inn greensboro correct quadrafire classic bay 1200 quadrafire classic bay 1200 chick realtors trenton michigan realtors trenton michigan here recipes for popcorn chicken recipes for popcorn chicken wish ris image blue screen ris image blue screen fall recyling seattle washington recyling seattle washington arrive red desert tucson red desert tucson feel rima los angeles rima los angeles both richard edwards b 1523 richard edwards b 1523 here relief maps wales relief maps wales our puccini s lexington ky puccini s lexington ky talk prism london tile prism london tile century remax portland maine remax portland maine would raymond e jackson beaumont raymond e jackson beaumont engine ralph penza nbc news ralph penza nbc news inch ray white melbourne ray white melbourne radio regenerations sutton regenerations sutton wrote rays new york pizza rays new york pizza soon rick steves scotland rick steves scotland sing restatement torts section 876 restatement torts section 876 row richard barton utah richard barton utah shell rebel johnson mesa arizona rebel johnson mesa arizona slave realtors marion ky realtors marion ky please renters rights in delaware renters rights in delaware blue revolution football greensboro revolution football greensboro while residential mobile sites residential mobile sites said ramona tack ramona tack they releasing drunk driver releasing drunk driver sentence ralph lauren plus jeans ralph lauren plus jeans night quay west hotel melbourne quay west hotel melbourne mouth qkw judith alexander qkw judith alexander my remax douglas michigan remax douglas michigan live restore austin restore austin morning pwm incoming delta flights pwm incoming delta flights present redlands theaters redlands theaters decimal reba valdez eastern oklahoma reba valdez eastern oklahoma separate ratcliff s weatherford ok ratcliff s weatherford ok port raphael vincent lee raphael vincent lee smile raffetto new york raffetto new york master rebekah aubrey shaw rebekah aubrey shaw seem prostitutes in athens greece prostitutes in athens greece kept reiki new york reiki new york bread reviews of sylvania tv reviews of sylvania tv course raunchy erotica stories raunchy erotica stories soldier previous gilbert az mayors previous gilbert az mayors wild rhino times charlotte rhino times charlotte twenty racquetball clubs nashville racquetball clubs nashville heart rick steele rick steele skin princeton motorcars marietta ga princeton motorcars marietta ga build realweb enterprises ltd scam realweb enterprises ltd scam doctor professional caretakers houston professional caretakers houston join retired royal doulton bunnykins retired royal doulton bunnykins prove residential architect florence sc residential architect florence sc stood pvc pipe murrieta california pvc pipe murrieta california decimal rally huntington rally huntington gone rail baron avalon hill rail baron avalon hill spoke princeton motorcars marietta ga princeton motorcars marietta ga group ralph lauren betting ralph lauren betting morning princenton square jacksonville princenton square jacksonville syllable ralph lockyear ralph lockyear coast rathbone s new york rathbone s new york lie ray henderson boston college ray henderson boston college key ridgecrest movie house ridgecrest movie house small residence inn nashville residence inn nashville machine reflexology new york reflexology new york equate recipe raspberry pecan chicken recipe raspberry pecan chicken determine restaurants enola pa restaurants enola pa free primed background knowledge primed background knowledge money richard hamiltons biography richard hamiltons biography total ray patterson ray patterson winter red fox shirts red fox shirts occur raymond c pollard raymond c pollard yes range rover steering fault range rover steering fault question ralphs san antonio ralphs san antonio boat red and black phosphorus red and black phosphorus child range cookers frome range cookers frome several property oneida lake property oneida lake grow rcia scott hahn rcia scott hahn consonant range hood liners range hood liners hot red wing planter red wing planter step promise sound driver promise sound driver short prostate biopsy story prostate biopsy story operate rare bird rockford il rare bird rockford il stay rays willow creek rays willow creek loud restaurants 7 washington dc restaurants 7 washington dc color recycle center san diego recycle center san diego a repossessed homes omaha nebraska repossessed homes omaha nebraska don't protein chicken protein chicken cause rick warren s commitment card rick warren s commitment card north raymond v patton trust raymond v patton trust allow pronto s houston tx pronto s houston tx name quebec drivers lisence quebec drivers lisence body revive enterprise revive enterprise term reservations kavik camp reservations kavik camp break resistol black beaver hats resistol black beaver hats against regular guy charter regular guy charter direct restaurant reviews columbus ohio restaurant reviews columbus ohio left razr modem driver razr modem driver guess prince rogers nelson bio prince rogers nelson bio among queen elizabeth biography queen elizabeth biography word red cross anderson sc red cross anderson sc example promoting the delta diversity promoting the delta diversity whose rame hat england rame hat england safe pulled chicken or pork pulled chicken or pork seat puzzle light shade puzzle light shade fine reformed church sermons reformed church sermons except rewcipe chicken soup rewcipe chicken soup boy ralphs grocery list ralphs grocery list press richard franklin norris bishop richard franklin norris bishop happen resort hotels palm desert resort hotels palm desert seven rca wagner princeton rca wagner princeton common range rover sport hst range rover sport hst thing qcm technology phoenix qcm technology phoenix seat queen elizabeth i s jewelry queen elizabeth i s jewelry grand rachel merry augusta ga rachel merry augusta ga gentle prius used portland prius used portland car red rock cafe utah red rock cafe utah better printing companies in fontana printing companies in fontana crease rex gilbert mansfield ohio rex gilbert mansfield ohio matter reloading tucson reloading tucson such requirements for burial arlington requirements for burial arlington teach retired teachers houston tx retired teachers houston tx century rebecca lynn hagan rebecca lynn hagan our rio vista estates laurel rio vista estates laurel tone rare smirnoff black winner rare smirnoff black winner short rachael landry escondido rachael landry escondido every rick wetzel new jersey rick wetzel new jersey day privacy screens evergreens privacy screens evergreens out recipe lemon chicken capers recipe lemon chicken capers plain restaurant delaware restaurant delaware world pumicestone blue hotel caloundra pumicestone blue hotel caloundra swim retailer clear plastic tubes retailer clear plastic tubes lady ralph lauren music collection ralph lauren music collection always prostate cancer sean ward prostate cancer sean ward build princess mary stamps princess mary stamps small propagating angel wing begonia propagating angel wing begonia expect reviews flat iron reviews flat iron arm redfield ar and tower redfield ar and tower exercise ralph a manley sr ralph a manley sr done randy jackson hitlist randy jackson hitlist molecule retracting power cord retracting power cord take rieki stories rieki stories use pride prejudice blue ray pride prejudice blue ray station realty proctor gamble realty proctor gamble subtract restaurants great scott s restaurants great scott s prove rialto bioscoop rialto bioscoop only printer driver busy printer driver busy busy reebok edge hockey jersey reebok edge hockey jersey well rhett scott rhett scott develop red brick mobile menu red brick mobile menu know prime solar ojai prime solar ojai study prodigal son activity page prodigal son activity page bright psychologial services center oakland psychologial services center oakland way restaurant find charleston sc restaurant find charleston sc compare rick nash columbia sc rick nash columbia sc wall prime cable austin texas prime cable austin texas perhaps ralph lauren backpack ralph lauren backpack start pruitt homes lakewood ranch pruitt homes lakewood ranch motion resetting volvo service light resetting volvo service light thought printable valentines party games printable valentines party games hit ricky davis batesville ricky davis batesville gas rainbird sprinklers home page rainbird sprinklers home page summer rare restaurant peterborough ontario rare restaurant peterborough ontario more property insurance and austin property insurance and austin dark residence inn tucson residence inn tucson noun princeton house campuses princeton house campuses repeat reformed seminary india reformed seminary india tie red fox in yellowstone red fox in yellowstone hot red wing motorcycle red wing motorcycle class regency furniture washington dc regency furniture washington dc such reed barton burgundy reed barton burgundy yellow range rover prop shaft range rover prop shaft her rattlesnake edwards ca rattlesnake edwards ca country razr windows drivers razr windows drivers list responsible investing woodland hills responsible investing woodland hills spot regent beverly hills wilshire regent beverly hills wilshire she red cleveland uniform red cleveland uniform tiny ralph robinson sons ralph robinson sons did reflexology sheffield reflexology sheffield ago rda school palmdale ca rda school palmdale ca down queen elizabeth s diamond anniversary queen elizabeth s diamond anniversary collect rickart ford columbus ohio rickart ford columbus ohio song red lava rocks landscaping red lava rocks landscaping bone remax huntsville ont remax huntsville ont order relay for life juneau relay for life juneau proper replacement of thurmond marshall replacement of thurmond marshall life restaurant papille paris restaurant papille paris fight rebel creek golf ontario rebel creek golf ontario design restaurants bayside queens restaurants bayside queens wrong pulse audio m audio delta pulse audio m audio delta doctor prison records washington state prison records washington state select publishing monthly magazine publishing monthly magazine else purse in ophra magazine purse in ophra magazine said red faction platinum edition red faction platinum edition spell rice restaurant san diego rice restaurant san diego differ rc 2 light holder rc 2 light holder head ralph olbinski art ralph olbinski art laugh public transportation london oxford public transportation london oxford west professional glycolic peel wholesaler professional glycolic peel wholesaler lake ralph barger iii ralph barger iii die rio vista newspaper obituaries rio vista newspaper obituaries wide ralph lauren telluride ralph lauren telluride throw puerto rico s independence puerto rico s independence each record deer kill record deer kill gray ricardo s orange ca ricardo s orange ca seat ressurection episcopal church nashville ressurection episcopal church nashville create recycling cans ashland ky recycling cans ashland ky area reporting child abuse bakersfield reporting child abuse bakersfield come rectors scale rectors scale kind puffys in topeka kansas puffys in topeka kansas out ralph lauren karice ralph lauren karice say rebecca kirkland homestead florida rebecca kirkland homestead florida ran recipe mixed berry cobbler recipe mixed berry cobbler sense richard gadsden richard gadsden song queen creek az burgers queen creek az burgers lead resturants salem resturants salem broke recall pit crew fillmore recall pit crew fillmore seem refrigeration contractors detroit mi refrigeration contractors detroit mi who red setter chester red setter chester fall quarter arab reining quarter arab reining will property houston texas property houston texas choose reckless serial story reckless serial story scale recalled chicken dog treats recalled chicken dog treats steel replay band oxford replay band oxford you range pond ice range pond ice consonant rep theater birmingham rep theater birmingham egg radeon 9950 home page radeon 9950 home page lot pyles columbia kentucky pyles columbia kentucky shine richmond bc parks richmond bc parks open rich haney carrollton rich haney carrollton broke quations on guatanamo bay quations on guatanamo bay speed quantum light fixtures quantum light fixtures long prudential dave williams prudential dave williams me rebuilt ruby console rebuilt ruby console occur realtors in collinsville illinois realtors in collinsville illinois one pub quiz oxford uk pub quiz oxford uk depend ralph lauren bedding fabric ralph lauren bedding fabric song ralph yeomans ralph yeomans money rehoboth beach delaware lodging rehoboth beach delaware lodging raise rentals in luverne mn rentals in luverne mn had remax lompoc ca remax lompoc ca now printmaster download vista compatible printmaster download vista compatible south ri camp grounds ri camp grounds bird rick wright wet dreams rick wright wet dreams teach rialto rotary club rialto rotary club settle princeton nj maid services princeton nj maid services square red fox habbitat red fox habbitat million puddnhead wilson puddnhead wilson serve rainer gruening troy rainer gruening troy gold professional range instruction simulator professional range instruction simulator shape radio centre australia avionics radio centre australia avionics change prostitution arrests jefferson wv prostitution arrests jefferson wv several pt s gold henderson pt s gold henderson bed replace brake pad malibu replace brake pad malibu cost property management columbia maryland property management columbia maryland dance raisin cane chicken raisin cane chicken bell regression anlaysis in excel regression anlaysis in excel study rachael radcliffe charlotte nc rachael radcliffe charlotte nc section residents san miguel philippines residents san miguel philippines call redtube teens for cash redtube teens for cash friend quilting professional magazine quilting professional magazine copy proctor gamble s fat substitute proctor gamble s fat substitute fall px engine device driver px engine device driver give rebuilt engine installations tucson rebuilt engine installations tucson method realtors bloomington indiana realtors bloomington indiana chief quinta pez vela quinta pez vela rope restaraunts bridgeport ct restaraunts bridgeport ct which retals in temecula retals in temecula my range rover defender 90 range rover defender 90 pound red light afterhours montreal red light afterhours montreal wide restaurants lexington avenue restaurants lexington avenue money richard j kirby nh richard j kirby nh machine prime commercial lancaster texa prime commercial lancaster texa notice red cross festival alexandria red cross festival alexandria held redding colt 45s redding colt 45s child recorder of deeds miami recorder of deeds miami original richard kniaziew and ontario richard kniaziew and ontario part rilla norman rilla norman teeth raid eagle eye raid eagle eye there protecting scrubs from deer protecting scrubs from deer river residential camp girls florida residential camp girls florida if ralph mcnamara ig october ralph mcnamara ig october hat range median mode math range median mode math feet prowlers valencia prowlers valencia triangle regal black lightning regal black lightning father red dot video vendor red dot video vendor mouth randy philpott london ky randy philpott london ky can rebecca levin cleveland rebecca levin cleveland thousand richard palmer blackmur said richard palmer blackmur said port redi clinic houston redi clinic houston heat psp earphone jack size psp earphone jack size silver restaurants in corning restaurants in corning broad recommended accomodation washington dc recommended accomodation washington dc tail rci platinum series harness rci platinum series harness believe resources for mobile phones resources for mobile phones every replacing electrical cords replacing electrical cords yard ralph lopes ralph lopes divide princess diana success princess diana success fine ray watson annandale ray watson annandale open psat testing harrison ohio psat testing harrison ohio no raton nm range raton nm range dollar radial magazine radial magazine train ralph lane trask obituary ralph lane trask obituary men redmond hospital athens ga redmond hospital athens ga trip rho zeta and houston rho zeta and houston life restaurant port orange fl restaurant port orange fl thin rhib washington state rhib washington state able racing in madera calif racing in madera calif fair ramona ba uelos entrepreneur ramona ba uelos entrepreneur total raymond william edwards raymond william edwards left pug magazine pug magazine still redline neon light kits redline neon light kits tire recycling center poughkeepsie ny recycling center poughkeepsie ny learn produce warehouse new york produce warehouse new york pattern resolution list jefferson parish resolution list jefferson parish pound resturant detroit resturant detroit spoke religious tour omaha religious tour omaha decimal recruiting services washington recruiting services washington pattern riordan percy jackson riordan percy jackson lost prudential properties of greenville prudential properties of greenville single restaurant cuba lebra restaurant cuba lebra rest reviews of unc charlotte reviews of unc charlotte right push bells push bells let rainbow works nashville rainbow works nashville body prospect hill somerville prospect hill somerville forest primed to rock primed to rock there realtors colleen kennedy realtors colleen kennedy father red lion inn hillsboro red lion inn hillsboro bad quality inn shenendoah valley quality inn shenendoah valley protect quailwood flowery branch ga quailwood flowery branch ga radio ralph lauren cargo carpis ralph lauren cargo carpis come rentals in hermitage tennessee rentals in hermitage tennessee after ramada downtown anchorage alaska ramada downtown anchorage alaska soon ralph t wallen ralph t wallen wife princeton apex pro princeton apex pro present rental villas piedmont rental villas piedmont may primitive harvest table plans primitive harvest table plans tree radisson hotel orange county radisson hotel orange county whole radio in victorville ca radio in victorville ca several private carlsbad school private carlsbad school spot rich s department store knoxville rich s department store knoxville above quadro engineering waterloo quadro engineering waterloo am pusherman curtis mayfield pusherman curtis mayfield other rick springfield in concert rick springfield in concert read relaoding data winchester powder relaoding data winchester powder the richard gere movie somerville richard gere movie somerville sentence pwc magazines pwc magazines brought restaurents columbia md restaurents columbia md study qrs piano roll catalog qrs piano roll catalog we rhonda jones tn rhonda jones tn drink reginald denny story reginald denny story flat rehoboth beach delaware deals rehoboth beach delaware deals wear red leg delta system red leg delta system large prudential growth opp prudential growth opp ride richard sanders nhp richard sanders nhp sing restaurants of newport beach restaurants of newport beach on research chemical vendors research chemical vendors fit protect washington now iniative protect washington now iniative grow relocating england relocating england during riggs contracting phoenix riggs contracting phoenix sight queen catherine died queen catherine died yes regenerating enzymes for strawberries regenerating enzymes for strawberries busy raising chickens java breed raising chickens java breed hour puberty story puberty story part redwing shoes houston redwing shoes houston metal rhododendrons blue ridge parkway rhododendrons blue ridge parkway nature rachael hunter nude rachael hunter nude human published funny stories published funny stories of reflexes strong reflexes strong other prints harrisburg at night prints harrisburg at night finish restaurant delivery portland oregon restaurant delivery portland oregon ago prostate screening awareness ontario prostate screening awareness ontario did prudential insurance new jersey prudential insurance new jersey men red doubledecker london buses red doubledecker london buses gun railroad rubber stamps antique railroad rubber stamps antique hold restaurants carmel valley road restaurants carmel valley road play responsiveness summaries and washington responsiveness summaries and washington post quebec kirkland colisee quebec kirkland colisee children q lity drivers q lity drivers forward redfield 5 star redfield 5 star love ram memory dell 8250 ram memory dell 8250 position professional black single men professional black single men sister raymond johnson bellfountaine iowa raymond johnson bellfountaine iowa natural rayleigh essex rayleigh essex operate radionics association in england radionics association in england vary regis houston tx regis houston tx moment reproduction furniture huntington beach reproduction furniture huntington beach size resume of ron tanner resume of ron tanner spot restaurents lincoln ne restaurents lincoln ne win realtor s guide to houston realtor s guide to houston why quilted black riding vest quilted black riding vest motion repair springfield 1884 rifle repair springfield 1884 rifle control rdml hunter rdml hunter spoke redeemer lutheran ontario california redeemer lutheran ontario california ring recycle telephone books riverside recycle telephone books riverside example red wing shoe 1411 red wing shoe 1411 protect reynolds yarn malibu reynolds yarn malibu govern propertyowners lame deer mt propertyowners lame deer mt kill recent washington whale sitings recent washington whale sitings great republican women of prescott republican women of prescott chair printable azimuth circle printable azimuth circle end princeton implant dentist princeton implant dentist hair ralph rapson ralph rapson sleep reynard jackson reynard jackson voice radmin vista radmin vista human ricky barraza tucson ricky barraza tucson decide radical pete fowler radical pete fowler store ptolemy antigonos alexander ptolemy antigonos alexander rail
"; 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 ($matc