Quelltext der Datei: http://www.michaelster.ch/lernen/lernen-slider.php

Dateigrösse: 8.18 kb

[Anzeige ohne Zeilennummern]


  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&auml;ge'; $kat_show = 'alle Eintr&auml;ge'; }
 13 if($ukap=='woerterbuecher')        { $kat = 'WB'; $kat_show = 'W&ouml;rterb&uuml;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&uuml;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&auml;ge')    {
140         $total = '<b>' . $total . ' Eintr&auml;ge</b> in der Datenbank'; 
141     } else {
142         $total = '<b>' . $total . ' Eintr&auml;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