Dateigrösse: 8.18 kb
1<?php require('js/_drawrating.php'); /*** define: 1)$start, 2)$zeilen/page und 3)$total ***/ $sb_ok = false; $ukap = isset($_REQUEST['ukap']) && $_REQUEST['ukap']!='alle' ? $_REQUEST['ukap'] : 'alleeintraege'; $zeilen = $ukap=='tests' ? 5 : 5; $start = isset($_GET['start']) ? $_GET['start'] : 0; if($ukap=='alleeintraege') { $kat = 'alle Einträge'; $kat_show = 'alle Einträge'; } if($ukap=='woerterbuecher') { $kat = 'WB'; $kat_show = 'Wörterbücher'; } if($ukap=='diverse') { $kat = 'Diverse'; $kat_show = 'Diverse'; } if($ukap=='grammatik') { $kat = 'Grammatik'; $kat_show = 'Grammatik'; } if($ukap=='tests') { $kat = 'Tests'; $kat_show = 'Tests'; } $kat = utf8_decode($kat); if(isset($_REQUEST['suchbegriff']) && $_REQUEST['suchbegriff']!='') { $sb_ok = true; $suchbegriff = trim(htmlspecialchars($_REQUEST['suchbegriff'])); $query = "WHERE beschreibung LIKE '" . mysql_escape_string("%" . $suchbegriff . "%") . "' OR titel LIKE '" . mysql_escape_string("%" . $suchbegriff . "%") . "' OR url LIKE '" . mysql_escape_string("%" . $suchbegriff . "%") . "'"; } else { $query = $ukap == 'alleeintraege' ? '' : "WHERE kategorie LIKE '" . mysql_escape_string("%" . $kat . "%") . "'"; } // LEFT JOIN zeigt alle datensaetze an, INNER JOIN nur die wo in beiden tabellen verknuepfung ueber id besteht $abfrage = 'SELECT * FROM daf d LEFT JOIN ratings r ON r.id = d.id ' . $query . ' ORDER BY total_value/total_votes DESC, titel ASC LIMIT ' . $start . ',' . $zeilen; $ergebnis = $db_access->query($abfrage); $abfrage1 = "SELECT COUNT(*) AS anz FROM daf ".$query; $total = $db_access->getOne($abfrage1); $tpl->setCurrentBlock('dafslider'); while ($datensatz = $ergebnis->fetchRow(DB_FETCHMODE_ASSOC)) { //print_r($datensatz); $browser = strtolower(@$_SERVER["HTTP_USER_AGENT"]); $tpl->setVariable('ratings', rating_bar($datensatz['id'], 6)); if ( strstr($browser, "mac") && strstr($browser, "firefox") ) { $tpl->setVariable('target', 'top'); } else { $tpl->setVariable('target', 'blank'); } $tpl->setVariable('id', $datensatz['id']); $tpl->setVariable('url', $datensatz['url']); $tpl->setVariable('titel', $datensatz['titel']); $tpl->setVariable('kat_show', $kat_show); if($sb_ok) { //$obj = new highlightClass($suchbegriff); //$obj->highlightData($datensatz); } $tpl->setVariable('beschreibung', $datensatz['beschreibung']); $tpl->parseCurrentBlock(); } $ergebnis->free(); /*** class_blaettern_oop[_next].php, class_blaettern_v3.php or fn_blaettern.php *** */ //require_once 'class_blaettern_oop_next.php'; require_once 'class_blaettern_oop.php'; require_once 'class_blaettern_v3.php'; require_once 'fn_blaettern.php'; // 1. class_blaettern_v3.php */ $css = 'padding:2px; color:#333; font-weight:bold;'; // for this 'class_blaettern_oop.php' set: [img]hspace: 6 bzw. 10 $csshover = 'padding:1px 4px; color:#333; font-weight:bold; background-color:#f5f5f5; border:1px solid #aeaeae; border-radius: 3px;'; $siteSlide = new ClassAbfuellen($total, $start, $zeilen, $order, $suchbegriff, $spalte, $css, $csshover, $ukap); // 2. fn_blaettern.php $grafic = blaettern($start, $zeilen, $total); echo '<div style="margin:1em auto; text-align:center; color:#000; z-index:1005;">'.$grafic.'</div>'; // 3. class_blaettern_oop.php $s_pagelabel = 'start'; $i_actpage = $start/$zeilen; $i_perpage = $zeilen; $i_lastpage = $total; $i_nextpage = '0'; // set '2' for class_blaettern_oop_next.php to see 5 numbers plus icons ffd + rwd $a_params4link = array('navid' => $_REQUEST['navid'], 'kap' => $_REQUEST['kap'], 'ukap' => $ukap, $s_pagelabel => $i_actpage, 'zeilen' => $zeilen); if($sb_ok) { $a_suchbegriff = array('suchbegriff' => $suchbegriff); $a_params4link = array_merge($a_params4link, $a_suchbegriff); } $css = 'padding:2px; color:#333; font-weight:bold; text-decoration:none;'; // margin:0 1px; padding:2px 3px; $csshover = 'padding:1px 4px; color:#333; font-weight:bold; background-color:#f5f5f5; border:1px solid #aeaeae; border-radius:3px;'; $a_tmpl = array('<img src="img/img_paginate/_rev-all.gif" alt="" border="0" align="baseline" />', '<img src="img/img_paginate/_rev-slide.gif" alt="" border="0" hspace="2" align="baseline" />', '<span class="actualpage">##</span>', '<img src="img/img_paginate/_ffw-slide.gif" alt="" border="0" hspace="2" align="baseline" />', '<img src="img/img_paginate/_ffw-all.gif" alt="" border="0" align="baseline" />', '<img src="img/img_paginate/_rev-all-sw.gif" alt="" border="0" align="baseline" />', '<img src="img/img_paginate/_rev-slide-sw.gif" alt="" border="0" hspace="6" align="baseline" />', '<img src="img/img_paginate/_ffw-slide-sw.gif" alt="" border="0" hspace="6" align="baseline" />', '<img src="img/img_paginate/_ffw-all-sw.gif" alt="" border="0" align="baseline" />' ); $sliderOOP = new PageSlider($i_perpage, $i_lastpage, $i_nextpage, $s_pagelabel, $a_params4link, $a_tmpl, $css, $csshover); /*** set callback: class_blaettern_oop.php, class_blaettern_v3.php or fn_blaettern.php ***/ //$sliderOOP->toHtml(); //$siteSlide->abfuellen(); //blaettern($start, $zeilen, $total); $link_retour = '<a class="notable" style="font-size:1em;float:left" href="#" onclick="history.back();">zurück</a>'; $slider_up = $total >0 ? $sliderOOP->toHtml() : $link_retour; $slider_down = $total >0 ? $sliderOOP->toHtml() : ''; $tpl->setVariable('slider_up', $slider_up); $tpl->setVariable('slider_down', $slider_down); if(isset($_REQUEST['suchbegriff']) && $_REQUEST['suchbegriff']!='') { $total = '<b>' . $total . ' Treffer</b> zum Stichwort "' . $suchbegriff . '"'; $bgcolor = '#f17850'; } else { if($kat=='alle Einträge') { $total = '<b>' . $total . ' Einträge</b> in der Datenbank'; } else { $total = '<b>' . $total . ' Einträge</b> in der Kategorie ' . $kat; } $bgcolor = '#c7d0d9'; } $tpl->setVariable('total', $total); $tpl->setVariable('bgcolor', $bgcolor); /** * Warnung: * * ereg_replace() is DEPRECATED since PHP 5.3.0 * Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert. **/ class highlightClass { var $strg; var $strg_upper; var $strg_ucfirst; var $delimiter; var $replace; public static $pattern_htmlspecialchars = array('/?/'); public static $replace_htmlspecialchars = array('n'); public function __construct($sb) { $sb = preg_replace(self::$pattern_htmlspecialchars, self::$replace_htmlspecialchars, $sb); $this->strg = strtolower($sb); $this->strg_ucfirst = ucfirst($sb); $this->strg_upper = strtoupper($sb); $this->delimiter = array('/'. $this->strg .'/', '/'. ucfirst($this->strg) .'/', '/'. strtoupper($this->strg) .'/'); $this->replace = array('<b><font color="red">'. $this->strg .'</font></b>', '<b><font color="red">'. $this->strg_ucfirst .'</font></b>', '<b><font color="red">'. $this->strg_upper .'</font></b>'); } public function highlightData(&$data) { array_walk($data, array($this, 'highlightner')); } private function highlightner(&$value) { if(is_array($value)) { $this->highlightData($value); } else { $val_tmp = $value; $val_tmp = preg_replace(self::$pattern_htmlspecialchars, self::$replace_htmlspecialchars, $val_tmp); $val_tmp = preg_replace($this->delimiter, $this->replace, $val_tmp); $value = $val_tmp==false ? $value : $val_tmp; } } } /* //For completeness one has to mention the possibility of using this function with PHP 5.3 closures: $names = array("D\'Artagnan", "Aramis", "Portos", "O'Leary"); array_walk($names, function(&$n) { $n = stripslashes($n); }); // or so...? array_walk($ids, create_function('&$val', '$val = trim($val);')); */ ?>