Dateigrösse: 8.18 kb
<?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);'));
*/
?>