Dateigrösse: 8.18 kb
1 <?php 2 3 require('js/_drawrating.php'); 4 5 /*** define: 1)$start, 2)$zeilen/page und 3)$total ***/ 6 7 $sb_ok = false; 8 $ukap = isset($_REQUEST['ukap']) && $_REQUEST['ukap']!='alle' ? $_REQUEST['ukap'] : 'alleeintraege'; 9 $zeilen = $ukap=='tests' ? 5 : 5; 10 $start = isset($_GET['start']) ? $_GET['start'] : 0; 11 12 if($ukap=='alleeintraege') { $kat = 'alle Einträge'; $kat_show = 'alle Einträge'; } 13 if($ukap=='woerterbuecher') { $kat = 'WB'; $kat_show = 'Wörterbücher'; } 14 if($ukap=='diverse') { $kat = 'Diverse'; $kat_show = 'Diverse'; } 15 if($ukap=='grammatik') { $kat = 'Grammatik'; $kat_show = 'Grammatik'; } 16 if($ukap=='tests') { $kat = 'Tests'; $kat_show = 'Tests'; } 17 18 $kat = utf8_decode($kat); 19 20 if(isset($_REQUEST['suchbegriff']) && $_REQUEST['suchbegriff']!='') 21 { 22 $sb_ok = true; 23 $suchbegriff = trim(htmlspecialchars($_REQUEST['suchbegriff'])); 24 $query = "WHERE beschreibung LIKE '" . mysql_escape_string("%" . $suchbegriff . "%") . "' 25 OR titel LIKE '" . mysql_escape_string("%" . $suchbegriff . "%") . "' 26 OR url LIKE '" . mysql_escape_string("%" . $suchbegriff . "%") . "'"; 27 } 28 else 29 { 30 $query = $ukap == 'alleeintraege' ? '' : "WHERE kategorie LIKE '" . mysql_escape_string("%" . $kat . "%") . "'"; 31 } 32 // LEFT JOIN zeigt alle datensaetze an, INNER JOIN nur die wo in beiden tabellen verknuepfung ueber id besteht 33 $abfrage = 'SELECT * 34 FROM daf d 35 LEFT JOIN ratings r ON r.id = d.id 36 ' . $query . ' 37 ORDER BY total_value/total_votes DESC, titel ASC 38 LIMIT ' . $start . ',' . $zeilen; 39 40 $ergebnis = $db_access->query($abfrage); 41 42 $abfrage1 = "SELECT COUNT(*) AS anz FROM daf ".$query; 43 $total = $db_access->getOne($abfrage1); 44 45 $tpl->setCurrentBlock('dafslider'); 46 47 while ($datensatz = $ergebnis->fetchRow(DB_FETCHMODE_ASSOC)) 48 { 49 //print_r($datensatz); 50 $browser = strtolower(@$_SERVER["HTTP_USER_AGENT"]); 51 $tpl->setVariable('ratings', rating_bar($datensatz['id'], 6)); 52 if ( strstr($browser, "mac") && strstr($browser, "firefox") ) { 53 $tpl->setVariable('target', 'top'); 54 } else { 55 $tpl->setVariable('target', 'blank'); 56 } 57 $tpl->setVariable('id', $datensatz['id']); 58 $tpl->setVariable('url', $datensatz['url']); 59 $tpl->setVariable('titel', $datensatz['titel']); 60 $tpl->setVariable('kat_show', $kat_show); 61 62 if($sb_ok) 63 { 64 //$obj = new highlightClass($suchbegriff); 65 //$obj->highlightData($datensatz); 66 } 67 68 69 $tpl->setVariable('beschreibung', $datensatz['beschreibung']); 70 71 $tpl->parseCurrentBlock(); 72 } 73 74 $ergebnis->free(); 75 76 77 78 /*** class_blaettern_oop[_next].php, class_blaettern_v3.php or fn_blaettern.php *** 79 */ 80 //require_once 'class_blaettern_oop_next.php'; 81 require_once 'class_blaettern_oop.php'; 82 require_once 'class_blaettern_v3.php'; 83 require_once 'fn_blaettern.php'; 84 85 86 // 1. class_blaettern_v3.php */ 87 $css = 'padding:2px; color:#333; font-weight:bold;'; // for this 'class_blaettern_oop.php' set: [img]hspace: 6 bzw. 10 88 $csshover = 'padding:1px 4px; color:#333; font-weight:bold; background-color:#f5f5f5; border:1px solid #aeaeae; border-radius: 3px;'; 89 $siteSlide = new ClassAbfuellen($total, $start, $zeilen, $order, $suchbegriff, $spalte, $css, $csshover, $ukap); 90 91 92 // 2. fn_blaettern.php 93 $grafic = blaettern($start, $zeilen, $total); 94 echo '<div style="margin:1em auto; text-align:center; color:#000; z-index:1005;">'.$grafic.'</div>'; 95 96 // 3. class_blaettern_oop.php 97 $s_pagelabel = 'start'; 98 $i_actpage = $start/$zeilen; 99 $i_perpage = $zeilen; 100 $i_lastpage = $total; 101 $i_nextpage = '0'; // set '2' for class_blaettern_oop_next.php to see 5 numbers plus icons ffd + rwd 102 $a_params4link = array('navid' => $_REQUEST['navid'], 'kap' => $_REQUEST['kap'], 'ukap' => $ukap, $s_pagelabel => $i_actpage, 'zeilen' => $zeilen); 103 if($sb_ok) { 104 $a_suchbegriff = array('suchbegriff' => $suchbegriff); 105 $a_params4link = array_merge($a_params4link, $a_suchbegriff); 106 } 107 $css = 'padding:2px; color:#333; font-weight:bold; text-decoration:none;'; // margin:0 1px; padding:2px 3px; 108 $csshover = 'padding:1px 4px; color:#333; font-weight:bold; background-color:#f5f5f5; border:1px solid #aeaeae; border-radius:3px;'; 109 $a_tmpl = array('<img src="img/img_paginate/_rev-all.gif" alt="" border="0" align="baseline" />', 110 '<img src="img/img_paginate/_rev-slide.gif" alt="" border="0" hspace="2" align="baseline" />', 111 '<span class="actualpage">##</span>', 112 '<img src="img/img_paginate/_ffw-slide.gif" alt="" border="0" hspace="2" align="baseline" />', 113 '<img src="img/img_paginate/_ffw-all.gif" alt="" border="0" align="baseline" />', 114 '<img src="img/img_paginate/_rev-all-sw.gif" alt="" border="0" align="baseline" />', 115 '<img src="img/img_paginate/_rev-slide-sw.gif" alt="" border="0" hspace="6" align="baseline" />', 116 '<img src="img/img_paginate/_ffw-slide-sw.gif" alt="" border="0" hspace="6" align="baseline" />', 117 '<img src="img/img_paginate/_ffw-all-sw.gif" alt="" border="0" align="baseline" />' 118 ); 119 $sliderOOP = new PageSlider($i_perpage, $i_lastpage, $i_nextpage, $s_pagelabel, $a_params4link, $a_tmpl, $css, $csshover); 120 121 /*** set callback: class_blaettern_oop.php, class_blaettern_v3.php or fn_blaettern.php ***/ 122 //$sliderOOP->toHtml(); 123 //$siteSlide->abfuellen(); 124 //blaettern($start, $zeilen, $total); 125 126 $link_retour = '<a class="notable" style="font-size:1em;float:left" href="#" onclick="history.back();">zurück</a>'; 127 $slider_up = $total >0 ? $sliderOOP->toHtml() : $link_retour; 128 $slider_down = $total >0 ? $sliderOOP->toHtml() : ''; 129 130 $tpl->setVariable('slider_up', $slider_up); 131 $tpl->setVariable('slider_down', $slider_down); 132 133 134 if(isset($_REQUEST['suchbegriff']) && $_REQUEST['suchbegriff']!='') 135 { 136 $total = '<b>' . $total . ' Treffer</b> zum Stichwort "' . $suchbegriff . '"'; 137 $bgcolor = '#f17850'; 138 } else { 139 if($kat=='alle Einträge') { 140 $total = '<b>' . $total . ' Einträge</b> in der Datenbank'; 141 } else { 142 $total = '<b>' . $total . ' Einträge</b> in der Kategorie ' . $kat; 143 } 144 $bgcolor = '#c7d0d9'; 145 } 146 $tpl->setVariable('total', $total); 147 $tpl->setVariable('bgcolor', $bgcolor); 148 149 150 /** 151 * Warnung: 152 * 153 * ereg_replace() is DEPRECATED since PHP 5.3.0 154 * Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert. 155 **/ 156 class highlightClass 157 { 158 var $strg; 159 var $strg_upper; 160 var $strg_ucfirst; 161 var $delimiter; 162 var $replace; 163 164 public static $pattern_htmlspecialchars = array('/?/'); 165 public static $replace_htmlspecialchars = array('n'); 166 167 public function __construct($sb) 168 { 169 $sb = preg_replace(self::$pattern_htmlspecialchars, self::$replace_htmlspecialchars, $sb); 170 $this->strg = strtolower($sb); 171 $this->strg_ucfirst = ucfirst($sb); 172 $this->strg_upper = strtoupper($sb); 173 $this->delimiter = array('/'. $this->strg .'/', 174 '/'. ucfirst($this->strg) .'/', 175 '/'. strtoupper($this->strg) .'/'); 176 $this->replace = array('<b><font color="red">'. $this->strg .'</font></b>', 177 '<b><font color="red">'. $this->strg_ucfirst .'</font></b>', 178 '<b><font color="red">'. $this->strg_upper .'</font></b>'); 179 } 180 181 public function highlightData(&$data) 182 { 183 array_walk($data, array($this, 'highlightner')); 184 } 185 186 private function highlightner(&$value) 187 { 188 if(is_array($value)) 189 { 190 $this->highlightData($value); 191 } 192 else 193 { 194 $val_tmp = $value; 195 $val_tmp = preg_replace(self::$pattern_htmlspecialchars, self::$replace_htmlspecialchars, $val_tmp); 196 $val_tmp = preg_replace($this->delimiter, $this->replace, $val_tmp); 197 $value = $val_tmp==false ? $value : $val_tmp; 198 } 199 } 200 } 201 202 /* 203 //For completeness one has to mention the possibility of using this function with PHP 5.3 closures: 204 $names = array("D\'Artagnan", "Aramis", "Portos", "O'Leary"); 205 array_walk($names, function(&$n) { 206 $n = stripslashes($n); 207 }); 208 209 // or so...? 210 array_walk($ids, create_function('&$val', '$val = trim($val);')); 211 */ 212 ?> 213 214