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

Dateigrösse: 8.18 kb

[Anzeige mit Zeilennummern]


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