Im Admin-Bereich kann man in der Gallerie-Kategorie Kategoriebilder als URL hinterlegen, die in die Datenbank mit aufgenommen wird als "gallery_kat".
Nur ich habe momentan das Problem, wie ich es auf der normalen Seite wieder ausgeben kann??
<?php defined ('main') or die ( 'no direct access' ); # mini config $img_per_site = $allgAr['gallery_imgs_per_site']; $img_per_line = $allgAr['gallery_imgs_per_line']; function get_cats_title ( $catsar ) { $l = ''; foreach($catsar as $k => $v) { if ( $k != '' AND $v != '' ) { $l = $v.' :: '.$l; } } return ($l); } function get_cats_urls ( $catsar ) { $l = ''; foreach($catsar as $k => $v) { if ( $k != '' AND $v != '' ) { $l = '<a class="smalfont" href="?gallery-'.$k.'">'.$v.'</a><b> » </b>'.$l; } } return ($l); } function count_files ($cid) { $zges = 0; $e = db_query("SELECT id FROM prefix_gallery_cats WHERE cat = ".$cid); if ( db_num_rows($e) > 0 ) { while ($r = db_fetch_assoc($e) ) { $zges = $zges + count_files ( $r['id'] ); } } $zges = $zges + db_count_query("SELECT COUNT(*) FROM prefix_gallery_imgs WHERE cat = ".$cid); return ( $zges ); } function get_cats_array ( $cid , $ar ) { if ( empty($cid) ) { return ($ar); } else { $erg = db_query("SELECT cat,gallery_kat,id,name FROM prefix_gallery_cats WHERE id = ".$cid); $row = db_fetch_assoc($erg); $ar[$row['id']] = $row['name']; return ( get_cats_array($row['cat'],$ar) ); } if ( $r ) { return ($l); } } # original groesse anzeigen if ($menu->get(1) == 'showOrig') { $tpl = new tpl ('gallery_show'); $tpl->set('id', escape($menu->get(2), 'integer')); $tpl->set('endung',htmlentities($menu->get(3))); $tpl->out(4); # normale groesse anzeigen } elseif ($menu->get(1) == 'show') { $page = ($menu->getA(3) == 'p' ? escape($menu->getE(3), 'integer') : 1 ); $cid = escape($menu->get(2), 'integer'); $anz = db_result(db_query("SELECT COUNT(*) FROM prefix_gallery_imgs WHERE prefix_gallery_imgs.cat = ".$cid),0); $erg = db_query("SELECT prefix_gallery_imgs.id,prefix_gallery_imgs.cat,datei_name,endung,prefix_gallery_imgs.`besch`,klicks,vote_wertung,vote_klicks FROM prefix_gallery_imgs LEFT JOIN prefix_gallery_cats ON prefix_gallery_imgs.cat = prefix_gallery_cats.id WHERE prefix_gallery_imgs.cat = ".$cid." AND (recht >= ".$_SESSION['authright']." OR recht IS NULL) ORDER BY id ASC LIMIT ".$page.",1"); $row = db_fetch_assoc($erg); $size = getimagesize('include/images/gallery/img_'.$row['id'].'.'.$row['endung']); $breite = $size[0] + 5; $hoehe = $size[1] + 5; # vote zahlen if (isset($_GET['doVote']) AND is_numeric($_GET['doVote']) AND !isset ($_SESSION['galleryDoVote'][$row['id']])) { $_SESSION['galleryDoVote'][$row['id']] = 'o'; $row['vote_wertung'] = round ( ( ( $row['vote_wertung'] * $row['vote_klicks'] ) + $_GET['doVote'] ) / ( $row['vote_klicks'] + 1 ) , 3 ); $row['vote_klicks']++; db_query("UPDATE prefix_gallery_imgs SET vote_wertung = ".$row['vote_wertung'].", vote_klicks = ".$row['vote_klicks']." WHERE id = ".$row['id']); } # klicks zaehlen if (!isset($_SESSION['galleryDoKlick'][$row['id']])) { $_SESSION['galleryDoKlick'][$row['id']] = 'o'; db_query("UPDATE prefix_gallery_imgs SET klicks = klicks + 1 WHERE id = ".$row['id']); } # page vor und ruck dev $next = $page + 1; $last = $page - 1; if ( $next >= $anz ) { $next = 0; } if ( $last < 0 ) { $last = $anz -1; } # diashow einstellungen $diashow_html = ''; $diashow = $next.'=0&diashow=start'; if (isset($_GET['diashow']) AND ($_GET['diashow'] == 'start' OR $_GET['diashow'] == 'shownext')) { $sek = 4; if (isset($_GET['sek'])) { $sek = $_GET['sek']; } $diashow_html = '<meta http-equiv="refresh" content="'.$sek.'; URL=index.php?gallery-show-'.$cid.'-p'.$next.'=0&diashow=shownext&sek='.$sek.'">'; $diashow = $page.'=0&diashow=stop'; } # anzeigen $tpl = new tpl ('gallery_show'); $arr = array ( 'cid' => $cid, 'last' => $last, 'next' => $next, 'diashow' => $diashow, 'diashow_html' => $diashow_html, 'endung' => $row['endung'], 'id' => $row['id'], 'vote_wertung' => $row['vote_wertung'], 'vote_klicks' => $row['vote_klicks'], 'bildr' => $page, 'besch' => unescape($row['besch']), 'breite' => $breite, 'hoehe' => $hoehe ); $tpl->set_ar_out($arr,0); # kommentare if ($allgAr['gallery_img_koms'] == 1) { # eintragen $insertmsg = ''; if ((loggedin() or isset($_POST['name'])) and !empty($_POST['text']) and $antispam = chk_antispam('gallery')) { if (loggedin()) { $name = $_SESSION['authname']; } else { $name = escape($_POST['name'],'string'); if (db_count_query('SELECT COUNT(*) FROM prefix_user WHERE name = "'.$name.'"')) { $insertmsg .= 'Der Name ist bereits für einen registrierten User vergeben'; } } if (empty($insertmsg)) { $text = escape($_POST['text'],'string'); db_query("INSERT INTO prefix_koms (name,text,uid,cat) VALUES ('".$name."','".$text."',".$row['id'].",'GALLERYIMG')"); } } elseif (isset($_POST['subgalkom']) and !$antispam) { $insertmsg .= 'Falscher Antispam'; } # loeschen if (isset($_GET['delete']) AND is_siteadmin()) { db_query("DELETE FROM prefix_koms WHERE id = ".escape($_GET['delete'], 'integer')); } # zeigen if (!empty($insertmsg)) { $insertmsg = '<span style="color:red;">'.$insertmsg.'</span><br />'; } $tpl->set('insertmsg', $insertmsg ); $tpl->set('uname', $_SESSION['authname']); $tpl->set('antispam', get_antispam('gallery', 0)); $tpl->out(1); $class = 'Cnorm'; $erg = db_query("SELECT id, name, text FROM prefix_koms WHERE uid = ".$row['id']." AND cat = 'GALLERYIMG' ORDER BY id DESC"); while ($r = db_fetch_assoc($erg)) { $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite'); $r['class'] = $class; $r['text'] = bbcode ($r['text']); if (is_admin()) { $r['text'] .= '<a href="index.php?gallery-show-'.$cid.'-p'.$page.'=0&delete='.$r['id'].'"><img src="include/images/icons/del.gif" border="0" title="löschen" alt="löschen" /></a>'; } $tpl->set_ar_out($r,2); } $tpl->out(3); } } else { $cid = ( $menu->get(1) ? escape($menu->get(1),'integer') : 0 ); $erg = db_query("SELECT cat,gallery_kat,name FROM prefix_gallery_cats WHERE recht >= {$_SESSION['authright']} AND id = ".$cid); $cname = 'Gallery'; if ( db_num_rows($erg) > 0 ) { $row = db_fetch_assoc($erg); $array = get_cats_array($row['cat'],''); $cname = $row['name']; $katbild = $row['gallery_kat']; if ( !empty($array) ) { $titelzw = get_cats_title($array); $namezw = get_cats_urls($array); } else { $titelzw = ''; $namezw = ''; } $cattitle = ':: '.$titelzw.$row['name']; $catname = '<b> » </b>'.$namezw.$row['name']; } else { $cattitle = ''; $catname = ''; } $title = $allgAr['title'].' :: Gallery '.$cattitle; $hmenu = '<a class="smalfont" href="?gallery">Gallery</a>'.$catname; $design = new design ( $title , $hmenu ); $design->header(); $tpl = new tpl ('gallery' ); $erg = db_query("SELECT id,name,`besch` FROM prefix_gallery_cats WHERE recht >= {$_SESSION['authright']} AND cat = ".$cid." ORDER BY pos"); if ( db_num_rows($erg) > 0 ) { $tpl->out(1); $class = 'Cnorm'; while ($row = db_fetch_assoc($erg) ) { $row['gallery'] = count_files($row['id']); $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' ); $row['class'] = $class; $tpl->set_ar_out($row,2); } $tpl->out(3); } $limit = $img_per_site; $page = ($menu->getA(2) == 'p' ? escape($menu->getE(2), 'integer') : 1 ); $MPL = db_make_sites ($page , '' , $limit , '?gallery-'.$cid , "gallery_imgs LEFT JOIN prefix_gallery_cats ON prefix_gallery_imgs.cat = prefix_gallery_cats.id WHERE prefix_gallery_imgs.cat = ".$cid." AND (recht >= ".$_SESSION['authright']." OR recht IS NULL)"); $anfang = ($page - 1) * $limit; $erg = db_query("SELECT prefix_gallery_imgs.id,prefix_gallery_imgs.cat,datei_name,endung,prefix_gallery_imgs.`besch`,klicks,vote_wertung,vote_klicks FROM prefix_gallery_imgs LEFT JOIN prefix_gallery_cats ON prefix_gallery_imgs.cat = prefix_gallery_cats.id WHERE prefix_gallery_imgs.cat = ".$cid." AND (recht >= ".$_SESSION['authright']." OR recht IS NULL) ORDER BY id ASC LIMIT ".$anfang.",".$limit); if ( db_num_rows($erg) > 0 ) { $tpl->set('imgperline', $allgAr['gallery_imgs_per_line']); $tpl->set('cname', $cname); $tpl->set('breite', $allgAr['gallery_normal_width']+30); $tpl->set('MPL',$MPL); $tpl->out(4); $class = 'Cnorm'; $i = 0; while($row = db_fetch_assoc($erg) ) { $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' ); $row['class'] = $class; $row['anz_koms'] = db_result(db_query("SELECT COUNT(*) FROM prefix_koms WHERE uid = ".$row['id']." AND cat = 'GALLERYIMG'"),0); $row['besch'] = unescape($row['besch']); $row['width'] = round( 100 / $img_per_line ); $row['bildr'] = $i + (($page-1) * $img_per_site); if ( $i <> 0 AND ($i % $img_per_line ) == 0 ) { echo '</tr><tr>'; } $tpl->set_ar_out($row,5); $i++; } if ( $i % $img_per_line <> 0 ) { $anzahl = $img_per_line - ($i % $img_per_line); for($x=1;$x<=$anzahl;$x++){ echo '<td class="'.$class.'"></td>'; } } $tpl->out(6); } $design->footer(); } ?>
und die html dazu:
{EXPLODE} <style type="text/css"> <!-- .transparent1 { position relative; margin-left: -110px; } =--> </style> <style> <!-- .border { background-color: #C0C0C0; } --> </style> <table width="100%" class="border" border="0" cellspacing="1" cellpadding="3"> <tr class="Chead" height="30px" > <th width="70%" align="center" colspan="2" background="include/images/buttons/download_1.jpg" ><b><font color="#FFFFFF">{_lang_category}</font></b></th> <th width="15%" align="center" background="include/images/buttons/download_1.jpg" ><font color="#FFFFFF">{_lang_pictures}</font></th> </tr> {EXPLODE} <tr class="{class}"> <td align="center" valign="middle"><img border="0" src="{katbild}" height="110px" width="110px"/><img src="include/images/transparent.png" border="0" height="110px" width="110px" class="transparent1"/></td> <td><a href="index.php?gallery-{id}"><b> {name}</b></a><br><br /><span class="smalfont">{besch}</span></td> <td align="center"><font size="+0.5">{gallery}</font></td> </tr> {EXPLODE} </table> <br /><br /> {EXPLODE} <style type="text/css"> <!-- .transparent2 { position relative; margin-left: -106px; } =--> </style> <!-- Style --> <script type="text/javascript" src="include/designs/FF-Heisede/easySlider1.5.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#slider").easySlider({ auto: true, continuous: true }); }); </script> <link rel="stylesheet" type="text/css" href="include/designs/FF-Heisede/ddsmoothmenu.css" /> <link rel="stylesheet" type="text/css" href="include/designs/FF-Heisede/ddsmoothmenu-v.css" /> <script type="text/javascript" src="include/designs/FF-Heisede/ddsmoothmenu.js"> /*********************************************** * Smooth Navigational Menu- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code ***********************************************/ </script> <script type="text/javascript"> ddsmoothmenu.init({ mainmenuid: "smoothmenu1", //menu DIV id orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v" classname: 'ddsmoothmenu', //class added to menu's outer DIV //customtheme: ["#1c5a80", "#18374a"], contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"] }) ddsmoothmenu.init({ mainmenuid: "smoothmenu2", //Menu DIV id orientation: 'v', //Horizontal or vertical menu: Set to "h" or "v" classname: 'ddsmoothmenu-v', //class added to menu's outer DIV //customtheme: ["#804000", "#482400"], contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"] }) </script> <!-- End Style --> <!--Start LightboxJS2--> <link rel="stylesheet" href="include/includes/js/lightbox/css/lightbox.css" type="text/css" media="screen" /> <script type="text/javascript" src="include/includes/js/lightbox/js/prototype.js"></script> <script type="text/javascript" src="include/includes/js/lightbox/js/scriptaculous.js?load=effects"></script> <script type="text/javascript" src="include/includes/js/lightbox/js/lightbox.js"></script> <!--End LightboxJS2--> <style> <!-- .border { background-color: #C0C0C0; } --> </style> <table width="100%" class="border" border="0" cellspacing="1" cellpadding="3"> <tr class="Chead" height="30px"> <td colspan="{imgperline}" align="center" background="include/images/buttons/download_1.jpg" ><b><font color="#FFFFFF">{cname}</font></b></td> </tr> {EXPLODE} <td class="{class}" width="{width}%" valign="top" align="center"> <table class="border" border="0" cellspacing="1" cellpadding="0"> <tr> <td><a href="include/images/gallery/img_norm_{id}.{endung}" rel="lightbox[{cat}]"><img src="include/images/gallery/img_thumb_{id}.{endung}" border="0" alt="{datei_name}" title=" " height="106px" width="106px" /><img src="include/images/transparent.png" height="106px" width="106px" border="0" class="transparent2"/></a></td> </tr> </table> </td> {EXPLODE} </tr> </table> <center>{MPL}</center> <script language="JavaScript" type="text/javascript"> <!-- function oeffneFenster (bildr, cat) { var fenster = window.open ('index.php?gallery-show-'+cat+'-p'+bildr,'showBild','scrollbars=yes,height=600,width={breite},left=200,status=yes,resizable=yes'); fenster.focus(); return (false); } // manage div ... document.onmousemove = checkPosition; function checkPosition(e) { if(document.all) { mausX = event.clientX + document.body.scrollLeft; mausY = event.clientY + document.body.scrollTop; } else { mausX = e.pageX; mausY = e.pageY; } } function alertpos(dname) { if (document.layers) { document.layers[0].left = mausX; document.layers[0].top = mausY; } else if (document.getElementById) { document.getElementById(dname).style.left = mausX + "px"; document.getElementById(dname).style.top = mausY + "px"; } document.getElementById(dname).style.display = "inline"; } function hiddpos(dname) { document.getElementById(dname).style.display = "none"; } //--> </script>
Bitte um Hilfe, da meine bisherigen bemühungen ohne Erfolg waren
LG
Atlantis
verwendete ilch Version: 1.1 P